]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - include/linux/platform_device.h
[PATCH] leds: Amstrad Delta LED support
[linux-2.6-omap-h63xx.git] / include / linux / platform_device.h
index a726225e0afec2147375ff93b4a36976770c128e..782090c689322bec205fc7fb969f3ed23a2fd89c 100644 (file)
@@ -37,4 +37,26 @@ extern int platform_add_devices(struct platform_device **, int);
 
 extern struct platform_device *platform_device_register_simple(char *, unsigned int, struct resource *, unsigned int);
 
+extern struct platform_device *platform_device_alloc(const char *name, unsigned int id);
+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 (*resume)(struct platform_device *);
+       struct device_driver driver;
+};
+
+extern int platform_driver_register(struct platform_driver *);
+extern void platform_driver_unregister(struct platform_driver *);
+
+#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_ */