cgroup: CSS ID support
[safe/jmp/linux-2.6] / include / linux / platform_device.h
index e808043..76e470a 100644 (file)
@@ -12,6 +12,7 @@
 #define _PLATFORM_DEVICE_H_
 
 #include <linux/device.h>
+#include <linux/mod_devicetable.h>
 
 struct platform_device {
        const char      * name;
@@ -19,8 +20,13 @@ struct platform_device {
        struct device   dev;
        u32             num_resources;
        struct resource * resource;
+       void            *platform_data;
+
+       struct platform_device_id       *id_entry;
 };
 
+#define platform_get_device_id(pdev)   ((pdev)->id_entry)
+
 #define to_platform_device(x) container_of((x), struct platform_device, dev)
 
 extern int platform_device_register(struct platform_device *);
@@ -35,8 +41,10 @@ extern struct resource *platform_get_resource_byname(struct platform_device *, u
 extern int platform_get_irq_byname(struct platform_device *, char *);
 extern int platform_add_devices(struct platform_device **, int);
 
-extern struct platform_device *platform_device_register_simple(char *, int id,
+extern struct platform_device *platform_device_register_simple(const char *, int id,
                                        struct resource *, unsigned int);
+extern struct platform_device *platform_device_register_data(struct device *,
+               const char *, int, const void *, size_t);
 
 extern struct platform_device *platform_device_alloc(const char *name, int id);
 extern int platform_device_add_resources(struct platform_device *pdev, struct resource *res, unsigned int num);
@@ -54,6 +62,7 @@ struct platform_driver {
        int (*resume_early)(struct platform_device *);
        int (*resume)(struct platform_device *);
        struct device_driver driver;
+       struct platform_device_id *id_table;
 };
 
 extern int platform_driver_register(struct platform_driver *);