On 05/23/2015 10:10 PM, Oliver King-Smith wrote: > >> 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? Yes. -- 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