Patchwork [1/3] rtc: ds1742: Using devm_ioremap_resource()

login
register
mail settings
Submitter Alexander Shiyan
Date July 2, 2013, 4:50 p.m.
Message ID <1372783802-6569-1-git-send-email-shc_work@mail.ru>
Download mbox | patch
Permalink /patch/256463/
State New
Headers show

Comments

Alexander Shiyan - July 2, 2013, 4:50 p.m.
Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
---
 drivers/rtc/rtc-ds1742.c | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)
Alexander Shiyan - July 20, 2013, 2:02 p.m.
On Tue,  2 Jul 2013 20:50:00 +0400
Alexander Shiyan <shc_work@mail.ru> wrote:

> 
> Signed-off-by: Alexander Shiyan <shc_work@mail.ru>
> ---
>  drivers/rtc/rtc-ds1742.c | 18 ++++++------------
>  1 file changed, 6 insertions(+), 12 deletions(-)
> 
> diff --git a/drivers/rtc/rtc-ds1742.c b/drivers/rtc/rtc-ds1742.c
> index eccdc62..9fba0ae 100644
> --- a/drivers/rtc/rtc-ds1742.c
> +++ b/drivers/rtc/rtc-ds1742.c
> @@ -56,7 +56,6 @@ struct rtc_plat_data {
>  	void __iomem *ioaddr_nvram;
>  	void __iomem *ioaddr_rtc;
>  	size_t size_nvram;
> -	size_t size;
>  	unsigned long last_jiffies;
>  	struct bin_attribute nvram_attr;
>  };
> @@ -168,22 +167,17 @@ static int ds1742_rtc_probe(struct platform_device *pdev)
>  	void __iomem *ioaddr;
>  	int ret = 0;
>  
> -	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -	if (!res)
> -		return -ENODEV;
>  	pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
>  	if (!pdata)
>  		return -ENOMEM;
> -	pdata->size = resource_size(res);
> -	if (!devm_request_mem_region(&pdev->dev, res->start, pdata->size,
> -		pdev->name))
> -		return -EBUSY;
> -	ioaddr = devm_ioremap(&pdev->dev, res->start, pdata->size);
> -	if (!ioaddr)
> -		return -ENOMEM;
> +
> +	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> +	ioaddr = devm_ioremap_resource(&pdev->dev, res);
> +	if (IS_ERR(ioaddr))
> +		return PTR_ERR(ioaddr);
>  
>  	pdata->ioaddr_nvram = ioaddr;
> -	pdata->size_nvram = pdata->size - RTC_SIZE;
> +	pdata->size_nvram = resource_size(res) - RTC_SIZE;
>  	pdata->ioaddr_rtc = ioaddr + pdata->size_nvram;
>  
>  	sysfs_bin_attr_init(&pdata->nvram_attr);
> -- 

Ping

Patch

diff --git a/drivers/rtc/rtc-ds1742.c b/drivers/rtc/rtc-ds1742.c
index eccdc62..9fba0ae 100644
--- a/drivers/rtc/rtc-ds1742.c
+++ b/drivers/rtc/rtc-ds1742.c
@@ -56,7 +56,6 @@  struct rtc_plat_data {
 	void __iomem *ioaddr_nvram;
 	void __iomem *ioaddr_rtc;
 	size_t size_nvram;
-	size_t size;
 	unsigned long last_jiffies;
 	struct bin_attribute nvram_attr;
 };
@@ -168,22 +167,17 @@  static int ds1742_rtc_probe(struct platform_device *pdev)
 	void __iomem *ioaddr;
 	int ret = 0;
 
-	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-	if (!res)
-		return -ENODEV;
 	pdata = devm_kzalloc(&pdev->dev, sizeof(*pdata), GFP_KERNEL);
 	if (!pdata)
 		return -ENOMEM;
-	pdata->size = resource_size(res);
-	if (!devm_request_mem_region(&pdev->dev, res->start, pdata->size,
-		pdev->name))
-		return -EBUSY;
-	ioaddr = devm_ioremap(&pdev->dev, res->start, pdata->size);
-	if (!ioaddr)
-		return -ENOMEM;
+
+	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
+	ioaddr = devm_ioremap_resource(&pdev->dev, res);
+	if (IS_ERR(ioaddr))
+		return PTR_ERR(ioaddr);
 
 	pdata->ioaddr_nvram = ioaddr;
-	pdata->size_nvram = pdata->size - RTC_SIZE;
+	pdata->size_nvram = resource_size(res) - RTC_SIZE;
 	pdata->ioaddr_rtc = ioaddr + pdata->size_nvram;
 
 	sysfs_bin_attr_init(&pdata->nvram_attr);