Re: questions regarding drivers/staging/iio/accel/sca3000_core.c

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 21/07/14 09:24, Himangi Saraogi wrote:
Hi,

I was looking at the possibility of using a managed interface for
iio_device_register in sca3000_probe. But this will lead to the
iio_device_unregister function being called after
sca3000_unconfigure_ring in the remove function. I have a few
queries:

1. Is it safe to move the unregister function over the
sca3000_unconfigure_ring?
No, in fact it should be before various other things
(though it isn't currently).  The device unregister
removes the userspace interfaces.  Hence it should always
be called before anything else happens in a remove function.

2. Is it correct that on failure the probe function does not call
sca3000_unconfigure_ring?
Nope. That's a bug.  Actually the whole probe function ordering is
suspicious. The device register should probably be a lot later
(i.e. last). There might be some esoteric reason that isn't the case
but I honestly can't remember.  Whilst I have one of these parts
the wire bodge needs repairing and I haven't fired the board it plugs
into up for a good while.  If it wasn't such and interesting part I'd
be tempted to suggest dropping the driver entirely (and find out if
anyone else actually has one in the process!)

3. If it is fine moving unregister after sca3000_unconfigure_ring, I
propose to add a devm counterpart of iio_buffer_unregister. Is it a
good idea?
I'm not sure there enough users to bother and some of those should
probably use the triggered_buffer helper functions.

Thanks, Himangi
_______________________________________________
devel mailing list
devel@xxxxxxxxxxxxxxxxxxxxxx
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel




[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux