Hi Heinrich, On Thu, 4 Mar 2021 at 08:01, Heinrich Schuchardt <[email protected]> wrote: > > Hello Simon, > > in U-Boot we can define drivers via U_BOOT_DRVINFO and U_BOOT_DRIVER. > > My current use case is SBI system reset extension. A driver would not > reasonably depend on the device-tree because if the RISC-V cpu is in > S-mode we know that there must be an SBI implementation. If the > extension is available, has to be determined in the probe() function of > the driver. > > My current solution is to use U_BOOT_DRIVER and to call > device_bind_driver(gd->dm_root,...) in board_init(). But that results in > code duplication in the board files. > > What do think about adding the usual driver functions to struct driver_info: > > int (*bind)(struct udevice *dev); > int (*probe)(struct udevice *dev); > int (*remove)(struct udevice *dev); > int (*unbind)(struct udevice *dev); > > Alternatively one could add a flag DM_FLAG_AUTO_PROBE to the struct > driver flags field which would lead to probing irrespective of the > device-tree. > > I would prefer the latter solution.
Surely this should be in the devicetree. Why would it not be? Regards, Simon

