Hey Srinivas,
I did look into the panic you sent. I wasn't sure exactly what caused
the NULL pointer.
I tested it with out applying the last rotation from north patch, so
no hid usages are found, my device only has rotation_from_north, and
hid_parse_report() would return -EINVAL.
I added another check to make sure a iio channel were set up, and
return -EINVAL if not, but couldn't think of anything else.
Could you test this version with dynamic debugging and see if it is
finding any hid usage attributes.
Any ideas what could cause this? I think I'm handling errors properly
by returning what parse_report returns (-EINVAL or -ENOMEM) in probe
Thanks,
Reyad Attiyat
On Wed, Jul 9, 2014 at 2:45 PM, Srinivas Pandruvada
<srinivas.pandruvada@xxxxxxxxxxxxxxx> wrote:
On 07/09/2014 12:30 PM, Reyad Attiyat wrote:
This series of patches modifies magn-3d driver to handle the rotationDid you get chance to look at the cause of panic?
from north usage. This is done by scanning the report and then building
the iio arrays (vals and channels) dynamically.
Changes from V4
I use the address field of struct iio_chan_spec to hold the array index
of the usage attribute. The scan_index field is generated when creating
an iio channel.
Reyad Attiyat (4):
iio: Documentation: Add documentation for rotation from north sensor
usage attributes
iio: types: Added support for rotation from north usage attributes
iio: hid-sensor-magn-3d: Scan for usage attributes before setting up
iio channels
iio: hid-sensor-magn-3d: Add support for rotation from north
Documentation/ABI/testing/sysfs-bus-iio | 82 +++++++++++
drivers/iio/industrialio-core.c | 4 +
drivers/iio/magnetometer/hid-sensor-magn-3d.c | 199
++++++++++++++++++++------
include/linux/iio/types.h | 4 +
4 files changed, 245 insertions(+), 44 deletions(-)
Thanks,
Srinivas