diff options
author | Jean Delvare <jdelvare@suse.de> | 2009-01-07 10:37:35 -0500 |
---|---|---|
committer | Jean Delvare <khali@linux-fr.org> | 2009-01-07 10:37:35 -0500 |
commit | b9acb64a385c5b26fc392e0d58ac7b8e0a2cd812 (patch) | |
tree | efd4f47d256551082742a092a15ac9b28ddeefe5 /drivers/hwmon/dme1737.c | |
parent | c8ac32e4711639c81e5f4d4cd78c8f21675a2bae (diff) |
hwmon: Check for ACPI resource conflicts
Check for ACPI resource conflicts in hwmon drivers. I've included
all Super-I/O and PCI drivers.
I've voluntarily left out:
* Vendor-specific drivers: if they conflicted on any system, this would
pretty much mean that they conflict on all systems, and we would know
by now.
* Legacy ISA drivers (lm78 and w83781d): they only support chips found
on old designs were ACPI either wasn't supported or didn't deal with
thermal management.
* Drivers accessing the I/O resources indirectly (e.g. through SMBus):
the checks are already done where they belong, i.e. in the bus drivers.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
Acked-by: David Hubbard <david.c.hubbard@gmail.com>
Diffstat (limited to 'drivers/hwmon/dme1737.c')
-rw-r--r-- | drivers/hwmon/dme1737.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/hwmon/dme1737.c b/drivers/hwmon/dme1737.c index 27a5d397f9a1..3df202a9ad72 100644 --- a/drivers/hwmon/dme1737.c +++ b/drivers/hwmon/dme1737.c | |||
@@ -34,6 +34,7 @@ | |||
34 | #include <linux/hwmon-vid.h> | 34 | #include <linux/hwmon-vid.h> |
35 | #include <linux/err.h> | 35 | #include <linux/err.h> |
36 | #include <linux/mutex.h> | 36 | #include <linux/mutex.h> |
37 | #include <linux/acpi.h> | ||
37 | #include <asm/io.h> | 38 | #include <asm/io.h> |
38 | 39 | ||
39 | /* ISA device, if found */ | 40 | /* ISA device, if found */ |
@@ -2361,6 +2362,10 @@ static int __init dme1737_isa_device_add(unsigned short addr) | |||
2361 | }; | 2362 | }; |
2362 | int err; | 2363 | int err; |
2363 | 2364 | ||
2365 | err = acpi_check_resource_conflict(&res); | ||
2366 | if (err) | ||
2367 | goto exit; | ||
2368 | |||
2364 | if (!(pdev = platform_device_alloc("dme1737", addr))) { | 2369 | if (!(pdev = platform_device_alloc("dme1737", addr))) { |
2365 | printk(KERN_ERR "dme1737: Failed to allocate device.\n"); | 2370 | printk(KERN_ERR "dme1737: Failed to allocate device.\n"); |
2366 | err = -ENOMEM; | 2371 | err = -ENOMEM; |