[patch 3/6] ACPI fan: extract return values using PTR_ERR

From: Thomas, Sujith
Date: Fri Feb 15 2008 - 00:25:15 EST


From: Thomas Sujith <sujith.thomas@xxxxxxxxx>

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@xxxxxxxxx>
---

drivers/acpi/fan.c | 30 ++++++++++++++++++------------
1 files changed, 18 insertions(+), 12 deletions(-)

Index: linux-2.6.24/drivers/acpi/fan.c
===================================================================
--- linux-2.6.24.orig/drivers/acpi/fan.c
+++ linux-2.6.24/drivers/acpi/fan.c
@@ -256,22 +256,28 @@ static int acpi_fan_add(struct acpi_devi

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)

Attachment: [patch 3 of 6] ACPI fan - extract return value using PTR_ERR
Description: [patch 3 of 6] ACPI fan - extract return value using PTR_ERR