X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=include%2Flinux%2Fdmi.h;h=2e6bbe0141578d832312043fe20abfdc8bf74c1a;hb=94bc2be31a01a3055ec94176e595dfe208e92d3b;hp=5e93e6dce9a4751b7107d24e4e241a1eb1989651;hpb=2fca877b68b2b4fc5b94277858a1bedd46017cde;p=powerpc.git diff --git a/include/linux/dmi.h b/include/linux/dmi.h index 5e93e6dce9..2e6bbe0141 100644 --- a/include/linux/dmi.h +++ b/include/linux/dmi.h @@ -1,6 +1,9 @@ #ifndef __DMI_H__ #define __DMI_H__ +#include +#include + enum dmi_field { DMI_NONE, DMI_BIOS_VENDOR, @@ -16,6 +19,24 @@ enum dmi_field { DMI_STRING_MAX, }; +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, + DMI_DEV_TYPE_IPMI = -1 +}; + +struct dmi_header { + u8 type; + u8 length; + u16 handle; +}; + /* * DMI callbacks for problem boards */ @@ -26,22 +47,34 @@ struct dmi_strmatch { struct dmi_system_id { int (*callback)(struct dmi_system_id *); - char *ident; + const char *ident; struct dmi_strmatch matches[4]; void *driver_data; }; -#define DMI_MATCH(a,b) { a, b } +#define DMI_MATCH(a, b) { a, b } + +struct dmi_device { + struct list_head list; + int type; + const char *name; + void *device_data; /* Type specific data */ +}; -#if defined(CONFIG_X86) && !defined(CONFIG_X86_64) +#ifdef CONFIG_DMI extern int dmi_check_system(struct dmi_system_id *list); extern char * dmi_get_system_info(int field); +extern struct dmi_device * dmi_find_device(int type, const char *name, + struct dmi_device *from); +extern void dmi_scan_machine(void); #else static inline int dmi_check_system(struct dmi_system_id *list) { return 0; } static inline char * dmi_get_system_info(int field) { return NULL; } +static inline struct dmi_device * dmi_find_device(int type, const char *name, + struct dmi_device *from) { return NULL; } #endif