]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/platform_device.h
V4L/DVB (4925): Corrected and separated the Kconfig for usbvision
[linux-2.6-omap-h63xx.git] / include / linux / platform_device.h
index 1a165b7ae01b5889b154133b345a53c4a022f58b..20f47b81d3fad3055a1eb048d7acf47473596c72 100644 (file)
@@ -41,6 +41,30 @@ extern struct platform_device *platform_device_alloc(const char *name, unsigned
 extern int platform_device_add_resources(struct platform_device *pdev, struct resource *res, unsigned int num);
 extern int platform_device_add_data(struct platform_device *pdev, void *data, size_t size);
 extern int platform_device_add(struct platform_device *pdev);
+extern void platform_device_del(struct platform_device *pdev);
 extern void platform_device_put(struct platform_device *pdev);
 
+struct platform_driver {
+       int (*probe)(struct platform_device *);
+       int (*remove)(struct platform_device *);
+       void (*shutdown)(struct platform_device *);
+       int (*suspend)(struct platform_device *, pm_message_t state);
+       int (*suspend_late)(struct platform_device *, pm_message_t state);
+       int (*resume_early)(struct platform_device *);
+       int (*resume)(struct platform_device *);
+       struct device_driver driver;
+};
+
+extern int platform_driver_register(struct platform_driver *);
+extern void platform_driver_unregister(struct platform_driver *);
+
+/* non-hotpluggable platform devices may use this so that probe() and
+ * its support may live in __init sections, conserving runtime memory.
+ */
+extern int platform_driver_probe(struct platform_driver *driver,
+               int (*probe)(struct platform_device *));
+
+#define platform_get_drvdata(_dev)     dev_get_drvdata(&(_dev)->dev)
+#define platform_set_drvdata(_dev,data)        dev_set_drvdata(&(_dev)->dev, (data))
+
 #endif /* _PLATFORM_DEVICE_H_ */