DMI: add dmi_match
Add a wrapper for testing system_info which will handle also NULL system infos. This will be used by the ata PIIX driver. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Cc: Alexandru Romanescu <a_romanescu@yahoo.co.uk> Cc: Tejun Heo <tj@kernel.org> Cc: Alan Cox <alan@lxorguk.ukuu.org.uk> Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
This commit is contained in:
parent
5ccfca974f
commit
d61c72e52b
2 changed files with 19 additions and 0 deletions
|
@ -582,3 +582,19 @@ int dmi_walk(void (*decode)(const struct dmi_header *))
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(dmi_walk);
|
EXPORT_SYMBOL_GPL(dmi_walk);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* dmi_match - compare a string to the dmi field (if exists)
|
||||||
|
*
|
||||||
|
* Returns true if the requested field equals to the str (including NULL).
|
||||||
|
*/
|
||||||
|
bool dmi_match(enum dmi_field f, const char *str)
|
||||||
|
{
|
||||||
|
const char *info = dmi_get_system_info(f);
|
||||||
|
|
||||||
|
if (info == NULL || str == NULL)
|
||||||
|
return info == str;
|
||||||
|
|
||||||
|
return !strcmp(info, str);
|
||||||
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(dmi_match);
|
||||||
|
|
|
@ -47,6 +47,7 @@ extern int dmi_name_in_vendors(const char *str);
|
||||||
extern int dmi_name_in_serial(const char *str);
|
extern int dmi_name_in_serial(const char *str);
|
||||||
extern int dmi_available;
|
extern int dmi_available;
|
||||||
extern int dmi_walk(void (*decode)(const struct dmi_header *));
|
extern int dmi_walk(void (*decode)(const struct dmi_header *));
|
||||||
|
extern bool dmi_match(enum dmi_field f, const char *str);
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
|
@ -61,6 +62,8 @@ static inline int dmi_name_in_serial(const char *s) { return 0; }
|
||||||
#define dmi_available 0
|
#define dmi_available 0
|
||||||
static inline int dmi_walk(void (*decode)(const struct dmi_header *))
|
static inline int dmi_walk(void (*decode)(const struct dmi_header *))
|
||||||
{ return -1; }
|
{ return -1; }
|
||||||
|
static inline bool dmi_match(enum dmi_field f, const char *str)
|
||||||
|
{ return false; }
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue