1951a39d68df598db08dfced8b4707755864a0492Ying Wang/**************************************************************************** 2951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 3951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 4951a39d68df598db08dfced8b4707755864a0492Ying Wang *** This header was automatically generated from a Linux kernel header 5951a39d68df598db08dfced8b4707755864a0492Ying Wang *** of the same name, to make information necessary for userspace to 6951a39d68df598db08dfced8b4707755864a0492Ying Wang *** call into the kernel available to libc. It contains only constants, 7951a39d68df598db08dfced8b4707755864a0492Ying Wang *** structures, and macros generated from the original header, and thus, 8951a39d68df598db08dfced8b4707755864a0492Ying Wang *** contains no copyrightable information. 9951a39d68df598db08dfced8b4707755864a0492Ying Wang *** 10951a39d68df598db08dfced8b4707755864a0492Ying Wang **************************************************************************** 11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/ 12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _PLATFORM_DEVICE_H_ 13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _PLATFORM_DEVICE_H_ 14951a39d68df598db08dfced8b4707755864a0492Ying Wang 15951a39d68df598db08dfced8b4707755864a0492Ying Wang#include <linux/device.h> 16951a39d68df598db08dfced8b4707755864a0492Ying Wang 17951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct platform_device { 18951a39d68df598db08dfced8b4707755864a0492Ying Wang const char * name; 19951a39d68df598db08dfced8b4707755864a0492Ying Wang u32 id; 20951a39d68df598db08dfced8b4707755864a0492Ying Wang struct device dev; 21951a39d68df598db08dfced8b4707755864a0492Ying Wang u32 num_resources; 22951a39d68df598db08dfced8b4707755864a0492Ying Wang struct resource * resource; 23951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 24951a39d68df598db08dfced8b4707755864a0492Ying Wang 25951a39d68df598db08dfced8b4707755864a0492Ying Wang#define to_platform_device(x) container_of((x), struct platform_device, dev) 26951a39d68df598db08dfced8b4707755864a0492Ying Wang 27951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct platform_driver { 28951a39d68df598db08dfced8b4707755864a0492Ying Wang int (*probe)(struct platform_device *); 29951a39d68df598db08dfced8b4707755864a0492Ying Wang int (*remove)(struct platform_device *); 30951a39d68df598db08dfced8b4707755864a0492Ying Wang void (*shutdown)(struct platform_device *); 31951a39d68df598db08dfced8b4707755864a0492Ying Wang int (*suspend)(struct platform_device *, pm_message_t state); 32951a39d68df598db08dfced8b4707755864a0492Ying Wang int (*resume)(struct platform_device *); 33951a39d68df598db08dfced8b4707755864a0492Ying Wang struct device_driver driver; 34951a39d68df598db08dfced8b4707755864a0492Ying Wang}; 35951a39d68df598db08dfced8b4707755864a0492Ying Wang 36951a39d68df598db08dfced8b4707755864a0492Ying Wang#define platform_get_drvdata(_dev) dev_get_drvdata(&(_dev)->dev) 37951a39d68df598db08dfced8b4707755864a0492Ying Wang#define platform_set_drvdata(_dev,data) dev_set_drvdata(&(_dev)->dev, (data)) 38951a39d68df598db08dfced8b4707755864a0492Ying Wang 39951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif 40