1667382c7Skettenis /* Public domain. */ 2667382c7Skettenis 3667382c7Skettenis #ifndef _LINUX_PLATFORM_DEVICE_H 4667382c7Skettenis #define _LINUX_PLATFORM_DEVICE_H 5667382c7Skettenis 6667382c7Skettenis #include <linux/device.h> 7667382c7Skettenis 8667382c7Skettenis struct platform_driver; 9667382c7Skettenis 10667382c7Skettenis struct platform_device { 11667382c7Skettenis struct device dev; 12667382c7Skettenis int num_resources; 13667382c7Skettenis struct resource *resource; 14667382c7Skettenis struct device *parent; 15*cefff6e5Skettenis bus_space_tag_t iot; 16667382c7Skettenis bus_dma_tag_t dmat; 17667382c7Skettenis int node; 18667382c7Skettenis 19667382c7Skettenis #ifdef __HAVE_FDT 20667382c7Skettenis struct fdt_attach_args *faa; 21667382c7Skettenis #endif 22667382c7Skettenis 23667382c7Skettenis LIST_ENTRY(platform_device) next; 24667382c7Skettenis }; 25667382c7Skettenis 26667382c7Skettenis #define to_platform_device(p) (struct platform_device *)(p) 27667382c7Skettenis 28667382c7Skettenis extern struct bus_type platform_bus_type; 29667382c7Skettenis 30667382c7Skettenis void __iomem * 31667382c7Skettenis devm_platform_ioremap_resource_byname(struct platform_device *, const char *); 32667382c7Skettenis 33d99c73b1Sjsg static inline void platform_set_drvdata(struct platform_device * pdev,void * data)34667382c7Skettenisplatform_set_drvdata(struct platform_device *pdev, void *data) 35667382c7Skettenis { 36667382c7Skettenis dev_set_drvdata(&pdev->dev, data); 37667382c7Skettenis } 38667382c7Skettenis 39d99c73b1Sjsg static inline void * platform_get_drvdata(struct platform_device * pdev)40667382c7Skettenisplatform_get_drvdata(struct platform_device *pdev) 41667382c7Skettenis { 42667382c7Skettenis return dev_get_drvdata(&pdev->dev); 43667382c7Skettenis } 44667382c7Skettenis 45d99c73b1Sjsg static inline int platform_driver_register(struct platform_driver * platform_drv)46667382c7Skettenisplatform_driver_register(struct platform_driver *platform_drv) 47667382c7Skettenis { 48667382c7Skettenis return 0; 49667382c7Skettenis } 50667382c7Skettenis 51667382c7Skettenis void platform_device_register(struct platform_device *); 52667382c7Skettenis struct resource *platform_get_resource(struct platform_device *, u_int, u_int); 53667382c7Skettenis 54667382c7Skettenis #endif 55