Loading drivers/watchdog/nuc900_wdt.c +11 −39 Original line number Diff line number Diff line Loading @@ -61,7 +61,6 @@ MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started " "(default=" __MODULE_STRING(WATCHDOG_NOWAYOUT) ")"); struct nuc900_wdt { struct resource *res; struct clk *wdt_clock; struct platform_device *pdev; void __iomem *wdt_base; Loading Loading @@ -244,9 +243,11 @@ static struct miscdevice nuc900wdt_miscdev = { static int nuc900wdt_probe(struct platform_device *pdev) { struct resource *res; int ret = 0; nuc900_wdt = kzalloc(sizeof(struct nuc900_wdt), GFP_KERNEL); nuc900_wdt = devm_kzalloc(&pdev->dev, sizeof(*nuc900_wdt), GFP_KERNEL); if (!nuc900_wdt) return -ENOMEM; Loading @@ -254,33 +255,20 @@ static int nuc900wdt_probe(struct platform_device *pdev) spin_lock_init(&nuc900_wdt->wdt_lock); nuc900_wdt->res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (nuc900_wdt->res == NULL) { res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (res == NULL) { dev_err(&pdev->dev, "no memory resource specified\n"); ret = -ENOENT; goto err_get; } if (!request_mem_region(nuc900_wdt->res->start, resource_size(nuc900_wdt->res), pdev->name)) { dev_err(&pdev->dev, "failed to get memory region\n"); ret = -ENOENT; goto err_get; return -ENOENT; } nuc900_wdt->wdt_base = ioremap(nuc900_wdt->res->start, resource_size(nuc900_wdt->res)); if (nuc900_wdt->wdt_base == NULL) { dev_err(&pdev->dev, "failed to ioremap() region\n"); ret = -EINVAL; goto err_req; } nuc900_wdt->wdt_base = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(nuc900_wdt->wdt_base)) return PTR_ERR(nuc900_wdt->wdt_base); nuc900_wdt->wdt_clock = clk_get(&pdev->dev, NULL); nuc900_wdt->wdt_clock = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(nuc900_wdt->wdt_clock)) { dev_err(&pdev->dev, "failed to find watchdog clock source\n"); ret = PTR_ERR(nuc900_wdt->wdt_clock); goto err_map; return PTR_ERR(nuc900_wdt->wdt_clock); } clk_enable(nuc900_wdt->wdt_clock); Loading @@ -298,14 +286,6 @@ static int nuc900wdt_probe(struct platform_device *pdev) err_clk: clk_disable(nuc900_wdt->wdt_clock); clk_put(nuc900_wdt->wdt_clock); err_map: iounmap(nuc900_wdt->wdt_base); err_req: release_mem_region(nuc900_wdt->res->start, resource_size(nuc900_wdt->res)); err_get: kfree(nuc900_wdt); return ret; } Loading @@ -314,14 +294,6 @@ static int nuc900wdt_remove(struct platform_device *pdev) misc_deregister(&nuc900wdt_miscdev); clk_disable(nuc900_wdt->wdt_clock); clk_put(nuc900_wdt->wdt_clock); iounmap(nuc900_wdt->wdt_base); release_mem_region(nuc900_wdt->res->start, resource_size(nuc900_wdt->res)); kfree(nuc900_wdt); return 0; } Loading Loading
drivers/watchdog/nuc900_wdt.c +11 −39 Original line number Diff line number Diff line Loading @@ -61,7 +61,6 @@ MODULE_PARM_DESC(nowayout, "Watchdog cannot be stopped once started " "(default=" __MODULE_STRING(WATCHDOG_NOWAYOUT) ")"); struct nuc900_wdt { struct resource *res; struct clk *wdt_clock; struct platform_device *pdev; void __iomem *wdt_base; Loading Loading @@ -244,9 +243,11 @@ static struct miscdevice nuc900wdt_miscdev = { static int nuc900wdt_probe(struct platform_device *pdev) { struct resource *res; int ret = 0; nuc900_wdt = kzalloc(sizeof(struct nuc900_wdt), GFP_KERNEL); nuc900_wdt = devm_kzalloc(&pdev->dev, sizeof(*nuc900_wdt), GFP_KERNEL); if (!nuc900_wdt) return -ENOMEM; Loading @@ -254,33 +255,20 @@ static int nuc900wdt_probe(struct platform_device *pdev) spin_lock_init(&nuc900_wdt->wdt_lock); nuc900_wdt->res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (nuc900_wdt->res == NULL) { res = platform_get_resource(pdev, IORESOURCE_MEM, 0); if (res == NULL) { dev_err(&pdev->dev, "no memory resource specified\n"); ret = -ENOENT; goto err_get; } if (!request_mem_region(nuc900_wdt->res->start, resource_size(nuc900_wdt->res), pdev->name)) { dev_err(&pdev->dev, "failed to get memory region\n"); ret = -ENOENT; goto err_get; return -ENOENT; } nuc900_wdt->wdt_base = ioremap(nuc900_wdt->res->start, resource_size(nuc900_wdt->res)); if (nuc900_wdt->wdt_base == NULL) { dev_err(&pdev->dev, "failed to ioremap() region\n"); ret = -EINVAL; goto err_req; } nuc900_wdt->wdt_base = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(nuc900_wdt->wdt_base)) return PTR_ERR(nuc900_wdt->wdt_base); nuc900_wdt->wdt_clock = clk_get(&pdev->dev, NULL); nuc900_wdt->wdt_clock = devm_clk_get(&pdev->dev, NULL); if (IS_ERR(nuc900_wdt->wdt_clock)) { dev_err(&pdev->dev, "failed to find watchdog clock source\n"); ret = PTR_ERR(nuc900_wdt->wdt_clock); goto err_map; return PTR_ERR(nuc900_wdt->wdt_clock); } clk_enable(nuc900_wdt->wdt_clock); Loading @@ -298,14 +286,6 @@ static int nuc900wdt_probe(struct platform_device *pdev) err_clk: clk_disable(nuc900_wdt->wdt_clock); clk_put(nuc900_wdt->wdt_clock); err_map: iounmap(nuc900_wdt->wdt_base); err_req: release_mem_region(nuc900_wdt->res->start, resource_size(nuc900_wdt->res)); err_get: kfree(nuc900_wdt); return ret; } Loading @@ -314,14 +294,6 @@ static int nuc900wdt_remove(struct platform_device *pdev) misc_deregister(&nuc900wdt_miscdev); clk_disable(nuc900_wdt->wdt_clock); clk_put(nuc900_wdt->wdt_clock); iounmap(nuc900_wdt->wdt_base); release_mem_region(nuc900_wdt->res->start, resource_size(nuc900_wdt->res)); kfree(nuc900_wdt); return 0; } Loading