Commit 60a0aadb authored by Bryan Wu's avatar Bryan Wu
Browse files

leds: convert HTC ASIC3 LED driver to devm_kzalloc() and cleanup error exit path



Cc: Paul Parsons <lost.distance@yahoo.com>
Signed-off-by: default avatarBryan Wu <bryan.wu@canonical.com>
parent 8095c385
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -99,12 +99,13 @@ static int __devinit asic3_led_probe(struct platform_device *pdev)

	ret = mfd_cell_enable(pdev);
	if (ret < 0)
		goto ret0;
		return ret;

	led->cdev = kzalloc(sizeof(struct led_classdev), GFP_KERNEL);
	led->cdev = devm_kzalloc(&pdev->dev, sizeof(struct led_classdev),
				GFP_KERNEL);
	if (!led->cdev) {
		ret = -ENOMEM;
		goto ret1;
		goto out;
	}

	led->cdev->name = led->name;
@@ -115,15 +116,12 @@ static int __devinit asic3_led_probe(struct platform_device *pdev)

	ret = led_classdev_register(&pdev->dev, led->cdev);
	if (ret < 0)
		goto ret2;
		goto out;

	return 0;

ret2:
	kfree(led->cdev);
ret1:
out:
	(void) mfd_cell_disable(pdev);
ret0:
	return ret;
}

@@ -133,8 +131,6 @@ static int __devexit asic3_led_remove(struct platform_device *pdev)

	led_classdev_unregister(led->cdev);

	kfree(led->cdev);

	return mfd_cell_disable(pdev);
}