Messages in this thread | | | Date | Sun, 14 Oct 2012 16:18:55 +0300 | From | Hannu Heikkinen <> | 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@iki.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
| |