diff options
Diffstat (limited to 'drivers/leds/leds-cobalt-qube.c')
| -rw-r--r-- | drivers/leds/leds-cobalt-qube.c | 35 | 
1 files changed, 9 insertions, 26 deletions
diff --git a/drivers/leds/leds-cobalt-qube.c b/drivers/leds/leds-cobalt-qube.c index da5fb016b1a..910339d86ed 100644 --- a/drivers/leds/leds-cobalt-qube.c +++ b/drivers/leds/leds-cobalt-qube.c @@ -3,7 +3,6 @@   *   * Control the Cobalt Qube/RaQ front LED   */ -#include <linux/init.h>  #include <linux/io.h>  #include <linux/ioport.h>  #include <linux/leds.h> @@ -34,7 +33,7 @@ static struct led_classdev qube_front_led = {  	.default_trigger	= "default-on",  }; -static int __devinit cobalt_qube_led_probe(struct platform_device *pdev) +static int cobalt_qube_led_probe(struct platform_device *pdev)  {  	struct resource *res;  	int retval; @@ -43,7 +42,7 @@ static int __devinit cobalt_qube_led_probe(struct platform_device *pdev)  	if (!res)  		return -EBUSY; -	led_port = ioremap(res->start, resource_size(res)); +	led_port = devm_ioremap(&pdev->dev, res->start, resource_size(res));  	if (!led_port)  		return -ENOMEM; @@ -52,54 +51,38 @@ static int __devinit cobalt_qube_led_probe(struct platform_device *pdev)  	retval = led_classdev_register(&pdev->dev, &qube_front_led);  	if (retval) -		goto err_iounmap; +		goto err_null;  	return 0; -err_iounmap: -	iounmap(led_port); +err_null:  	led_port = NULL;  	return retval;  } -static int __devexit cobalt_qube_led_remove(struct platform_device *pdev) +static int cobalt_qube_led_remove(struct platform_device *pdev)  {  	led_classdev_unregister(&qube_front_led); -	if (led_port) { -		iounmap(led_port); +	if (led_port)  		led_port = NULL; -	}  	return 0;  } -/* work with hotplug and coldplug */ -MODULE_ALIAS("platform:cobalt-qube-leds"); -  static struct platform_driver cobalt_qube_led_driver = {  	.probe	= cobalt_qube_led_probe, -	.remove	= __devexit_p(cobalt_qube_led_remove), +	.remove	= cobalt_qube_led_remove,  	.driver	= {  		.name	= "cobalt-qube-leds",  		.owner	= THIS_MODULE,  	},  }; -static int __init cobalt_qube_led_init(void) -{ -	return platform_driver_register(&cobalt_qube_led_driver); -} - -static void __exit cobalt_qube_led_exit(void) -{ -	platform_driver_unregister(&cobalt_qube_led_driver); -} - -module_init(cobalt_qube_led_init); -module_exit(cobalt_qube_led_exit); +module_platform_driver(cobalt_qube_led_driver);  MODULE_LICENSE("GPL");  MODULE_DESCRIPTION("Front LED support for Cobalt Server");  MODULE_AUTHOR("Florian Fainelli <florian@openwrt.org>"); +MODULE_ALIAS("platform:cobalt-qube-leds");  | 
