Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/dev/i2c Change fdtbus_register_i2c_controller() to direc...



details:   https://anonhg.NetBSD.org/src/rev/f5a5f61ff8f4
branches:  trunk
changeset: 1017362:f5a5f61ff8f4
user:      thorpej <thorpej%NetBSD.org@localhost>
date:      Wed Dec 23 16:02:11 2020 +0000

description:
Change fdtbus_register_i2c_controller() to directly register the i2c_tag_t,
rather than the device and a set of functions (the only of which was to
return the i2c_tag_t anyway).  Previously, this assumed only a single
i2c controller node per device_t, which is not true with an i2c mux.

diffstat:

 sys/arch/arm/broadcom/bcm2835_bsc_fdt.c |  18 +++---------------
 sys/arch/arm/nvidia/tegra_i2c.c         |  20 +++-----------------
 sys/arch/arm/rockchip/rk_i2c.c          |  18 +++---------------
 sys/arch/arm/samsung/exynos_i2c.c       |  20 +++-----------------
 sys/arch/arm/sociox/sni_i2c.c           |  19 +++----------------
 sys/arch/arm/sunxi/sunxi_rsb.c          |  18 +++---------------
 sys/arch/arm/sunxi/sunxi_twi.c          |  18 +++---------------
 sys/arch/arm/ti/ti_iic.c                |  20 +++-----------------
 sys/dev/fdt/dwiic_fdt.c                 |  19 +++----------------
 sys/dev/fdt/fdt_i2c.c                   |  15 ++++++---------
 sys/dev/fdt/fdtvar.h                    |   9 ++-------
 sys/dev/i2c/motoi2c.c                   |  20 +++-----------------
 12 files changed, 38 insertions(+), 176 deletions(-)

diffs (truncated from 575 to 300 lines):

