Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jack/linux...
[deliverable/linux.git] / drivers / hwmon / pc87427.c
index 7265f22ae5cd1d6762822c67756e8f1f8967d422..3170b26d2443b76bfbd6b518153c7329d622280c 100644 (file)
@@ -32,7 +32,8 @@
 #include <linux/mutex.h>
 #include <linux/sysfs.h>
 #include <linux/ioport.h>
-#include <asm/io.h>
+#include <linux/acpi.h>
+#include <linux/io.h>
 
 static unsigned short force_id;
 module_param(force_id, ushort, 0);
@@ -434,7 +435,7 @@ static int __devinit pc87427_probe(struct platform_device *pdev)
        /* This will need to be revisited when we add support for
           temperature and voltage monitoring. */
        res = platform_get_resource(pdev, IORESOURCE_IO, 0);
-       if (!request_region(res->start, res->end - res->start + 1, DRVNAME)) {
+       if (!request_region(res->start, resource_size(res), DRVNAME)) {
                err = -EBUSY;
                dev_err(&pdev->dev, "Failed to request region 0x%lx-0x%lx\n",
                        (unsigned long)res->start, (unsigned long)res->end);
@@ -474,7 +475,7 @@ exit_remove_files:
                sysfs_remove_group(&pdev->dev.kobj, &pc87427_group_fan[i]);
        }
 exit_release_region:
-       release_region(res->start, res->end - res->start + 1);
+       release_region(res->start, resource_size(res));
 exit_kfree:
        platform_set_drvdata(pdev, NULL);
        kfree(data);
@@ -499,7 +500,7 @@ static int __devexit pc87427_remove(struct platform_device *pdev)
        kfree(data);
 
        res = platform_get_resource(pdev, IORESOURCE_IO, 0);
-       release_region(res->start, res->end - res->start + 1);
+       release_region(res->start, resource_size(res));
 
        return 0;
 }
@@ -524,6 +525,10 @@ static int __init pc87427_device_add(unsigned short address)
        };
        int err;
 
+       err = acpi_check_resource_conflict(&res);
+       if (err)
+               goto exit;
+
        pdev = platform_device_alloc(DRVNAME, address);
        if (!pdev) {
                err = -ENOMEM;
This page took 0.026728 seconds and 5 git commands to generate.