[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20121014131855.GB1164@archyar.homehannu>
Date: Sun, 14 Oct 2012 16:18:55 +0300
From: Hannu Heikkinen <hannuxx@....fi>
To: Sekhar Nori <nsekhar@...com>
Cc: linux-kernel@...r.kernel.org, rtc-linux@...glegroups.com,
a.zummo@...ertech.it,
davinci-linux-open-source@...ux.davincidsp.com
Subject: Re: [PATCH v2] rtc: davinci: clean up probe/remove routines
On 14/10/12 18:06 +0530, Sekhar Nori wrote:
> On 10/14/2012 3:13 PM, 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..d24b573 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 davinci_rtc),
> > + 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;
>
> As mentioned last time, this will have a build break here because fail1
> is being removed down below.
>
> Thanks,
> Sekhar
I'm sorry, did not spot that line before. Will fix.
br,
Hannu
--
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