diff options
| author | Jean Delvare <khali@linux-fr.org> | 2011-05-25 14:43:33 -0400 |
|---|---|---|
| committer | Jean Delvare <khali@endymion.delvare> | 2011-05-25 14:43:33 -0400 |
| commit | ec693fe5287e1791f4d206e81ebdfdc7d1f8f6b9 (patch) | |
| tree | 6f261c6f8a23fdd604f6a7b2f31cac906b0533ea | |
| parent | 5b0380c94a2e888b7858fbec6fc3ac623bc9b05a (diff) | |
hwmon: (abituguru) Depend on DMI
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>
| -rw-r--r-- | drivers/hwmon/Kconfig | 4 | ||||
| -rw-r--r-- | drivers/hwmon/abituguru.c | 3 | ||||
| -rw-r--r-- | drivers/hwmon/abituguru3.c | 13 |
3 files changed, 2 insertions, 18 deletions
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig index 12bfc073fc54..900409615ae9 100644 --- a/drivers/hwmon/Kconfig +++ b/drivers/hwmon/Kconfig | |||
| @@ -41,7 +41,7 @@ comment "Native drivers" | |||
| 41 | 41 | ||
| 42 | config SENSORS_ABITUGURU | 42 | config SENSORS_ABITUGURU |
| 43 | tristate "Abit uGuru (rev 1 & 2)" | 43 | tristate "Abit uGuru (rev 1 & 2)" |
| 44 | depends on X86 && EXPERIMENTAL | 44 | depends on X86 && DMI && EXPERIMENTAL |
| 45 | help | 45 | help |
| 46 | If you say yes here you get support for the sensor part of the first | 46 | If you say yes here you get support for the sensor part of the first |
| 47 | and second revision of the Abit uGuru chip. The voltage and frequency | 47 | and second revision of the Abit uGuru chip. The voltage and frequency |
| @@ -56,7 +56,7 @@ config SENSORS_ABITUGURU | |||
| 56 | 56 | ||
| 57 | config SENSORS_ABITUGURU3 | 57 | config SENSORS_ABITUGURU3 |
| 58 | tristate "Abit uGuru (rev 3)" | 58 | tristate "Abit uGuru (rev 3)" |
| 59 | depends on X86 && EXPERIMENTAL | 59 | depends on X86 && DMI && EXPERIMENTAL |
| 60 | help | 60 | help |
| 61 | If you say yes here you get support for the sensor part of the | 61 | If you say yes here you get support for the sensor part of the |
| 62 | third revision of the Abit uGuru chip. Only reading the sensors | 62 | third revision of the Abit uGuru chip. Only reading the sensors |
diff --git a/drivers/hwmon/abituguru.c b/drivers/hwmon/abituguru.c index e7d4c4687f02..65a35cf5b3c5 100644 --- a/drivers/hwmon/abituguru.c +++ b/drivers/hwmon/abituguru.c | |||
| @@ -1448,15 +1448,12 @@ static int __init abituguru_init(void) | |||
| 1448 | { | 1448 | { |
| 1449 | int address, err; | 1449 | int address, err; |
| 1450 | struct resource res = { .flags = IORESOURCE_IO }; | 1450 | struct resource res = { .flags = IORESOURCE_IO }; |
| 1451 | |||
| 1452 | #ifdef CONFIG_DMI | ||
| 1453 | const char *board_vendor = dmi_get_system_info(DMI_BOARD_VENDOR); | 1451 | const char *board_vendor = dmi_get_system_info(DMI_BOARD_VENDOR); |
| 1454 | 1452 | ||
| 1455 | /* safety check, refuse to load on non Abit motherboards */ | 1453 | /* safety check, refuse to load on non Abit motherboards */ |
| 1456 | if (!force && (!board_vendor || | 1454 | if (!force && (!board_vendor || |
| 1457 | strcmp(board_vendor, "http://www.abit.com.tw/"))) | 1455 | strcmp(board_vendor, "http://www.abit.com.tw/"))) |
| 1458 | return -ENODEV; | 1456 | return -ENODEV; |
| 1459 | #endif | ||
| 1460 | 1457 | ||
| 1461 | address = abituguru_detect(); | 1458 | address = abituguru_detect(); |
| 1462 | if (address < 0) | 1459 | if (address < 0) |
diff --git a/drivers/hwmon/abituguru3.c b/drivers/hwmon/abituguru3.c index e89d572e3320..d30855a75786 100644 --- a/drivers/hwmon/abituguru3.c +++ b/drivers/hwmon/abituguru3.c | |||
| @@ -1119,8 +1119,6 @@ static struct platform_driver abituguru3_driver = { | |||
| 1119 | .resume = abituguru3_resume | 1119 | .resume = abituguru3_resume |
| 1120 | }; | 1120 | }; |
| 1121 | 1121 | ||
| 1122 | #ifdef CONFIG_DMI | ||
| 1123 | |||
| 1124 | static int __init abituguru3_dmi_detect(void) | 1122 | static int __init abituguru3_dmi_detect(void) |
| 1125 | { | 1123 | { |
| 1126 | const char *board_vendor, *board_name; | 1124 | const char *board_vendor, *board_name; |
| @@ -1159,15 +1157,6 @@ static int __init abituguru3_dmi_detect(void) | |||
| 1159 | return 1; | 1157 | return 1; |
| 1160 | } | 1158 | } |
| 1161 | 1159 | ||
| 1162 | #else /* !CONFIG_DMI */ | ||
| 1163 | |||
| 1164 | static inline int abituguru3_dmi_detect(void) | ||
| 1165 | { | ||
| 1166 | return 1; | ||
| 1167 | } | ||
| 1168 | |||
| 1169 | #endif /* CONFIG_DMI */ | ||
| 1170 | |||
| 1171 | /* FIXME: Manual detection should die eventually; we need to collect stable | 1160 | /* FIXME: Manual detection should die eventually; we need to collect stable |
| 1172 | * DMI model names first before we can rely entirely on CONFIG_DMI. | 1161 | * DMI model names first before we can rely entirely on CONFIG_DMI. |
| 1173 | */ | 1162 | */ |
| @@ -1216,10 +1205,8 @@ static int __init abituguru3_init(void) | |||
| 1216 | if (err) | 1205 | if (err) |
| 1217 | return err; | 1206 | return err; |
| 1218 | 1207 | ||
| 1219 | #ifdef CONFIG_DMI | ||
| 1220 | pr_warn("this motherboard was not detected using DMI. " | 1208 | pr_warn("this motherboard was not detected using DMI. " |
| 1221 | "Please send the output of \"dmidecode\" to the abituguru3 maintainer (see MAINTAINERS)\n"); | 1209 | "Please send the output of \"dmidecode\" to the abituguru3 maintainer (see MAINTAINERS)\n"); |
| 1222 | #endif | ||
| 1223 | } | 1210 | } |
| 1224 | 1211 | ||
| 1225 | err = platform_driver_register(&abituguru3_driver); | 1212 | err = platform_driver_register(&abituguru3_driver); |
