Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

iio: core: move @id from struct iio_dev to struct iio_dev_opaque

Continuing from Alexandru Ardelean's introduction of the split between
driver modifiable fields and those that should only be set by the core.

This could have been done in two steps to make the actual move after
introducing iio_device_id() but there seemed limited point to that
given how mechanical the majority of the patch is.

Includes fixup from Alex for missing mxs-lradc-adc conversion.

Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
Reviewed-by: Alexandru Ardelean <ardeleanalex@gmail.com>
Link: https://lore.kernel.org/r/20210426174911.397061-2-jic23@kernel.org

+89 -60
+2 -2
drivers/iio/accel/adxl372.c
··· 1223 1223 st->dready_trig = devm_iio_trigger_alloc(dev, 1224 1224 "%s-dev%d", 1225 1225 indio_dev->name, 1226 - indio_dev->id); 1226 + iio_device_id(indio_dev)); 1227 1227 if (st->dready_trig == NULL) 1228 1228 return -ENOMEM; 1229 1229 1230 1230 st->peak_datardy_trig = devm_iio_trigger_alloc(dev, 1231 1231 "%s-dev%d-peak", 1232 1232 indio_dev->name, 1233 - indio_dev->id); 1233 + iio_device_id(indio_dev)); 1234 1234 if (!st->peak_datardy_trig) 1235 1235 return -ENOMEM; 1236 1236
+1 -1
drivers/iio/accel/bma180.c
··· 1045 1045 1046 1046 if (client->irq > 0) { 1047 1047 data->trig = iio_trigger_alloc(dev, "%s-dev%d", indio_dev->name, 1048 - indio_dev->id); 1048 + iio_device_id(indio_dev)); 1049 1049 if (!data->trig) { 1050 1050 ret = -ENOMEM; 1051 1051 goto err_chip_disable;
+2 -2
drivers/iio/accel/bmc150-accel-core.c
··· 1470 1470 struct bmc150_accel_trigger *t = &data->triggers[i]; 1471 1471 1472 1472 t->indio_trig = devm_iio_trigger_alloc(dev, 1473 - bmc150_accel_triggers[i].name, 1473 + bmc150_accel_triggers[i].name, 1474 1474 indio_dev->name, 1475 - indio_dev->id); 1475 + iio_device_id(indio_dev)); 1476 1476 if (!t->indio_trig) { 1477 1477 ret = -ENOMEM; 1478 1478 break;
+2 -2
drivers/iio/accel/kxcjk-1013.c
··· 1404 1404 data->dready_trig = devm_iio_trigger_alloc(&client->dev, 1405 1405 "%s-dev%d", 1406 1406 indio_dev->name, 1407 - indio_dev->id); 1407 + iio_device_id(indio_dev)); 1408 1408 if (!data->dready_trig) { 1409 1409 ret = -ENOMEM; 1410 1410 goto err_poweroff; ··· 1413 1413 data->motion_trig = devm_iio_trigger_alloc(&client->dev, 1414 1414 "%s-any-motion-dev%d", 1415 1415 indio_dev->name, 1416 - indio_dev->id); 1416 + iio_device_id(indio_dev)); 1417 1417 if (!data->motion_trig) { 1418 1418 ret = -ENOMEM; 1419 1419 goto err_poweroff;
+1 -1
drivers/iio/accel/mma8452.c
··· 1461 1461 1462 1462 trig = devm_iio_trigger_alloc(&data->client->dev, "%s-dev%d", 1463 1463 indio_dev->name, 1464 - indio_dev->id); 1464 + iio_device_id(indio_dev)); 1465 1465 if (!trig) 1466 1466 return -ENOMEM; 1467 1467
+1 -1
drivers/iio/accel/mxc4005.c
··· 433 433 data->dready_trig = devm_iio_trigger_alloc(&client->dev, 434 434 "%s-dev%d", 435 435 indio_dev->name, 436 - indio_dev->id); 436 + iio_device_id(indio_dev)); 437 437 if (!data->dready_trig) 438 438 return -ENOMEM; 439 439
+1 -1
drivers/iio/accel/stk8312.c
··· 552 552 data->dready_trig = devm_iio_trigger_alloc(&client->dev, 553 553 "%s-dev%d", 554 554 indio_dev->name, 555 - indio_dev->id); 555 + iio_device_id(indio_dev)); 556 556 if (!data->dready_trig) { 557 557 ret = -ENOMEM; 558 558 goto err_power_off;
+1 -1
drivers/iio/accel/stk8ba50.c
··· 448 448 data->dready_trig = devm_iio_trigger_alloc(&client->dev, 449 449 "%s-dev%d", 450 450 indio_dev->name, 451 - indio_dev->id); 451 + iio_device_id(indio_dev)); 452 452 if (!data->dready_trig) { 453 453 ret = -ENOMEM; 454 454 goto err_power_off;
+2 -1
drivers/iio/adc/ad7606.c
··· 663 663 } 664 664 665 665 st->trig = devm_iio_trigger_alloc(dev, "%s-dev%d", 666 - indio_dev->name, indio_dev->id); 666 + indio_dev->name, 667 + iio_device_id(indio_dev)); 667 668 if (!st->trig) 668 669 return -ENOMEM; 669 670
+2 -1
drivers/iio/adc/ad7766.c
··· 248 248 249 249 if (spi->irq > 0) { 250 250 ad7766->trig = devm_iio_trigger_alloc(&spi->dev, "%s-dev%d", 251 - indio_dev->name, indio_dev->id); 251 + indio_dev->name, 252 + iio_device_id(indio_dev)); 252 253 if (!ad7766->trig) 253 254 return -ENOMEM; 254 255
+2 -1
drivers/iio/adc/ad7768-1.c
··· 626 626 } 627 627 628 628 st->trig = devm_iio_trigger_alloc(&spi->dev, "%s-dev%d", 629 - indio_dev->name, indio_dev->id); 629 + indio_dev->name, 630 + iio_device_id(indio_dev)); 630 631 if (!st->trig) 631 632 return -ENOMEM; 632 633
+1 -1
drivers/iio/adc/ad_sigma_delta.c
··· 477 477 478 478 sigma_delta->trig = iio_trigger_alloc(&sigma_delta->spi->dev, 479 479 "%s-dev%d", indio_dev->name, 480 - indio_dev->id); 480 + iio_device_id(indio_dev)); 481 481 if (sigma_delta->trig == NULL) { 482 482 ret = -ENOMEM; 483 483 goto error_ret;
+1 -1
drivers/iio/adc/at91-sama5d2_adc.c
··· 997 997 int ret; 998 998 999 999 trig = devm_iio_trigger_alloc(&indio->dev, "%s-dev%d-%s", indio->name, 1000 - indio->id, trigger_name); 1000 + iio_device_id(indio), trigger_name); 1001 1001 if (!trig) 1002 1002 return NULL; 1003 1003
+2 -2
drivers/iio/adc/at91_adc.c
··· 547 547 char *name = kasprintf(GFP_KERNEL, 548 548 "%s-dev%d-%s", 549 549 idev->name, 550 - idev->id, 550 + iio_device_id(idev), 551 551 triggers[i].name); 552 552 if (!name) 553 553 return -ENOMEM; ··· 626 626 int ret; 627 627 628 628 trig = iio_trigger_alloc(idev->dev.parent, "%s-dev%d-%s", idev->name, 629 - idev->id, trigger->name); 629 + iio_device_id(idev), trigger->name); 630 630 if (trig == NULL) 631 631 return NULL; 632 632
+2 -1
drivers/iio/adc/dln2-adc.c
··· 649 649 indio_dev->setup_ops = &dln2_adc_buffer_setup_ops; 650 650 651 651 dln2->trig = devm_iio_trigger_alloc(dev, "%s-dev%d", 652 - indio_dev->name, indio_dev->id); 652 + indio_dev->name, 653 + iio_device_id(indio_dev)); 653 654 if (!dln2->trig) { 654 655 dev_err(dev, "failed to allocate trigger\n"); 655 656 return -ENOMEM;
+2 -1
drivers/iio/adc/ina2xx-adc.c
··· 843 843 chip->allow_async_readout); 844 844 845 845 task = kthread_create(ina2xx_capture_thread, (void *)indio_dev, 846 - "%s:%d-%uus", indio_dev->name, indio_dev->id, 846 + "%s:%d-%uus", indio_dev->name, 847 + iio_device_id(indio_dev), 847 848 sampling_us); 848 849 if (IS_ERR(task)) 849 850 return PTR_ERR(task);
+1 -1
drivers/iio/adc/mxs-lradc-adc.c
··· 455 455 struct mxs_lradc_adc *adc = iio_priv(iio); 456 456 457 457 trig = devm_iio_trigger_alloc(&iio->dev, "%s-dev%i", iio->name, 458 - iio->id); 458 + iio_device_id(iio)); 459 459 if (!trig) 460 460 return -ENOMEM; 461 461
+1 -1
drivers/iio/adc/ti-ads131e08.c
··· 849 849 } 850 850 851 851 st->trig = devm_iio_trigger_alloc(&spi->dev, "%s-dev%d", 852 - indio_dev->name, indio_dev->id); 852 + indio_dev->name, iio_device_id(indio_dev)); 853 853 if (!st->trig) { 854 854 dev_err(&spi->dev, "failed to allocate IIO trigger\n"); 855 855 return -ENOMEM;
+1 -1
drivers/iio/adc/xilinx-xadc-core.c
··· 743 743 int ret; 744 744 745 745 trig = devm_iio_trigger_alloc(dev, "%s%d-%s", indio_dev->name, 746 - indio_dev->id, name); 746 + iio_device_id(indio_dev), name); 747 747 if (trig == NULL) 748 748 return ERR_PTR(-ENOMEM); 749 749
+1 -1
drivers/iio/buffer/industrialio-triggered-buffer.c
··· 56 56 indio_dev, 57 57 "%s_consumer%d", 58 58 indio_dev->name, 59 - indio_dev->id); 59 + iio_device_id(indio_dev)); 60 60 if (indio_dev->pollfunc == NULL) { 61 61 ret = -ENOMEM; 62 62 goto error_kfifo_free;
+1 -1
drivers/iio/chemical/atlas-sensor.c
··· 640 640 indio_dev->modes = INDIO_BUFFER_SOFTWARE | INDIO_DIRECT_MODE; 641 641 642 642 trig = devm_iio_trigger_alloc(&client->dev, "%s-dev%d", 643 - indio_dev->name, indio_dev->id); 643 + indio_dev->name, iio_device_id(indio_dev)); 644 644 645 645 if (!trig) 646 646 return -ENOMEM;
+1 -1
drivers/iio/chemical/ccs811.c
··· 491 491 data->drdy_trig = devm_iio_trigger_alloc(&client->dev, 492 492 "%s-dev%d", 493 493 indio_dev->name, 494 - indio_dev->id); 494 + iio_device_id(indio_dev)); 495 495 if (!data->drdy_trig) { 496 496 ret = -ENOMEM; 497 497 goto err_poweroff;
+2 -1
drivers/iio/chemical/scd30_core.c
··· 640 640 struct iio_trigger *trig; 641 641 int ret; 642 642 643 - trig = devm_iio_trigger_alloc(dev, "%s-dev%d", indio_dev->name, indio_dev->id); 643 + trig = devm_iio_trigger_alloc(dev, "%s-dev%d", indio_dev->name, 644 + iio_device_id(indio_dev)); 644 645 if (!trig) { 645 646 dev_err(dev, "failed to allocate trigger\n"); 646 647 return -ENOMEM;
+1 -1
drivers/iio/common/hid-sensors/hid-sensor-trigger.c
··· 256 256 } 257 257 258 258 trig = iio_trigger_alloc(indio_dev->dev.parent, 259 - "%s-dev%d", name, indio_dev->id); 259 + "%s-dev%d", name, iio_device_id(indio_dev)); 260 260 if (trig == NULL) { 261 261 dev_err(&indio_dev->dev, "Trigger Allocate Failed\n"); 262 262 ret = -ENOMEM;
+1 -1
drivers/iio/gyro/adxrs290.c
··· 589 589 590 590 st->dready_trig = devm_iio_trigger_alloc(&st->spi->dev, "%s-dev%d", 591 591 indio_dev->name, 592 - indio_dev->id); 592 + iio_device_id(indio_dev)); 593 593 if (!st->dready_trig) 594 594 return -ENOMEM; 595 595
+2 -2
drivers/iio/gyro/bmg160_core.c
··· 1137 1137 data->dready_trig = devm_iio_trigger_alloc(dev, 1138 1138 "%s-dev%d", 1139 1139 indio_dev->name, 1140 - indio_dev->id); 1140 + iio_device_id(indio_dev)); 1141 1141 if (!data->dready_trig) 1142 1142 return -ENOMEM; 1143 1143 1144 1144 data->motion_trig = devm_iio_trigger_alloc(dev, 1145 1145 "%s-any-motion-dev%d", 1146 1146 indio_dev->name, 1147 - indio_dev->id); 1147 + iio_device_id(indio_dev)); 1148 1148 if (!data->motion_trig) 1149 1149 return -ENOMEM; 1150 1150
+1 -1
drivers/iio/gyro/fxas21002c_core.c
··· 852 852 853 853 data->dready_trig = devm_iio_trigger_alloc(dev, "%s-dev%d", 854 854 indio_dev->name, 855 - indio_dev->id); 855 + iio_device_id(indio_dev)); 856 856 if (!data->dready_trig) 857 857 return -ENOMEM; 858 858
+1 -1
drivers/iio/gyro/itg3200_buffer.c
··· 114 114 struct itg3200 *st = iio_priv(indio_dev); 115 115 116 116 st->trig = iio_trigger_alloc(&st->i2c->dev, "%s-dev%d", indio_dev->name, 117 - indio_dev->id); 117 + iio_device_id(indio_dev)); 118 118 if (!st->trig) 119 119 return -ENOMEM; 120 120
+1 -1
drivers/iio/gyro/mpu3050-core.c
··· 1058 1058 mpu3050->trig = devm_iio_trigger_alloc(&indio_dev->dev, 1059 1059 "%s-dev%d", 1060 1060 indio_dev->name, 1061 - indio_dev->id); 1061 + iio_device_id(indio_dev)); 1062 1062 if (!mpu3050->trig) 1063 1063 return -ENOMEM; 1064 1064
+1 -1
drivers/iio/health/afe4403.c
··· 521 521 afe->trig = devm_iio_trigger_alloc(afe->dev, 522 522 "%s-dev%d", 523 523 indio_dev->name, 524 - indio_dev->id); 524 + iio_device_id(indio_dev)); 525 525 if (!afe->trig) { 526 526 dev_err(afe->dev, "Unable to allocate IIO trigger\n"); 527 527 ret = -ENOMEM;
+1 -1
drivers/iio/health/afe4404.c
··· 528 528 afe->trig = devm_iio_trigger_alloc(afe->dev, 529 529 "%s-dev%d", 530 530 indio_dev->name, 531 - indio_dev->id); 531 + iio_device_id(indio_dev)); 532 532 if (!afe->trig) { 533 533 dev_err(afe->dev, "Unable to allocate IIO trigger\n"); 534 534 ret = -ENOMEM;
+2 -1
drivers/iio/imu/adis_trigger.c
··· 62 62 int ret; 63 63 64 64 adis->trig = devm_iio_trigger_alloc(&adis->spi->dev, "%s-dev%d", 65 - indio_dev->name, indio_dev->id); 65 + indio_dev->name, 66 + iio_device_id(indio_dev)); 66 67 if (!adis->trig) 67 68 return -ENOMEM; 68 69
+2 -1
drivers/iio/imu/bmi160/bmi160_core.c
··· 785 785 int ret; 786 786 787 787 data->trig = devm_iio_trigger_alloc(&indio_dev->dev, "%s-dev%d", 788 - indio_dev->name, indio_dev->id); 788 + indio_dev->name, 789 + iio_device_id(indio_dev)); 789 790 790 791 if (data->trig == NULL) 791 792 return -ENOMEM;
+1 -1
drivers/iio/imu/inv_mpu6050/inv_mpu_trigger.c
··· 238 238 st->trig = devm_iio_trigger_alloc(&indio_dev->dev, 239 239 "%s-dev%d", 240 240 indio_dev->name, 241 - indio_dev->id); 241 + iio_device_id(indio_dev)); 242 242 if (!st->trig) 243 243 return -ENOMEM; 244 244
+1 -1
drivers/iio/imu/kmx61.c
··· 1264 1264 "%s-%s-dev%d", 1265 1265 indio_dev->name, 1266 1266 tag, 1267 - indio_dev->id); 1267 + iio_device_id(indio_dev)); 1268 1268 if (!trig) 1269 1269 return ERR_PTR(-ENOMEM); 1270 1270
+19 -5
drivers/iio/industrialio-core.c
··· 169 169 [IIO_CHAN_INFO_THERMOCOUPLE_TYPE] = "thermocouple_type", 170 170 [IIO_CHAN_INFO_CALIBAMBIENT] = "calibambient", 171 171 }; 172 + /** 173 + * iio_device_id() - query the unique ID for the device 174 + * @indio_dev: Device structure whose ID is being queried 175 + * 176 + * The IIO device ID is a unique index used for example for the naming 177 + * of the character device /dev/iio\:device[ID] 178 + */ 179 + int iio_device_id(struct iio_dev *indio_dev) 180 + { 181 + struct iio_dev_opaque *iio_dev_opaque = to_iio_dev_opaque(indio_dev); 182 + 183 + return iio_dev_opaque->id; 184 + } 185 + EXPORT_SYMBOL_GPL(iio_device_id); 172 186 173 187 /** 174 188 * iio_sysfs_match_string_with_gaps - matches given string in an array with gaps ··· 1602 1588 1603 1589 iio_device_detach_buffers(indio_dev); 1604 1590 1605 - ida_simple_remove(&iio_ida, indio_dev->id); 1591 + ida_simple_remove(&iio_ida, iio_dev_opaque->id); 1606 1592 kfree(iio_dev_opaque); 1607 1593 } 1608 1594 ··· 1645 1631 mutex_init(&indio_dev->info_exist_lock); 1646 1632 INIT_LIST_HEAD(&iio_dev_opaque->channel_attr_list); 1647 1633 1648 - indio_dev->id = ida_simple_get(&iio_ida, 0, 0, GFP_KERNEL); 1649 - if (indio_dev->id < 0) { 1634 + iio_dev_opaque->id = ida_simple_get(&iio_ida, 0, 0, GFP_KERNEL); 1635 + if (iio_dev_opaque->id < 0) { 1650 1636 /* cannot use a dev_err as the name isn't available */ 1651 1637 pr_err("failed to get device id\n"); 1652 1638 kfree(iio_dev_opaque); 1653 1639 return NULL; 1654 1640 } 1655 - dev_set_name(&indio_dev->dev, "iio:device%d", indio_dev->id); 1641 + dev_set_name(&indio_dev->dev, "iio:device%d", iio_dev_opaque->id); 1656 1642 INIT_LIST_HEAD(&iio_dev_opaque->buffer_list); 1657 1643 INIT_LIST_HEAD(&iio_dev_opaque->ioctl_handlers); 1658 1644 ··· 1905 1891 cdev_init(&indio_dev->chrdev, &iio_event_fileops); 1906 1892 1907 1893 if (iio_dev_opaque->attached_buffers_cnt || iio_dev_opaque->event_interface) { 1908 - indio_dev->dev.devt = MKDEV(MAJOR(iio_devt), indio_dev->id); 1894 + indio_dev->dev.devt = MKDEV(MAJOR(iio_devt), iio_dev_opaque->id); 1909 1895 indio_dev->chrdev.owner = this_mod; 1910 1896 } 1911 1897
+1 -1
drivers/iio/industrialio-triggered-event.c
··· 37 37 indio_dev, 38 38 "%s_consumer%d", 39 39 indio_dev->name, 40 - indio_dev->id); 40 + iio_device_id(indio_dev)); 41 41 if (indio_dev->pollfunc_event == NULL) 42 42 return -ENOMEM; 43 43
+2 -1
drivers/iio/light/acpi-als.c
··· 204 204 indio_dev->channels = acpi_als_channels; 205 205 indio_dev->num_channels = ARRAY_SIZE(acpi_als_channels); 206 206 207 - als->trig = devm_iio_trigger_alloc(dev, "%s-dev%d", indio_dev->name, indio_dev->id); 207 + als->trig = devm_iio_trigger_alloc(dev, "%s-dev%d", indio_dev->name, 208 + iio_device_id(indio_dev)); 208 209 if (!als->trig) 209 210 return -ENOMEM; 210 211
+1 -1
drivers/iio/light/rpr0521.c
··· 985 985 /* Trigger0 producer setup */ 986 986 data->drdy_trigger0 = devm_iio_trigger_alloc( 987 987 indio_dev->dev.parent, 988 - "%s-dev%d", indio_dev->name, indio_dev->id); 988 + "%s-dev%d", indio_dev->name, iio_device_id(indio_dev)); 989 989 if (!data->drdy_trigger0) { 990 990 ret = -ENOMEM; 991 991 goto err_pm_disable;
+1 -1
drivers/iio/light/si1145.c
··· 1243 1243 int ret; 1244 1244 1245 1245 trig = devm_iio_trigger_alloc(&client->dev, 1246 - "%s-dev%d", indio_dev->name, indio_dev->id); 1246 + "%s-dev%d", indio_dev->name, iio_device_id(indio_dev)); 1247 1247 if (!trig) 1248 1248 return -ENOMEM; 1249 1249
+2 -1
drivers/iio/light/vcnl4000.c
··· 998 998 struct iio_trigger *trigger; 999 999 1000 1000 trigger = devm_iio_trigger_alloc(&client->dev, "%s-dev%d", 1001 - indio_dev->name, indio_dev->id); 1001 + indio_dev->name, 1002 + iio_device_id(indio_dev)); 1002 1003 if (!trigger) 1003 1004 return -ENOMEM; 1004 1005
+1 -1
drivers/iio/light/vcnl4035.c
··· 507 507 508 508 data->drdy_trigger0 = devm_iio_trigger_alloc( 509 509 indio_dev->dev.parent, 510 - "%s-dev%d", indio_dev->name, indio_dev->id); 510 + "%s-dev%d", indio_dev->name, iio_device_id(indio_dev)); 511 511 if (!data->drdy_trigger0) 512 512 return -ENOMEM; 513 513
+1 -1
drivers/iio/magnetometer/bmc150_magn.c
··· 915 915 data->dready_trig = devm_iio_trigger_alloc(dev, 916 916 "%s-dev%d", 917 917 indio_dev->name, 918 - indio_dev->id); 918 + iio_device_id(indio_dev)); 919 919 if (!data->dready_trig) { 920 920 ret = -ENOMEM; 921 921 dev_err(dev, "iio trigger alloc failed\n");
+1 -1
drivers/iio/magnetometer/rm3100-core.c
··· 575 575 576 576 data->drdy_trig = devm_iio_trigger_alloc(dev, "%s-drdy%d", 577 577 indio_dev->name, 578 - indio_dev->id); 578 + iio_device_id(indio_dev)); 579 579 if (!data->drdy_trig) 580 580 return -ENOMEM; 581 581
+2 -1
drivers/iio/potentiostat/lmp91000.c
··· 323 323 } 324 324 325 325 data->trig = devm_iio_trigger_alloc(dev, "%s-mux%d", 326 - indio_dev->name, indio_dev->id); 326 + indio_dev->name, 327 + iio_device_id(indio_dev)); 327 328 if (!data->trig) { 328 329 dev_err(dev, "cannot allocate iio trigger.\n"); 329 330 return -ENOMEM;
+2 -1
drivers/iio/pressure/zpa2326.c
··· 1408 1408 return 0; 1409 1409 1410 1410 trigger = devm_iio_trigger_alloc(parent, "%s-dev%d", 1411 - indio_dev->name, indio_dev->id); 1411 + indio_dev->name, 1412 + iio_device_id(indio_dev)); 1412 1413 if (!trigger) 1413 1414 return -ENOMEM; 1414 1415
+2 -1
drivers/iio/proximity/as3935.c
··· 404 404 indio_dev->info = &as3935_info; 405 405 406 406 trig = devm_iio_trigger_alloc(dev, "%s-dev%d", 407 - indio_dev->name, indio_dev->id); 407 + indio_dev->name, 408 + iio_device_id(indio_dev)); 408 409 409 410 if (!trig) 410 411 return -ENOMEM;
+1 -1
drivers/iio/proximity/sx9310.c
··· 1473 1473 1474 1474 data->trig = devm_iio_trigger_alloc(dev, "%s-dev%d", 1475 1475 indio_dev->name, 1476 - indio_dev->id); 1476 + iio_device_id(indio_dev)); 1477 1477 if (!data->trig) 1478 1478 return -ENOMEM; 1479 1479
+1 -1
drivers/iio/proximity/sx9500.c
··· 946 946 return ret; 947 947 948 948 data->trig = devm_iio_trigger_alloc(&client->dev, 949 - "%s-dev%d", indio_dev->name, indio_dev->id); 949 + "%s-dev%d", indio_dev->name, iio_device_id(indio_dev)); 950 950 if (!data->trig) 951 951 return -ENOMEM; 952 952
+2
include/linux/iio/iio-opaque.h
··· 6 6 /** 7 7 * struct iio_dev_opaque - industrial I/O device opaque information 8 8 * @indio_dev: public industrial I/O device information 9 + * @id: used to identify device internally 9 10 * @event_interface: event chrdevs associated with interrupt lines 10 11 * @attached_buffers: array of buffers statically attached by the driver 11 12 * @attached_buffers_cnt: number of buffers in the array of statically attached buffers ··· 27 26 */ 28 27 struct iio_dev_opaque { 29 28 struct iio_dev indio_dev; 29 + int id; 30 30 struct iio_event_interface *event_interface; 31 31 struct iio_buffer **attached_buffers; 32 32 unsigned int attached_buffers_cnt;
+2 -2
include/linux/iio/iio.h
··· 488 488 489 489 /** 490 490 * struct iio_dev - industrial I/O device 491 - * @id: [INTERN] used to identify device internally 492 491 * @driver_module: [INTERN] used to make it harder to undercut users 493 492 * @modes: [DRIVER] operating modes supported by device 494 493 * @currentmode: [DRIVER] current operating mode ··· 522 523 * **MUST** be accessed **ONLY** via iio_priv() helper 523 524 */ 524 525 struct iio_dev { 525 - int id; 526 526 struct module *driver_module; 527 527 528 528 int modes; ··· 556 558 unsigned long flags; 557 559 void *priv; 558 560 }; 561 + 562 + int iio_device_id(struct iio_dev *indio_dev); 559 563 560 564 const struct iio_chan_spec 561 565 *iio_find_channel_from_si(struct iio_dev *indio_dev, int si);