mirror of https://github.com/ipxe/ipxe.git
[device] Provide a driver-private data field for root devices
Signed-off-by: Michael Brown <mcb30@ipxe.org>pull/33/head
parent
35c5379760
commit
d83fb45b66
|
@ -93,6 +93,8 @@ struct root_device {
|
||||||
struct device dev;
|
struct device dev;
|
||||||
/** Root device driver */
|
/** Root device driver */
|
||||||
struct root_driver *driver;
|
struct root_driver *driver;
|
||||||
|
/** Driver-private data */
|
||||||
|
void *priv;
|
||||||
};
|
};
|
||||||
|
|
||||||
/** A root device driver */
|
/** A root device driver */
|
||||||
|
@ -123,6 +125,27 @@ struct root_driver {
|
||||||
/** Declare a root device */
|
/** Declare a root device */
|
||||||
#define __root_device __table_entry ( ROOT_DEVICES, 01 )
|
#define __root_device __table_entry ( ROOT_DEVICES, 01 )
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set root device driver-private data
|
||||||
|
*
|
||||||
|
* @v rootdev Root device
|
||||||
|
* @v priv Private data
|
||||||
|
*/
|
||||||
|
static inline void rootdev_set_drvdata ( struct root_device *rootdev,
|
||||||
|
void *priv ){
|
||||||
|
rootdev->priv = priv;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get root device driver-private data
|
||||||
|
*
|
||||||
|
* @v rootdev Root device
|
||||||
|
* @ret priv Private data
|
||||||
|
*/
|
||||||
|
static inline void * rootdev_get_drvdata ( struct root_device *rootdev ) {
|
||||||
|
return rootdev->priv;
|
||||||
|
}
|
||||||
|
|
||||||
extern int device_keep_count;
|
extern int device_keep_count;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue