Module Name: src
Committed By: thorpej
Date: Wed Jan 19 05:21:44 UTC 2022
Modified Files:
src/sys/arch/evbarm/mpcsa: mpcsa_leds.c
src/sys/dev/spi: m25p.c mcp23xxxgpio_spi.c mcp3k.c mcp48x1.c oj6sh.c
scmdspi.c spi.c spivar.h ssdfb_spi.c tmp121.c
Log Message:
Pass the device_t into spi_configure(), and make the API contract that
spi_configure() will print errors if they occur; the driver is off the
hook.
To generate a diff of this commit:
cvs rdiff -u -r1.8 -r1.9 src/sys/arch/evbarm/mpcsa/mpcsa_leds.c
cvs rdiff -u -r1.19 -r1.20 src/sys/dev/spi/m25p.c src/sys/dev/spi/spi.c
cvs rdiff -u -r1.3 -r1.4 src/sys/dev/spi/mcp23xxxgpio_spi.c \
src/sys/dev/spi/mcp3k.c
cvs rdiff -u -r1.2 -r1.3 src/sys/dev/spi/mcp48x1.c src/sys/dev/spi/scmdspi.c
cvs rdiff -u -r1.10 -r1.11 src/sys/dev/spi/oj6sh.c src/sys/dev/spi/spivar.h
cvs rdiff -u -r1.12 -r1.13 src/sys/dev/spi/ssdfb_spi.c
cvs rdiff -u -r1.6 -r1.7 src/sys/dev/spi/tmp121.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/arch/evbarm/mpcsa/mpcsa_leds.c
diff -u src/sys/arch/evbarm/mpcsa/mpcsa_leds.c:1.8 src/sys/arch/evbarm/mpcsa/mpcsa_leds.c:1.9
--- src/sys/arch/evbarm/mpcsa/mpcsa_leds.c:1.8 Wed Jan 19 05:05:45 2022
+++ src/sys/arch/evbarm/mpcsa/mpcsa_leds.c Wed Jan 19 05:21:44 2022
@@ -1,5 +1,5 @@
-/* $Id: mpcsa_leds.c,v 1.8 2022/01/19 05:05:45 thorpej Exp $ */
-/* $NetBSD: mpcsa_leds.c,v 1.8 2022/01/19 05:05:45 thorpej Exp $ */
+/* $Id: mpcsa_leds.c,v 1.9 2022/01/19 05:21:44 thorpej Exp $ */
+/* $NetBSD: mpcsa_leds.c,v 1.9 2022/01/19 05:21:44 thorpej Exp $ */
/*
* Copyright (c) 2007 Embedtronics Oy. All rights reserved.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mpcsa_leds.c,v 1.8 2022/01/19 05:05:45 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mpcsa_leds.c,v 1.9 2022/01/19 05:21:44 thorpej Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -139,10 +139,8 @@ mpcsa_leds_attach(device_t parent, devic
aprint_naive(": output buffer\n");
aprint_normal(": 74HC595 or compatible shift register(s)\n");
- error = spi_configure(sa->sa_handle, SPI_MODE_0, 10000000);
+ error = spi_configure(self, sa->sa_handle, SPI_MODE_0, 10000000);
if (error) {
- aprint_error_dev(self,
- "failed to set Mode 0 @ 10MHz, error=%d\n", error);
return;
}
Index: src/sys/dev/spi/m25p.c
diff -u src/sys/dev/spi/m25p.c:1.19 src/sys/dev/spi/m25p.c:1.20
--- src/sys/dev/spi/m25p.c:1.19 Wed Jan 19 05:05:45 2022
+++ src/sys/dev/spi/m25p.c Wed Jan 19 05:21:44 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: m25p.c,v 1.19 2022/01/19 05:05:45 thorpej Exp $ */
+/* $NetBSD: m25p.c,v 1.20 2022/01/19 05:21:44 thorpej Exp $ */
/*-
* Copyright (c) 2006 Urbana-Champaign Independent Media Center.
@@ -42,7 +42,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: m25p.c,v 1.19 2022/01/19 05:05:45 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: m25p.c,v 1.20 2022/01/19 05:21:44 thorpej Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -142,10 +142,8 @@ m25p_attach(device_t parent, device_t se
aprint_naive("\n");
/* configure for 20MHz, which is the max for normal reads */
- error = spi_configure(sa->sa_handle, SPI_MODE_0, 20000000);
+ error = spi_configure(self, sa->sa_handle, SPI_MODE_0, 20000000);
if (error) {
- aprint_error_dev(self,
- "failed to set Mode 0 @ 20MHz, error=%d\n", error);
return;
}
Index: src/sys/dev/spi/spi.c
diff -u src/sys/dev/spi/spi.c:1.19 src/sys/dev/spi/spi.c:1.20
--- src/sys/dev/spi/spi.c:1.19 Sat Aug 7 16:19:16 2021
+++ src/sys/dev/spi/spi.c Wed Jan 19 05:21:44 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: spi.c,v 1.19 2021/08/07 16:19:16 thorpej Exp $ */
+/* $NetBSD: spi.c,v 1.20 2022/01/19 05:21:44 thorpej Exp $ */
/*-
* Copyright (c) 2006 Urbana-Champaign Independent Media Center.
@@ -42,7 +42,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: spi.c,v 1.19 2021/08/07 16:19:16 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: spi.c,v 1.20 2022/01/19 05:21:44 thorpej Exp $");
#include "locators.h"
@@ -428,11 +428,14 @@ CFATTACH_DECL_NEW(spi, sizeof(struct spi
* returned.
*/
int
-spi_configure(struct spi_handle *sh, int mode, int speed)
+spi_configure(device_t dev __unused, struct spi_handle *sh, int mode, int speed)
{
sh->sh_mode = mode;
sh->sh_speed = speed;
+
+ /* No need to report errors; no failures. */
+
return 0;
}
Index: src/sys/dev/spi/mcp23xxxgpio_spi.c
diff -u src/sys/dev/spi/mcp23xxxgpio_spi.c:1.3 src/sys/dev/spi/mcp23xxxgpio_spi.c:1.4
--- src/sys/dev/spi/mcp23xxxgpio_spi.c:1.3 Wed Jan 19 05:05:45 2022
+++ src/sys/dev/spi/mcp23xxxgpio_spi.c Wed Jan 19 05:21:44 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: mcp23xxxgpio_spi.c,v 1.3 2022/01/19 05:05:45 thorpej Exp $ */
+/* $NetBSD: mcp23xxxgpio_spi.c,v 1.4 2022/01/19 05:21:44 thorpej Exp $ */
/*-
* Copyright (c) 2014, 2022 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mcp23xxxgpio_spi.c,v 1.3 2022/01/19 05:05:45 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mcp23xxxgpio_spi.c,v 1.4 2022/01/19 05:21:44 thorpej Exp $");
/*
* Driver for Microchip serial I/O expanders:
@@ -203,10 +203,8 @@ mcpgpio_spi_attach(device_t parent, devi
aprint_normal(": %s I/O Expander\n", sc->sc_variant->name);
/* run at 10MHz */
- error = spi_configure(sa->sa_handle, SPI_MODE_0, 10000000);
+ error = spi_configure(self, sa->sa_handle, SPI_MODE_0, 10000000);
if (error) {
- aprint_error_dev(self,
- "failed to set Mode 0 @ 10MHz, error=%d\n", error);
return;
}
Index: src/sys/dev/spi/mcp3k.c
diff -u src/sys/dev/spi/mcp3k.c:1.3 src/sys/dev/spi/mcp3k.c:1.4
--- src/sys/dev/spi/mcp3k.c:1.3 Wed Jan 19 05:05:45 2022
+++ src/sys/dev/spi/mcp3k.c Wed Jan 19 05:21:44 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: mcp3k.c,v 1.3 2022/01/19 05:05:45 thorpej Exp $ */
+/* $NetBSD: mcp3k.c,v 1.4 2022/01/19 05:21:44 thorpej Exp $ */
/*-
* Copyright (c) 2015 The NetBSD Foundation, Inc.
@@ -205,10 +205,8 @@ mcp3kadc_attach(device_t parent, device_
(unsigned)model->bits);
/* configure for 1MHz */
- error = spi_configure(sa->sa_handle, SPI_MODE_0, 1000000);
+ error = spi_configure(self, sa->sa_handle, SPI_MODE_0, 1000000);
if (error) {
- aprint_error_dev(self,
- "failed to set Mode 0 @ 1MHz, error=%d\n", error);
return;
}
Index: src/sys/dev/spi/mcp48x1.c
diff -u src/sys/dev/spi/mcp48x1.c:1.2 src/sys/dev/spi/mcp48x1.c:1.3
--- src/sys/dev/spi/mcp48x1.c:1.2 Wed Jan 19 05:05:45 2022
+++ src/sys/dev/spi/mcp48x1.c Wed Jan 19 05:21:44 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: mcp48x1.c,v 1.2 2022/01/19 05:05:45 thorpej Exp $ */
+/* $NetBSD: mcp48x1.c,v 1.3 2022/01/19 05:21:44 thorpej Exp $ */
/*-
* Copyright (c) 2014 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: mcp48x1.c,v 1.2 2022/01/19 05:05:45 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: mcp48x1.c,v 1.3 2022/01/19 05:21:44 thorpej Exp $");
/*
* Driver for Microchip MCP4801/MCP4811/MCP4821 DAC.
@@ -139,10 +139,8 @@ mcp48x1dac_attach(device_t parent, devic
sc->sc_dm = &mcp48x1_models[cf_flags]; /* flag value defines model */
- error = spi_configure(sa->sa_handle, SPI_MODE_0, 20000000);
+ error = spi_configure(self, sa->sa_handle, SPI_MODE_0, 20000000);
if (error) {
- aprint_error_dev(self,
- "failed to set Mode 0 @ 20MHz, error=%d\n", error);
return;
}
Index: src/sys/dev/spi/scmdspi.c
diff -u src/sys/dev/spi/scmdspi.c:1.2 src/sys/dev/spi/scmdspi.c:1.3
--- src/sys/dev/spi/scmdspi.c:1.2 Wed Jan 19 05:05:45 2022
+++ src/sys/dev/spi/scmdspi.c Wed Jan 19 05:21:44 2022
@@ -1,5 +1,5 @@
-/* $NetBSD: scmdspi.c,v 1.2 2022/01/19 05:05:45 thorpej Exp $ */
+/* $NetBSD: scmdspi.c,v 1.3 2022/01/19 05:21:44 thorpej Exp $ */
/*
* Copyright (c) 2021 Brad Spencer <[email protected]>
@@ -18,7 +18,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: scmdspi.c,v 1.2 2022/01/19 05:05:45 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: scmdspi.c,v 1.3 2022/01/19 05:21:44 thorpej Exp $");
/*
* SPI driver for the Sparkfun Serial motor controller.
@@ -205,10 +205,8 @@ scmdspi_attach(device_t parent, device_t
cv_init(&sc->sc_cond_dying, "scmdspidc");
/* configure for 1MHz and SPI mode 0 according to the data sheet */
- error = spi_configure(sa->sa_handle, SPI_MODE_0, 1000000);
+ error = spi_configure(self, sa->sa_handle, SPI_MODE_0, 1000000);
if (error) {
- aprint_error(": failed to set Mode 0 @ 1MHz, error=%d\n",
- error);
return;
}
Index: src/sys/dev/spi/oj6sh.c
diff -u src/sys/dev/spi/oj6sh.c:1.10 src/sys/dev/spi/oj6sh.c:1.11
--- src/sys/dev/spi/oj6sh.c:1.10 Wed Jan 19 05:05:45 2022
+++ src/sys/dev/spi/oj6sh.c Wed Jan 19 05:21:44 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: oj6sh.c,v 1.10 2022/01/19 05:05:45 thorpej Exp $ */
+/* $NetBSD: oj6sh.c,v 1.11 2022/01/19 05:21:44 thorpej Exp $ */
/*
* Copyright (c) 2014 Genetec Corporation. All rights reserved.
@@ -31,7 +31,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: oj6sh.c,v 1.10 2022/01/19 05:05:45 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: oj6sh.c,v 1.11 2022/01/19 05:21:44 thorpej Exp $");
#include "opt_oj6sh.h"
@@ -187,10 +187,8 @@ oj6sh_attach(device_t parent, device_t s
aprint_naive("\n");
aprint_normal(": OJ6SH-T25 Optical Joystick\n");
- error = spi_configure(sa->sa_handle, SPI_MODE_0, 2500000);
+ error = spi_configure(self, sa->sa_handle, SPI_MODE_0, 2500000);
if (error) {
- aprint_error_dev(self,
- "failed to set Mode 0 @ 2.5MHz, error=%d\n", error);
return;
}
Index: src/sys/dev/spi/spivar.h
diff -u src/sys/dev/spi/spivar.h:1.10 src/sys/dev/spi/spivar.h:1.11
--- src/sys/dev/spi/spivar.h:1.10 Tue Aug 4 13:20:45 2020
+++ src/sys/dev/spi/spivar.h Wed Jan 19 05:21:44 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: spivar.h,v 1.10 2020/08/04 13:20:45 kardel Exp $ */
+/* $NetBSD: spivar.h,v 1.11 2022/01/19 05:21:44 thorpej Exp $ */
/*-
* Copyright (c) 2006 Urbana-Champaign Independent Media Center.
@@ -142,7 +142,7 @@ SIMPLEQ_HEAD(spi_transq, spi_transfer);
int spi_compatible_match(const struct spi_attach_args *, const cfdata_t,
const struct device_compatible_entry *);
-int spi_configure(struct spi_handle *, int, int);
+int spi_configure(device_t, struct spi_handle *, int, int);
int spi_transfer(struct spi_handle *, struct spi_transfer *);
void spi_transfer_init(struct spi_transfer *);
void spi_chunk_init(struct spi_chunk *, int, const uint8_t *, uint8_t *);
Index: src/sys/dev/spi/ssdfb_spi.c
diff -u src/sys/dev/spi/ssdfb_spi.c:1.12 src/sys/dev/spi/ssdfb_spi.c:1.13
--- src/sys/dev/spi/ssdfb_spi.c:1.12 Wed Jan 19 05:05:45 2022
+++ src/sys/dev/spi/ssdfb_spi.c Wed Jan 19 05:21:44 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: ssdfb_spi.c,v 1.12 2022/01/19 05:05:45 thorpej Exp $ */
+/* $NetBSD: ssdfb_spi.c,v 1.13 2022/01/19 05:21:44 thorpej Exp $ */
/*
* Copyright (c) 2019 The NetBSD Foundation, Inc.
@@ -30,7 +30,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: ssdfb_spi.c,v 1.12 2022/01/19 05:05:45 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: ssdfb_spi.c,v 1.13 2022/01/19 05:21:44 thorpej Exp $");
#include <sys/param.h>
#include <sys/device.h>
@@ -130,10 +130,8 @@ ssdfb_spi_attach(device_t parent, device
/*
* SSD1306 and SSD1322 data sheets specify 100ns cycle time.
*/
- error = spi_configure(sa->sa_handle, SPI_MODE_0, 10000000);
+ error = spi_configure(self, sa->sa_handle, SPI_MODE_0, 10000000);
if (error) {
- aprint_error(": failed to set Mode 0 @ 10MHz, error=%d\n",
- error);
return;
}
Index: src/sys/dev/spi/tmp121.c
diff -u src/sys/dev/spi/tmp121.c:1.6 src/sys/dev/spi/tmp121.c:1.7
--- src/sys/dev/spi/tmp121.c:1.6 Wed Jan 19 05:05:45 2022
+++ src/sys/dev/spi/tmp121.c Wed Jan 19 05:21:44 2022
@@ -1,4 +1,4 @@
-/* $NetBSD: tmp121.c,v 1.6 2022/01/19 05:05:45 thorpej Exp $ */
+/* $NetBSD: tmp121.c,v 1.7 2022/01/19 05:21:44 thorpej Exp $ */
/*-
* Copyright (c) 2006 Urbana-Champaign Independent Media Center.
@@ -42,7 +42,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tmp121.c,v 1.6 2022/01/19 05:05:45 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tmp121.c,v 1.7 2022/01/19 05:21:44 thorpej Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -85,10 +85,8 @@ tmp121temp_attach(device_t parent, devic
aprint_normal(": TI TMP121 Temperature Sensor\n");
/* configure for 10MHz */
- error = spi_configure(sa->sa_handle, SPI_MODE_0, 1000000);
+ error = spi_configure(self, sa->sa_handle, SPI_MODE_0, 1000000);
if (error) {
- aprint_error_dev(self,
- "failed to set Mode 0 @ 10MHz, error=%d\n", error);
return;
}