aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulia Lawall <julia@diku.dk>2008-03-27 01:48:22 -0400
committerLen Brown <len.brown@intel.com>2008-03-27 01:48:22 -0400
commit1192aeb957402b45f311895f124e4ca41206843c (patch)
tree877e5ac536ba87cdfe441c95c49e04f7bc8c63a4
parent86d9fc1293aa9456677eab94e9fd2d3a10920548 (diff)
ACPI: drivers/acpi: elide a non-zero test on a result that is never 0
The function thermal_cooling_device_register always returns either a valid pointer or a value made with ERR_PTR, so a test for non-zero on the result will always succeed. The problem was found using the following semantic match. (http://www.emn.fr/x-info/coccinelle/) //<smpl> @a@ expression E, E1; statement S,S1; position p; @@ E = thermal_cooling_device_register(...) ... when != E = E1 if@p (E) S else S1 @n@ position a.p; expression E,E1; statement S,S1; @@ E = NULL ... when != E = E1 if@p (E) S else S1 @depends on !n@ expression E; statement S,S1; position a.p; @@ * if@p (E) S else S1 //</smpl> Signed-off-by: Julia Lawall <julia@diku.dk> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Len Brown <len.brown@intel.com>
-rw-r--r--drivers/acpi/fan.c34
-rw-r--r--drivers/acpi/processor_core.c30
-rw-r--r--drivers/acpi/video.c28
3 files changed, 43 insertions, 49 deletions
diff --git a/drivers/acpi/fan.c b/drivers/acpi/fan.c
index c8e3cba423ef..4d535c50d821 100644
--- a/drivers/acpi/fan.c
+++ b/drivers/acpi/fan.c
@@ -260,24 +260,22 @@ static int acpi_fan_add(struct acpi_device *device)
260 result = PTR_ERR(cdev); 260 result = PTR_ERR(cdev);
261 goto end; 261 goto end;
262 } 262 }
263 if (cdev) { 263 printk(KERN_INFO PREFIX
264 printk(KERN_INFO PREFIX 264 "%s is registered as cooling_device%d\n",
265 "%s is registered as cooling_device%d\n", 265 device->dev.bus_id, cdev->id);
266 device->dev.bus_id, cdev->id); 266
267 267 acpi_driver_data(device) = cdev;
268 acpi_driver_data(device) = cdev; 268 result = sysfs_create_link(&device->dev.kobj,
269 result = sysfs_create_link(&device->dev.kobj, 269 &cdev->device.kobj,
270 &cdev->device.kobj, 270 "thermal_cooling");
271 "thermal_cooling"); 271 if (result)
272 if (result) 272 return result;
273 return result; 273
274 274 result = sysfs_create_link(&cdev->device.kobj,
275 result = sysfs_create_link(&cdev->device.kobj, 275 &device->dev.kobj,
276 &device->dev.kobj, 276 "device");
277 "device"); 277 if (result)
278 if (result) 278 return result;
279 return result;
280 }
281 279
282 result = acpi_fan_add_fs(device); 280 result = acpi_fan_add_fs(device);
283 if (result) 281 if (result)
diff --git a/drivers/acpi/processor_core.c b/drivers/acpi/processor_core.c
index 36a68fa114e3..3a136f6c66a3 100644
--- a/drivers/acpi/processor_core.c
+++ b/drivers/acpi/processor_core.c
@@ -674,22 +674,20 @@ static int __cpuinit acpi_processor_start(struct acpi_device *device)
674 result = PTR_ERR(pr->cdev); 674 result = PTR_ERR(pr->cdev);
675 goto end; 675 goto end;
676 } 676 }
677 if (pr->cdev) { 677 printk(KERN_INFO PREFIX
678 printk(KERN_INFO PREFIX 678 "%s is registered as cooling_device%d\n",
679 "%s is registered as cooling_device%d\n", 679 device->dev.bus_id, pr->cdev->id);
680 device->dev.bus_id, pr->cdev->id); 680
681 681 result = sysfs_create_link(&device->dev.kobj,
682 result = sysfs_create_link(&device->dev.kobj, 682 &pr->cdev->device.kobj,
683 &pr->cdev->device.kobj, 683 "thermal_cooling");
684 "thermal_cooling"); 684 if (result)
685 if (result) 685 return result;
686 return result; 686 result = sysfs_create_link(&pr->cdev->device.kobj,
687 result = sysfs_create_link(&pr->cdev->device.kobj, 687 &device->dev.kobj,
688 &device->dev.kobj, 688 "device");
689 "device"); 689 if (result)
690 if (result) 690 return result;
691 return result;
692 }
693 691
694 if (pr->flags.throttling) { 692 if (pr->flags.throttling) {
695 printk(KERN_INFO PREFIX "%s [%s] (supports", 693 printk(KERN_INFO PREFIX "%s [%s] (supports",
diff --git a/drivers/acpi/video.c b/drivers/acpi/video.c
index 12fb44f16766..fe09b57de617 100644
--- a/drivers/acpi/video.c
+++ b/drivers/acpi/video.c
@@ -734,21 +734,19 @@ static void acpi_video_device_find_cap(struct acpi_video_device *device)
734 if (IS_ERR(device->cdev)) 734 if (IS_ERR(device->cdev))
735 return; 735 return;
736 736
737 if (device->cdev) { 737 printk(KERN_INFO PREFIX
738 printk(KERN_INFO PREFIX 738 "%s is registered as cooling_device%d\n",
739 "%s is registered as cooling_device%d\n", 739 device->dev->dev.bus_id, device->cdev->id);
740 device->dev->dev.bus_id, device->cdev->id); 740 result = sysfs_create_link(&device->dev->dev.kobj,
741 result = sysfs_create_link(&device->dev->dev.kobj, 741 &device->cdev->device.kobj,
742 &device->cdev->device.kobj, 742 "thermal_cooling");
743 "thermal_cooling"); 743 if (result)
744 if (result) 744 printk(KERN_ERR PREFIX "Create sysfs link\n");
745 printk(KERN_ERR PREFIX "Create sysfs link\n"); 745 result = sysfs_create_link(&device->cdev->device.kobj,
746 result = sysfs_create_link(&device->cdev->device.kobj, 746 &device->dev->dev.kobj,
747 &device->dev->dev.kobj, 747 "device");
748 "device"); 748 if (result)
749 if (result) 749 printk(KERN_ERR PREFIX "Create sysfs link\n");
750 printk(KERN_ERR PREFIX "Create sysfs link\n");
751 }
752 } 750 }
753 if (device->cap._DCS && device->cap._DSS){ 751 if (device->cap._DCS && device->cap._DSS){
754 static int count = 0; 752 static int count = 0;