summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Brown2014-12-18 15:38:45 +0100
committerMichael Brown2014-12-18 15:46:38 +0100
commitd83fb45b66a9aa0a10efd2181fba42817ee1785d (patch)
tree37e2d94f7d52274b43016478e90cb43a02fc1c67 /src
parent[malloc] Report caller address as soon as memory corruption is detected (diff)
downloadipxe-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')
-rw-r--r--src/include/ipxe/device.h23
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;
/**