aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/leds/leds-cobalt-qube.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/drivers/leds/leds-cobalt-qube.c b/drivers/leds/leds-cobalt-qube.c
index 6a8725cc7b4d..86d6db74efd8 100644
--- a/drivers/leds/leds-cobalt-qube.c
+++ b/drivers/leds/leds-cobalt-qube.c
@@ -43,7 +43,7 @@ static int __devinit cobalt_qube_led_probe(struct platform_device *pdev)
43 if (!res) 43 if (!res)
44 return -EBUSY; 44 return -EBUSY;
45 45
46 led_port = ioremap(res->start, resource_size(res)); 46 led_port = devm_ioremap(&pdev->dev, res->start, resource_size(res));
47 if (!led_port) 47 if (!led_port)
48 return -ENOMEM; 48 return -ENOMEM;
49 49
@@ -52,12 +52,11 @@ static int __devinit cobalt_qube_led_probe(struct platform_device *pdev)
52 52
53 retval = led_classdev_register(&pdev->dev, &qube_front_led); 53 retval = led_classdev_register(&pdev->dev, &qube_front_led);
54 if (retval) 54 if (retval)
55 goto err_iounmap; 55 goto err_null;
56 56
57 return 0; 57 return 0;
58 58
59err_iounmap: 59err_null:
60 iounmap(led_port);
61 led_port = NULL; 60 led_port = NULL;
62 61
63 return retval; 62 return retval;
@@ -67,10 +66,8 @@ static int __devexit cobalt_qube_led_remove(struct platform_device *pdev)
67{ 66{
68 led_classdev_unregister(&qube_front_led); 67 led_classdev_unregister(&qube_front_led);
69 68
70 if (led_port) { 69 if (led_port)
71 iounmap(led_port);
72 led_port = NULL; 70 led_port = NULL;
73 }
74 71
75 return 0; 72 return 0;
76} 73}