diff options
Diffstat (limited to 'drivers/net/irda/sh_irda.c')
| -rw-r--r-- | drivers/net/irda/sh_irda.c | 30 |
1 files changed, 7 insertions, 23 deletions
diff --git a/drivers/net/irda/sh_irda.c b/drivers/net/irda/sh_irda.c index d275e276e74..c96b46b2c3a 100644 --- a/drivers/net/irda/sh_irda.c +++ b/drivers/net/irda/sh_irda.c @@ -33,11 +33,7 @@ #define DRIVER_NAME "sh_irda" -#if defined(CONFIG_ARCH_SH7367) || defined(CONFIG_ARCH_SH7377) -#define __IRDARAM_LEN 0x13FF -#else #define __IRDARAM_LEN 0x1039 -#endif #define IRTMR 0x1F00 /* Transfer mode */ #define IRCFR 0x1F02 /* Configuration */ @@ -737,7 +733,7 @@ static int sh_irda_stop(struct net_device *ndev) netif_stop_queue(ndev); pm_runtime_put_sync(&self->pdev->dev); - dev_info(&ndev->dev, "stoped\n"); + dev_info(&ndev->dev, "stopped\n"); return 0; } @@ -757,7 +753,7 @@ static const struct net_device_ops sh_irda_ndo = { ************************************************************************/ -static int __devinit sh_irda_probe(struct platform_device *pdev) +static int sh_irda_probe(struct platform_device *pdev) { struct net_device *ndev; struct sh_irda_self *self; @@ -808,8 +804,8 @@ static int __devinit sh_irda_probe(struct platform_device *pdev) goto err_mem_4; platform_set_drvdata(pdev, ndev); - - if (request_irq(irq, sh_irda_irq, IRQF_DISABLED, "sh_irda", self)) { + err = devm_request_irq(&pdev->dev, irq, sh_irda_irq, 0, "sh_irda", self); + if (err) { dev_warn(&pdev->dev, "Unable to attach sh_irda interrupt\n"); goto err_mem_4; } @@ -829,7 +825,7 @@ exit: return err; } -static int __devexit sh_irda_remove(struct platform_device *pdev) +static int sh_irda_remove(struct platform_device *pdev) { struct net_device *ndev = platform_get_drvdata(pdev); struct sh_irda_self *self = netdev_priv(ndev); @@ -842,7 +838,6 @@ static int __devexit sh_irda_remove(struct platform_device *pdev) sh_irda_remove_iobuf(self); iounmap(self->membase); free_netdev(ndev); - platform_set_drvdata(pdev, NULL); return 0; } @@ -866,25 +861,14 @@ static const struct dev_pm_ops sh_irda_pm_ops = { static struct platform_driver sh_irda_driver = { .probe = sh_irda_probe, - .remove = __devexit_p(sh_irda_remove), + .remove = sh_irda_remove, .driver = { .name = DRIVER_NAME, .pm = &sh_irda_pm_ops, }, }; -static int __init sh_irda_init(void) -{ - return platform_driver_register(&sh_irda_driver); -} - -static void __exit sh_irda_exit(void) -{ - platform_driver_unregister(&sh_irda_driver); -} - -module_init(sh_irda_init); -module_exit(sh_irda_exit); +module_platform_driver(sh_irda_driver); MODULE_AUTHOR("Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>"); MODULE_DESCRIPTION("SuperH IrDA driver"); |
