summaryrefslogtreecommitdiffstats
path: root/include/driver.h
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2013-06-02 16:28:21 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2013-06-02 16:28:21 +0200
commit8f9044927dd3c0cf9abe6c1254d76886291becbb (patch)
tree03aa87cc32fc19f20157912aef3001bc94a7fd29 /include/driver.h
parent89fd7e44dbe754366354cee37395f7fc11cce50e (diff)
parent9aad0fb2d616ee4fb5bd359d9053ffd47dbd399b (diff)
downloadbarebox-8f9044927dd3c0cf9abe6c1254d76886291becbb.tar.gz
barebox-8f9044927dd3c0cf9abe6c1254d76886291becbb.tar.xz
Merge branch 'for-next/mci'
Conflicts: include/driver.h
Diffstat (limited to 'include/driver.h')
-rw-r--r--include/driver.h13
1 files changed, 10 insertions, 3 deletions
diff --git a/include/driver.h b/include/driver.h
index 7d5f65e79b..8b3af4de26 100644
--- a/include/driver.h
+++ b/include/driver.h
@@ -107,6 +107,13 @@ struct device_d {
struct device_node *device_node;
const struct of_device_id *of_id_entry;
+
+ void (*info) (struct device_d *);
+ /*
+ * For devices which take longer to probe this is called
+ * when the driver should actually detect client devices
+ */
+ int (*detect) (struct device_d *);
};
/** @brief Describes a driver present in the system */
@@ -124,9 +131,6 @@ struct driver_d {
/*! Called if an instance of a device is gone. */
void (*remove)(struct device_d *);
- void (*info) (struct device_d *);
- void (*shortinfo) (struct device_d *);
-
struct bus_type *bus;
struct platform_device_id *id_table;
@@ -153,6 +157,9 @@ int register_device(struct device_d *);
*/
int device_probe(struct device_d *dev);
+/* detect devices attached to this device (cards, disks,...) */
+int device_detect(struct device_d *dev);
+
/* Unregister a device. This function can fail, e.g. when the device
* has children.
*/