Blame view

include/linux/dmi.h 3.59 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
  #ifndef __DMI_H__
  #define __DMI_H__
ebad6a423   Andrey Panin   [PATCH] dmi: add ...
3
  #include <linux/list.h>
d945b697d   David Woodhouse   Automatic MODULE_...
4
  #include <linux/mod_devicetable.h>
ebad6a423   Andrey Panin   [PATCH] dmi: add ...
5

d945b697d   David Woodhouse   Automatic MODULE_...
6
  /* enum dmi_field is in mod_devicetable.h */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
7

ebad6a423   Andrey Panin   [PATCH] dmi: add ...
8
9
10
11
12
13
14
15
16
  enum dmi_device_type {
  	DMI_DEV_TYPE_ANY = 0,
  	DMI_DEV_TYPE_OTHER,
  	DMI_DEV_TYPE_UNKNOWN,
  	DMI_DEV_TYPE_VIDEO,
  	DMI_DEV_TYPE_SCSI,
  	DMI_DEV_TYPE_ETHERNET,
  	DMI_DEV_TYPE_TOKENRING,
  	DMI_DEV_TYPE_SOUND,
b4bd7d594   Wim Van Sebroeck   SMBIOS/DMI: add t...
17
18
19
  	DMI_DEV_TYPE_PATA,
  	DMI_DEV_TYPE_SATA,
  	DMI_DEV_TYPE_SAS,
2e0c1f6ce   Shem Multinymous   [PATCH] DMI: Deco...
20
  	DMI_DEV_TYPE_IPMI = -1,
b4bd7d594   Wim Van Sebroeck   SMBIOS/DMI: add t...
21
  	DMI_DEV_TYPE_OEM_STRING = -2,
911e1c9b0   Narendra K   PCI: export SMBIO...
22
  	DMI_DEV_TYPE_DEV_ONBOARD = -3,
ebad6a423   Andrey Panin   [PATCH] dmi: add ...
23
  };
93c890dbe   Mike Waychison   firmware: Add DMI...
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  enum dmi_entry_type {
  	DMI_ENTRY_BIOS = 0,
  	DMI_ENTRY_SYSTEM,
  	DMI_ENTRY_BASEBOARD,
  	DMI_ENTRY_CHASSIS,
  	DMI_ENTRY_PROCESSOR,
  	DMI_ENTRY_MEM_CONTROLLER,
  	DMI_ENTRY_MEM_MODULE,
  	DMI_ENTRY_CACHE,
  	DMI_ENTRY_PORT_CONNECTOR,
  	DMI_ENTRY_SYSTEM_SLOT,
  	DMI_ENTRY_ONBOARD_DEVICE,
  	DMI_ENTRY_OEMSTRINGS,
  	DMI_ENTRY_SYSCONF,
  	DMI_ENTRY_BIOS_LANG,
  	DMI_ENTRY_GROUP_ASSOC,
  	DMI_ENTRY_SYSTEM_EVENT_LOG,
  	DMI_ENTRY_PHYS_MEM_ARRAY,
  	DMI_ENTRY_MEM_DEVICE,
  	DMI_ENTRY_32_MEM_ERROR,
  	DMI_ENTRY_MEM_ARRAY_MAPPED_ADDR,
  	DMI_ENTRY_MEM_DEV_MAPPED_ADDR,
  	DMI_ENTRY_BUILTIN_POINTING_DEV,
  	DMI_ENTRY_PORTABLE_BATTERY,
  	DMI_ENTRY_SYSTEM_RESET,
  	DMI_ENTRY_HW_SECURITY,
  	DMI_ENTRY_SYSTEM_POWER_CONTROLS,
  	DMI_ENTRY_VOLTAGE_PROBE,
  	DMI_ENTRY_COOLING_DEV,
  	DMI_ENTRY_TEMP_PROBE,
  	DMI_ENTRY_ELECTRICAL_CURRENT_PROBE,
  	DMI_ENTRY_OOB_REMOTE_ACCESS,
  	DMI_ENTRY_BIS_ENTRY,
  	DMI_ENTRY_SYSTEM_BOOT,
  	DMI_ENTRY_MGMT_DEV,
  	DMI_ENTRY_MGMT_DEV_COMPONENT,
  	DMI_ENTRY_MGMT_DEV_THRES,
  	DMI_ENTRY_MEM_CHANNEL,
  	DMI_ENTRY_IPMI_DEV,
  	DMI_ENTRY_SYS_POWER_SUPPLY,
  	DMI_ENTRY_ADDITIONAL,
  	DMI_ENTRY_ONBOARD_DEV_EXT,
  	DMI_ENTRY_MGMT_CONTROLLER_HOST,
  	DMI_ENTRY_INACTIVE = 126,
  	DMI_ENTRY_END_OF_TABLE = 127,
  };