diff -r 07959847273a -r f5a5f61ff8f4 sys/arch/arm/broadcom/bcm2835_bsc_fdt.c
--- a/sys/arch/arm/broadcom/bcm2835_bsc_fdt.c   Wed Dec 23 15:56:43 2020 +0000
+++ b/sys/arch/arm/broadcom/bcm2835_bsc_fdt.c   Wed Dec 23 16:02:11 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: bcm2835_bsc_fdt.c,v 1.3 2020/12/23 02:56:11 thorpej Exp $      */
+/*     $NetBSD: bcm2835_bsc_fdt.c,v 1.4 2020/12/23 16:02:11 thorpej Exp $      */
 
 /*
  * Copyright (c) 2019 Jason R. Thorpe
@@ -28,7 +28,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: bcm2835_bsc_fdt.c,v 1.3 2020/12/23 02:56:11 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: bcm2835_bsc_fdt.c,v 1.4 2020/12/23 16:02:11 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -46,18 +46,6 @@
 
 #include <dev/fdt/fdtvar.h>
 
-static i2c_tag_t
-bsciic_fdt_get_tag(device_t dev)
-{
-       struct bsciic_softc * const sc = device_private(dev);
-
-       return &sc->sc_i2c;
-}
-
-static const struct fdtbus_i2c_controller_func bsciic_fdt_funcs = {
-       .get_tag = bsciic_fdt_get_tag,
-};
-
 static int bsciic_fdt_match(device_t, cfdata_t, void *);
 static void bsciic_fdt_attach(device_t, device_t, void *);
 
@@ -141,7 +129,7 @@
        sc->sc_i2c.ic_release_bus = bsciic_release_bus;
        sc->sc_i2c.ic_exec = bsciic_exec;
 
-       fdtbus_register_i2c_controller(self, phandle, &bsciic_fdt_funcs);
+       fdtbus_register_i2c_controller(&sc->sc_i2c, phandle);
 
        fdtbus_attach_i2cbus(self, phandle, &sc->sc_i2c, iicbus_print);
 }
diff -r 07959847273a -r f5a5f61ff8f4 sys/arch/arm/nvidia/tegra_i2c.c
--- a/sys/arch/arm/nvidia/tegra_i2c.c   Wed Dec 23 15:56:43 2020 +0000
+++ b/sys/arch/arm/nvidia/tegra_i2c.c   Wed Dec 23 16:02:11 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: tegra_i2c.c,v 1.23 2019/12/22 23:40:49 thorpej Exp $ */
+/* $NetBSD: tegra_i2c.c,v 1.24 2020/12/23 16:02:11 thorpej Exp $ */
 
 /*-
  * Copyright (c) 2015 Jared D. McNeill <jmcneill%invisible.ca@localhost>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: tegra_i2c.c,v 1.23 2019/12/22 23:40:49 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: tegra_i2c.c,v 1.24 2020/12/23 16:02:11 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -47,12 +47,6 @@
 static int     tegra_i2c_match(device_t, cfdata_t, void *);
 static void    tegra_i2c_attach(device_t, device_t, void *);
 
-static i2c_tag_t tegra_i2c_get_tag(device_t);
-
-struct fdtbus_i2c_controller_func tegra_i2c_funcs = {
-       .get_tag = tegra_i2c_get_tag
-};
-
 struct tegra_i2c_softc {
        device_t                sc_dev;
        bus_space_tag_t         sc_bst;
@@ -183,19 +177,11 @@
        sc->sc_ic.ic_cookie = sc;
        sc->sc_ic.ic_exec = tegra_i2c_exec;
 
-       fdtbus_register_i2c_controller(self, phandle, &tegra_i2c_funcs);
+       fdtbus_register_i2c_controller(&sc->sc_ic, phandle);
 
        fdtbus_attach_i2cbus(self, phandle, &sc->sc_ic, iicbus_print);
 }
 
-static i2c_tag_t
-tegra_i2c_get_tag(device_t dev)
-{
-       struct tegra_i2c_softc * const sc = device_private(dev);
-
-       return &sc->sc_ic;
-}
-
 static void
 tegra_i2c_init(struct tegra_i2c_softc *sc)
 {
diff -r 07959847273a -r f5a5f61ff8f4 sys/arch/arm/rockchip/rk_i2c.c
--- a/sys/arch/arm/rockchip/rk_i2c.c    Wed Dec 23 15:56:43 2020 +0000
+++ b/sys/arch/arm/rockchip/rk_i2c.c    Wed Dec 23 16:02:11 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: rk_i2c.c,v 1.8 2020/09/19 18:19:09 ryo Exp $ */
+/* $NetBSD: rk_i2c.c,v 1.9 2020/12/23 16:02:11 thorpej Exp $ */
 
 /*-
  * Copyright (c) 2018 Jared McNeill <jmcneill%invisible.ca@localhost>
@@ -28,7 +28,7 @@
 
 #include <sys/cdefs.h>
 
-__KERNEL_RCSID(0, "$NetBSD: rk_i2c.c,v 1.8 2020/09/19 18:19:09 ryo Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rk_i2c.c,v 1.9 2020/12/23 16:02:11 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -361,18 +361,6 @@
        return error;
 }
 
-static i2c_tag_t
-rk_i2c_get_tag(device_t dev)
-{
-       struct rk_i2c_softc * const sc = device_private(dev);
-
-       return &sc->sc_ic;
-}
-
-static const struct fdtbus_i2c_controller_func rk_i2c_funcs = {
-       .get_tag = rk_i2c_get_tag,
-};
-
 static int
 rk_i2c_match(device_t parent, cfdata_t cf, void *aux)
 {
@@ -428,7 +416,7 @@
        sc->sc_ic.ic_cookie = sc;
        sc->sc_ic.ic_exec = rk_i2c_exec;
 
-       fdtbus_register_i2c_controller(self, phandle, &rk_i2c_funcs);
+       fdtbus_register_i2c_controller(&sc->sc_ic, phandle);
 
        fdtbus_attach_i2cbus(self, phandle, &sc->sc_ic, iicbus_print);
 }
diff -r 07959847273a -r f5a5f61ff8f4 sys/arch/arm/samsung/exynos_i2c.c
--- a/sys/arch/arm/samsung/exynos_i2c.c Wed Dec 23 15:56:43 2020 +0000
+++ b/sys/arch/arm/samsung/exynos_i2c.c Wed Dec 23 16:02:11 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: exynos_i2c.c,v 1.19 2020/03/17 21:24:30 skrll Exp $ */
+/*     $NetBSD: exynos_i2c.c,v 1.20 2020/12/23 16:02:11 thorpej Exp $ */
 
 /*
  * Copyright (c) 2015 Jared D. McNeill <jmcneill%invisible.ca@localhost>
@@ -31,7 +31,7 @@
 #include "opt_arm_debug.h"
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: exynos_i2c.c,v 1.19 2020/03/17 21:24:30 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: exynos_i2c.c,v 1.20 2020/12/23 16:02:11 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -83,12 +83,6 @@
 static int exynos_i2c_match(device_t, cfdata_t, void *);
 static void exynos_i2c_attach(device_t, device_t, void *);
 
-static i2c_tag_t exynos_i2c_get_tag(device_t);
-
-struct fdtbus_i2c_controller_func exynos_i2c_funcs = {
-       .get_tag = exynos_i2c_get_tag
-};
-
 CFATTACH_DECL_NEW(exynos_i2c, sizeof(struct exynos_i2c_softc),
     exynos_i2c_match, exynos_i2c_attach, NULL, NULL);
 
@@ -178,19 +172,11 @@
        sc->sc_ic.ic_read_byte   = exynos_i2c_read_byte;
        sc->sc_ic.ic_write_byte  = exynos_i2c_write_byte;
 
-       fdtbus_register_i2c_controller(self, phandle, &exynos_i2c_funcs);
+       fdtbus_register_i2c_controller(&sc->sc_ic, phandle);
 
        fdtbus_attach_i2cbus(self, phandle, &sc->sc_ic, iicbus_print);
 }
 
-static i2c_tag_t
-exynos_i2c_get_tag(device_t dev)
-{
-       struct exynos_i2c_softc * const sc = device_private(dev);
-
-       return &sc->sc_ic;
-}
-
 static int
 exynos_i2c_intr(void *priv)
 {
diff -r 07959847273a -r f5a5f61ff8f4 sys/arch/arm/sociox/sni_i2c.c
--- a/sys/arch/arm/sociox/sni_i2c.c     Wed Dec 23 15:56:43 2020 +0000
+++ b/sys/arch/arm/sociox/sni_i2c.c     Wed Dec 23 16:02:11 2020 +0000
@@ -1,4 +1,4 @@
-/*     $NetBSD: sni_i2c.c,v 1.8 2020/06/01 00:00:37 thorpej Exp $      */
+/*     $NetBSD: sni_i2c.c,v 1.9 2020/12/23 16:02:11 thorpej Exp $      */
 
 /*-
  * Copyright (c) 2020 The NetBSD Foundation, Inc.
@@ -34,7 +34,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sni_i2c.c,v 1.8 2020/06/01 00:00:37 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sni_i2c.c,v 1.9 2020/12/23 16:02:11 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -90,11 +90,6 @@
 static void sni_i2c_reset(struct sniiic_softc *);
 static void sni_i2c_flush(struct sniiic_softc *);
 
-static i2c_tag_t sni_i2c_get_tag(device_t);
-static const struct fdtbus_i2c_controller_func sni_i2c_funcs = {
-       .get_tag = sni_i2c_get_tag,
-};
-
 #define I2C_READ(sc, reg) \
     bus_space_read_4((sc)->sc_ioh,(sc)->sc_ioh,(reg))
 #define I2C_WRITE(sc, reg, val) \
@@ -150,7 +145,7 @@
 
        sni_i2c_common_i(sc);
 
-       fdtbus_register_i2c_controller(self, phandle, &sni_i2c_funcs);
+       fdtbus_register_i2c_controller(&sc->sc_ic, phandle);
 #if 0
        fdtbus_attach_i2cbus(self, phandle, &sc->sc_ic, iicbus_print);
 #endif
@@ -322,11 +317,3 @@
 {
        /* AAA */
 }
