Skip to content

Commit

Permalink
hwmon: (abituguru) Depend on DMI
Browse files Browse the repository at this point in the history
The abituguru drivers are only built on X86, where DMI support is now
enabled by default. So let these drivers depend on DMI, for the
following gains:
* Robustness and safety. Detection of these devices is weak and uses
  non-standard methods, it should really be limited to Abit boards
  unless the user explicitly asks otherwise.
* Code simplicity. The code is easier to read without ifdefs.
* Better build testing coverage. Now there's only one way to build the
  drivers, so no risk of build failure on exotic systems.

Signed-off-by: Jean Delvare <khali@linux-fr.org>
Acked-by: Guenter Roeck <guenter.roeck@ericsson.com>
Acked-by: Alistair John Strachan <alistair@devzero.co.uk>
Acked-by: Hans de Goede <hdegoede@redhat.com>
  • Loading branch information
Jean Delvare authored and Jean Delvare committed May 25, 2011
1 parent 5b0380c commit ec693fe
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 18 deletions.
4 changes: 2 additions & 2 deletions drivers/hwmon/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ comment "Native drivers"

config SENSORS_ABITUGURU
tristate "Abit uGuru (rev 1 & 2)"
depends on X86 && EXPERIMENTAL
depends on X86 && DMI && EXPERIMENTAL
help
If you say yes here you get support for the sensor part of the first
and second revision of the Abit uGuru chip. The voltage and frequency
Expand All @@ -56,7 +56,7 @@ config SENSORS_ABITUGURU

config SENSORS_ABITUGURU3
tristate "Abit uGuru (rev 3)"
depends on X86 && EXPERIMENTAL
depends on X86 && DMI && EXPERIMENTAL
help
If you say yes here you get support for the sensor part of the
third revision of the Abit uGuru chip. Only reading the sensors
Expand Down
3 changes: 0 additions & 3 deletions drivers/hwmon/abituguru.c
Original file line number Diff line number Diff line change
Expand Up @@ -1448,15 +1448,12 @@ static int __init abituguru_init(void)
{
int address, err;
struct resource res = { .flags = IORESOURCE_IO };

#ifdef CONFIG_DMI
const char *board_vendor = dmi_get_system_info(DMI_BOARD_VENDOR);

/* safety check, refuse to load on non Abit motherboards */
if (!force && (!board_vendor ||
strcmp(board_vendor, "http://www.abit.com.tw/")))
return -ENODEV;
#endif

address = abituguru_detect();
if (address < 0)
Expand Down
13 changes: 0 additions & 13 deletions drivers/hwmon/abituguru3.c
Original file line number Diff line number Diff line change
Expand Up @@ -1119,8 +1119,6 @@ static struct platform_driver abituguru3_driver = {
.resume = abituguru3_resume
};

#ifdef CONFIG_DMI

static int __init abituguru3_dmi_detect(void)
{
const char *board_vendor, *board_name;
Expand Down Expand Up @@ -1159,15 +1157,6 @@ static int __init abituguru3_dmi_detect(void)
return 1;
}

#else /* !CONFIG_DMI */

static inline int abituguru3_dmi_detect(void)
{
return 1;
}

#endif /* CONFIG_DMI */

/* FIXME: Manual detection should die eventually; we need to collect stable
* DMI model names first before we can rely entirely on CONFIG_DMI.
*/
Expand Down Expand Up @@ -1216,10 +1205,8 @@ static int __init abituguru3_init(void)
if (err)
return err;

#ifdef CONFIG_DMI
pr_warn("this motherboard was not detected using DMI. "
"Please send the output of \"dmidecode\" to the abituguru3 maintainer (see MAINTAINERS)\n");
#endif
}

err = platform_driver_register(&abituguru3_driver);
Expand Down

0 comments on commit ec693fe

Please sign in to comment.