• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  /****************************************************************************
2   ****************************************************************************
3   ***
4   ***   This header was automatically generated from a Linux kernel header
5   ***   of the same name, to make information necessary for userspace to
6   ***   call into the kernel available to libc.  It contains only constants,
7   ***   structures, and macros generated from the original header, and thus,
8   ***   contains no copyrightable information.
9   ***
10   ****************************************************************************
11   ****************************************************************************/
12  #ifndef _SYSDEV_H_
13  #define _SYSDEV_H_
14  
15  #include <linux/kobject.h>
16  #include <linux/pm.h>
17  
18  struct sys_device;
19  
20  struct sysdev_class {
21   struct list_head drivers;
22  
23   int (*shutdown)(struct sys_device *);
24   int (*suspend)(struct sys_device *, pm_message_t state);
25   int (*resume)(struct sys_device *);
26   struct kset kset;
27  };
28  
29  struct sysdev_class_attribute {
30   struct attribute attr;
31   ssize_t (*show)(struct sysdev_class *, char *);
32   ssize_t (*store)(struct sysdev_class *, const char *, size_t);
33  };
34  
35  #define SYSDEV_CLASS_ATTR(_name,_mode,_show,_store)  struct sysdev_class_attribute attr_##_name = {   .attr = {.name = __stringify(_name), .mode = _mode },   .show = _show,   .store = _store,  };
36  
37  struct sysdev_driver {
38   struct list_head entry;
39   int (*add)(struct sys_device *);
40   int (*remove)(struct sys_device *);
41   int (*shutdown)(struct sys_device *);
42   int (*suspend)(struct sys_device *, pm_message_t state);
43   int (*resume)(struct sys_device *);
44  };
45  
46  struct sys_device {
47   u32 id;
48   struct sysdev_class * cls;
49   struct kobject kobj;
50  };
51  
52  struct sysdev_attribute {
53   struct attribute attr;
54   ssize_t (*show)(struct sys_device *, char *);
55   ssize_t (*store)(struct sys_device *, const char *, size_t);
56  };
57  
58  #define SYSDEV_ATTR(_name,_mode,_show,_store)  struct sysdev_attribute attr_##_name = {   .attr = {.name = __stringify(_name), .mode = _mode },   .show = _show,   .store = _store,  };
59  
60  #endif
61