Message ID | 20241105042240.2994849-1-samuel.holland@sifive.com |
---|---|
Headers | show |
Series | Deduplicate driver initialization code | expand |
在 2024-11-04一的 20:20 -0800,Samuel Holland写道: > Upstreaming support for some of SiFive's security and power management > features will require adding some new driver subsystems (e.g. caches, > WorldGuard gadgets, power management domains, etc.). To avoid copy-and- > pasting the FDT-based driver matching code to each new subsystem, this > series refactors it into some efficient and easily-reusable helper > functions. > > This series only converts three existing subsystems to use the new > helpers, but the remaining subsystems are trivial to convert once the > corresponding patch series I have already sent is applied: > - gpio: http://lists.infradead.org/pipermail/opensbi/2024-September/007340.html > - ipi: http://lists.infradead.org/pipermail/opensbi/2024-October/007546.html > - irqchip: http://lists.infradead.org/pipermail/opensbi/2024-November/007555.html > - regmap: http://lists.infradead.org/pipermail/opensbi/2024-September/007340.html > - timer: http://lists.infradead.org/pipermail/opensbi/2024-September/007332.html > This series of patches requires rebase to master Regards, Xiang W > > Samuel Holland (6): > lib: utils/gpio: Remove fdt_gpio_driver() function > treewide: Make carray arrays const and NULL-terminated > lib: utils/fdt: Add helpers for generic driver initialization > lib: utils/i2c: Use fdt_driver for initialization > lib: utils/reset: Use fdt_driver for initialization > lib: utils/serial: Use fdt_driver for initialization > > include/sbi_utils/fdt/fdt_driver.h | 59 +++++++++++++++ > include/sbi_utils/i2c/fdt_i2c.h | 8 +- > include/sbi_utils/reset/fdt_reset.h | 15 +--- > include/sbi_utils/serial/fdt_serial.h | 6 +- > lib/sbi/sbi_ecall.c | 5 +- > lib/sbi/tests/sbi_unit_test.c | 5 +- > lib/utils/fdt/fdt_driver.c | 80 ++++++++++++++++++++ > lib/utils/fdt/objects.mk | 1 + > lib/utils/gpio/fdt_gpio.c | 22 +----- > lib/utils/i2c/fdt_i2c.c | 31 +------- > lib/utils/i2c/fdt_i2c_adapter_drivers.carray | 2 +- > lib/utils/i2c/fdt_i2c_dw.c | 2 +- > lib/utils/i2c/fdt_i2c_sifive.c | 2 +- > lib/utils/ipi/fdt_ipi.c | 5 +- > lib/utils/irqchip/fdt_irqchip.c | 5 +- > lib/utils/regmap/fdt_regmap.c | 5 +- > lib/utils/reset/fdt_reset.c | 37 +-------- > lib/utils/reset/fdt_reset_atcwdt200.c | 2 +- > lib/utils/reset/fdt_reset_drivers.carray | 2 +- > lib/utils/reset/fdt_reset_gpio.c | 4 +- > lib/utils/reset/fdt_reset_htif.c | 2 +- > lib/utils/reset/fdt_reset_sg2042_hwmon_mcu.c | 2 +- > lib/utils/reset/fdt_reset_sunxi_wdt.c | 2 +- > lib/utils/reset/fdt_reset_syscon.c | 4 +- > lib/utils/serial/fdt_serial.c | 53 ++----------- > lib/utils/serial/fdt_serial_cadence.c | 2 +- > lib/utils/serial/fdt_serial_drivers.carray | 2 +- > lib/utils/serial/fdt_serial_gaisler.c | 2 +- > lib/utils/serial/fdt_serial_htif.c | 2 +- > lib/utils/serial/fdt_serial_litex.c | 2 +- > lib/utils/serial/fdt_serial_renesas_scif.c | 2 +- > lib/utils/serial/fdt_serial_shakti.c | 2 +- > lib/utils/serial/fdt_serial_sifive.c | 2 +- > lib/utils/serial/fdt_serial_uart8250.c | 2 +- > lib/utils/serial/fdt_serial_xlnx_uartlite.c | 2 +- > lib/utils/timer/fdt_timer.c | 5 +- > platform/generic/platform.c | 5 +- > platform/generic/sifive/fu740.c | 9 ++- > platform/generic/starfive/jh7110.c | 9 ++- > scripts/carray.sh | 7 +- > 40 files changed, 211 insertions(+), 205 deletions(-) > create mode 100644 include/sbi_utils/fdt/fdt_driver.h > create mode 100644 lib/utils/fdt/fdt_driver.c > > -- > 2.45.1 > >