aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJoachim Fenkes <fenkes@de.ibm.com>2007-09-26 05:44:12 -0400
committerPaul Mackerras <paulus@samba.org>2007-10-17 08:30:07 -0400
commitfec738dd48bd33743c12cebe1bf954e487756231 (patch)
treead0423ca2db3cd22d161c117096337d9c3e2ccf4 /include
parentebb3e820b83e426ee331bae6d8fb0e54f472a25d (diff)
[POWERPC] Move of_device allocation into of_device.[ch]
Extract generic of_device allocation code from of_platform_device_create() and move it into of_device.[ch], called of_device_alloc(). Also, there's now of_device_free() which puts the device node. This way, bus drivers that build on of_platform (like ibmebus will) can build upon this code instead of reinventing the wheel. Signed-off-by: Joachim Fenkes <fenkes@de.ibm.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Paul Mackerras <paulus@samba.org>
Diffstat (limited to 'include')
-rw-r--r--include/asm-powerpc/of_device.h4
-rw-r--r--include/linux/of_device.h5
2 files changed, 9 insertions, 0 deletions
diff --git a/include/asm-powerpc/of_device.h b/include/asm-powerpc/of_device.h
index 93262f2546ad..6526e139a463 100644
--- a/include/asm-powerpc/of_device.h
+++ b/include/asm-powerpc/of_device.h
@@ -17,6 +17,10 @@ struct of_device
17 struct device dev; /* Generic device interface */ 17 struct device dev; /* Generic device interface */
18}; 18};
19 19
20extern struct of_device *of_device_alloc(struct device_node *np,
21 const char *bus_id,
22 struct device *parent);
23
20extern ssize_t of_device_get_modalias(struct of_device *ofdev, 24extern ssize_t of_device_get_modalias(struct of_device *ofdev,
21 char *str, ssize_t len); 25 char *str, ssize_t len);
22extern int of_device_uevent(struct device *dev, 26extern int of_device_uevent(struct device *dev,
diff --git a/include/linux/of_device.h b/include/linux/of_device.h
index 91bf84b9d144..212bffb2b174 100644
--- a/include/linux/of_device.h
+++ b/include/linux/of_device.h
@@ -22,5 +22,10 @@ extern int of_device_register(struct of_device *ofdev);
22extern void of_device_unregister(struct of_device *ofdev); 22extern void of_device_unregister(struct of_device *ofdev);
23extern void of_release_dev(struct device *dev); 23extern void of_release_dev(struct device *dev);
24 24
25static inline void of_device_free(struct of_device *dev)
26{
27 of_release_dev(&dev->dev);
28}
29
25#endif /* __KERNEL__ */ 30#endif /* __KERNEL__ */
26#endif /* _LINUX_OF_DEVICE_H */ 31#endif /* _LINUX_OF_DEVICE_H */