1704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner/**************************************************************************** 2704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner **************************************************************************** 3704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner *** 4704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner *** This header was automatically generated from a Linux kernel header 5704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner *** of the same name, to make information necessary for userspace to 6704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner *** call into the kernel available to libc. It contains only constants, 7704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner *** structures, and macros generated from the original header, and thus, 8704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner *** contains no copyrightable information. 9704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner *** 10704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner **************************************************************************** 11704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner ****************************************************************************/ 12704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#ifndef _PLATFORM_DEVICE_H_ 13704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define _PLATFORM_DEVICE_H_ 14704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner 15704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#include <linux/device.h> 16704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner 17704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turnerstruct platform_device { 18704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner const char * name; 19704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner u32 id; 20704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner struct device dev; 21704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner u32 num_resources; 22704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner struct resource * resource; 23704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner}; 24704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner 25704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define to_platform_device(x) container_of((x), struct platform_device, dev) 26704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner 27704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turnerstruct platform_driver { 28704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner int (*probe)(struct platform_device *); 29704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner int (*remove)(struct platform_device *); 30704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner void (*shutdown)(struct platform_device *); 31704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner int (*suspend)(struct platform_device *, pm_message_t state); 32704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner int (*resume)(struct platform_device *); 33704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner struct device_driver driver; 34704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner}; 35704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner 36704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define platform_get_drvdata(_dev) dev_get_drvdata(&(_dev)->dev) 37704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#define platform_set_drvdata(_dev,data) dev_set_drvdata(&(_dev)->dev, (data)) 38704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner 39704614245e9bed17f68574bc9686c02c43923292David 'Digit' Turner#endif 40