Module Name: src
Committed By: thorpej
Date: Sat Sep 11 13:13:59 UTC 2021
Modified Files:
src/sys/arch/macppc/dev [thorpej-i2c-spi-conf2]: cuda.c
Log Message:
Use i2c_enumerate_deventries().
To generate a diff of this commit:
cvs rdiff -u -r1.29.2.2 -r1.29.2.3 src/sys/arch/macppc/dev/cuda.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/macppc/dev/cuda.c
diff -u src/sys/arch/macppc/dev/cuda.c:1.29.2.2 src/sys/arch/macppc/dev/cuda.c:1.29.2.3
--- src/sys/arch/macppc/dev/cuda.c:1.29.2.2 Fri Sep 10 15:45:27 2021
+++ src/sys/arch/macppc/dev/cuda.c Sat Sep 11 13:13:59 2021
@@ -1,4 +1,4 @@
-/* $NetBSD: cuda.c,v 1.29.2.2 2021/09/10 15:45:27 thorpej Exp $ */
+/* $NetBSD: cuda.c,v 1.29.2.3 2021/09/11 13:13:59 thorpej Exp $ */
/*-
* Copyright (c) 2006 Michael Lorenz
@@ -27,7 +27,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: cuda.c,v 1.29.2.2 2021/09/10 15:45:27 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: cuda.c,v 1.29.2.3 2021/09/11 13:13:59 thorpej Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -90,12 +90,8 @@ struct cuda_softc {
*/
struct devhandle_impl sc_devhandle_impl;
- struct {
- const char *name;
- const char *compatible;
- i2c_addr_t addr;
- } sc_i2c_devices[CUDA_MAX_I2C_DEVICES];
- int sc_ni2c_devices;
+ struct i2c_deventry sc_i2c_devices[CUDA_MAX_I2C_DEVICES];
+ unsigned int sc_ni2c_devices;
int sc_node;
int sc_state;
@@ -169,7 +165,7 @@ cuda_add_i2c_device(struct cuda_softc *s
{
KASSERT(sc->sc_ni2c_devices < CUDA_MAX_I2C_DEVICES);
sc->sc_i2c_devices[sc->sc_ni2c_devices].name = name;
- sc->sc_i2c_devices[sc->sc_ni2c_devices].compatible = compatible;
+ sc->sc_i2c_devices[sc->sc_ni2c_devices].compat = compatible;
sc->sc_i2c_devices[sc->sc_ni2c_devices].addr = addr;
sc->sc_ni2c_devices++;
}
@@ -178,28 +174,12 @@ static int
cuda_i2c_enumerate_devices(device_t dev, devhandle_t call_handle, void *v)
{
struct i2c_enumerate_devices_args *args = v;
- int i;
- bool cbrv;
/* dev is the "iicbus" instance. Cuda softc is in args. */
struct cuda_softc *sc = args->ia->ia_tag->ic_cookie;
- for (i = 0; i < sc->sc_ni2c_devices; i++) {
- args->ia->ia_addr = sc->sc_i2c_devices[i].addr;
- args->ia->ia_name = sc->sc_i2c_devices[i].name;
- args->ia->ia_clist = sc->sc_i2c_devices[i].compatible;
- args->ia->ia_clist_size = strlen(args->ia->ia_clist) + 1;
- /* Child gets no handle. */
- devhandle_invalidate(&args->ia->ia_devhandle);
-
- cbrv = args->callback(dev, args);
-
- if (!cbrv) {
- break; /* callback decides if we continue */
- }
- }
-
- return 0;
+ return i2c_enumerate_deventries(dev, call_handle, args,
+ sc->sc_i2c_devices, sc->sc_ni2c_devices);
}
static device_call_t