mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-09 03:21:51 +00:00
dm: Add child_pre_probe() and child_post_remove() methods
Some devices (particularly bus devices) must track their children, knowing when a new child is added so that it can be set up for communication on the bus. Add a child_pre_probe() method to provide this feature, and a corresponding child_post_remove() method. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
e59f458de6
commit
a327dee0f4
5 changed files with 160 additions and 2 deletions
|
@ -118,6 +118,10 @@ struct udevice_id {
|
|||
* @remove: Called to remove a device, i.e. de-activate it
|
||||
* @unbind: Called to unbind a device from its driver
|
||||
* @ofdata_to_platdata: Called before probe to decode device tree data
|
||||
* @child_pre_probe: Called before a child device is probed. The device has
|
||||
* memory allocated but it has not yet been probed.
|
||||
* @child_post_remove: Called after a child device is removed. The device
|
||||
* has memory allocated but its device_remove() method has been called.
|
||||
* @priv_auto_alloc_size: If non-zero this is the size of the private data
|
||||
* to be allocated in the device's ->priv pointer. If zero, then the driver
|
||||
* is responsible for allocating any data required.
|
||||
|
@ -143,6 +147,8 @@ struct driver {
|
|||
int (*remove)(struct udevice *dev);
|
||||
int (*unbind)(struct udevice *dev);
|
||||
int (*ofdata_to_platdata)(struct udevice *dev);
|
||||
int (*child_pre_probe)(struct udevice *dev);
|
||||
int (*child_post_remove)(struct udevice *dev);
|
||||
int priv_auto_alloc_size;
|
||||
int platdata_auto_alloc_size;
|
||||
int per_child_auto_alloc_size;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue