On Tue, Sep 17, 2013 at 09:27:27PM -0700, Dmitry Torokhov wrote:
> Hi Zubair,
> 
> On Tue, Sep 17, 2013 at 09:44:07AM +0500, Zubair Lutfullah wrote:
> > +
> > +   ret = devm_request_threaded_irq(indio_dev->dev.parent,
> > +                           irq,
> > +                           pollfunc_th, pollfunc_bh,
> > +                           flags, indio_dev->name,
> > +                           indio_dev);
> > +   if (ret)
> > +           goto error_kfifo_free;
> > +
> > +   indio_dev->setup_ops = setup_ops;
> > +   indio_dev->modes |= INDIO_BUFFER_HARDWARE;
> > +
> > +   ret = iio_buffer_register(indio_dev,
> > +                             indio_dev->channels,
> > +                             indio_dev->num_channels);
> > +   if (ret)
> > +           goto error_free_irq;
> > +
> > +   return 0;
> > +
> > +error_free_irq:
> > +   devm_free_irq(indio_dev->dev.parent, irq, indio_dev);
> 
> What is the point of using devm_* here if you are doing explicit
> management of the resource anyway (you explicitly release it in all code
> paths)?
> 
> Thanks.
> 
> -- 
> Dmitry

I admit I am unaware at the moment about how it works.

I use devm and simply ignore the error path?

The devm function header description said something about using
devm_free when freeing. And this is the way I am used to seeing 
error handling.

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

Reply via email to