[U-Boot] [RFC] Driver model

Marek Vasut marek.vasut at gmail.com
Mon Sep 20 12:05:40 CEST 2010


Hi,

most of the readers here probably noticed, there are various forks of U-Boot 
bootloader floating around the net. The development model there is quite closed 
and certainly not community driven, on the other hand, they have neat driver 
model.

As for U-Boot, there currently is no driver model. Therefore I'd like to start a 
discussing on this topic so we can converge towards a reasonable result.

My few points:

* Start with ethernet subsystem
It seems to be quite ready for conversion of this scale. Besides it'd be easy to 
prove multiple instances of ethernet device work with the driver model.

* Create an universal driver model:
The driver will have usual .probe function, which will have some argument of 
type "void *" to it's driver data. This way we can pass it's base address for 
example instead of #defining it. Very similar to linux kernel.

* We need some "device tree"
To know, what driver is where and where are it's driver data etc.

* Get rid of static data in drivers, switch to dynamic allocation
So these wont interfere with multiple instances of the same driver.

Cheers


More information about the U-Boot mailing list