diff options
-rw-r--r-- | drivers/iio/adc/max1363.c | 8 | ||||
-rw-r--r-- | drivers/iio/dac/ad5421.c | 6 | ||||
-rw-r--r-- | drivers/iio/industrialio-event.c | 154 | ||||
-rw-r--r-- | drivers/iio/light/apds9300.c | 8 | ||||
-rw-r--r-- | drivers/iio/light/cm36651.c | 8 | ||||
-rw-r--r-- | drivers/iio/light/gp2ap020a00f.c | 8 | ||||
-rw-r--r-- | drivers/iio/light/tsl2563.c | 8 | ||||
-rw-r--r-- | drivers/staging/iio/accel/lis3l02dq_core.c | 8 | ||||
-rw-r--r-- | drivers/staging/iio/accel/sca3000_core.c | 16 | ||||
-rw-r--r-- | drivers/staging/iio/adc/ad7291.c | 8 | ||||
-rw-r--r-- | drivers/staging/iio/adc/ad799x_core.c | 6 | ||||
-rw-r--r-- | drivers/staging/iio/cdc/ad7150.c | 8 | ||||
-rw-r--r-- | drivers/staging/iio/iio_simple_dummy.c | 8 | ||||
-rw-r--r-- | drivers/staging/iio/light/tsl2x7x_core.c | 40 | ||||
-rw-r--r-- | include/linux/iio/events.h | 4 | ||||
-rw-r--r-- | include/linux/iio/iio.h | 34 |
16 files changed, 97 insertions, 235 deletions
diff --git a/drivers/iio/adc/max1363.c b/drivers/iio/adc/max1363.c index 6118dced02b6..e283f2f2ee2f 100644 --- a/drivers/iio/adc/max1363.c +++ b/drivers/iio/adc/max1363.c | |||
@@ -1039,10 +1039,10 @@ static const struct iio_info max1238_info = { | |||
1039 | }; | 1039 | }; |
1040 | 1040 | ||
1041 | static const struct iio_info max1363_info = { | 1041 | static const struct iio_info max1363_info = { |
1042 | .read_event_value_new = &max1363_read_thresh, | 1042 | .read_event_value = &max1363_read_thresh, |
1043 | .write_event_value_new = &max1363_write_thresh, | 1043 | .write_event_value = &max1363_write_thresh, |
1044 | .read_event_config_new = &max1363_read_event_config, | 1044 | .read_event_config = &max1363_read_event_config, |
1045 | .write_event_config_new = &max1363_write_event_config, | 1045 | .write_event_config = &max1363_write_event_config, |
1046 | .read_raw = &max1363_read_raw, | 1046 | .read_raw = &max1363_read_raw, |
1047 | .update_scan_mode = &max1363_update_scan_mode, | 1047 | .update_scan_mode = &max1363_update_scan_mode, |
1048 | .driver_module = THIS_MODULE, | 1048 | .driver_module = THIS_MODULE, |
diff --git a/drivers/iio/dac/ad5421.c b/drivers/iio/dac/ad5421.c index 59a0cb51265c..1cb15d8e94b7 100644 --- a/drivers/iio/dac/ad5421.c +++ b/drivers/iio/dac/ad5421.c | |||
@@ -458,9 +458,9 @@ static int ad5421_read_event_value(struct iio_dev *indio_dev, | |||
458 | static const struct iio_info ad5421_info = { | 458 | static const struct iio_info ad5421_info = { |
459 | .read_raw = ad5421_read_raw, | 459 | .read_raw = ad5421_read_raw, |
460 | .write_raw = ad5421_write_raw, | 460 | .write_raw = ad5421_write_raw, |
461 | .read_event_config_new = ad5421_read_event_config, | 461 | .read_event_config = ad5421_read_event_config, |
462 | .write_event_config_new = ad5421_write_event_config, | 462 | .write_event_config = ad5421_write_event_config, |
463 | .read_event_value_new = ad5421_read_event_value, | 463 | .read_event_value = ad5421_read_event_value, |
464 | .driver_module = THIS_MODULE, | 464 | .driver_module = THIS_MODULE, |
465 | }; | 465 | }; |
466 | 466 | ||
diff --git a/drivers/iio/industrialio-event.c b/drivers/iio/industrialio-event.c index bc043fab4cd1..c9c1419fe6e0 100644 --- a/drivers/iio/industrialio-event.c +++ b/drivers/iio/industrialio-event.c | |||
@@ -242,13 +242,9 @@ static ssize_t iio_ev_state_store(struct device *dev, | |||
242 | if (ret < 0) | 242 | if (ret < 0) |
243 | return ret; | 243 | return ret; |
244 | 244 | ||
245 | if (indio_dev->info->write_event_config) | 245 | ret = indio_dev->info->write_event_config(indio_dev, |
246 | ret = indio_dev->info->write_event_config(indio_dev, | 246 | this_attr->c, iio_ev_attr_type(this_attr), |
247 | this_attr->address, val); | 247 | iio_ev_attr_dir(this_attr), val); |
248 | else | ||
249 | ret = indio_dev->info->write_event_config_new(indio_dev, | ||
250 | this_attr->c, iio_ev_attr_type(this_attr), | ||
251 | iio_ev_attr_dir(this_attr), val); | ||
252 | 248 | ||
253 | return (ret < 0) ? ret : len; | 249 | return (ret < 0) ? ret : len; |
254 | } | 250 | } |
@@ -261,13 +257,9 @@ static ssize_t iio_ev_state_show(struct device *dev, | |||
261 | struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); | 257 | struct iio_dev_attr *this_attr = to_iio_dev_attr(attr); |
262 | int val; | 258 | int val; |
263 | 259 | ||
264 | if (indio_dev->info->read_event_config) | 260 | val = indio_dev->info->read_event_config(indio_dev, |
265 | val = indio_dev->info->read_event_config(indio_dev, | 261 | this_attr->c, iio_ev_attr_type(this_attr), |
266 | this_attr->address); | 262 | iio_ev_attr_dir(this_attr)); |
267 | else | ||
268 | val = indio_dev->info->read_event_config_new(indio_dev, | ||
269 | this_attr->c, iio_ev_attr_type(this_attr), | ||
270 | iio_ev_attr_dir(this_attr)); | ||
271 | if (val < 0) | 263 | if (val < 0) |
272 | return val; | 264 | return val; |
273 | else | 265 | else |
@@ -283,21 +275,13 @@ static ssize_t iio_ev_value_show(struct device *dev, | |||
283 | int val, val2; | 275 | int val, val2; |
284 | int ret; | 276 | int ret; |
285 | 277 | ||
286 | if (indio_dev->info->read_event_value) { | 278 | ret = indio_dev->info->read_event_value(indio_dev, |
287 | ret = indio_dev->info->read_event_value(indio_dev, | 279 | this_attr->c, iio_ev_attr_type(this_attr), |
288 | this_attr->address, &val); | 280 | iio_ev_attr_dir(this_attr), iio_ev_attr_info(this_attr), |
289 | if (ret < 0) | 281 | &val, &val2); |
290 | return ret; | 282 | if (ret < 0) |
291 | return sprintf(buf, "%d\n", val); | 283 | return ret; |
292 | } else { | 284 | return iio_format_value(buf, ret, val, val2); |
293 | ret = indio_dev->info->read_event_value_new(indio_dev, | ||
294 | this_attr->c, iio_ev_attr_type(this_attr), | ||
295 | iio_ev_attr_dir(this_attr), iio_ev_attr_info(this_attr), | ||
296 | &val, &val2); | ||
297 | if (ret < 0) | ||
298 | return ret; | ||
299 | return iio_format_value(buf, ret, val, val2); | ||
300 | } | ||
301 | } | 285 | } |
302 | 286 | ||
303 | static ssize_t iio_ev_value_store(struct device *dev, | 287 | static ssize_t iio_ev_value_store(struct device *dev, |
@@ -310,25 +294,16 @@ static ssize_t iio_ev_value_store(struct device *dev, | |||
310 | int val, val2; | 294 | int val, val2; |
311 | int ret; | 295 | int ret; |
312 | 296 | ||
313 | if (!indio_dev->info->write_event_value && | 297 | if (!indio_dev->info->write_event_value) |
314 | !indio_dev->info->write_event_value_new) | ||
315 | return -EINVAL; | 298 | return -EINVAL; |
316 | 299 | ||
317 | if (indio_dev->info->write_event_value) { | 300 | ret = iio_str_to_fixpoint(buf, 100000, &val, &val2); |
318 | ret = kstrtoint(buf, 10, &val); | 301 | if (ret) |
319 | if (ret) | 302 | return ret; |
320 | return ret; | 303 | ret = indio_dev->info->write_event_value(indio_dev, |
321 | ret = indio_dev->info->write_event_value(indio_dev, | 304 | this_attr->c, iio_ev_attr_type(this_attr), |
322 | this_attr->address, val); | 305 | iio_ev_attr_dir(this_attr), iio_ev_attr_info(this_attr), |
323 | } else { | 306 | val, val2); |
324 | ret = iio_str_to_fixpoint(buf, 100000, &val, &val2); | ||
325 | if (ret) | ||
326 | return ret; | ||
327 | ret = indio_dev->info->write_event_value_new(indio_dev, | ||
328 | this_attr->c, iio_ev_attr_type(this_attr), | ||
329 | iio_ev_attr_dir(this_attr), iio_ev_attr_info(this_attr), | ||
330 | val, val2); | ||
331 | } | ||
332 | if (ret < 0) | 307 | if (ret < 0) |
333 | return ret; | 308 | return ret; |
334 | 309 | ||
@@ -377,7 +352,7 @@ static int iio_device_add_event(struct iio_dev *indio_dev, | |||
377 | return attrcount; | 352 | return attrcount; |
378 | } | 353 | } |
379 | 354 | ||
380 | static int iio_device_add_event_sysfs_new(struct iio_dev *indio_dev, | 355 | static int iio_device_add_event_sysfs(struct iio_dev *indio_dev, |
381 | struct iio_chan_spec const *chan) | 356 | struct iio_chan_spec const *chan) |
382 | { | 357 | { |
383 | int ret = 0, i, attrcount = 0; | 358 | int ret = 0, i, attrcount = 0; |
@@ -420,89 +395,6 @@ error_ret: | |||
420 | return ret; | 395 | return ret; |
421 | } | 396 | } |
422 | 397 | ||
423 | static int iio_device_add_event_sysfs_old(struct iio_dev *indio_dev, | ||
424 | struct iio_chan_spec const *chan) | ||
425 | { | ||
426 | int ret = 0, i, attrcount = 0; | ||
427 | u64 mask = 0; | ||
428 | char *postfix; | ||
429 | if (!chan->event_mask) | ||
430 | return 0; | ||
431 | |||
432 | for_each_set_bit(i, &chan->event_mask, sizeof(chan->event_mask)*8) { | ||
433 | postfix = kasprintf(GFP_KERNEL, "%s_%s_en", | ||
434 | iio_ev_type_text[i/IIO_EV_DIR_MAX], | ||
435 | iio_ev_dir_text[i%IIO_EV_DIR_MAX]); | ||
436 | if (postfix == NULL) { | ||
437 | ret = -ENOMEM; | ||
438 | goto error_ret; | ||
439 | } | ||
440 | if (chan->modified) | ||
441 | mask = IIO_MOD_EVENT_CODE(chan->type, 0, chan->channel2, | ||
442 | i/IIO_EV_DIR_MAX, | ||
443 | i%IIO_EV_DIR_MAX); | ||
444 | else if (chan->differential) | ||
445 | mask = IIO_EVENT_CODE(chan->type, | ||
446 | 0, 0, | ||
447 | i%IIO_EV_DIR_MAX, | ||
448 | i/IIO_EV_DIR_MAX, | ||
449 | 0, | ||
450 | chan->channel, | ||
451 | chan->channel2); | ||
452 | else | ||
453 | mask = IIO_UNMOD_EVENT_CODE(chan->type, | ||
454 | chan->channel, | ||
455 | i/IIO_EV_DIR_MAX, | ||
456 | i%IIO_EV_DIR_MAX); | ||
457 | |||
458 | ret = __iio_add_chan_devattr(postfix, | ||
459 | chan, | ||
460 | &iio_ev_state_show, | ||
461 | iio_ev_state_store, | ||
462 | mask, | ||
463 | 0, | ||
464 | &indio_dev->dev, | ||
465 | &indio_dev->event_interface-> | ||
466 | dev_attr_list); | ||
467 | kfree(postfix); | ||
468 | if (ret) | ||
469 | goto error_ret; | ||
470 | attrcount++; | ||
471 | postfix = kasprintf(GFP_KERNEL, "%s_%s_value", | ||
472 | iio_ev_type_text[i/IIO_EV_DIR_MAX], | ||
473 | iio_ev_dir_text[i%IIO_EV_DIR_MAX]); | ||
474 | if (postfix == NULL) { | ||
475 | ret = -ENOMEM; | ||
476 | goto error_ret; | ||
477 | } | ||
478 | ret = __iio_add_chan_devattr(postfix, chan, | ||
479 | iio_ev_value_show, | ||
480 | iio_ev_value_store, | ||
481 | mask, | ||
482 | 0, | ||
483 | &indio_dev->dev, | ||
484 | &indio_dev->event_interface-> | ||
485 | dev_attr_list); | ||
486 | kfree(postfix); | ||
487 | if (ret) | ||
488 | goto error_ret; | ||
489 | attrcount++; | ||
490 | } | ||
491 | ret = attrcount; | ||
492 | error_ret: | ||
493 | return ret; | ||
494 | } | ||
495 | |||
496 | |||
497 | static int iio_device_add_event_sysfs(struct iio_dev *indio_dev, | ||
498 | struct iio_chan_spec const *chan) | ||
499 | { | ||
500 | if (chan->event_mask) | ||
501 | return iio_device_add_event_sysfs_old(indio_dev, chan); | ||
502 | else | ||
503 | return iio_device_add_event_sysfs_new(indio_dev, chan); | ||
504 | } | ||
505 | |||
506 | static inline int __iio_add_event_config_attrs(struct iio_dev *indio_dev) | 398 | static inline int __iio_add_event_config_attrs(struct iio_dev *indio_dev) |
507 | { | 399 | { |
508 | int j, ret, attrcount = 0; | 400 | int j, ret, attrcount = 0; |
@@ -523,8 +415,6 @@ static bool iio_check_for_dynamic_events(struct iio_dev *indio_dev) | |||
523 | int j; | 415 | int j; |
524 | 416 | ||
525 | for (j = 0; j < indio_dev->num_channels; j++) { | 417 | for (j = 0; j < indio_dev->num_channels; j++) { |
526 | if (indio_dev->channels[j].event_mask != 0) | ||
527 | return true; | ||
528 | if (indio_dev->channels[j].num_event_specs != 0) | 418 | if (indio_dev->channels[j].num_event_specs != 0) |
529 | return true; | 419 | return true; |
530 | } | 420 | } |
diff --git a/drivers/iio/light/apds9300.c b/drivers/iio/light/apds9300.c index 51097bbd59c9..9ddde0ca9c34 100644 --- a/drivers/iio/light/apds9300.c +++ b/drivers/iio/light/apds9300.c | |||
@@ -344,10 +344,10 @@ static const struct iio_info apds9300_info_no_irq = { | |||
344 | static const struct iio_info apds9300_info = { | 344 | static const struct iio_info apds9300_info = { |
345 | .driver_module = THIS_MODULE, | 345 | .driver_module = THIS_MODULE, |
346 | .read_raw = apds9300_read_raw, | 346 | .read_raw = apds9300_read_raw, |
347 | .read_event_value_new = apds9300_read_thresh, | 347 | .read_event_value = apds9300_read_thresh, |
348 | .write_event_value_new = apds9300_write_thresh, | 348 | .write_event_value = apds9300_write_thresh, |
349 | .read_event_config_new = apds9300_read_interrupt_config, | 349 | .read_event_config = apds9300_read_interrupt_config, |
350 | .write_event_config_new = apds9300_write_interrupt_config, | 350 | .write_event_config = apds9300_write_interrupt_config, |
351 | }; | 351 | }; |
352 | 352 | ||
353 | static const struct iio_event_spec apds9300_event_spec[] = { | 353 | static const struct iio_event_spec apds9300_event_spec[] = { |
diff --git a/drivers/iio/light/cm36651.c b/drivers/iio/light/cm36651.c index 2a0eb8de3396..000cc8eb362d 100644 --- a/drivers/iio/light/cm36651.c +++ b/drivers/iio/light/cm36651.c | |||
@@ -614,10 +614,10 @@ static const struct iio_info cm36651_info = { | |||
614 | .driver_module = THIS_MODULE, | 614 | .driver_module = THIS_MODULE, |
615 | .read_raw = &cm36651_read_raw, | 615 | .read_raw = &cm36651_read_raw, |
616 | .write_raw = &cm36651_write_raw, | 616 | .write_raw = &cm36651_write_raw, |
617 | .read_event_value_new = &cm36651_read_prox_thresh, | 617 | .read_event_value = &cm36651_read_prox_thresh, |
618 | .write_event_value_new = &cm36651_write_prox_thresh, | 618 | .write_event_value = &cm36651_write_prox_thresh, |
619 | .read_event_config_new = &cm36651_read_prox_event_config, | 619 | .read_event_config = &cm36651_read_prox_event_config, |
620 | .write_event_config_new = &cm36651_write_prox_event_config, | 620 | .write_event_config = &cm36651_write_prox_event_config, |
621 | .attrs = &cm36651_attribute_group, | 621 | .attrs = &cm36651_attribute_group, |
622 | }; | 622 | }; |
623 | 623 | ||
diff --git a/drivers/iio/light/gp2ap020a00f.c b/drivers/iio/light/gp2ap020a00f.c index dc79835be308..5ea4a03c7e71 100644 --- a/drivers/iio/light/gp2ap020a00f.c +++ b/drivers/iio/light/gp2ap020a00f.c | |||
@@ -1388,10 +1388,10 @@ static const struct iio_chan_spec gp2ap020a00f_channels[] = { | |||
1388 | 1388 | ||
1389 | static const struct iio_info gp2ap020a00f_info = { | 1389 | static const struct iio_info gp2ap020a00f_info = { |
1390 | .read_raw = &gp2ap020a00f_read_raw, | 1390 | .read_raw = &gp2ap020a00f_read_raw, |
1391 | .read_event_value_new = &gp2ap020a00f_read_event_val, | 1391 | .read_event_value = &gp2ap020a00f_read_event_val, |
1392 | .read_event_config_new = &gp2ap020a00f_read_event_config, | 1392 | .read_event_config = &gp2ap020a00f_read_event_config, |
1393 | .write_event_value_new = &gp2ap020a00f_write_event_val, | 1393 | .write_event_value = &gp2ap020a00f_write_event_val, |
1394 | .write_event_config_new = &gp2ap020a00f_write_event_config, | 1394 | .write_event_config = &gp2ap020a00f_write_event_config, |
1395 | .driver_module = THIS_MODULE, | 1395 | .driver_module = THIS_MODULE, |
1396 | }; | 1396 | }; |
1397 | 1397 | ||
diff --git a/drivers/iio/light/tsl2563.c b/drivers/iio/light/tsl2563.c index 0c6e459c86b1..3d8110157f2d 100644 --- a/drivers/iio/light/tsl2563.c +++ b/drivers/iio/light/tsl2563.c | |||
@@ -702,10 +702,10 @@ static const struct iio_info tsl2563_info = { | |||
702 | .driver_module = THIS_MODULE, | 702 | .driver_module = THIS_MODULE, |
703 | .read_raw = &tsl2563_read_raw, | 703 | .read_raw = &tsl2563_read_raw, |
704 | .write_raw = &tsl2563_write_raw, | 704 | .write_raw = &tsl2563_write_raw, |
705 | .read_event_value_new = &tsl2563_read_thresh, | 705 | .read_event_value = &tsl2563_read_thresh, |
706 | .write_event_value_new = &tsl2563_write_thresh, | 706 | .write_event_value = &tsl2563_write_thresh, |
707 | .read_event_config_new = &tsl2563_read_interrupt_config, | 707 | .read_event_config = &tsl2563_read_interrupt_config, |
708 | .write_event_config_new = &tsl2563_write_interrupt_config, | 708 | .write_event_config = &tsl2563_write_interrupt_config, |
709 | }; | 709 | }; |
710 | 710 | ||
711 | static int tsl2563_probe(struct i2c_client *client, | 711 | static int tsl2563_probe(struct i2c_client *client, |
diff --git a/drivers/staging/iio/accel/lis3l02dq_core.c b/drivers/staging/iio/accel/lis3l02dq_core.c index 735c0a34fa93..898653c09279 100644 --- a/drivers/staging/iio/accel/lis3l02dq_core.c +++ b/drivers/staging/iio/accel/lis3l02dq_core.c | |||
@@ -676,10 +676,10 @@ static const struct attribute_group lis3l02dq_attribute_group = { | |||
676 | static const struct iio_info lis3l02dq_info = { | 676 | static const struct iio_info lis3l02dq_info = { |
677 | .read_raw = &lis3l02dq_read_raw, | 677 | .read_raw = &lis3l02dq_read_raw, |
678 | .write_raw = &lis3l02dq_write_raw, | 678 | .write_raw = &lis3l02dq_write_raw, |
679 | .read_event_value_new = &lis3l02dq_read_thresh, | 679 | .read_event_value = &lis3l02dq_read_thresh, |
680 | .write_event_value_new = &lis3l02dq_write_thresh, | 680 | .write_event_value = &lis3l02dq_write_thresh, |
681 | .write_event_config_new = &lis3l02dq_write_event_config, | 681 | .write_event_config = &lis3l02dq_write_event_config, |
682 | .read_event_config_new = &lis3l02dq_read_event_config, | 682 | .read_event_config = &lis3l02dq_read_event_config, |
683 | .driver_module = THIS_MODULE, | 683 | .driver_module = THIS_MODULE, |
684 | .attrs = &lis3l02dq_attribute_group, | 684 | .attrs = &lis3l02dq_attribute_group, |
685 | }; | 685 | }; |
diff --git a/drivers/staging/iio/accel/sca3000_core.c b/drivers/staging/iio/accel/sca3000_core.c index c49e6ef9d05f..7f6ccdfaf168 100644 --- a/drivers/staging/iio/accel/sca3000_core.c +++ b/drivers/staging/iio/accel/sca3000_core.c | |||
@@ -1126,20 +1126,20 @@ static const struct iio_info sca3000_info = { | |||
1126 | .attrs = &sca3000_attribute_group, | 1126 | .attrs = &sca3000_attribute_group, |
1127 | .read_raw = &sca3000_read_raw, | 1127 | .read_raw = &sca3000_read_raw, |
1128 | .event_attrs = &sca3000_event_attribute_group, | 1128 | .event_attrs = &sca3000_event_attribute_group, |
1129 | .read_event_value_new = &sca3000_read_thresh, | 1129 | .read_event_value = &sca3000_read_thresh, |
1130 | .write_event_value_new = &sca3000_write_thresh, | 1130 | .write_event_value = &sca3000_write_thresh, |
1131 | .read_event_config_new = &sca3000_read_event_config, | 1131 | .read_event_config = &sca3000_read_event_config, |
1132 | .write_event_config_new = &sca3000_write_event_config, | 1132 | .write_event_config = &sca3000_write_event_config, |
1133 | .driver_module = THIS_MODULE, | 1133 | .driver_module = THIS_MODULE, |
1134 | }; | 1134 | }; |
1135 | 1135 | ||
1136 | static const struct iio_info sca3000_info_with_temp = { | 1136 | static const struct iio_info sca3000_info_with_temp = { |
1137 | .attrs = &sca3000_attribute_group_with_temp, | 1137 | .attrs = &sca3000_attribute_group_with_temp, |
1138 | .read_raw = &sca3000_read_raw, | 1138 | .read_raw = &sca3000_read_raw, |
1139 | .read_event_value_new = &sca3000_read_thresh, | 1139 | .read_event_value = &sca3000_read_thresh, |
1140 | .write_event_value_new = &sca3000_write_thresh, | 1140 | .write_event_value = &sca3000_write_thresh, |
1141 | .read_event_config_new = &sca3000_read_event_config, | 1141 | .read_event_config = &sca3000_read_event_config, |
1142 | .write_event_config_new = &sca3000_write_event_config, | 1142 | .write_event_config = &sca3000_write_event_config, |
1143 | .driver_module = THIS_MODULE, | 1143 | .driver_module = THIS_MODULE, |
1144 | }; | 1144 | }; |
1145 | 1145 | ||
diff --git a/drivers/staging/iio/adc/ad7291.c b/drivers/staging/iio/adc/ad7291.c index d13f8aeeb62f..357cef2a6f4c 100644 --- a/drivers/staging/iio/adc/ad7291.c +++ b/drivers/staging/iio/adc/ad7291.c | |||
@@ -452,10 +452,10 @@ static const struct iio_chan_spec ad7291_channels[] = { | |||
452 | 452 | ||
453 | static const struct iio_info ad7291_info = { | 453 | static const struct iio_info ad7291_info = { |
454 | .read_raw = &ad7291_read_raw, | 454 | .read_raw = &ad7291_read_raw, |
455 | .read_event_config_new = &ad7291_read_event_config, | 455 | .read_event_config = &ad7291_read_event_config, |
456 | .write_event_config_new = &ad7291_write_event_config, | 456 | .write_event_config = &ad7291_write_event_config, |
457 | .read_event_value_new = &ad7291_read_event_value, | 457 | .read_event_value = &ad7291_read_event_value, |
458 | .write_event_value_new = &ad7291_write_event_value, | 458 | .write_event_value = &ad7291_write_event_value, |
459 | .driver_module = THIS_MODULE, | 459 | .driver_module = THIS_MODULE, |
460 | }; | 460 | }; |
461 | 461 | ||
diff --git a/drivers/staging/iio/adc/ad799x_core.c b/drivers/staging/iio/adc/ad799x_core.c index 9428be82b655..5ea36410f716 100644 --- a/drivers/staging/iio/adc/ad799x_core.c +++ b/drivers/staging/iio/adc/ad799x_core.c | |||
@@ -377,9 +377,9 @@ static const struct iio_info ad7991_info = { | |||
377 | static const struct iio_info ad7993_4_7_8_info = { | 377 | static const struct iio_info ad7993_4_7_8_info = { |
378 | .read_raw = &ad799x_read_raw, | 378 | .read_raw = &ad799x_read_raw, |
379 | .event_attrs = &ad799x_event_attrs_group, | 379 | .event_attrs = &ad799x_event_attrs_group, |
380 | .read_event_config_new = &ad799x_read_event_config, | 380 | .read_event_config = &ad799x_read_event_config, |
381 | .read_event_value_new = &ad799x_read_event_value, | 381 | .read_event_value = &ad799x_read_event_value, |
382 | .write_event_value_new = &ad799x_write_event_value, | 382 | .write_event_value = &ad799x_write_event_value, |
383 | .driver_module = THIS_MODULE, | 383 | .driver_module = THIS_MODULE, |
384 | .update_scan_mode = ad7997_8_update_scan_mode, | 384 | .update_scan_mode = ad7997_8_update_scan_mode, |
385 | }; | 385 | }; |
diff --git a/drivers/staging/iio/cdc/ad7150.c b/drivers/staging/iio/cdc/ad7150.c index 7e7f9890a642..047af2376300 100644 --- a/drivers/staging/iio/cdc/ad7150.c +++ b/drivers/staging/iio/cdc/ad7150.c | |||
@@ -576,10 +576,10 @@ static const struct iio_info ad7150_info = { | |||
576 | .event_attrs = &ad7150_event_attribute_group, | 576 | .event_attrs = &ad7150_event_attribute_group, |
577 | .driver_module = THIS_MODULE, | 577 | .driver_module = THIS_MODULE, |
578 | .read_raw = &ad7150_read_raw, | 578 | .read_raw = &ad7150_read_raw, |
579 | .read_event_config_new = &ad7150_read_event_config, | 579 | .read_event_config = &ad7150_read_event_config, |
580 | .write_event_config_new = &ad7150_write_event_config, | 580 | .write_event_config = &ad7150_write_event_config, |
581 | .read_event_value_new = &ad7150_read_event_value, | 581 | .read_event_value = &ad7150_read_event_value, |
582 | .write_event_value_new = &ad7150_write_event_value, | 582 | .write_event_value = &ad7150_write_event_value, |
583 | }; | 583 | }; |
584 | 584 | ||
585 | /* | 585 | /* |
diff --git a/drivers/staging/iio/iio_simple_dummy.c b/drivers/staging/iio/iio_simple_dummy.c index 1fac9894b18c..fd334a03a49a 100644 --- a/drivers/staging/iio/iio_simple_dummy.c +++ b/drivers/staging/iio/iio_simple_dummy.c | |||
@@ -370,10 +370,10 @@ static const struct iio_info iio_dummy_info = { | |||
370 | .read_raw = &iio_dummy_read_raw, | 370 | .read_raw = &iio_dummy_read_raw, |
371 | .write_raw = &iio_dummy_write_raw, | 371 | .write_raw = &iio_dummy_write_raw, |
372 | #ifdef CONFIG_IIO_SIMPLE_DUMMY_EVENTS | 372 | #ifdef CONFIG_IIO_SIMPLE_DUMMY_EVENTS |
373 | .read_event_config_new = &iio_simple_dummy_read_event_config, | 373 | .read_event_config = &iio_simple_dummy_read_event_config, |
374 | .write_event_config_new = &iio_simple_dummy_write_event_config, | 374 | .write_event_config = &iio_simple_dummy_write_event_config, |
375 | .read_event_value_new = &iio_simple_dummy_read_event_value, | 375 | .read_event_value = &iio_simple_dummy_read_event_value, |
376 | .write_event_value_new = &iio_simple_dummy_write_event_value, | 376 | .write_event_value = &iio_simple_dummy_write_event_value, |
377 | #endif /* CONFIG_IIO_SIMPLE_DUMMY_EVENTS */ | 377 | #endif /* CONFIG_IIO_SIMPLE_DUMMY_EVENTS */ |
378 | }; | 378 | }; |
379 | 379 | ||
diff --git a/drivers/staging/iio/light/tsl2x7x_core.c b/drivers/staging/iio/light/tsl2x7x_core.c index 18805029d2a9..1e538086d48b 100644 --- a/drivers/staging/iio/light/tsl2x7x_core.c +++ b/drivers/staging/iio/light/tsl2x7x_core.c | |||
@@ -1672,10 +1672,10 @@ static const struct iio_info tsl2X7X_device_info[] = { | |||
1672 | .driver_module = THIS_MODULE, | 1672 | .driver_module = THIS_MODULE, |
1673 | .read_raw = &tsl2x7x_read_raw, | 1673 | .read_raw = &tsl2x7x_read_raw, |
1674 | .write_raw = &tsl2x7x_write_raw, | 1674 | .write_raw = &tsl2x7x_write_raw, |
1675 | .read_event_value_new = &tsl2x7x_read_thresh, | 1675 | .read_event_value = &tsl2x7x_read_thresh, |
1676 | .write_event_value_new = &tsl2x7x_write_thresh, | 1676 | .write_event_value = &tsl2x7x_write_thresh, |
1677 | .read_event_config_new = &tsl2x7x_read_interrupt_config, | 1677 | .read_event_config = &tsl2x7x_read_interrupt_config, |
1678 | .write_event_config_new = &tsl2x7x_write_interrupt_config, | 1678 | .write_event_config = &tsl2x7x_write_interrupt_config, |
1679 | }, | 1679 | }, |
1680 | [PRX] = { | 1680 | [PRX] = { |
1681 | .attrs = &tsl2X7X_device_attr_group_tbl[PRX], | 1681 | .attrs = &tsl2X7X_device_attr_group_tbl[PRX], |
@@ -1683,10 +1683,10 @@ static const struct iio_info tsl2X7X_device_info[] = { | |||
1683 | .driver_module = THIS_MODULE, | 1683 | .driver_module = THIS_MODULE, |
1684 | .read_raw = &tsl2x7x_read_raw, | 1684 | .read_raw = &tsl2x7x_read_raw, |
1685 | .write_raw = &tsl2x7x_write_raw, | 1685 | .write_raw = &tsl2x7x_write_raw, |
1686 | .read_event_value_new = &tsl2x7x_read_thresh, | 1686 | .read_event_value = &tsl2x7x_read_thresh, |
1687 | .write_event_value_new = &tsl2x7x_write_thresh, | 1687 | .write_event_value = &tsl2x7x_write_thresh, |
1688 | .read_event_config_new = &tsl2x7x_read_interrupt_config, | 1688 | .read_event_config = &tsl2x7x_read_interrupt_config, |
1689 | .write_event_config_new = &tsl2x7x_write_interrupt_config, | 1689 | .write_event_config = &tsl2x7x_write_interrupt_config, |
1690 | }, | 1690 | }, |
1691 | [ALSPRX] = { | 1691 | [ALSPRX] = { |
1692 | .attrs = &tsl2X7X_device_attr_group_tbl[ALSPRX], | 1692 | .attrs = &tsl2X7X_device_attr_group_tbl[ALSPRX], |
@@ -1694,10 +1694,10 @@ static const struct iio_info tsl2X7X_device_info[] = { | |||
1694 | .driver_module = THIS_MODULE, | 1694 | .driver_module = THIS_MODULE, |
1695 | .read_raw = &tsl2x7x_read_raw, | 1695 | .read_raw = &tsl2x7x_read_raw, |
1696 | .write_raw = &tsl2x7x_write_raw, | 1696 | .write_raw = &tsl2x7x_write_raw, |
1697 | .read_event_value_new = &tsl2x7x_read_thresh, | 1697 | .read_event_value = &tsl2x7x_read_thresh, |
1698 | .write_event_value_new = &tsl2x7x_write_thresh, | 1698 | .write_event_value = &tsl2x7x_write_thresh, |
1699 | .read_event_config_new = &tsl2x7x_read_interrupt_config, | 1699 | .read_event_config = &tsl2x7x_read_interrupt_config, |
1700 | .write_event_config_new = &tsl2x7x_write_interrupt_config, | 1700 | .write_event_config = &tsl2x7x_write_interrupt_config, |
1701 | }, | 1701 | }, |
1702 | [PRX2] = { | 1702 | [PRX2] = { |
1703 | .attrs = &tsl2X7X_device_attr_group_tbl[PRX2], | 1703 | .attrs = &tsl2X7X_device_attr_group_tbl[PRX2], |
@@ -1705,10 +1705,10 @@ static const struct iio_info tsl2X7X_device_info[] = { | |||
1705 | .driver_module = THIS_MODULE, | 1705 | .driver_module = THIS_MODULE, |
1706 | .read_raw = &tsl2x7x_read_raw, | 1706 | .read_raw = &tsl2x7x_read_raw, |
1707 | .write_raw = &tsl2x7x_write_raw, | 1707 | .write_raw = &tsl2x7x_write_raw, |
1708 | .read_event_value_new = &tsl2x7x_read_thresh, | 1708 | .read_event_value = &tsl2x7x_read_thresh, |
1709 | .write_event_value_new = &tsl2x7x_write_thresh, | 1709 | .write_event_value = &tsl2x7x_write_thresh, |
1710 | .read_event_config_new = &tsl2x7x_read_interrupt_config, | 1710 | .read_event_config = &tsl2x7x_read_interrupt_config, |
1711 | .write_event_config_new = &tsl2x7x_write_interrupt_config, | 1711 | .write_event_config = &tsl2x7x_write_interrupt_config, |
1712 | }, | 1712 | }, |
1713 | [ALSPRX2] = { | 1713 | [ALSPRX2] = { |
1714 | .attrs = &tsl2X7X_device_attr_group_tbl[ALSPRX2], | 1714 | .attrs = &tsl2X7X_device_attr_group_tbl[ALSPRX2], |
@@ -1716,10 +1716,10 @@ static const struct iio_info tsl2X7X_device_info[] = { | |||
1716 | .driver_module = THIS_MODULE, | 1716 | .driver_module = THIS_MODULE, |
1717 | .read_raw = &tsl2x7x_read_raw, | 1717 | .read_raw = &tsl2x7x_read_raw, |
1718 | .write_raw = &tsl2x7x_write_raw, | 1718 | .write_raw = &tsl2x7x_write_raw, |
1719 | .read_event_value_new = &tsl2x7x_read_thresh, | 1719 | .read_event_value = &tsl2x7x_read_thresh, |
1720 | .write_event_value_new = &tsl2x7x_write_thresh, | 1720 | .write_event_value = &tsl2x7x_write_thresh, |
1721 | .read_event_config_new = &tsl2x7x_read_interrupt_config, | 1721 | .read_event_config = &tsl2x7x_read_interrupt_config, |
1722 | .write_event_config_new = &tsl2x7x_write_interrupt_config, | 1722 | .write_event_config = &tsl2x7x_write_interrupt_config, |
1723 | }, | 1723 | }, |
1724 | }; | 1724 | }; |
1725 | 1725 | ||
diff --git a/include/linux/iio/events.h b/include/linux/iio/events.h index 5dab2c41031f..8bbd7bc1043d 100644 --- a/include/linux/iio/events.h +++ b/include/linux/iio/events.h | |||
@@ -46,10 +46,6 @@ struct iio_event_data { | |||
46 | ((u16)chan)) | 46 | ((u16)chan)) |
47 | 47 | ||
48 | 48 | ||
49 | #define IIO_EV_DIR_MAX 4 | ||
50 | #define IIO_EV_BIT(type, direction) \ | ||
51 | (1 << (type*IIO_EV_DIR_MAX + direction)) | ||
52 | |||
53 | /** | 49 | /** |
54 | * IIO_MOD_EVENT_CODE() - create event identifier for modified channels | 50 | * IIO_MOD_EVENT_CODE() - create event identifier for modified channels |
55 | * @chan_type: Type of the channel. Should be one of enum iio_chan_type. | 51 | * @chan_type: Type of the channel. Should be one of enum iio_chan_type. |
diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h index 5b125fd554e4..75a8a20c8179 100644 --- a/include/linux/iio/iio.h +++ b/include/linux/iio/iio.h | |||
@@ -185,7 +185,6 @@ struct iio_event_spec { | |||
185 | * by all channels of the same direction. | 185 | * by all channels of the same direction. |
186 | * @info_mask_shared_by_all: What information is to be exported that is shared | 186 | * @info_mask_shared_by_all: What information is to be exported that is shared |
187 | * by all channels. | 187 | * by all channels. |
188 | * @event_mask: What events can this channel produce. | ||
189 | * @event_spec: Array of events which should be registered for this | 188 | * @event_spec: Array of events which should be registered for this |
190 | * channel. | 189 | * channel. |
191 | * @num_event_specs: Size of the event_spec array. | 190 | * @num_event_specs: Size of the event_spec array. |
@@ -226,7 +225,6 @@ struct iio_chan_spec { | |||
226 | long info_mask_shared_by_type; | 225 | long info_mask_shared_by_type; |
227 | long info_mask_shared_by_dir; | 226 | long info_mask_shared_by_dir; |
228 | long info_mask_shared_by_all; | 227 | long info_mask_shared_by_all; |
229 | long event_mask; | ||
230 | const struct iio_event_spec *event_spec; | 228 | const struct iio_event_spec *event_spec; |
231 | unsigned int num_event_specs; | 229 | unsigned int num_event_specs; |
232 | const struct iio_chan_spec_ext_info *ext_info; | 230 | const struct iio_chan_spec_ext_info *ext_info; |
@@ -307,16 +305,8 @@ struct iio_dev; | |||
307 | * returns IIO_VAL_INT_PLUS_MICRO. | 305 | * returns IIO_VAL_INT_PLUS_MICRO. |
308 | * @read_event_config: find out if the event is enabled. | 306 | * @read_event_config: find out if the event is enabled. |
309 | * @write_event_config: set if the event is enabled. | 307 | * @write_event_config: set if the event is enabled. |
310 | * @read_event_value: read a value associated with the event. Meaning | 308 | * @read_event_value: read a configuration value associated with the event. |
311 | * is event dependant. event_code specifies which event. | 309 | * @write_event_value: write a configuration value for the event. |
312 | * @write_event_value: write the value associated with the event. | ||
313 | * Meaning is event dependent. | ||
314 | * @read_event_config_new: find out if the event is enabled. New style interface. | ||
315 | * @write_event_config_new: set if the event is enabled. New style interface. | ||
316 | * @read_event_value_new: read a configuration value associated with the event. | ||
317 | * New style interface. | ||
318 | * @write_event_value_new: write a configuration value for the event. New style | ||
319 | * interface. | ||
320 | * @validate_trigger: function to validate the trigger when the | 310 | * @validate_trigger: function to validate the trigger when the |
321 | * current trigger gets changed. | 311 | * current trigger gets changed. |
322 | * @update_scan_mode: function to configure device and scan buffer when | 312 | * @update_scan_mode: function to configure device and scan buffer when |
@@ -345,37 +335,23 @@ struct iio_info { | |||
345 | long mask); | 335 | long mask); |
346 | 336 | ||
347 | int (*read_event_config)(struct iio_dev *indio_dev, | 337 | int (*read_event_config)(struct iio_dev *indio_dev, |
348 | u64 event_code); | ||
349 | |||
350 | int (*write_event_config)(struct iio_dev *indio_dev, | ||
351 | u64 event_code, | ||
352 | int state); | ||
353 | |||
354 | int (*read_event_value)(struct iio_dev *indio_dev, | ||
355 | u64 event_code, | ||
356 | int *val); | ||
357 | int (*write_event_value)(struct iio_dev *indio_dev, | ||
358 | u64 event_code, | ||
359 | int val); | ||
360 | |||
361 | int (*read_event_config_new)(struct iio_dev *indio_dev, | ||
362 | const struct iio_chan_spec *chan, | 338 | const struct iio_chan_spec *chan, |
363 | enum iio_event_type type, | 339 | enum iio_event_type type, |
364 | enum iio_event_direction dir); | 340 | enum iio_event_direction dir); |
365 | 341 | ||
366 | int (*write_event_config_new)(struct iio_dev *indio_dev, | 342 | int (*write_event_config)(struct iio_dev *indio_dev, |
367 | const struct iio_chan_spec *chan, | 343 | const struct iio_chan_spec *chan, |
368 | enum iio_event_type type, | 344 | enum iio_event_type type, |
369 | enum iio_event_direction dir, | 345 | enum iio_event_direction dir, |
370 | int state); | 346 | int state); |
371 | 347 | ||
372 | int (*read_event_value_new)(struct iio_dev *indio_dev, | 348 | int (*read_event_value)(struct iio_dev *indio_dev, |
373 | const struct iio_chan_spec *chan, | 349 | const struct iio_chan_spec *chan, |
374 | enum iio_event_type type, | 350 | enum iio_event_type type, |
375 | enum iio_event_direction dir, | 351 | enum iio_event_direction dir, |
376 | enum iio_event_info info, int *val, int *val2); | 352 | enum iio_event_info info, int *val, int *val2); |
377 | 353 | ||
378 | int (*write_event_value_new)(struct iio_dev *indio_dev, | 354 | int (*write_event_value)(struct iio_dev *indio_dev, |
379 | const struct iio_chan_spec *chan, | 355 | const struct iio_chan_spec *chan, |
380 | enum iio_event_type type, | 356 | enum iio_event_type type, |
381 | enum iio_event_direction dir, | 357 | enum iio_event_direction dir, |