11dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project/****************************************************************************
21dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************
31dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***
41dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   This header was automatically generated from a Linux kernel header
51dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   of the same name, to make information necessary for userspace to
61dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   call into the kernel available to libc.  It contains only constants,
71dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   structures, and macros generated from the original header, and thus,
81dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***   contains no copyrightable information.
91dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ***
10654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   To edit the content of this header, modify the corresponding
11654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   source file (e.g. under external/kernel-headers/original/) then
12654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   run bionic/libc/kernel/tools/update_all.py
13654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***
14654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   Any manual change here will be lost the next time this script will
15654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***   be run. You've been warned!
16654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng ***
171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************
181dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ****************************************************************************/
191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifndef _DEVICE_H_
201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define _DEVICE_H_
211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/ioport.h>
221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/kobject.h>
23654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/klist.h>
251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/list.h>
261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/types.h>
271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/module.h>
28654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <linux/pm.h>
301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <asm/semaphore.h>
311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#include <asm/atomic.h>
321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define DEVICE_NAME_SIZE 50
33654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define DEVICE_NAME_HALF __stringify(20)
351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define DEVICE_ID_SIZE 32
361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define BUS_ID_SIZE KOBJ_NAME_LEN
371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct device;
38654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct device_driver;
401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct class;
411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct class_device;
421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct bus_type {
43654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project const char * name;
451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct subsystem subsys;
461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct kset drivers;
471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct kset devices;
48654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct klist klist_devices;
501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct klist klist_drivers;
511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct bus_attribute * bus_attrs;
521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct device_attribute * dev_attrs;
53654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct driver_attribute * drv_attrs;
551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*match)(struct device * dev, struct device_driver * drv);
561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*uevent)(struct device *dev, char **envp,
571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int num_envp, char *buffer, int buffer_size);
58654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*probe)(struct device * dev);
601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*remove)(struct device * dev);
611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*shutdown)(struct device * dev);
621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*suspend)(struct device * dev, pm_message_t state);
63654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*resume)(struct device * dev);
651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct device * bus_find_device(struct bus_type *bus, struct device *start,
671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void *data, int (*match)(struct device *, void *));
68654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct bus_attribute {
701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct attribute attr;
711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*show)(struct bus_type *, char * buf);
721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*store)(struct bus_type *, const char * buf, size_t count);
73654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define BUS_ATTR(_name,_mode,_show,_store)  struct bus_attribute bus_attr_##_name = __ATTR(_name,_mode,_show,_store)
761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct device_driver {
771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project const char * name;
78654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct bus_type * bus;
801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct completion unloaded;
811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct kobject kobj;
821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct klist klist_devices;
83654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct klist_node knode_bus;
851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct module * owner;
861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*probe) (struct device * dev);
871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*remove) (struct device * dev);
88654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*shutdown) (struct device * dev);
901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*suspend) (struct device * dev, pm_message_t state);
911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*resume) (struct device * dev);
921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
93654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct driver_attribute {
951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct attribute attr;
961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*show)(struct device_driver *, char * buf);
971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*store)(struct device_driver *, const char * buf, size_t count);
98654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
1001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define DRIVER_ATTR(_name,_mode,_show,_store)  struct driver_attribute driver_attr_##_name = __ATTR(_name,_mode,_show,_store)
1011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct device * driver_find_device(struct device_driver *drv,
1021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct device *start, void *data,
103654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*match)(struct device *, void *));
1051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct class {
1061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project const char * name;
1071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct module * owner;
108654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct subsystem subsys;
1101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct list_head children;
1111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct list_head devices;
1121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct list_head interfaces;
113654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct semaphore sem;
1151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct class_attribute * class_attrs;
1161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct class_device_attribute * class_dev_attrs;
1171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*uevent)(struct class_device *dev, char **envp,
118654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int num_envp, char *buffer, int buffer_size);
1201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*release)(struct class_device *dev);
1211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*class_release)(struct class *class);
1221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
123654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct class_attribute {
1251dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct attribute attr;
1261dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*show)(struct class *, char * buf);
1271dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*store)(struct class *, const char * buf, size_t count);
128654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1291dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
1301dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define CLASS_ATTR(_name,_mode,_show,_store)  struct class_attribute class_attr_##_name = __ATTR(_name,_mode,_show,_store)
1311dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct class_device_attribute {
1321dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct attribute attr;
133654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1341dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*show)(struct class_device *, char * buf);
1351dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*store)(struct class_device *, const char * buf, size_t count);
1361dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
1371dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define CLASS_DEVICE_ATTR(_name,_mode,_show,_store)  struct class_device_attribute class_device_attr_##_name =   __ATTR(_name,_mode,_show,_store)
138654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1391dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct class_device {
1401dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct list_head node;
1411dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct kobject kobj;
1421dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct class * class;
143654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1441dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project dev_t devt;
1451dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct class_device_attribute *devt_attr;
1461dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct class_device_attribute uevent_attr;
1471dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct device * dev;
148654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1491dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void * class_data;
1501dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct class_device *parent;
1511dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct attribute_group ** groups;
1521dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*release)(struct class_device *dev);
153654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1541dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*uevent)(struct class_device *dev, char **envp,
1551dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int num_envp, char *buffer, int buffer_size);
1561dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project char class_id[BUS_ID_SIZE];
1571dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
158654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1591dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct class_interface {
1601dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct list_head node;
1611dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct class *class;
1621dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project int (*add) (struct class_device *, struct class_interface *);
163654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1641dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*remove) (struct class_device *, struct class_interface *);
1651dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
1661dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct device_attribute {
1671dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct attribute attr;
168654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1691dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*show)(struct device *dev, struct device_attribute *attr,
1701dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project char *buf);
1711dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project ssize_t (*store)(struct device *dev, struct device_attribute *attr,
1721dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project const char *buf, size_t count);
173654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1741dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
1751dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define DEVICE_ATTR(_name,_mode,_show,_store)  struct device_attribute dev_attr_##_name = __ATTR(_name,_mode,_show,_store)
1761dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Projectstruct device {
1771dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct klist klist_children;
178654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1791dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct klist_node knode_parent;
1801dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct klist_node knode_driver;
1811dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct klist_node knode_bus;
1821dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct device * parent;
183654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1841dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct kobject kobj;
1851dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project char bus_id[BUS_ID_SIZE];
1861dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct device_attribute uevent_attr;
1871dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct device_attribute *devt_attr;
188654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1891dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct semaphore sem;
1901dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct bus_type * bus;
1911dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct device_driver *driver;
1921dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void *driver_data;
193654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1941dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void *platform_data;
1951dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void *firmware_data;
1961dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct dev_pm_info power;
1971dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u64 *dma_mask;
198654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
1991dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project u64 coherent_dma_mask;
2001dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct list_head dma_pools;
2011dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct dma_coherent_mem *dma_mem;
2021dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct list_head node;
203654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2041dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project struct class *class;
2051dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project dev_t devt;
2061dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project void (*release)(struct device * dev);
2071dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project};
208654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2091dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define dev_printk(level, dev, format, arg...)   printk(level "%s %s: " format , dev_driver_string(dev) , (dev)->bus_id , ## arg)
2101dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#ifdef DEBUG
2111dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define dev_dbg(dev, format, arg...)   dev_printk(KERN_DEBUG , dev , format , ## arg)
2121dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#else
213654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2141dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define dev_dbg(dev, format, arg...) do { (void)(dev); } while (0)
2151dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
2161dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define dev_err(dev, format, arg...)   dev_printk(KERN_ERR , dev , format , ## arg)
2171dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define dev_info(dev, format, arg...)   dev_printk(KERN_INFO , dev , format , ## arg)
218654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2191dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define dev_warn(dev, format, arg...)   dev_printk(KERN_WARNING , dev , format , ## arg)
2201dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define dev_notice(dev, format, arg...)   dev_printk(KERN_NOTICE , dev , format , ## arg)
2211dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_ALIAS_CHARDEV(major,minor)   MODULE_ALIAS("char-major-" __stringify(major) "-" __stringify(minor))
2221dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#define MODULE_ALIAS_CHARDEV_MAJOR(major)   MODULE_ALIAS("char-major-" __stringify(major) "-*")
223654325de026a2ca5b76b8b40e576c959d8211fdcBen Cheng/* WARNING: DO NOT EDIT, AUTO-GENERATED CODE - SEE TOP FOR INSTRUCTIONS */
2241dc9e472e19acfe6dc7f41e429236e7eef7ceda1The Android Open Source Project#endif
225