Blame view

include/linux/dmi.h 2.45 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
24
25
26
27
28
29
  };
  
  struct dmi_header {
  	u8 type;
  	u8 length;
  	u16 handle;
  };
ebad6a423   Andrey Panin   [PATCH] dmi: add ...
30
31
32
33
34
35
  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
36

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

911e1c9b0   Narendra K   PCI: export SMBIO...
39
40
41
42
43
44
45
  struct dmi_dev_onboard {
  	struct dmi_device dev;
  	int instance;
  	int segment;
  	int bus;
  	int devfn;
  };
1855256c4   Jeff Garzik   drivers/firmware:...
46
  extern int dmi_check_system(const struct dmi_system_id *list);
d7b1956fe   Rafael J. Wysocki   DMI: Introduce dm...
47
  const struct dmi_system_id *dmi_first_match(const struct dmi_system_id *list);
1855256c4   Jeff Garzik   drivers/firmware:...
48
49
50
  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...
51
  extern void dmi_scan_machine(void);
3e5cd1f25   Tejun Heo   dmi: extend dmi_g...
52
  extern bool dmi_get_date(int field, int *yearp, int *monthp, int *dayp);
1855256c4   Jeff Garzik   drivers/firmware:...
53
  extern int dmi_name_in_vendors(const char *str);
fd8cd7e19   Alok Kataria   x86: vmware: look...
54
  extern int dmi_name_in_serial(const char *str);
81b4e1f62   Len Brown   DMI: move dmi_ava...
55
  extern int dmi_available;
e7a19c562   Jean Delvare   dmi: Let dmi_walk...
56
57
  extern int dmi_walk(void (*decode)(const struct dmi_header *, void *),
  	void *private_data);
d61c72e52   Jiri Slaby   DMI: add dmi_match
58
  extern bool dmi_match(enum dmi_field f, const char *str);
e99286744   Andi Kleen   [PATCH] x86_64: G...
59

1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
60
  #else
1855256c4   Jeff Garzik   drivers/firmware:...
61
62
63
64
  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...
65
  static inline void dmi_scan_machine(void) { return; }
3e5cd1f25   Tejun Heo   dmi: extend dmi_g...
66
67
68
69
70
71
72
73
74
75
  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:...
76
  static inline int dmi_name_in_vendors(const char *s) { return 0; }
fd8cd7e19   Alok Kataria   x86: vmware: look...
77
  static inline int dmi_name_in_serial(const char *s) { return 0; }
81b4e1f62   Len Brown   DMI: move dmi_ava...
78
  #define dmi_available 0
e7a19c562   Jean Delvare   dmi: Let dmi_walk...
79
80
  static inline int dmi_walk(void (*decode)(const struct dmi_header *, void *),
  	void *private_data) { return -1; }
d61c72e52   Jiri Slaby   DMI: add dmi_match
81
82
  static inline bool dmi_match(enum dmi_field f, const char *str)
  	{ return false; }
d8204ee2a   Kumar Gala   dmi: Fix build br...
83
84
  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
85
86
87
88
  
  #endif
  
  #endif	/* __DMI_H__ */