diff options
author | Jonathan Cameron <jic23@cam.ac.uk> | 2011-04-15 13:55:56 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-04-25 20:23:09 -0400 |
commit | 6f7c8ee585e9db54cb29af1bdb93f29837824933 (patch) | |
tree | 2eaf2ef782137ed1b9996c0fd511c40f1efb6625 /drivers | |
parent | b428173316dcb4a518ee22c642671ae8a4bcec48 (diff) |
staging:iio: Add ability to allocate private data space to iio_allocate_device
Suggested by Arnd Bergmann. Note this will break ALL drivers that
are out of mainline. The fix is trivial change of
iio_allocate_device() -> iio_allocate_device(0)
Sorry if this causes issues for any one!
V2: Include new drivers in the update
Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers')
62 files changed, 89 insertions, 63 deletions
diff --git a/drivers/staging/iio/Documentation/device.txt b/drivers/staging/iio/Documentation/device.txt index 69d9570f29f..c81e5172aec 100644 --- a/drivers/staging/iio/Documentation/device.txt +++ b/drivers/staging/iio/Documentation/device.txt | |||
@@ -8,7 +8,7 @@ The crucial structure for device drivers in iio is iio_dev. | |||
8 | 8 | ||
9 | First allocate one using: | 9 | First allocate one using: |
10 | 10 | ||
11 | struct iio_dev *indio_dev = iio_allocate_device(); | 11 | struct iio_dev *indio_dev = iio_allocate_device(0); |
12 | 12 | ||
13 | Then fill in the following: | 13 | Then fill in the following: |
14 | 14 | ||
diff --git a/drivers/staging/iio/accel/adis16201_core.c b/drivers/staging/iio/accel/adis16201_core.c index 79b785a0013..df1101cefc6 100644 --- a/drivers/staging/iio/accel/adis16201_core.c +++ b/drivers/staging/iio/accel/adis16201_core.c | |||
@@ -539,7 +539,7 @@ static int __devinit adis16201_probe(struct spi_device *spi) | |||
539 | st->us = spi; | 539 | st->us = spi; |
540 | mutex_init(&st->buf_lock); | 540 | mutex_init(&st->buf_lock); |
541 | /* setup the industrialio driver allocated elements */ | 541 | /* setup the industrialio driver allocated elements */ |
542 | st->indio_dev = iio_allocate_device(); | 542 | st->indio_dev = iio_allocate_device(0); |
543 | if (st->indio_dev == NULL) { | 543 | if (st->indio_dev == NULL) { |
544 | ret = -ENOMEM; | 544 | ret = -ENOMEM; |
545 | goto error_free_tx; | 545 | goto error_free_tx; |
diff --git a/drivers/staging/iio/accel/adis16203_core.c b/drivers/staging/iio/accel/adis16203_core.c index b57f19087a9..e5a2a477b11 100644 --- a/drivers/staging/iio/accel/adis16203_core.c +++ b/drivers/staging/iio/accel/adis16203_core.c | |||
@@ -448,7 +448,7 @@ static int __devinit adis16203_probe(struct spi_device *spi) | |||
448 | st->us = spi; | 448 | st->us = spi; |
449 | mutex_init(&st->buf_lock); | 449 | mutex_init(&st->buf_lock); |
450 | /* setup the industrialio driver allocated elements */ | 450 | /* setup the industrialio driver allocated elements */ |
451 | st->indio_dev = iio_allocate_device(); | 451 | st->indio_dev = iio_allocate_device(0); |
452 | if (st->indio_dev == NULL) { | 452 | if (st->indio_dev == NULL) { |
453 | ret = -ENOMEM; | 453 | ret = -ENOMEM; |
454 | goto error_free_tx; | 454 | goto error_free_tx; |
diff --git a/drivers/staging/iio/accel/adis16204_core.c b/drivers/staging/iio/accel/adis16204_core.c index cc15e40726f..97376aa2fc5 100644 --- a/drivers/staging/iio/accel/adis16204_core.c +++ b/drivers/staging/iio/accel/adis16204_core.c | |||
@@ -493,7 +493,7 @@ static int __devinit adis16204_probe(struct spi_device *spi) | |||
493 | st->us = spi; | 493 | st->us = spi; |
494 | mutex_init(&st->buf_lock); | 494 | mutex_init(&st->buf_lock); |
495 | /* setup the industrialio driver allocated elements */ | 495 | /* setup the industrialio driver allocated elements */ |
496 | st->indio_dev = iio_allocate_device(); | 496 | st->indio_dev = iio_allocate_device(0); |
497 | if (st->indio_dev == NULL) { | 497 | if (st->indio_dev == NULL) { |
498 | ret = -ENOMEM; | 498 | ret = -ENOMEM; |
499 | goto error_free_tx; | 499 | goto error_free_tx; |
diff --git a/drivers/staging/iio/accel/adis16209_core.c b/drivers/staging/iio/accel/adis16209_core.c index e4ac956208a..d2fb9901dd6 100644 --- a/drivers/staging/iio/accel/adis16209_core.c +++ b/drivers/staging/iio/accel/adis16209_core.c | |||
@@ -488,7 +488,7 @@ static int __devinit adis16209_probe(struct spi_device *spi) | |||
488 | st->us = spi; | 488 | st->us = spi; |
489 | mutex_init(&st->buf_lock); | 489 | mutex_init(&st->buf_lock); |
490 | /* setup the industrialio driver allocated elements */ | 490 | /* setup the industrialio driver allocated elements */ |
491 | st->indio_dev = iio_allocate_device(); | 491 | st->indio_dev = iio_allocate_device(0); |
492 | if (st->indio_dev == NULL) { | 492 | if (st->indio_dev == NULL) { |
493 | ret = -ENOMEM; | 493 | ret = -ENOMEM; |
494 | goto error_free_tx; | 494 | goto error_free_tx; |
diff --git a/drivers/staging/iio/accel/adis16220_core.c b/drivers/staging/iio/accel/adis16220_core.c index 1c1e98aee2d..0689e412ba8 100644 --- a/drivers/staging/iio/accel/adis16220_core.c +++ b/drivers/staging/iio/accel/adis16220_core.c | |||
@@ -572,7 +572,7 @@ static int __devinit adis16220_probe(struct spi_device *spi) | |||
572 | st->us = spi; | 572 | st->us = spi; |
573 | mutex_init(&st->buf_lock); | 573 | mutex_init(&st->buf_lock); |
574 | /* setup the industrialio driver allocated elements */ | 574 | /* setup the industrialio driver allocated elements */ |
575 | st->indio_dev = iio_allocate_device(); | 575 | st->indio_dev = iio_allocate_device(0); |
576 | if (st->indio_dev == NULL) { | 576 | if (st->indio_dev == NULL) { |
577 | ret = -ENOMEM; | 577 | ret = -ENOMEM; |
578 | goto error_free_tx; | 578 | goto error_free_tx; |
diff --git a/drivers/staging/iio/accel/adis16240_core.c b/drivers/staging/iio/accel/adis16240_core.c index d11d164207e..31f64ae3bb0 100644 --- a/drivers/staging/iio/accel/adis16240_core.c +++ b/drivers/staging/iio/accel/adis16240_core.c | |||
@@ -485,7 +485,7 @@ static int __devinit adis16240_probe(struct spi_device *spi) | |||
485 | st->us = spi; | 485 | st->us = spi; |
486 | mutex_init(&st->buf_lock); | 486 | mutex_init(&st->buf_lock); |
487 | /* setup the industrialio driver allocated elements */ | 487 | /* setup the industrialio driver allocated elements */ |
488 | st->indio_dev = iio_allocate_device(); | 488 | st->indio_dev = iio_allocate_device(0); |
489 | if (st->indio_dev == NULL) { | 489 | if (st->indio_dev == NULL) { |
490 | ret = -ENOMEM; | 490 | ret = -ENOMEM; |
491 | goto error_free_tx; | 491 | goto error_free_tx; |
diff --git a/drivers/staging/iio/accel/kxsd9.c b/drivers/staging/iio/accel/kxsd9.c index 79f57950ebe..431aa0f886f 100644 --- a/drivers/staging/iio/accel/kxsd9.c +++ b/drivers/staging/iio/accel/kxsd9.c | |||
@@ -329,7 +329,7 @@ static int __devinit kxsd9_probe(struct spi_device *spi) | |||
329 | 329 | ||
330 | st->us = spi; | 330 | st->us = spi; |
331 | mutex_init(&st->buf_lock); | 331 | mutex_init(&st->buf_lock); |
332 | st->indio_dev = iio_allocate_device(); | 332 | st->indio_dev = iio_allocate_device(0); |
333 | if (st->indio_dev == NULL) { | 333 | if (st->indio_dev == NULL) { |
334 | ret = -ENOMEM; | 334 | ret = -ENOMEM; |
335 | goto error_free_tx; | 335 | goto error_free_tx; |
diff --git a/drivers/staging/iio/accel/lis3l02dq_core.c b/drivers/staging/iio/accel/lis3l02dq_core.c index 34f16a7cc3a..e11388ab457 100644 --- a/drivers/staging/iio/accel/lis3l02dq_core.c +++ b/drivers/staging/iio/accel/lis3l02dq_core.c | |||
@@ -805,7 +805,7 @@ static int __devinit lis3l02dq_probe(struct spi_device *spi) | |||
805 | st->us = spi; | 805 | st->us = spi; |
806 | mutex_init(&st->buf_lock); | 806 | mutex_init(&st->buf_lock); |
807 | /* setup the industrialio driver allocated elements */ | 807 | /* setup the industrialio driver allocated elements */ |
808 | st->help.indio_dev = iio_allocate_device(); | 808 | st->help.indio_dev = iio_allocate_device(0); |
809 | if (st->help.indio_dev == NULL) { | 809 | if (st->help.indio_dev == NULL) { |
810 | ret = -ENOMEM; | 810 | ret = -ENOMEM; |
811 | goto error_free_tx; | 811 | goto error_free_tx; |
diff --git a/drivers/staging/iio/accel/sca3000_core.c b/drivers/staging/iio/accel/sca3000_core.c index 5b06dea6af2..6abf2b7e306 100644 --- a/drivers/staging/iio/accel/sca3000_core.c +++ b/drivers/staging/iio/accel/sca3000_core.c | |||
@@ -1339,7 +1339,7 @@ static int __devinit __sca3000_probe(struct spi_device *spi, | |||
1339 | mutex_init(&st->lock); | 1339 | mutex_init(&st->lock); |
1340 | st->info = &sca3000_spi_chip_info_tbl[variant]; | 1340 | st->info = &sca3000_spi_chip_info_tbl[variant]; |
1341 | 1341 | ||
1342 | st->indio_dev = iio_allocate_device(); | 1342 | st->indio_dev = iio_allocate_device(0); |
1343 | if (st->indio_dev == NULL) { | 1343 | if (st->indio_dev == NULL) { |
1344 | ret = -ENOMEM; | 1344 | ret = -ENOMEM; |
1345 | goto error_free_rx; | 1345 | goto error_free_rx; |
diff --git a/drivers/staging/iio/adc/ad7150.c b/drivers/staging/iio/adc/ad7150.c index 8555766109d..5a2991ac47e 100644 --- a/drivers/staging/iio/adc/ad7150.c +++ b/drivers/staging/iio/adc/ad7150.c | |||
@@ -778,7 +778,7 @@ static int __devinit ad7150_probe(struct i2c_client *client, | |||
778 | chip->client = client; | 778 | chip->client = client; |
779 | chip->name = id->name; | 779 | chip->name = id->name; |
780 | 780 | ||
781 | chip->indio_dev = iio_allocate_device(); | 781 | chip->indio_dev = iio_allocate_device(0); |
782 | if (chip->indio_dev == NULL) { | 782 | if (chip->indio_dev == NULL) { |
783 | ret = -ENOMEM; | 783 | ret = -ENOMEM; |
784 | goto error_free_chip; | 784 | goto error_free_chip; |
diff --git a/drivers/staging/iio/adc/ad7152.c b/drivers/staging/iio/adc/ad7152.c index fa7f8406230..163c30767b0 100644 --- a/drivers/staging/iio/adc/ad7152.c +++ b/drivers/staging/iio/adc/ad7152.c | |||
@@ -533,7 +533,7 @@ static int __devinit ad7152_probe(struct i2c_client *client, | |||
533 | chip->client = client; | 533 | chip->client = client; |
534 | chip->name = id->name; | 534 | chip->name = id->name; |
535 | 535 | ||
536 | chip->indio_dev = iio_allocate_device(); | 536 | chip->indio_dev = iio_allocate_device(0); |
537 | if (chip->indio_dev == NULL) { | 537 | if (chip->indio_dev == NULL) { |
538 | ret = -ENOMEM; | 538 | ret = -ENOMEM; |
539 | goto error_free_chip; | 539 | goto error_free_chip; |
diff --git a/drivers/staging/iio/adc/ad7291.c b/drivers/staging/iio/adc/ad7291.c index 34041a72aa5..976ae7f7710 100644 --- a/drivers/staging/iio/adc/ad7291.c +++ b/drivers/staging/iio/adc/ad7291.c | |||
@@ -926,7 +926,7 @@ static int __devinit ad7291_probe(struct i2c_client *client, | |||
926 | chip->name = id->name; | 926 | chip->name = id->name; |
927 | chip->command = AD7291_NOISE_DELAY | AD7291_T_SENSE_MASK; | 927 | chip->command = AD7291_NOISE_DELAY | AD7291_T_SENSE_MASK; |
928 | 928 | ||
929 | chip->indio_dev = iio_allocate_device(); | 929 | chip->indio_dev = iio_allocate_device(0); |
930 | if (chip->indio_dev == NULL) { | 930 | if (chip->indio_dev == NULL) { |
931 | ret = -ENOMEM; | 931 | ret = -ENOMEM; |
932 | goto error_free_chip; | 932 | goto error_free_chip; |
diff --git a/drivers/staging/iio/adc/ad7298_core.c b/drivers/staging/iio/adc/ad7298_core.c index 2e9154e7d88..8b3a4904682 100644 --- a/drivers/staging/iio/adc/ad7298_core.c +++ b/drivers/staging/iio/adc/ad7298_core.c | |||
@@ -173,7 +173,7 @@ static int __devinit ad7298_probe(struct spi_device *spi) | |||
173 | atomic_set(&st->protect_ring, 0); | 173 | atomic_set(&st->protect_ring, 0); |
174 | st->spi = spi; | 174 | st->spi = spi; |
175 | 175 | ||
176 | st->indio_dev = iio_allocate_device(); | 176 | st->indio_dev = iio_allocate_device(0); |
177 | if (st->indio_dev == NULL) { | 177 | if (st->indio_dev == NULL) { |
178 | ret = -ENOMEM; | 178 | ret = -ENOMEM; |
179 | goto error_disable_reg; | 179 | goto error_disable_reg; |
diff --git a/drivers/staging/iio/adc/ad7314.c b/drivers/staging/iio/adc/ad7314.c index 8c17b1fe902..dffbec13632 100644 --- a/drivers/staging/iio/adc/ad7314.c +++ b/drivers/staging/iio/adc/ad7314.c | |||
@@ -229,7 +229,7 @@ static int __devinit ad7314_probe(struct spi_device *spi_dev) | |||
229 | chip->spi_dev = spi_dev; | 229 | chip->spi_dev = spi_dev; |
230 | chip->name = spi_dev->modalias; | 230 | chip->name = spi_dev->modalias; |
231 | 231 | ||
232 | chip->indio_dev = iio_allocate_device(); | 232 | chip->indio_dev = iio_allocate_device(0); |
233 | if (chip->indio_dev == NULL) { | 233 | if (chip->indio_dev == NULL) { |
234 | ret = -ENOMEM; | 234 | ret = -ENOMEM; |
235 | goto error_free_chip; | 235 | goto error_free_chip; |
diff --git a/drivers/staging/iio/adc/ad7476_core.c b/drivers/staging/iio/adc/ad7476_core.c index d263904b3d1..b16744cc549 100644 --- a/drivers/staging/iio/adc/ad7476_core.c +++ b/drivers/staging/iio/adc/ad7476_core.c | |||
@@ -184,7 +184,7 @@ static int __devinit ad7476_probe(struct spi_device *spi) | |||
184 | atomic_set(&st->protect_ring, 0); | 184 | atomic_set(&st->protect_ring, 0); |
185 | st->spi = spi; | 185 | st->spi = spi; |
186 | 186 | ||
187 | st->indio_dev = iio_allocate_device(); | 187 | st->indio_dev = iio_allocate_device(0); |
188 | if (st->indio_dev == NULL) { | 188 | if (st->indio_dev == NULL) { |
189 | ret = -ENOMEM; | 189 | ret = -ENOMEM; |
190 | goto error_disable_reg; | 190 | goto error_disable_reg; |
diff --git a/drivers/staging/iio/adc/ad7606_core.c b/drivers/staging/iio/adc/ad7606_core.c index 4c700f07fb8..7ef9a6f4807 100644 --- a/drivers/staging/iio/adc/ad7606_core.c +++ b/drivers/staging/iio/adc/ad7606_core.c | |||
@@ -447,7 +447,7 @@ struct ad7606_state *ad7606_probe(struct device *dev, int irq, | |||
447 | 447 | ||
448 | atomic_set(&st->protect_ring, 0); | 448 | atomic_set(&st->protect_ring, 0); |
449 | 449 | ||
450 | st->indio_dev = iio_allocate_device(); | 450 | st->indio_dev = iio_allocate_device(0); |
451 | if (st->indio_dev == NULL) { | 451 | if (st->indio_dev == NULL) { |
452 | ret = -ENOMEM; | 452 | ret = -ENOMEM; |
453 | goto error_disable_reg; | 453 | goto error_disable_reg; |
diff --git a/drivers/staging/iio/adc/ad7745.c b/drivers/staging/iio/adc/ad7745.c index ab7ef8450ae..1373d23996b 100644 --- a/drivers/staging/iio/adc/ad7745.c +++ b/drivers/staging/iio/adc/ad7745.c | |||
@@ -635,7 +635,7 @@ static int __devinit ad774x_probe(struct i2c_client *client, | |||
635 | chip->client = client; | 635 | chip->client = client; |
636 | chip->name = id->name; | 636 | chip->name = id->name; |
637 | 637 | ||
638 | chip->indio_dev = iio_allocate_device(); | 638 | chip->indio_dev = iio_allocate_device(0); |
639 | if (chip->indio_dev == NULL) { | 639 | if (chip->indio_dev == NULL) { |
640 | ret = -ENOMEM; | 640 | ret = -ENOMEM; |
641 | goto error_free_chip; | 641 | goto error_free_chip; |
diff --git a/drivers/staging/iio/adc/ad7780.c b/drivers/staging/iio/adc/ad7780.c index 0fd994fdee4..ab23c5cfdc2 100644 --- a/drivers/staging/iio/adc/ad7780.c +++ b/drivers/staging/iio/adc/ad7780.c | |||
@@ -221,7 +221,7 @@ static int __devinit ad7780_probe(struct spi_device *spi) | |||
221 | spi_set_drvdata(spi, st); | 221 | spi_set_drvdata(spi, st); |
222 | st->spi = spi; | 222 | st->spi = spi; |
223 | 223 | ||
224 | st->indio_dev = iio_allocate_device(); | 224 | st->indio_dev = iio_allocate_device(0); |
225 | if (st->indio_dev == NULL) { | 225 | if (st->indio_dev == NULL) { |
226 | ret = -ENOMEM; | 226 | ret = -ENOMEM; |
227 | goto error_disable_reg; | 227 | goto error_disable_reg; |
diff --git a/drivers/staging/iio/adc/ad7816.c b/drivers/staging/iio/adc/ad7816.c index ad7415a6b8d..9e30d351cf4 100644 --- a/drivers/staging/iio/adc/ad7816.c +++ b/drivers/staging/iio/adc/ad7816.c | |||
@@ -418,7 +418,7 @@ static int __devinit ad7816_probe(struct spi_device *spi_dev) | |||
418 | } | 418 | } |
419 | gpio_direction_input(chip->busy_pin); | 419 | gpio_direction_input(chip->busy_pin); |
420 | 420 | ||
421 | chip->indio_dev = iio_allocate_device(); | 421 | chip->indio_dev = iio_allocate_device(0); |
422 | if (chip->indio_dev == NULL) { | 422 | if (chip->indio_dev == NULL) { |
423 | ret = -ENOMEM; | 423 | ret = -ENOMEM; |
424 | goto error_free_gpio; | 424 | goto error_free_gpio; |
diff --git a/drivers/staging/iio/adc/ad7887_core.c b/drivers/staging/iio/adc/ad7887_core.c index 5d85efab658..11c9fcfc3d0 100644 --- a/drivers/staging/iio/adc/ad7887_core.c +++ b/drivers/staging/iio/adc/ad7887_core.c | |||
@@ -153,7 +153,7 @@ static int __devinit ad7887_probe(struct spi_device *spi) | |||
153 | atomic_set(&st->protect_ring, 0); | 153 | atomic_set(&st->protect_ring, 0); |
154 | st->spi = spi; | 154 | st->spi = spi; |
155 | 155 | ||
156 | st->indio_dev = iio_allocate_device(); | 156 | st->indio_dev = iio_allocate_device(0); |
157 | if (st->indio_dev == NULL) { | 157 | if (st->indio_dev == NULL) { |
158 | ret = -ENOMEM; | 158 | ret = -ENOMEM; |
159 | goto error_disable_reg; | 159 | goto error_disable_reg; |
diff --git a/drivers/staging/iio/adc/ad799x_core.c b/drivers/staging/iio/adc/ad799x_core.c index f04e642e727..09d109ffb39 100644 --- a/drivers/staging/iio/adc/ad799x_core.c +++ b/drivers/staging/iio/adc/ad799x_core.c | |||
@@ -801,7 +801,7 @@ static int __devinit ad799x_probe(struct i2c_client *client, | |||
801 | } | 801 | } |
802 | st->client = client; | 802 | st->client = client; |
803 | 803 | ||
804 | st->indio_dev = iio_allocate_device(); | 804 | st->indio_dev = iio_allocate_device(0); |
805 | if (st->indio_dev == NULL) { | 805 | if (st->indio_dev == NULL) { |
806 | ret = -ENOMEM; | 806 | ret = -ENOMEM; |
807 | goto error_disable_reg; | 807 | goto error_disable_reg; |
diff --git a/drivers/staging/iio/adc/adt7310.c b/drivers/staging/iio/adc/adt7310.c index 771a409ee94..7e66c42a712 100644 --- a/drivers/staging/iio/adc/adt7310.c +++ b/drivers/staging/iio/adc/adt7310.c | |||
@@ -794,7 +794,7 @@ static int __devinit adt7310_probe(struct spi_device *spi_dev) | |||
794 | chip->spi_dev = spi_dev; | 794 | chip->spi_dev = spi_dev; |
795 | chip->name = spi_dev->modalias; | 795 | chip->name = spi_dev->modalias; |
796 | 796 | ||
797 | chip->indio_dev = iio_allocate_device(); | 797 | chip->indio_dev = iio_allocate_device(0); |
798 | if (chip->indio_dev == NULL) { | 798 | if (chip->indio_dev == NULL) { |
799 | ret = -ENOMEM; | 799 | ret = -ENOMEM; |
800 | goto error_free_chip; | 800 | goto error_free_chip; |
diff --git a/drivers/staging/iio/adc/adt7410.c b/drivers/staging/iio/adc/adt7410.c index c345f27ec7f..7cc3feb0a17 100644 --- a/drivers/staging/iio/adc/adt7410.c +++ b/drivers/staging/iio/adc/adt7410.c | |||
@@ -764,7 +764,7 @@ static int __devinit adt7410_probe(struct i2c_client *client, | |||
764 | chip->client = client; | 764 | chip->client = client; |
765 | chip->name = id->name; | 765 | chip->name = id->name; |
766 | 766 | ||
767 | chip->indio_dev = iio_allocate_device(); | 767 | chip->indio_dev = iio_allocate_device(0); |
768 | if (chip->indio_dev == NULL) { | 768 | if (chip->indio_dev == NULL) { |
769 | ret = -ENOMEM; | 769 | ret = -ENOMEM; |
770 | goto error_free_chip; | 770 | goto error_free_chip; |
diff --git a/drivers/staging/iio/adc/adt75.c b/drivers/staging/iio/adc/adt75.c index aff4d31eb89..f247c4c789f 100644 --- a/drivers/staging/iio/adc/adt75.c +++ b/drivers/staging/iio/adc/adt75.c | |||
@@ -614,7 +614,7 @@ static int __devinit adt75_probe(struct i2c_client *client, | |||
614 | chip->client = client; | 614 | chip->client = client; |
615 | chip->name = id->name; | 615 | chip->name = id->name; |
616 | 616 | ||
617 | chip->indio_dev = iio_allocate_device(); | 617 | chip->indio_dev = iio_allocate_device(0); |
618 | if (chip->indio_dev == NULL) { | 618 | if (chip->indio_dev == NULL) { |
619 | ret = -ENOMEM; | 619 | ret = -ENOMEM; |
620 | goto error_free_chip; | 620 | goto error_free_chip; |
diff --git a/drivers/staging/iio/adc/max1363_core.c b/drivers/staging/iio/adc/max1363_core.c index de83c3b37a2..1703b2a74ac 100644 --- a/drivers/staging/iio/adc/max1363_core.c +++ b/drivers/staging/iio/adc/max1363_core.c | |||
@@ -1695,7 +1695,7 @@ static int __devinit max1363_probe(struct i2c_client *client, | |||
1695 | } | 1695 | } |
1696 | st->client = client; | 1696 | st->client = client; |
1697 | 1697 | ||
1698 | st->indio_dev = iio_allocate_device(); | 1698 | st->indio_dev = iio_allocate_device(0); |
1699 | if (st->indio_dev == NULL) { | 1699 | if (st->indio_dev == NULL) { |
1700 | ret = -ENOMEM; | 1700 | ret = -ENOMEM; |
1701 | goto error_disable_reg; | 1701 | goto error_disable_reg; |
diff --git a/drivers/staging/iio/addac/adt7316.c b/drivers/staging/iio/addac/adt7316.c index 9b25f120544..d01cb4c2adb 100644 --- a/drivers/staging/iio/addac/adt7316.c +++ b/drivers/staging/iio/addac/adt7316.c | |||
@@ -2299,7 +2299,7 @@ int __devinit adt7316_probe(struct device *dev, struct adt7316_bus *bus, | |||
2299 | if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX) | 2299 | if ((chip->id & ID_FAMILY_MASK) == ID_ADT75XX) |
2300 | chip->int_mask |= ADT7516_AIN_INT_MASK; | 2300 | chip->int_mask |= ADT7516_AIN_INT_MASK; |
2301 | 2301 | ||
2302 | chip->indio_dev = iio_allocate_device(); | 2302 | chip->indio_dev = iio_allocate_device(0); |
2303 | if (chip->indio_dev == NULL) { | 2303 | if (chip->indio_dev == NULL) { |
2304 | ret = -ENOMEM; | 2304 | ret = -ENOMEM; |
2305 | goto error_free_chip; | 2305 | goto error_free_chip; |
diff --git a/drivers/staging/iio/dac/ad5446.c b/drivers/staging/iio/dac/ad5446.c index 102bcc4e08e..fd4fa5497ce 100644 --- a/drivers/staging/iio/dac/ad5446.c +++ b/drivers/staging/iio/dac/ad5446.c | |||
@@ -373,7 +373,7 @@ static int __devinit ad5446_probe(struct spi_device *spi) | |||
373 | 373 | ||
374 | st->spi = spi; | 374 | st->spi = spi; |
375 | 375 | ||
376 | st->indio_dev = iio_allocate_device(); | 376 | st->indio_dev = iio_allocate_device(0); |
377 | if (st->indio_dev == NULL) { | 377 | if (st->indio_dev == NULL) { |
378 | ret = -ENOMEM; | 378 | ret = -ENOMEM; |
379 | goto error_disable_reg; | 379 | goto error_disable_reg; |
diff --git a/drivers/staging/iio/dac/ad5504.c b/drivers/staging/iio/dac/ad5504.c index 153c36e7f70..28ace3011db 100644 --- a/drivers/staging/iio/dac/ad5504.c +++ b/drivers/staging/iio/dac/ad5504.c | |||
@@ -321,7 +321,7 @@ static int __devinit ad5504_probe(struct spi_device *spi) | |||
321 | dev_warn(&spi->dev, "reference voltage unspecified\n"); | 321 | dev_warn(&spi->dev, "reference voltage unspecified\n"); |
322 | 322 | ||
323 | st->spi = spi; | 323 | st->spi = spi; |
324 | st->indio_dev = iio_allocate_device(); | 324 | st->indio_dev = iio_allocate_device(0); |
325 | if (st->indio_dev == NULL) { | 325 | if (st->indio_dev == NULL) { |
326 | ret = -ENOMEM; | 326 | ret = -ENOMEM; |
327 | goto error_disable_reg; | 327 | goto error_disable_reg; |
diff --git a/drivers/staging/iio/dac/ad5624r_spi.c b/drivers/staging/iio/dac/ad5624r_spi.c index a945b18ff84..cfb5828a377 100644 --- a/drivers/staging/iio/dac/ad5624r_spi.c +++ b/drivers/staging/iio/dac/ad5624r_spi.c | |||
@@ -260,7 +260,7 @@ static int __devinit ad5624r_probe(struct spi_device *spi) | |||
260 | st->vref_mv = st->chip_info->int_vref_mv; | 260 | st->vref_mv = st->chip_info->int_vref_mv; |
261 | 261 | ||
262 | st->us = spi; | 262 | st->us = spi; |
263 | st->indio_dev = iio_allocate_device(); | 263 | st->indio_dev = iio_allocate_device(0); |
264 | if (st->indio_dev == NULL) { | 264 | if (st->indio_dev == NULL) { |
265 | ret = -ENOMEM; | 265 | ret = -ENOMEM; |
266 | goto error_disable_reg; | 266 | goto error_disable_reg; |
diff --git a/drivers/staging/iio/dac/ad5791.c b/drivers/staging/iio/dac/ad5791.c index 545f1a6a270..c4a258dfa77 100644 --- a/drivers/staging/iio/dac/ad5791.c +++ b/drivers/staging/iio/dac/ad5791.c | |||
@@ -326,7 +326,7 @@ static int __devinit ad5791_probe(struct spi_device *spi) | |||
326 | st->pwr_down = true; | 326 | st->pwr_down = true; |
327 | 327 | ||
328 | st->spi = spi; | 328 | st->spi = spi; |
329 | st->indio_dev = iio_allocate_device(); | 329 | st->indio_dev = iio_allocate_device(0); |
330 | if (st->indio_dev == NULL) { | 330 | if (st->indio_dev == NULL) { |
331 | ret = -ENOMEM; | 331 | ret = -ENOMEM; |
332 | goto error_disable_reg_neg; | 332 | goto error_disable_reg_neg; |
diff --git a/drivers/staging/iio/dac/max517.c b/drivers/staging/iio/dac/max517.c index 7071f713604..3eb48b65c15 100644 --- a/drivers/staging/iio/dac/max517.c +++ b/drivers/staging/iio/dac/max517.c | |||
@@ -206,7 +206,7 @@ static int max517_probe(struct i2c_client *client, | |||
206 | 206 | ||
207 | data->client = client; | 207 | data->client = client; |
208 | 208 | ||
209 | data->indio_dev = iio_allocate_device(); | 209 | data->indio_dev = iio_allocate_device(0); |
210 | if (data->indio_dev == NULL) { | 210 | if (data->indio_dev == NULL) { |
211 | err = -ENOMEM; | 211 | err = -ENOMEM; |
212 | goto exit_free_data; | 212 | goto exit_free_data; |
diff --git a/drivers/staging/iio/dds/ad5930.c b/drivers/staging/iio/dds/ad5930.c index f80039c5d53..5d98f93ca84 100644 --- a/drivers/staging/iio/dds/ad5930.c +++ b/drivers/staging/iio/dds/ad5930.c | |||
@@ -102,7 +102,7 @@ static int __devinit ad5930_probe(struct spi_device *spi) | |||
102 | mutex_init(&st->lock); | 102 | mutex_init(&st->lock); |
103 | st->sdev = spi; | 103 | st->sdev = spi; |
104 | 104 | ||
105 | st->idev = iio_allocate_device(); | 105 | st->idev = iio_allocate_device(0); |
106 | if (st->idev == NULL) { | 106 | if (st->idev == NULL) { |
107 | ret = -ENOMEM; | 107 | ret = -ENOMEM; |
108 | goto error_free_st; | 108 | goto error_free_st; |
diff --git a/drivers/staging/iio/dds/ad9832.c b/drivers/staging/iio/dds/ad9832.c index 3e8491f60cf..9c6114f4976 100644 --- a/drivers/staging/iio/dds/ad9832.c +++ b/drivers/staging/iio/dds/ad9832.c | |||
@@ -236,7 +236,7 @@ static int __devinit ad9832_probe(struct spi_device *spi) | |||
236 | spi_set_drvdata(spi, st); | 236 | spi_set_drvdata(spi, st); |
237 | st->spi = spi; | 237 | st->spi = spi; |
238 | 238 | ||
239 | st->indio_dev = iio_allocate_device(); | 239 | st->indio_dev = iio_allocate_device(0); |
240 | if (st->indio_dev == NULL) { | 240 | if (st->indio_dev == NULL) { |
241 | ret = -ENOMEM; | 241 | ret = -ENOMEM; |
242 | goto error_disable_reg; | 242 | goto error_disable_reg; |
diff --git a/drivers/staging/iio/dds/ad9834.c b/drivers/staging/iio/dds/ad9834.c index eb1a681874f..da5e302cf0f 100644 --- a/drivers/staging/iio/dds/ad9834.c +++ b/drivers/staging/iio/dds/ad9834.c | |||
@@ -349,7 +349,7 @@ static int __devinit ad9834_probe(struct spi_device *spi) | |||
349 | st->spi = spi; | 349 | st->spi = spi; |
350 | st->devid = spi_get_device_id(spi)->driver_data; | 350 | st->devid = spi_get_device_id(spi)->driver_data; |
351 | 351 | ||
352 | st->indio_dev = iio_allocate_device(); | 352 | st->indio_dev = iio_allocate_device(0); |
353 | if (st->indio_dev == NULL) { | 353 | if (st->indio_dev == NULL) { |
354 | ret = -ENOMEM; | 354 | ret = -ENOMEM; |
355 | goto error_disable_reg; | 355 | goto error_disable_reg; |
diff --git a/drivers/staging/iio/dds/ad9850.c b/drivers/staging/iio/dds/ad9850.c index b259bfeaf5a..34bc0e6950d 100644 --- a/drivers/staging/iio/dds/ad9850.c +++ b/drivers/staging/iio/dds/ad9850.c | |||
@@ -88,7 +88,7 @@ static int __devinit ad9850_probe(struct spi_device *spi) | |||
88 | mutex_init(&st->lock); | 88 | mutex_init(&st->lock); |
89 | st->sdev = spi; | 89 | st->sdev = spi; |
90 | 90 | ||
91 | st->idev = iio_allocate_device(); | 91 | st->idev = iio_allocate_device(0); |
92 | if (st->idev == NULL) { | 92 | if (st->idev == NULL) { |
93 | ret = -ENOMEM; | 93 | ret = -ENOMEM; |
94 | goto error_free_st; | 94 | goto error_free_st; |
diff --git a/drivers/staging/iio/dds/ad9852.c b/drivers/staging/iio/dds/ad9852.c index 594fb6a9433..899a72acd8f 100644 --- a/drivers/staging/iio/dds/ad9852.c +++ b/drivers/staging/iio/dds/ad9852.c | |||
@@ -237,7 +237,7 @@ static int __devinit ad9852_probe(struct spi_device *spi) | |||
237 | mutex_init(&st->lock); | 237 | mutex_init(&st->lock); |
238 | st->sdev = spi; | 238 | st->sdev = spi; |
239 | 239 | ||
240 | st->idev = iio_allocate_device(); | 240 | st->idev = iio_allocate_device(0); |
241 | if (st->idev == NULL) { | 241 | if (st->idev == NULL) { |
242 | ret = -ENOMEM; | 242 | ret = -ENOMEM; |
243 | goto error_free_st; | 243 | goto error_free_st; |
diff --git a/drivers/staging/iio/dds/ad9910.c b/drivers/staging/iio/dds/ad9910.c index e8fb75cb66e..fddb6e7c7ed 100644 --- a/drivers/staging/iio/dds/ad9910.c +++ b/drivers/staging/iio/dds/ad9910.c | |||
@@ -372,7 +372,7 @@ static int __devinit ad9910_probe(struct spi_device *spi) | |||
372 | mutex_init(&st->lock); | 372 | mutex_init(&st->lock); |
373 | st->sdev = spi; | 373 | st->sdev = spi; |
374 | 374 | ||
375 | st->idev = iio_allocate_device(); | 375 | st->idev = iio_allocate_device(0); |
376 | if (st->idev == NULL) { | 376 | if (st->idev == NULL) { |
377 | ret = -ENOMEM; | 377 | ret = -ENOMEM; |
378 | goto error_free_st; | 378 | goto error_free_st; |
diff --git a/drivers/staging/iio/dds/ad9951.c b/drivers/staging/iio/dds/ad9951.c index 57eddf6d471..a9e56c6e0fa 100644 --- a/drivers/staging/iio/dds/ad9951.c +++ b/drivers/staging/iio/dds/ad9951.c | |||
@@ -181,7 +181,7 @@ static int __devinit ad9951_probe(struct spi_device *spi) | |||
181 | mutex_init(&st->lock); | 181 | mutex_init(&st->lock); |
182 | st->sdev = spi; | 182 | st->sdev = spi; |
183 | 183 | ||
184 | st->idev = iio_allocate_device(); | 184 | st->idev = iio_allocate_device(0); |
185 | if (st->idev == NULL) { | 185 | if (st->idev == NULL) { |
186 | ret = -ENOMEM; | 186 | ret = -ENOMEM; |
187 | goto error_free_st; | 187 | goto error_free_st; |
diff --git a/drivers/staging/iio/gyro/adis16060_core.c b/drivers/staging/iio/gyro/adis16060_core.c index ae53e71d1c2..e1f8a708c63 100644 --- a/drivers/staging/iio/gyro/adis16060_core.c +++ b/drivers/staging/iio/gyro/adis16060_core.c | |||
@@ -147,7 +147,7 @@ static int __devinit adis16060_r_probe(struct spi_device *spi) | |||
147 | st->us_r = spi; | 147 | st->us_r = spi; |
148 | mutex_init(&st->buf_lock); | 148 | mutex_init(&st->buf_lock); |
149 | /* setup the industrialio driver allocated elements */ | 149 | /* setup the industrialio driver allocated elements */ |
150 | st->indio_dev = iio_allocate_device(); | 150 | st->indio_dev = iio_allocate_device(0); |
151 | if (st->indio_dev == NULL) { | 151 | if (st->indio_dev == NULL) { |
152 | ret = -ENOMEM; | 152 | ret = -ENOMEM; |
153 | goto error_free_st; | 153 | goto error_free_st; |
diff --git a/drivers/staging/iio/gyro/adis16080_core.c b/drivers/staging/iio/gyro/adis16080_core.c index ef9e304a226..26af63fd7e3 100644 --- a/drivers/staging/iio/gyro/adis16080_core.c +++ b/drivers/staging/iio/gyro/adis16080_core.c | |||
@@ -140,7 +140,7 @@ static int __devinit adis16080_probe(struct spi_device *spi) | |||
140 | st->us = spi; | 140 | st->us = spi; |
141 | mutex_init(&st->buf_lock); | 141 | mutex_init(&st->buf_lock); |
142 | /* setup the industrialio driver allocated elements */ | 142 | /* setup the industrialio driver allocated elements */ |
143 | st->indio_dev = iio_allocate_device(); | 143 | st->indio_dev = iio_allocate_device(0); |
144 | if (st->indio_dev == NULL) { | 144 | if (st->indio_dev == NULL) { |
145 | ret = -ENOMEM; | 145 | ret = -ENOMEM; |
146 | goto error_free_st; | 146 | goto error_free_st; |
diff --git a/drivers/staging/iio/gyro/adis16130_core.c b/drivers/staging/iio/gyro/adis16130_core.c index 70e2831f8fb..02fbe074824 100644 --- a/drivers/staging/iio/gyro/adis16130_core.c +++ b/drivers/staging/iio/gyro/adis16130_core.c | |||
@@ -191,7 +191,7 @@ static int __devinit adis16130_probe(struct spi_device *spi) | |||
191 | st->us = spi; | 191 | st->us = spi; |
192 | mutex_init(&st->buf_lock); | 192 | mutex_init(&st->buf_lock); |
193 | /* setup the industrialio driver allocated elements */ | 193 | /* setup the industrialio driver allocated elements */ |
194 | st->indio_dev = iio_allocate_device(); | 194 | st->indio_dev = iio_allocate_device(0); |
195 | if (st->indio_dev == NULL) { | 195 | if (st->indio_dev == NULL) { |
196 | ret = -ENOMEM; | 196 | ret = -ENOMEM; |
197 | goto error_free_st; | 197 | goto error_free_st; |
diff --git a/drivers/staging/iio/gyro/adis16260_core.c b/drivers/staging/iio/gyro/adis16260_core.c index 69a29ec9310..26e3af47344 100644 --- a/drivers/staging/iio/gyro/adis16260_core.c +++ b/drivers/staging/iio/gyro/adis16260_core.c | |||
@@ -596,7 +596,7 @@ static int __devinit adis16260_probe(struct spi_device *spi) | |||
596 | st->us = spi; | 596 | st->us = spi; |
597 | mutex_init(&st->buf_lock); | 597 | mutex_init(&st->buf_lock); |
598 | /* setup the industrialio driver allocated elements */ | 598 | /* setup the industrialio driver allocated elements */ |
599 | st->indio_dev = iio_allocate_device(); | 599 | st->indio_dev = iio_allocate_device(0); |
600 | if (st->indio_dev == NULL) { | 600 | if (st->indio_dev == NULL) { |
601 | ret = -ENOMEM; | 601 | ret = -ENOMEM; |
602 | goto error_free_tx; | 602 | goto error_free_tx; |
diff --git a/drivers/staging/iio/gyro/adxrs450_core.c b/drivers/staging/iio/gyro/adxrs450_core.c index d70bf684b7a..dcd88ff81a9 100644 --- a/drivers/staging/iio/gyro/adxrs450_core.c +++ b/drivers/staging/iio/gyro/adxrs450_core.c | |||
@@ -369,7 +369,7 @@ static int __devinit adxrs450_probe(struct spi_device *spi) | |||
369 | st->us = spi; | 369 | st->us = spi; |
370 | mutex_init(&st->buf_lock); | 370 | mutex_init(&st->buf_lock); |
371 | /* setup the industrialio driver allocated elements */ | 371 | /* setup the industrialio driver allocated elements */ |
372 | st->indio_dev = iio_allocate_device(); | 372 | st->indio_dev = iio_allocate_device(0); |
373 | if (st->indio_dev == NULL) { | 373 | if (st->indio_dev == NULL) { |
374 | ret = -ENOMEM; | 374 | ret = -ENOMEM; |
375 | goto error_free_tx; | 375 | goto error_free_tx; |
diff --git a/drivers/staging/iio/iio.h b/drivers/staging/iio/iio.h index 7127f26f8d2..80ef2cfe4bb 100644 --- a/drivers/staging/iio/iio.h +++ b/drivers/staging/iio/iio.h | |||
@@ -264,10 +264,25 @@ static inline void *iio_dev_get_devdata(struct iio_dev *d) | |||
264 | return d->dev_data; | 264 | return d->dev_data; |
265 | } | 265 | } |
266 | 266 | ||
267 | |||
268 | /* Can we make this smaller? */ | ||
269 | #define IIO_ALIGN L1_CACHE_BYTES | ||
267 | /** | 270 | /** |
268 | * iio_allocate_device() - allocate an iio_dev from a driver | 271 | * iio_allocate_device() - allocate an iio_dev from a driver |
272 | * @sizeof_priv: Space to allocate for private structure. | ||
269 | **/ | 273 | **/ |
270 | struct iio_dev *iio_allocate_device(void); | 274 | struct iio_dev *iio_allocate_device(int sizeof_priv); |
275 | |||
276 | static inline void *iio_priv(const struct iio_dev *dev) | ||
277 | { | ||
278 | return (char *)dev + ALIGN(sizeof(struct iio_dev), IIO_ALIGN); | ||
279 | } | ||
280 | |||
281 | static inline struct iio_dev *iio_priv_to_dev(void *priv) | ||
282 | { | ||
283 | return (struct iio_dev *)((char *)priv - | ||
284 | ALIGN(sizeof(struct iio_dev), IIO_ALIGN)); | ||
285 | } | ||
271 | 286 | ||
272 | /** | 287 | /** |
273 | * iio_free_device() - free an iio_dev from a driver | 288 | * iio_free_device() - free an iio_dev from a driver |
diff --git a/drivers/staging/iio/imu/adis16300_core.c b/drivers/staging/iio/imu/adis16300_core.c index 7ad13f4d3d7..0734d4a7069 100644 --- a/drivers/staging/iio/imu/adis16300_core.c +++ b/drivers/staging/iio/imu/adis16300_core.c | |||
@@ -628,7 +628,7 @@ static int __devinit adis16300_probe(struct spi_device *spi) | |||
628 | st->us = spi; | 628 | st->us = spi; |
629 | mutex_init(&st->buf_lock); | 629 | mutex_init(&st->buf_lock); |
630 | /* setup the industrialio driver allocated elements */ | 630 | /* setup the industrialio driver allocated elements */ |
631 | st->indio_dev = iio_allocate_device(); | 631 | st->indio_dev = iio_allocate_device(0); |
632 | if (st->indio_dev == NULL) { | 632 | if (st->indio_dev == NULL) { |
633 | ret = -ENOMEM; | 633 | ret = -ENOMEM; |
634 | goto error_free_tx; | 634 | goto error_free_tx; |
diff --git a/drivers/staging/iio/imu/adis16350_core.c b/drivers/staging/iio/imu/adis16350_core.c index cf7176bc766..208192470ec 100644 --- a/drivers/staging/iio/imu/adis16350_core.c +++ b/drivers/staging/iio/imu/adis16350_core.c | |||
@@ -617,7 +617,7 @@ static int __devinit adis16350_probe(struct spi_device *spi) | |||
617 | st->us = spi; | 617 | st->us = spi; |
618 | mutex_init(&st->buf_lock); | 618 | mutex_init(&st->buf_lock); |
619 | /* setup the industrialio driver allocated elements */ | 619 | /* setup the industrialio driver allocated elements */ |
620 | st->indio_dev = iio_allocate_device(); | 620 | st->indio_dev = iio_allocate_device(0); |
621 | if (st->indio_dev == NULL) { | 621 | if (st->indio_dev == NULL) { |
622 | ret = -ENOMEM; | 622 | ret = -ENOMEM; |
623 | goto error_free_tx; | 623 | goto error_free_tx; |
diff --git a/drivers/staging/iio/imu/adis16400_core.c b/drivers/staging/iio/imu/adis16400_core.c index 540bde69cc3..a0b53ee887f 100644 --- a/drivers/staging/iio/imu/adis16400_core.c +++ b/drivers/staging/iio/imu/adis16400_core.c | |||
@@ -622,7 +622,7 @@ static int __devinit adis16400_probe(struct spi_device *spi) | |||
622 | st->us = spi; | 622 | st->us = spi; |
623 | mutex_init(&st->buf_lock); | 623 | mutex_init(&st->buf_lock); |
624 | /* setup the industrialio driver allocated elements */ | 624 | /* setup the industrialio driver allocated elements */ |
625 | st->indio_dev = iio_allocate_device(); | 625 | st->indio_dev = iio_allocate_device(0); |
626 | if (st->indio_dev == NULL) { | 626 | if (st->indio_dev == NULL) { |
627 | ret = -ENOMEM; | 627 | ret = -ENOMEM; |
628 | goto error_free_tx; | 628 | goto error_free_tx; |
diff --git a/drivers/staging/iio/industrialio-core.c b/drivers/staging/iio/industrialio-core.c index 1795ee1e820..3a824146455 100644 --- a/drivers/staging/iio/industrialio-core.c +++ b/drivers/staging/iio/industrialio-core.c | |||
@@ -720,9 +720,20 @@ static struct device_type iio_dev_type = { | |||
720 | .release = iio_dev_release, | 720 | .release = iio_dev_release, |
721 | }; | 721 | }; |
722 | 722 | ||
723 | struct iio_dev *iio_allocate_device(void) | 723 | struct iio_dev *iio_allocate_device(int sizeof_priv) |
724 | { | 724 | { |
725 | struct iio_dev *dev = kzalloc(sizeof *dev, GFP_KERNEL); | 725 | struct iio_dev *dev; |
726 | size_t alloc_size; | ||
727 | |||
728 | alloc_size = sizeof(struct iio_dev); | ||
729 | if (sizeof_priv) { | ||
730 | alloc_size = ALIGN(alloc_size, IIO_ALIGN); | ||
731 | alloc_size += sizeof_priv; | ||
732 | } | ||
733 | /* ensure 32-byte alignment of whole construct ? */ | ||
734 | alloc_size += IIO_ALIGN - 1; | ||
735 | |||
736 | dev = kzalloc(alloc_size, GFP_KERNEL); | ||
726 | 737 | ||
727 | if (dev) { | 738 | if (dev) { |
728 | dev->dev.type = &iio_dev_type; | 739 | dev->dev.type = &iio_dev_type; |
diff --git a/drivers/staging/iio/light/isl29018.c b/drivers/staging/iio/light/isl29018.c index f919cc1d35e..dfbc423a75e 100644 --- a/drivers/staging/iio/light/isl29018.c +++ b/drivers/staging/iio/light/isl29018.c | |||
@@ -492,7 +492,7 @@ static int __devinit isl29018_probe(struct i2c_client *client, | |||
492 | if (err) | 492 | if (err) |
493 | goto exit_free; | 493 | goto exit_free; |
494 | 494 | ||
495 | chip->indio_dev = iio_allocate_device(); | 495 | chip->indio_dev = iio_allocate_device(0); |
496 | if (!chip->indio_dev) { | 496 | if (!chip->indio_dev) { |
497 | dev_err(&client->dev, "iio allocation fails\n"); | 497 | dev_err(&client->dev, "iio allocation fails\n"); |
498 | goto exit_free; | 498 | goto exit_free; |
diff --git a/drivers/staging/iio/light/tsl2563.c b/drivers/staging/iio/light/tsl2563.c index dadae7527d5..35d94c6d8d8 100644 --- a/drivers/staging/iio/light/tsl2563.c +++ b/drivers/staging/iio/light/tsl2563.c | |||
@@ -857,7 +857,7 @@ static int __devinit tsl2563_probe(struct i2c_client *client, | |||
857 | 857 | ||
858 | dev_info(&client->dev, "model %d, rev. %d\n", id >> 4, id & 0x0f); | 858 | dev_info(&client->dev, "model %d, rev. %d\n", id >> 4, id & 0x0f); |
859 | 859 | ||
860 | chip->indio_dev = iio_allocate_device(); | 860 | chip->indio_dev = iio_allocate_device(0); |
861 | if (!chip->indio_dev) | 861 | if (!chip->indio_dev) |
862 | goto fail1; | 862 | goto fail1; |
863 | chip->indio_dev->attrs = &tsl2563_group; | 863 | chip->indio_dev->attrs = &tsl2563_group; |
diff --git a/drivers/staging/iio/light/tsl2583.c b/drivers/staging/iio/light/tsl2583.c index 1740843ee12..b87ccd5a2f5 100644 --- a/drivers/staging/iio/light/tsl2583.c +++ b/drivers/staging/iio/light/tsl2583.c | |||
@@ -847,7 +847,7 @@ static int __devinit taos_probe(struct i2c_client *clientp, | |||
847 | goto fail1; | 847 | goto fail1; |
848 | } | 848 | } |
849 | 849 | ||
850 | chip->iio_dev = iio_allocate_device(); | 850 | chip->iio_dev = iio_allocate_device(0); |
851 | if (!chip->iio_dev) { | 851 | if (!chip->iio_dev) { |
852 | ret = -ENOMEM; | 852 | ret = -ENOMEM; |
853 | dev_err(&clientp->dev, "iio allocation failed\n"); | 853 | dev_err(&clientp->dev, "iio allocation failed\n"); |
diff --git a/drivers/staging/iio/magnetometer/ak8975.c b/drivers/staging/iio/magnetometer/ak8975.c index d71904a8370..2226b88882d 100644 --- a/drivers/staging/iio/magnetometer/ak8975.c +++ b/drivers/staging/iio/magnetometer/ak8975.c | |||
@@ -526,7 +526,7 @@ static int ak8975_probe(struct i2c_client *client, | |||
526 | } | 526 | } |
527 | 527 | ||
528 | /* Register with IIO */ | 528 | /* Register with IIO */ |
529 | data->indio_dev = iio_allocate_device(); | 529 | data->indio_dev = iio_allocate_device(0); |
530 | if (data->indio_dev == NULL) { | 530 | if (data->indio_dev == NULL) { |
531 | err = -ENOMEM; | 531 | err = -ENOMEM; |
532 | goto exit_gpio; | 532 | goto exit_gpio; |
diff --git a/drivers/staging/iio/magnetometer/hmc5843.c b/drivers/staging/iio/magnetometer/hmc5843.c index 51689177e00..d0676e99f15 100644 --- a/drivers/staging/iio/magnetometer/hmc5843.c +++ b/drivers/staging/iio/magnetometer/hmc5843.c | |||
@@ -552,7 +552,7 @@ static int hmc5843_probe(struct i2c_client *client, | |||
552 | /* Initialize the HMC5843 chip */ | 552 | /* Initialize the HMC5843 chip */ |
553 | hmc5843_init_client(client); | 553 | hmc5843_init_client(client); |
554 | 554 | ||
555 | data->indio_dev = iio_allocate_device(); | 555 | data->indio_dev = iio_allocate_device(0); |
556 | if (!data->indio_dev) { | 556 | if (!data->indio_dev) { |
557 | err = -ENOMEM; | 557 | err = -ENOMEM; |
558 | goto exit_free1; | 558 | goto exit_free1; |
diff --git a/drivers/staging/iio/meter/ade7753.c b/drivers/staging/iio/meter/ade7753.c index 8b86d82c3b3..d62d9e2f0d2 100644 --- a/drivers/staging/iio/meter/ade7753.c +++ b/drivers/staging/iio/meter/ade7753.c | |||
@@ -532,7 +532,7 @@ static int __devinit ade7753_probe(struct spi_device *spi) | |||
532 | st->us = spi; | 532 | st->us = spi; |
533 | mutex_init(&st->buf_lock); | 533 | mutex_init(&st->buf_lock); |
534 | /* setup the industrialio driver allocated elements */ | 534 | /* setup the industrialio driver allocated elements */ |
535 | st->indio_dev = iio_allocate_device(); | 535 | st->indio_dev = iio_allocate_device(0); |
536 | if (st->indio_dev == NULL) { | 536 | if (st->indio_dev == NULL) { |
537 | ret = -ENOMEM; | 537 | ret = -ENOMEM; |
538 | goto error_free_tx; | 538 | goto error_free_tx; |
diff --git a/drivers/staging/iio/meter/ade7754.c b/drivers/staging/iio/meter/ade7754.c index 4272818e7dc..2d0b8cc0599 100644 --- a/drivers/staging/iio/meter/ade7754.c +++ b/drivers/staging/iio/meter/ade7754.c | |||
@@ -557,7 +557,7 @@ static int __devinit ade7754_probe(struct spi_device *spi) | |||
557 | st->us = spi; | 557 | st->us = spi; |
558 | mutex_init(&st->buf_lock); | 558 | mutex_init(&st->buf_lock); |
559 | /* setup the industrialio driver allocated elements */ | 559 | /* setup the industrialio driver allocated elements */ |
560 | st->indio_dev = iio_allocate_device(); | 560 | st->indio_dev = iio_allocate_device(0); |
561 | if (st->indio_dev == NULL) { | 561 | if (st->indio_dev == NULL) { |
562 | ret = -ENOMEM; | 562 | ret = -ENOMEM; |
563 | goto error_free_tx; | 563 | goto error_free_tx; |
diff --git a/drivers/staging/iio/meter/ade7758_core.c b/drivers/staging/iio/meter/ade7758_core.c index b7634cb7aa4..8d37ef7eb95 100644 --- a/drivers/staging/iio/meter/ade7758_core.c +++ b/drivers/staging/iio/meter/ade7758_core.c | |||
@@ -737,7 +737,7 @@ static int __devinit ade7758_probe(struct spi_device *spi) | |||
737 | st->us = spi; | 737 | st->us = spi; |
738 | mutex_init(&st->buf_lock); | 738 | mutex_init(&st->buf_lock); |
739 | /* setup the industrialio driver allocated elements */ | 739 | /* setup the industrialio driver allocated elements */ |
740 | st->indio_dev = iio_allocate_device(); | 740 | st->indio_dev = iio_allocate_device(0); |
741 | if (st->indio_dev == NULL) { | 741 | if (st->indio_dev == NULL) { |
742 | ret = -ENOMEM; | 742 | ret = -ENOMEM; |
743 | goto error_free_tx; | 743 | goto error_free_tx; |
diff --git a/drivers/staging/iio/meter/ade7759.c b/drivers/staging/iio/meter/ade7759.c index a9d3203b2e1..42b3b27520c 100644 --- a/drivers/staging/iio/meter/ade7759.c +++ b/drivers/staging/iio/meter/ade7759.c | |||
@@ -478,7 +478,7 @@ static int __devinit ade7759_probe(struct spi_device *spi) | |||
478 | st->us = spi; | 478 | st->us = spi; |
479 | mutex_init(&st->buf_lock); | 479 | mutex_init(&st->buf_lock); |
480 | /* setup the industrialio driver allocated elements */ | 480 | /* setup the industrialio driver allocated elements */ |
481 | st->indio_dev = iio_allocate_device(); | 481 | st->indio_dev = iio_allocate_device(0); |
482 | if (st->indio_dev == NULL) { | 482 | if (st->indio_dev == NULL) { |
483 | ret = -ENOMEM; | 483 | ret = -ENOMEM; |
484 | goto error_free_tx; | 484 | goto error_free_tx; |
diff --git a/drivers/staging/iio/meter/ade7854.c b/drivers/staging/iio/meter/ade7854.c index 866e585451f..d3f1df71c7f 100644 --- a/drivers/staging/iio/meter/ade7854.c +++ b/drivers/staging/iio/meter/ade7854.c | |||
@@ -568,7 +568,7 @@ int ade7854_probe(struct ade7854_state *st, struct device *dev) | |||
568 | } | 568 | } |
569 | mutex_init(&st->buf_lock); | 569 | mutex_init(&st->buf_lock); |
570 | /* setup the industrialio driver allocated elements */ | 570 | /* setup the industrialio driver allocated elements */ |
571 | st->indio_dev = iio_allocate_device(); | 571 | st->indio_dev = iio_allocate_device(0); |
572 | if (st->indio_dev == NULL) { | 572 | if (st->indio_dev == NULL) { |
573 | ret = -ENOMEM; | 573 | ret = -ENOMEM; |
574 | goto error_free_tx; | 574 | goto error_free_tx; |
diff --git a/drivers/staging/iio/resolver/ad2s120x.c b/drivers/staging/iio/resolver/ad2s120x.c index 8f497a23976..e0237ff8105 100644 --- a/drivers/staging/iio/resolver/ad2s120x.c +++ b/drivers/staging/iio/resolver/ad2s120x.c | |||
@@ -240,7 +240,7 @@ static int __devinit ad2s120x_probe(struct spi_device *spi) | |||
240 | st->sample = pins[0]; | 240 | st->sample = pins[0]; |
241 | st->rdvel = pins[1]; | 241 | st->rdvel = pins[1]; |
242 | 242 | ||
243 | st->idev = iio_allocate_device(); | 243 | st->idev = iio_allocate_device(0); |
244 | if (st->idev == NULL) { | 244 | if (st->idev == NULL) { |
245 | ret = -ENOMEM; | 245 | ret = -ENOMEM; |
246 | goto error_free_st; | 246 | goto error_free_st; |
diff --git a/drivers/staging/iio/resolver/ad2s1210.c b/drivers/staging/iio/resolver/ad2s1210.c index c12f64cc40d..dc7cae80cf3 100644 --- a/drivers/staging/iio/resolver/ad2s1210.c +++ b/drivers/staging/iio/resolver/ad2s1210.c | |||
@@ -800,7 +800,7 @@ static int __devinit ad2s1210_probe(struct spi_device *spi) | |||
800 | st->res0 = pins[3]; | 800 | st->res0 = pins[3]; |
801 | st->res1 = pins[4]; | 801 | st->res1 = pins[4]; |
802 | 802 | ||
803 | st->idev = iio_allocate_device(); | 803 | st->idev = iio_allocate_device(0); |
804 | if (st->idev == NULL) { | 804 | if (st->idev == NULL) { |
805 | ret = -ENOMEM; | 805 | ret = -ENOMEM; |
806 | goto error_free_st; | 806 | goto error_free_st; |
diff --git a/drivers/staging/iio/resolver/ad2s90.c b/drivers/staging/iio/resolver/ad2s90.c index 4143535242d..e300adeefa8 100644 --- a/drivers/staging/iio/resolver/ad2s90.c +++ b/drivers/staging/iio/resolver/ad2s90.c | |||
@@ -90,7 +90,7 @@ static int __devinit ad2s90_probe(struct spi_device *spi) | |||
90 | mutex_init(&st->lock); | 90 | mutex_init(&st->lock); |
91 | st->sdev = spi; | 91 | st->sdev = spi; |
92 | 92 | ||
93 | st->idev = iio_allocate_device(); | 93 | st->idev = iio_allocate_device(0); |
94 | if (st->idev == NULL) { | 94 | if (st->idev == NULL) { |
95 | ret = -ENOMEM; | 95 | ret = -ENOMEM; |
96 | goto error_free_st; | 96 | goto error_free_st; |