Commit 1e6789f6 authored by Jingoo Han's avatar Jingoo Han Committed by Linus Torvalds
Browse files

rtc: rtc-davinci: use devm_ioremap_resource()



Use devm_ioremap_resource() in order to make the code simpler, and
remove redundant return value check of platform_get_resource() because
the value is checked by devm_ioremap_resource().

Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
Cc: Kevin Hilman <khilman@linaro.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent daaf90f0
Loading
Loading
Loading
Loading
+4 −25
Original line number Original line Diff line number Diff line
@@ -119,8 +119,6 @@ static DEFINE_SPINLOCK(davinci_rtc_lock);
struct davinci_rtc {
struct davinci_rtc {
	struct rtc_device		*rtc;
	struct rtc_device		*rtc;
	void __iomem			*base;
	void __iomem			*base;
	resource_size_t			pbase;
	size_t				base_size;
	int				irq;
	int				irq;
};
};


@@ -482,7 +480,7 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
{
{
	struct device *dev = &pdev->dev;
	struct device *dev = &pdev->dev;
	struct davinci_rtc *davinci_rtc;
	struct davinci_rtc *davinci_rtc;
	struct resource *res, *mem;
	struct resource *res;
	int ret = 0;
	int ret = 0;


	davinci_rtc = devm_kzalloc(&pdev->dev, sizeof(struct davinci_rtc), GFP_KERNEL);
	davinci_rtc = devm_kzalloc(&pdev->dev, sizeof(struct davinci_rtc), GFP_KERNEL);
@@ -496,28 +494,9 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
	}
	}


	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
	if (!res) {
	davinci_rtc->base = devm_ioremap_resource(dev, res);
		dev_err(dev, "no mem resource\n");
	if (IS_ERR(davinci_rtc->base))
		return -EINVAL;
		return PTR_ERR(davinci_rtc->base);
	}

	davinci_rtc->pbase = res->start;
	davinci_rtc->base_size = resource_size(res);

	mem = devm_request_mem_region(dev, davinci_rtc->pbase,
				davinci_rtc->base_size, pdev->name);
	if (!mem) {
		dev_err(dev, "RTC registers at %08x are not free\n",
			davinci_rtc->pbase);
		return -EBUSY;
	}

	davinci_rtc->base = devm_ioremap(dev, davinci_rtc->pbase,
					davinci_rtc->base_size);
	if (!davinci_rtc->base) {
		dev_err(dev, "unable to ioremap MEM resource\n");
		return -ENOMEM;
	}


	platform_set_drvdata(pdev, davinci_rtc);
	platform_set_drvdata(pdev, davinci_rtc);