summaryrefslogtreecommitdiff
path: root/include/linux/of_device.h
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@secretlab.ca>2010-06-18 11:09:59 -0600
committerGrant Likely <grant.likely@secretlab.ca>2010-06-28 12:41:33 -0700
commitb505ff5e7291cca6379549297e3852ce3622d550 (patch)
treea424d99dc5dc7e9e9e40270c41b0f66ccbc58924 /include/linux/of_device.h
parent1636f8ac2b08410df4766449f7c86b912443cd99 (diff)
of: kill struct of_device
Now that the device tree node pointer has been moved out of struct of_device and into the common struct device, there isn't anything unique about of_device anymore. In fact, there isn't much need for a separate of_bus when all busses have access to OF style probing. arch/powerpc and arch/microblaze are moving away from using the of_bus and using the regular platform bus instead for mmio devices. This patch makes of_device the same as platform_device as a stepping stone in migrating of_platform_drivers over to the platform bus. Signed-off-by: Grant Likely <grant.likely@secretlab.ca> Acked-by: David S. Miller <davem@davemloft.net> Cc: Michal Simek <monstr@monstr.eu> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Stephen Rothwell <sfr@canb.auug.org.au>
Diffstat (limited to 'include/linux/of_device.h')
-rw-r--r--include/linux/of_device.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/include/linux/of_device.h b/include/linux/of_device.h
index 11651facc5f1..a3ae5900fc58 100644
--- a/include/linux/of_device.h
+++ b/include/linux/of_device.h
@@ -3,9 +3,26 @@
#ifdef CONFIG_OF_DEVICE
#include <linux/device.h>
+#include <linux/platform_device.h>
#include <linux/of.h>
#include <linux/mod_devicetable.h>
+
+/*
+ * The of_device *was* a kind of "base class" that was a superset of
+ * struct device for use by devices attached to an OF node and probed
+ * using OF properties. However, the important bit of OF-style
+ * probing, namely the device node pointer, has been moved into the
+ * common struct device when CONFIG_OF is set to make OF-style probing
+ * available to all bus types. So now, just make of_device and
+ * platform_device equivalent so that current of_platform bus users
+ * can be transparently migrated over to using the platform bus.
+ *
+ * This line will go away once all references to of_device are removed
+ * from the kernel.
+ */
+#define of_device platform_device
+
#include <asm/of_device.h>
#define to_of_device(d) container_of(d, struct of_device, dev)