ACPI fan: extract return values using PTR_ERR
authorThomas Sujith <sujith.thomas@intel.com>
Fri, 15 Feb 2008 06:01:52 +0000 (01:01 -0500)
committerLen Brown <len.brown@intel.com>
Fri, 15 Feb 2008 23:21:30 +0000 (18:21 -0500)
Need to extract errors using PTR_ERR macro and
process accordingly.  thermal_cooling_device_register
returning NULL means that CONFIG_THERMAL=n and in that
case no need to create symbolic links.

Signed-off-by: Thomas Sujith <sujith.thomas@intel.com>
Signed-off-by: Len Brown <len.brown@intel.com>
drivers/acpi/fan.c

index 48cb705b274afb837129ae6d13ead27f8f2c6ccc..c8e3cba423ef19d7548b63bfdb041d266454d4e1 100644 (file)
@@ -256,22 +256,28 @@ static int acpi_fan_add(struct acpi_device *device)
 
        cdev = thermal_cooling_device_register("Fan", device,
                                                &fan_cooling_ops);
-       if (cdev)
+       if (IS_ERR(cdev)) {
+               result = PTR_ERR(cdev);
+               goto end;
+       }
+       if (cdev) {
                printk(KERN_INFO PREFIX
                        "%s is registered as cooling_device%d\n",
                        device->dev.bus_id, cdev->id);
-       else
-               goto end;
-       acpi_driver_data(device) = cdev;
-       result = sysfs_create_link(&device->dev.kobj, &cdev->device.kobj,
-                                       "thermal_cooling");
-       if (result)
-               return result;
 
-       result = sysfs_create_link(&cdev->device.kobj, &device->dev.kobj,
-                                       "device");
-        if (result)
-                return result;
+               acpi_driver_data(device) = cdev;
+               result = sysfs_create_link(&device->dev.kobj,
+                                          &cdev->device.kobj,
+                                          "thermal_cooling");
+               if (result)
+                       return result;
+
+               result = sysfs_create_link(&cdev->device.kobj,
+                                          &device->dev.kobj,
+                                          "device");
+               if (result)
+                       return result;
+       }
 
        result = acpi_fan_add_fs(device);
        if (result)