> On May 23, 2015, at 1:50 AM, Lars-Peter Clausen <lars@xxxxxxxxxx> wrote: > > On 05/22/2015 08:31 PM, Oliver King-Smith wrote: >> I am trying to back port the bmg160 driver to the 3.10.9 kernel to work on an Android 4.4.x device. >> >> The API for in ii_info has changed quite a bit between the 3.18 and the 3.10 kernel. So this function won’t compile >> >> static int bmg160_read_event(struct iio_dev *indio_dev, >> const struct iio_chan_spec *chan, >> enum iio_event_type type, >> enum iio_event_direction dir, >> enum iio_event_info info, >> int *val, int *val2) >> { >> struct bmg160_data *data = iio_priv(indio_dev); >> >> *val2 = 0; >> switch (info) { >> case IIO_EV_INFO_VALUE: >> *val = data->slope_thres & BMG160_SLOPE_THRES_MASK; >> break; >> default: >> return -EINVAL; >> } >> >> return IIO_VAL_INT; >> } >> >> The 3.10 prototype for this function is >> int (*read_event_value)(struct iio_dev *indio_dev, >> u64 event_code, >> int *val); >> >> My question is what does IIO_EV_INFO_VALUE map to in the old event_code in the 3.10.9 kernel > > Nothing. With the old API events could only have values and no other attributes. I may be miss interpreting this, but my read is I should just ignore the event_code and set val to *val = data->slope_thres & BMG160_SLOPE_THRES_MASK; Does that seem reasonable? > > - Lars > -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html