]> err.no Git - linux-2.6/blobdiff - include/asm-ppc/of_device.h
Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6] / include / asm-ppc / of_device.h
index 14441c629010c75eb0ec5aff89e0dd738b8af7b1..575bce418f802dd860ccdb8e3422330e60fbb8c0 100644 (file)
@@ -2,6 +2,7 @@
 #define __OF_DEVICE_H__
 
 #include <linux/device.h>
+#include <linux/mod_devicetable.h>
 #include <asm/prom.h>
 
 /*
@@ -24,20 +25,8 @@ struct of_device
 };
 #define        to_of_device(d) container_of(d, struct of_device, dev)
 
-/*
- * Struct used for matching a device
- */
-struct of_match
-{
-       char    *name;
-       char    *type;
-       char    *compatible;
-       void    *data;
-};
-#define OF_ANY_MATCH           ((char *)-1L)
-
-extern const struct of_match *of_match_device(
-       const struct of_match *matches, const struct of_device *dev);
+extern const struct of_device_id *of_match_device(
+       const struct of_device_id *matches, const struct of_device *dev);
 
 extern struct of_device *of_dev_get(struct of_device *dev);
 extern void of_dev_put(struct of_device *dev);
@@ -49,13 +38,13 @@ extern void of_dev_put(struct of_device *dev);
 struct of_platform_driver
 {
        char                    *name;
-       struct of_match         *match_table;
+       struct of_device_id     *match_table;
        struct module           *owner;
 
-       int     (*probe)(struct of_device* dev, const struct of_match *match);
+       int     (*probe)(struct of_device* dev, const struct of_device_id *match);
        int     (*remove)(struct of_device* dev);
 
-       int     (*suspend)(struct of_device* dev, u32 state);
+       int     (*suspend)(struct of_device* dev, pm_message_t state);
        int     (*resume)(struct of_device* dev);
        int     (*shutdown)(struct of_device* dev);
 
@@ -67,7 +56,9 @@ extern int of_register_driver(struct of_platform_driver *drv);
 extern void of_unregister_driver(struct of_platform_driver *drv);
 extern int of_device_register(struct of_device *ofdev);
 extern void of_device_unregister(struct of_device *ofdev);
-extern struct of_device *of_platform_device_create(struct device_node *np, const char *bus_id);
+extern struct of_device *of_platform_device_create(struct device_node *np,
+                                                  const char *bus_id,
+                                                  struct device *parent);
 extern void of_release_dev(struct device *dev);
 
 #endif /* __OF_DEVICE_H__ */