dmi: add support for exact DMI matches in addition to substring matching
authorJani Nikula <jani.nikula@intel.com>
Wed, 3 Jul 2013 22:05:02 +0000 (15:05 -0700)
committerBen Hutchings <ben@decadent.org.uk>
Sun, 18 May 2014 13:58:06 +0000 (14:58 +0100)
commitf632e3515cdb3463fb1ad6f4b6f0f8525fb41a25
tree11105b0ba0a04be392367ca19f5c658fad6a2889
parentb8309464fb222570eadd3e9d4668dd1f01ad8189
dmi: add support for exact DMI matches in addition to substring matching

commit 5017b2851373ee15c7035151853bb1448800cae2 upstream.

dmi_match() considers a substring match to be a successful match.  This is
not always sufficient to distinguish between DMI data for different
systems.  Add support for exact string matching using strcmp() in addition
to the substring matching using strstr().

The specific use case in the i915 driver is to allow us to use an exact
match for D510MO, without also incorrectly matching D510MOV:

  {
.ident = "Intel D510MO",
.matches = {
DMI_MATCH(DMI_BOARD_VENDOR, "Intel"),
DMI_EXACT_MATCH(DMI_BOARD_NAME, "D510MO"),
},
  }

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Cc: <annndddrr@gmail.com>
Cc: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Cornel Panceac <cpanceac@gmail.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Greg KH <greg@kroah.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/firmware/dmi_scan.c
include/linux/mod_devicetable.h