xref: /openbsd-src/sys/dev/pci/drm/include/linux/platform_device.h (revision cefff6e5c31bcb46855982e32978b5be6be9bcb2)
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)34667382c7Skettenis platform_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)40667382c7Skettenis platform_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)46667382c7Skettenis platform_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