diff options
author | Michael Brown | 2014-12-18 15:38:45 +0100 |
---|---|---|
committer | Michael Brown | 2014-12-18 15:46:38 +0100 |
commit | d83fb45b66a9aa0a10efd2181fba42817ee1785d (patch) | |
tree | 37e2d94f7d52274b43016478e90cb43a02fc1c67 /src/include | |
parent | [malloc] Report caller address as soon as memory corruption is detected (diff) | |
download | ipxe-d83fb45b66a9aa0a10efd2181fba42817ee1785d.tar.gz ipxe-d83fb45b66a9aa0a10efd2181fba42817ee1785d.tar.xz ipxe-d83fb45b66a9aa0a10efd2181fba42817ee1785d.zip |
[device] Provide a driver-private data field for root devices
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include')
-rw-r--r-- | src/include/ipxe/device.h | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/include/ipxe/device.h b/src/include/ipxe/device.h index 7202a696..d1420b1a 100644 --- a/src/include/ipxe/device.h +++ b/src/include/ipxe/device.h @@ -93,6 +93,8 @@ struct root_device { struct device dev; /** Root device driver */ struct root_driver *driver; + /** Driver-private data */ + void *priv; }; /** A root device driver */ @@ -123,6 +125,27 @@ struct root_driver { /** Declare a root device */ #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; /** |