diff options
author | Julia Lawall <julia@diku.dk> | 2008-03-27 01:48:22 -0400 |
---|---|---|
committer | Len Brown <len.brown@intel.com> | 2008-03-27 01:48:22 -0400 |
commit | 1192aeb957402b45f311895f124e4ca41206843c (patch) | |
tree | 877e5ac536ba87cdfe441c95c49e04f7bc8c63a4 | |
parent | 86d9fc1293aa9456677eab94e9fd2d3a10920548 (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.c | 34 | ||||
-rw-r--r-- | drivers/acpi/processor_core.c | 30 | ||||
-rw-r--r-- | drivers/acpi/video.c | 28 |
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; |