1 The U-Boot Driver Model Project
2 ===============================
5 Viktor Krivak <viktor.krivak@gmail.com>
11 U-boot implements only 2 methods to interoperate with pcmcia. One to turn
12 device on and other to turn device off. Names of these methods are usually
13 pcmcia_on() and pcmcia_off() without any parameters. Some files in driver
14 directory implements only internal API. These methods aren't used outside
15 driver directory and they are not converted to new driver model.
23 Current API is preserved and all internal methods are hiden.
26 void (*pcmcia_on)(struct instance *i);
27 void (*pcmcia_off)(struct instance *i);
33 In header file pcmcia.h are some other variables which are used for
34 additional configuration. But all have to be moved to platform data or to
35 specific driver implementation.
40 Many boards have custom implementation of internal API. Pointers to these
41 methods are stored in platform_data. But the most implementations for Intel
42 82365 and compatible PC Card controllers and Yenta-compatible
43 PCI-to-CardBus controllers implement whole API per board. In these cases
44 pcmcia_on() and pcmcia_off() behave only as wrappers and call specific
47 III) Analysis of in-tree drivers
48 --------------------------------
52 Driver methods have different name i82365_init() and i82365_exit but
53 all functionality is the same. Board files board/atc/ti113x.c and
54 board/cpc45/pd67290.c use their own implementation of these method.
55 In this case all methods in driver behave only as wrappers.
59 Meets standard API behaviour. Simple conversion.
63 Meets standard API behaviour. Simple conversion.
67 Implements only internal API used in other drivers. Non of methods
68 implemented here are used outside driver model.
72 Has different API but methods in this file are never called. Probably
77 Implements only internal API used in other drivers. Non of methods
78 implemented here are used outside driver model.