watchdog: omap_wdt: Use devm_ioremap_resource()
authorJingoo Han <jg1.han@samsung.com>
Tue, 11 Feb 2014 12:44:12 +0000 (21:44 +0900)
committerWim Van Sebroeck <wim@iguana.be>
Mon, 31 Mar 2014 11:24:31 +0000 (13:24 +0200)
Use devm_ioremap_resource() in order to make the code simpler,
and remove 'struct resource *mem' from 'struct omap_wdt_dev'
and omap_wdt_probe(), resplectively. because the 'mem' variables
are not used anymore. Also the redundant return value check of
platform_get_resource() is removed, because the value is checked
by devm_ioremap_resource().

Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/watchdog/omap_wdt.c

index fbcb6f6a809d896bee054ea0ad4535afe0c5597f..3691b157516a5589a6c6e96113889d7283fdc640 100644 (file)
@@ -57,7 +57,6 @@ struct omap_wdt_dev {
        void __iomem    *base;          /* physical */
        struct device   *dev;
        bool            omap_wdt_users;
-       struct resource *mem;
        int             wdt_trgr_pattern;
        struct mutex    lock;           /* to avoid races with PM */
 };
@@ -206,7 +205,7 @@ static int omap_wdt_probe(struct platform_device *pdev)
 {
        struct omap_wd_timer_platform_data *pdata = dev_get_platdata(&pdev->dev);
        struct watchdog_device *omap_wdt;
-       struct resource *res, *mem;
+       struct resource *res;
        struct omap_wdt_dev *wdev;
        u32 rs;
        int ret;
@@ -215,29 +214,20 @@ static int omap_wdt_probe(struct platform_device *pdev)
        if (!omap_wdt)
                return -ENOMEM;
 
-       /* reserve static register mappings */
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!res)
-               return -ENOENT;
-
-       mem = devm_request_mem_region(&pdev->dev, res->start,
-                                     resource_size(res), pdev->name);
-       if (!mem)
-               return -EBUSY;
-
        wdev = devm_kzalloc(&pdev->dev, sizeof(*wdev), GFP_KERNEL);
        if (!wdev)
                return -ENOMEM;
 
        wdev->omap_wdt_users    = false;
-       wdev->mem               = mem;
        wdev->dev               = &pdev->dev;
        wdev->wdt_trgr_pattern  = 0x1234;
        mutex_init(&wdev->lock);
 
-       wdev->base = devm_ioremap(&pdev->dev, res->start, resource_size(res));
-       if (!wdev->base)
-               return -ENOMEM;
+       /* reserve static register mappings */
+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+       wdev->base = devm_ioremap_resource(&pdev->dev, res);
+       if (IS_ERR(wdev->base))
+               return PTR_ERR(wdev->base);
 
        omap_wdt->info        = &omap_wdt_info;
        omap_wdt->ops         = &omap_wdt_ops;