-
-static i2c_tag_t
-sni_i2c_get_tag(device_t dev)
-{
-       struct sniiic_softc * const sc = device_private(dev);
-
-       return &sc->sc_ic;
-}
diff -r 07959847273a -r f5a5f61ff8f4 sys/arch/arm/sunxi/sunxi_rsb.c
--- a/sys/arch/arm/sunxi/sunxi_rsb.c    Wed Dec 23 15:56:43 2020 +0000
+++ b/sys/arch/arm/sunxi/sunxi_rsb.c    Wed Dec 23 16:02:11 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_rsb.c,v 1.8 2019/12/22 23:23:30 thorpej Exp $ */
+/* $NetBSD: sunxi_rsb.c,v 1.9 2020/12/23 16:02:12 thorpej Exp $ */
 
 /*-
  * Copyright (c) 2014-2017 Jared McNeill <jmcneill%invisible.ca@localhost>
@@ -27,7 +27,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: sunxi_rsb.c,v 1.8 2019/12/22 23:23:30 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: sunxi_rsb.c,v 1.9 2020/12/23 16:02:12 thorpej Exp $");
 
 #include <sys/param.h>
 #include <sys/bus.h>
@@ -111,18 +111,6 @@
 static int     sunxi_rsb_match(device_t, cfdata_t, void *);
 static void    sunxi_rsb_attach(device_t, device_t, void *);
 
-static i2c_tag_t
-sunxi_rsb_get_tag(device_t dev)
-{
-       struct sunxi_rsb_softc * const sc = device_private(dev);
-
-       return &sc->sc_ic;
-}
-
-static const struct fdtbus_i2c_controller_func sunxi_rsb_funcs = {
-       .get_tag = sunxi_rsb_get_tag,
-};
-
 CFATTACH_DECL_NEW(sunxi_rsb, sizeof(struct sunxi_rsb_softc),
        sunxi_rsb_match, sunxi_rsb_attach, NULL, NULL);
 
@@ -194,7 +182,7 @@
        sc->sc_ic.ic_cookie = sc;
        sc->sc_ic.ic_exec = sunxi_rsb_exec;
 
-       fdtbus_register_i2c_controller(self, phandle, &sunxi_rsb_funcs);
+       fdtbus_register_i2c_controller(&sc->sc_ic, phandle);
 
        fdtbus_attach_i2cbus(self, phandle, &sc->sc_ic, iicbus_print);
 }
diff -r 07959847273a -r f5a5f61ff8f4 sys/arch/arm/sunxi/sunxi_twi.c
--- a/sys/arch/arm/sunxi/sunxi_twi.c    Wed Dec 23 15:56:43 2020 +0000
+++ b/sys/arch/arm/sunxi/sunxi_twi.c    Wed Dec 23 16:02:11 2020 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: sunxi_twi.c,v 1.11 2020/01/12 17:48:42 thorpej Exp $ */
+/* $NetBSD: sunxi_twi.c,v 1.12 2020/12/23 16:02:12 thorpej Exp $ */
 



Home | Main Index | Thread Index | Old Index