lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Sun, 14 Oct 2012 14:54:26 +0530
From:	Sekhar Nori <nsekhar@...com>
To:	Hannu Heikkinen <hannuxx@....fi>
CC:	<linux-kernel@...r.kernel.org>, <rtc-linux@...glegroups.com>,
	<a.zummo@...ertech.it>,
	<davinci-linux-open-source@...ux.davincidsp.com>
Subject: Re: [PATCH] rtc: davinci: clean up probe/remove routines

On 10/14/2012 3:43 AM, Hannu Heikkinen wrote:
> Use the devres managed resource functions in the probe routine.
> Also affects the remove routine where the previously used free and
> release functions are not needed.
> 
> The devm_* functions eliminate the need for manual resource releasing and
> simplify error handling.  Resources allocated by devm_* are freed
> automatically on driver detach.
> 
> Signed-off-by: Hannu Heikkinen <hannuxx@....fi>
> ---
>  drivers/rtc/rtc-davinci.c | 56 +++++++++++++----------------------------------
>  1 file changed, 15 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/rtc/rtc-davinci.c b/drivers/rtc/rtc-davinci.c
> index 14c2109..ffb09c2 100644
> --- a/drivers/rtc/rtc-davinci.c
> +++ b/drivers/rtc/rtc-davinci.c
> @@ -119,8 +119,6 @@ static DEFINE_SPINLOCK(davinci_rtc_lock);
>  struct davinci_rtc {
>  	struct rtc_device 		*rtc;
>  	void __iomem			*base;
> -	resource_size_t			pbase;
> -	size_t				base_size;
>  	int				irq;
>  };
>  
> @@ -482,22 +480,16 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
>  {
>  	struct device *dev = &pdev->dev;
>  	struct davinci_rtc *davinci_rtc;
> -	struct resource *res, *mem;
> +	struct resource *res;
>  	int ret = 0;
>  
> -	davinci_rtc = kzalloc(sizeof(struct davinci_rtc), GFP_KERNEL);
> +	davinci_rtc = devm_kzalloc(&pdev->dev, sizeof(struct tegra_rtc_info),

This line causes a build breakage because of wrong structure name.


> +		GFP_KERNEL);
>  	if (!davinci_rtc) {
>  		dev_dbg(dev, "could not allocate memory for private data\n");
>  		return -ENOMEM;
>  	}
>  
> -	davinci_rtc->irq = platform_get_irq(pdev, 0);
> -	if (davinci_rtc->irq < 0) {
> -		dev_err(dev, "no RTC irq\n");
> -		ret = davinci_rtc->irq;
> -		goto fail1;
> -	}
> -
>  	res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
>  	if (!res) {
>  		dev_err(dev, "no mem resource\n");
> @@ -505,23 +497,16 @@ static int __init davinci_rtc_probe(struct platform_device *pdev)
>  		goto fail1;

This goto target does not exist anymore after this patch. This causes
build breakage too.

I was not able to test this on a DM365 EVM though. hwclock returned with
this error:

select() to /dev/rtc to wait for clock tick timed out

but this is not related to this patch since the same error occurs even
without this patch. May something to do with the particular board I
used, need to debug and check.

Thanks,
Sekhar
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