ebad6a423   Andrey Panin   [PATCH] dmi: add ...
70
71
72
73
74
  struct dmi_header {
  	u8 type;
  	u8 length;
  	u16 handle;
  };
ebad6a423   Andrey Panin   [PATCH] dmi: add ...
75
76
77
78
79
80
  struct dmi_device {
  	struct list_head list;
  	int type;
  	const char *name;
  	void *device_data;	/* Type specific data */
  };
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
81

e99286744   Andi Kleen   [PATCH] x86_64: G...
82
  #ifdef CONFIG_DMI
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
83

911e1c9b0   Narendra K   PCI: export SMBIO...
84
85
86
87
88
89
90
  struct dmi_dev_onboard {
  	struct dmi_device dev;
  	int instance;
  	int segment;
  	int bus;
  	int devfn;
  };
1855256c4   Jeff Garzik   drivers/firmware:...
91
  extern int dmi_check_system(const struct dmi_system_id *list);
d7b1956fe   Rafael J. Wysocki   DMI: Introduce dm...
92
  const struct dmi_system_id *dmi_first_match(const struct dmi_system_id *list);
1855256c4   Jeff Garzik   drivers/firmware:...
93
94
95
  extern const char * dmi_get_system_info(int field);
  extern const struct dmi_device * dmi_find_device(int type, const char *name,
  	const struct dmi_device *from);
e99286744   Andi Kleen   [PATCH] x86_64: G...
96
  extern void dmi_scan_machine(void);
3e5cd1f25   Tejun Heo   dmi: extend dmi_g...
97
  extern bool dmi_get_date(int field, int *yearp, int *monthp, int *dayp);
1855256c4   Jeff Garzik   drivers/firmware:...
98
  extern int dmi_name_in_vendors(const char *str);
fd8cd7e19   Alok Kataria   x86: vmware: look...
99
  extern int dmi_name_in_serial(const char *str);
81b4e1f62   Len Brown   DMI: move dmi_ava...
100
  extern int dmi_available;
e7a19c562   Jean Delvare   dmi: Let dmi_walk...
101
102
  extern int dmi_walk(void (*decode)(const struct dmi_header *, void *),
  	void *private_data);
d61c72e52   Jiri Slaby   DMI: add dmi_match
103
  extern bool dmi_match(enum dmi_field f, const char *str);
e99286744   Andi Kleen   [PATCH] x86_64: G...
104

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
105
  #else
1855256c4   Jeff Garzik   drivers/firmware:...
106
107
108
109
  static inline int dmi_check_system(const struct dmi_system_id *list) { return 0; }
  static inline const char * dmi_get_system_info(int field) { return NULL; }
  static inline const struct dmi_device * dmi_find_device(int type, const char *name,
  	const struct dmi_device *from) { return NULL; }
7ae9392c0   Thomas Petazzoni   x86: configurable...
110
  static inline void dmi_scan_machine(void) { return; }
3e5cd1f25   Tejun Heo   dmi: extend dmi_g...
111
112
113
114
115
116
117
118
119
120
  static inline bool dmi_get_date(int field, int *yearp, int *monthp, int *dayp)
  {
  	if (yearp)
  		*yearp = 0;
  	if (monthp)
  		*monthp = 0;
  	if (dayp)
  		*dayp = 0;
  	return false;
  }
1855256c4   Jeff Garzik   drivers/firmware:...
121
  static inline int dmi_name_in_vendors(const char *s) { return 0; }
fd8cd7e19   Alok Kataria   x86: vmware: look...
122
  static inline int dmi_name_in_serial(const char *s) { return 0; }
81b4e1f62   Len Brown   DMI: move dmi_ava...
123
  #define dmi_available 0
e7a19c562   Jean Delvare   dmi: Let dmi_walk...
124
125
  static inline int dmi_walk(void (*decode)(const struct dmi_header *, void *),
  	void *private_data) { return -1; }
d61c72e52   Jiri Slaby   DMI: add dmi_match
126
127
  static inline bool dmi_match(enum dmi_field f, const char *str)
  	{ return false; }
d8204ee2a   Kumar Gala   dmi: Fix build br...
128
129
  static inline const struct dmi_system_id *
  	dmi_first_match(const struct dmi_system_id *list) { return NULL; }
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
130
131
132
133
  
  #endif
  
  #endif	/* __DMI_H__ */