[PATCH 0/6] Deduplicate driver initialization code
Xiang W
wxjstz at 126.com
Sun Nov 10 18:50:02 PST 2024
在 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
>
>
More information about the opensbi
mailing list