aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iio')
-rw-r--r--drivers/iio/accel/Kconfig1
-rw-r--r--drivers/iio/accel/hid-sensor-accel-3d.c4
-rw-r--r--drivers/iio/adc/ad7266.c14
-rw-r--r--drivers/iio/adc/ad7298.c6
-rw-r--r--drivers/iio/adc/ad7476.c6
-rw-r--r--drivers/iio/adc/ad7791.c10
-rw-r--r--drivers/iio/adc/ad7887.c6
-rw-r--r--drivers/iio/adc/at91_adc.c8
-rw-r--r--drivers/iio/adc/lp8788_adc.c6
-rw-r--r--drivers/iio/adc/max1363.c23
-rw-r--r--drivers/iio/adc/ti_am335x_adc.c6
-rw-r--r--drivers/iio/adc/viperboard_adc.c6
-rw-r--r--drivers/iio/amplifiers/ad8366.c6
-rw-r--r--drivers/iio/common/hid-sensors/Kconfig13
-rw-r--r--drivers/iio/common/hid-sensors/Makefile3
-rw-r--r--drivers/iio/dac/ad5064.c18
-rw-r--r--drivers/iio/dac/ad5360.c8
-rw-r--r--drivers/iio/dac/ad5380.c28
-rw-r--r--drivers/iio/dac/ad5421.c6
-rw-r--r--drivers/iio/dac/ad5446.c24
-rw-r--r--drivers/iio/dac/ad5449.c6
-rw-r--r--drivers/iio/dac/ad5504.c12
-rw-r--r--drivers/iio/dac/ad5624r_spi.c12
-rw-r--r--drivers/iio/dac/ad5686.c12
-rw-r--r--drivers/iio/dac/ad5755.c16
-rw-r--r--drivers/iio/dac/ad5764.c6
-rw-r--r--drivers/iio/dac/ad5791.c19
-rw-r--r--drivers/iio/dac/max517.c6
-rw-r--r--drivers/iio/dac/mcp4725.c8
-rw-r--r--drivers/iio/frequency/ad9523.c6
-rw-r--r--drivers/iio/frequency/adf4350.c8
-rw-r--r--drivers/iio/gyro/Kconfig1
-rw-r--r--drivers/iio/gyro/hid-sensor-gyro-3d.c4
-rw-r--r--drivers/iio/light/Kconfig1
-rw-r--r--drivers/iio/light/adjd_s311.c8
-rw-r--r--drivers/iio/light/hid-sensor-als.c4
-rw-r--r--drivers/iio/light/lm3533-als.c19
-rw-r--r--drivers/iio/light/vcnl4000.c8
-rw-r--r--drivers/iio/magnetometer/Kconfig1
-rw-r--r--drivers/iio/magnetometer/hid-sensor-magn-3d.c4
40 files changed, 205 insertions, 158 deletions
diff --git a/drivers/iio/accel/Kconfig b/drivers/iio/accel/Kconfig
index fe4bcd7c5b12..05e996fafc9d 100644
--- a/drivers/iio/accel/Kconfig
+++ b/drivers/iio/accel/Kconfig
@@ -8,6 +8,7 @@ config HID_SENSOR_ACCEL_3D
8 select IIO_BUFFER 8 select IIO_BUFFER
9 select IIO_TRIGGERED_BUFFER 9 select IIO_TRIGGERED_BUFFER
10 select HID_SENSOR_IIO_COMMON 10 select HID_SENSOR_IIO_COMMON
11 select HID_SENSOR_IIO_TRIGGER
11 tristate "HID Accelerometers 3D" 12 tristate "HID Accelerometers 3D"
12 help 13 help
13 Say yes here to build support for the HID SENSOR 14 Say yes here to build support for the HID SENSOR
diff --git a/drivers/iio/accel/hid-sensor-accel-3d.c b/drivers/iio/accel/hid-sensor-accel-3d.c
index e67bb912bd19..0b0c3c66f6c0 100644
--- a/drivers/iio/accel/hid-sensor-accel-3d.c
+++ b/drivers/iio/accel/hid-sensor-accel-3d.c
@@ -278,7 +278,7 @@ static int accel_3d_parse_report(struct platform_device *pdev,
278} 278}
279 279
280/* Function to initialize the processing for usage id */ 280/* Function to initialize the processing for usage id */
281static int __devinit hid_accel_3d_probe(struct platform_device *pdev) 281static int hid_accel_3d_probe(struct platform_device *pdev)
282{ 282{
283 int ret = 0; 283 int ret = 0;
284 static const char *name = "accel_3d"; 284 static const char *name = "accel_3d";
@@ -375,7 +375,7 @@ error_ret:
375} 375}
376 376
377/* Function to deinitialize the processing for usage id */ 377/* Function to deinitialize the processing for usage id */
378static int __devinit hid_accel_3d_remove(struct platform_device *pdev) 378static int hid_accel_3d_remove(struct platform_device *pdev)
379{ 379{
380 struct hid_sensor_hub_device *hsdev = pdev->dev.platform_data; 380 struct hid_sensor_hub_device *hsdev = pdev->dev.platform_data;
381 struct iio_dev *indio_dev = platform_get_drvdata(pdev); 381 struct iio_dev *indio_dev = platform_get_drvdata(pdev);
diff --git a/drivers/iio/adc/ad7266.c b/drivers/iio/adc/ad7266.c
index a6f4fc5f8201..bbad9b94cd75 100644
--- a/drivers/iio/adc/ad7266.c
+++ b/drivers/iio/adc/ad7266.c
@@ -367,7 +367,7 @@ static const struct ad7266_chan_info ad7266_chan_infos[] = {
367 }, 367 },
368}; 368};
369 369
370static void __devinit ad7266_init_channels(struct iio_dev *indio_dev) 370static void ad7266_init_channels(struct iio_dev *indio_dev)
371{ 371{
372 struct ad7266_state *st = iio_priv(indio_dev); 372 struct ad7266_state *st = iio_priv(indio_dev);
373 bool is_differential, is_signed; 373 bool is_differential, is_signed;
@@ -391,7 +391,7 @@ static const char * const ad7266_gpio_labels[] = {
391 "AD0", "AD1", "AD2", 391 "AD0", "AD1", "AD2",
392}; 392};
393 393
394static int __devinit ad7266_probe(struct spi_device *spi) 394static int ad7266_probe(struct spi_device *spi)
395{ 395{
396 struct ad7266_platform_data *pdata = spi->dev.platform_data; 396 struct ad7266_platform_data *pdata = spi->dev.platform_data;
397 struct iio_dev *indio_dev; 397 struct iio_dev *indio_dev;
@@ -411,7 +411,11 @@ static int __devinit ad7266_probe(struct spi_device *spi)
411 if (ret) 411 if (ret)
412 goto error_put_reg; 412 goto error_put_reg;
413 413
414 st->vref_uv = regulator_get_voltage(st->reg); 414 ret = regulator_get_voltage(st->reg);
415 if (ret < 0)
416 goto error_disable_reg;
417
418 st->vref_uv = ret;
415 } else { 419 } else {
416 /* Use internal reference */ 420 /* Use internal reference */
417 st->vref_uv = 2500000; 421 st->vref_uv = 2500000;
@@ -494,7 +498,7 @@ error_put_reg:
494 return ret; 498 return ret;
495} 499}
496 500
497static int __devexit ad7266_remove(struct spi_device *spi) 501static int ad7266_remove(struct spi_device *spi)
498{ 502{
499 struct iio_dev *indio_dev = spi_get_drvdata(spi); 503 struct iio_dev *indio_dev = spi_get_drvdata(spi);
500 struct ad7266_state *st = iio_priv(indio_dev); 504 struct ad7266_state *st = iio_priv(indio_dev);
@@ -525,7 +529,7 @@ static struct spi_driver ad7266_driver = {
525 .owner = THIS_MODULE, 529 .owner = THIS_MODULE,
526 }, 530 },
527 .probe = ad7266_probe, 531 .probe = ad7266_probe,
528 .remove = __devexit_p(ad7266_remove), 532 .remove = ad7266_remove,
529 .id_table = ad7266_id, 533 .id_table = ad7266_id,
530}; 534};
531module_spi_driver(ad7266_driver); 535module_spi_driver(ad7266_driver);
diff --git a/drivers/iio/adc/ad7298.c b/drivers/iio/adc/ad7298.c
index 2364807a5d6c..b34d754994d5 100644
--- a/drivers/iio/adc/ad7298.c
+++ b/drivers/iio/adc/ad7298.c
@@ -292,7 +292,7 @@ static const struct iio_info ad7298_info = {
292 .driver_module = THIS_MODULE, 292 .driver_module = THIS_MODULE,
293}; 293};
294 294
295static int __devinit ad7298_probe(struct spi_device *spi) 295static int ad7298_probe(struct spi_device *spi)
296{ 296{
297 struct ad7298_platform_data *pdata = spi->dev.platform_data; 297 struct ad7298_platform_data *pdata = spi->dev.platform_data;
298 struct ad7298_state *st; 298 struct ad7298_state *st;
@@ -370,7 +370,7 @@ error_free:
370 return ret; 370 return ret;
371} 371}
372 372
373static int __devexit ad7298_remove(struct spi_device *spi) 373static int ad7298_remove(struct spi_device *spi)
374{ 374{
375 struct iio_dev *indio_dev = spi_get_drvdata(spi); 375 struct iio_dev *indio_dev = spi_get_drvdata(spi);
376 struct ad7298_state *st = iio_priv(indio_dev); 376 struct ad7298_state *st = iio_priv(indio_dev);
@@ -398,7 +398,7 @@ static struct spi_driver ad7298_driver = {
398 .owner = THIS_MODULE, 398 .owner = THIS_MODULE,
399 }, 399 },
400 .probe = ad7298_probe, 400 .probe = ad7298_probe,
401 .remove = __devexit_p(ad7298_remove), 401 .remove = ad7298_remove,
402 .id_table = ad7298_id, 402 .id_table = ad7298_id,
403}; 403};
404module_spi_driver(ad7298_driver); 404module_spi_driver(ad7298_driver);
diff --git a/drivers/iio/adc/ad7476.c b/drivers/iio/adc/ad7476.c
index 330248bfebae..1491fa6debb2 100644
--- a/drivers/iio/adc/ad7476.c
+++ b/drivers/iio/adc/ad7476.c
@@ -207,7 +207,7 @@ static const struct iio_info ad7476_info = {
207 .read_raw = &ad7476_read_raw, 207 .read_raw = &ad7476_read_raw,
208}; 208};
209 209
210static int __devinit ad7476_probe(struct spi_device *spi) 210static int ad7476_probe(struct spi_device *spi)
211{ 211{
212 struct ad7476_state *st; 212 struct ad7476_state *st;
213 struct iio_dev *indio_dev; 213 struct iio_dev *indio_dev;
@@ -277,7 +277,7 @@ error_ret:
277 return ret; 277 return ret;
278} 278}
279 279
280static int __devexit ad7476_remove(struct spi_device *spi) 280static int ad7476_remove(struct spi_device *spi)
281{ 281{
282 struct iio_dev *indio_dev = spi_get_drvdata(spi); 282 struct iio_dev *indio_dev = spi_get_drvdata(spi);
283 struct ad7476_state *st = iio_priv(indio_dev); 283 struct ad7476_state *st = iio_priv(indio_dev);
@@ -322,7 +322,7 @@ static struct spi_driver ad7476_driver = {
322 .owner = THIS_MODULE, 322 .owner = THIS_MODULE,
323 }, 323 },
324 .probe = ad7476_probe, 324 .probe = ad7476_probe,
325 .remove = __devexit_p(ad7476_remove), 325 .remove = ad7476_remove,
326 .id_table = ad7476_id, 326 .id_table = ad7476_id,
327}; 327};
328module_spi_driver(ad7476_driver); 328module_spi_driver(ad7476_driver);
diff --git a/drivers/iio/adc/ad7791.c b/drivers/iio/adc/ad7791.c
index e93740843b2b..5e8d1da6887f 100644
--- a/drivers/iio/adc/ad7791.c
+++ b/drivers/iio/adc/ad7791.c
@@ -325,8 +325,8 @@ static const struct iio_info ad7791_no_filter_info = {
325 .driver_module = THIS_MODULE, 325 .driver_module = THIS_MODULE,
326}; 326};
327 327
328static int __devinit ad7791_setup(struct ad7791_state *st, 328static int ad7791_setup(struct ad7791_state *st,
329 struct ad7791_platform_data *pdata) 329 struct ad7791_platform_data *pdata)
330{ 330{
331 /* Set to poweron-reset default values */ 331 /* Set to poweron-reset default values */
332 st->mode = AD7791_MODE_BUFFER; 332 st->mode = AD7791_MODE_BUFFER;
@@ -349,7 +349,7 @@ static int __devinit ad7791_setup(struct ad7791_state *st,
349 st->mode); 349 st->mode);
350} 350}
351 351
352static int __devinit ad7791_probe(struct spi_device *spi) 352static int ad7791_probe(struct spi_device *spi)
353{ 353{
354 struct ad7791_platform_data *pdata = spi->dev.platform_data; 354 struct ad7791_platform_data *pdata = spi->dev.platform_data;
355 struct iio_dev *indio_dev; 355 struct iio_dev *indio_dev;
@@ -418,7 +418,7 @@ err_iio_free:
418 return ret; 418 return ret;
419} 419}
420 420
421static int __devexit ad7791_remove(struct spi_device *spi) 421static int ad7791_remove(struct spi_device *spi)
422{ 422{
423 struct iio_dev *indio_dev = spi_get_drvdata(spi); 423 struct iio_dev *indio_dev = spi_get_drvdata(spi);
424 struct ad7791_state *st = iio_priv(indio_dev); 424 struct ad7791_state *st = iio_priv(indio_dev);
@@ -450,7 +450,7 @@ static struct spi_driver ad7791_driver = {
450 .owner = THIS_MODULE, 450 .owner = THIS_MODULE,
451 }, 451 },
452 .probe = ad7791_probe, 452 .probe = ad7791_probe,
453 .remove = __devexit_p(ad7791_remove), 453 .remove = ad7791_remove,
454 .id_table = ad7791_spi_ids, 454 .id_table = ad7791_spi_ids,
455}; 455};
456module_spi_driver(ad7791_driver); 456module_spi_driver(ad7791_driver);
diff --git a/drivers/iio/adc/ad7887.c b/drivers/iio/adc/ad7887.c
index 81153fafac7a..a33d5cd1a536 100644
--- a/drivers/iio/adc/ad7887.c
+++ b/drivers/iio/adc/ad7887.c
@@ -233,7 +233,7 @@ static const struct iio_info ad7887_info = {
233 .driver_module = THIS_MODULE, 233 .driver_module = THIS_MODULE,
234}; 234};
235 235
236static int __devinit ad7887_probe(struct spi_device *spi) 236static int ad7887_probe(struct spi_device *spi)
237{ 237{
238 struct ad7887_platform_data *pdata = spi->dev.platform_data; 238 struct ad7887_platform_data *pdata = spi->dev.platform_data;
239 struct ad7887_state *st; 239 struct ad7887_state *st;
@@ -340,7 +340,7 @@ error_free:
340 return ret; 340 return ret;
341} 341}
342 342
343static int __devexit ad7887_remove(struct spi_device *spi) 343static int ad7887_remove(struct spi_device *spi)
344{ 344{
345 struct iio_dev *indio_dev = spi_get_drvdata(spi); 345 struct iio_dev *indio_dev = spi_get_drvdata(spi);
346 struct ad7887_state *st = iio_priv(indio_dev); 346 struct ad7887_state *st = iio_priv(indio_dev);
@@ -368,7 +368,7 @@ static struct spi_driver ad7887_driver = {
368 .owner = THIS_MODULE, 368 .owner = THIS_MODULE,
369 }, 369 },
370 .probe = ad7887_probe, 370 .probe = ad7887_probe,
371 .remove = __devexit_p(ad7887_remove), 371 .remove = ad7887_remove,
372 .id_table = ad7887_id, 372 .id_table = ad7887_id,
373}; 373};
374module_spi_driver(ad7887_driver); 374module_spi_driver(ad7887_driver);
diff --git a/drivers/iio/adc/at91_adc.c b/drivers/iio/adc/at91_adc.c
index 03b85940f4ba..a526c0e3aaa8 100644
--- a/drivers/iio/adc/at91_adc.c
+++ b/drivers/iio/adc/at91_adc.c
@@ -80,7 +80,7 @@ static irqreturn_t at91_adc_trigger_handler(int irq, void *p)
80 *timestamp = pf->timestamp; 80 *timestamp = pf->timestamp;
81 } 81 }
82 82
83 iio_push_to_buffers(indio_dev, (u8 *)st->buffer); 83 iio_push_to_buffers(idev, (u8 *)st->buffer);
84 84
85 iio_trigger_notify_done(idev->trig); 85 iio_trigger_notify_done(idev->trig);
86 86
@@ -514,7 +514,7 @@ static const struct iio_info at91_adc_info = {
514 .read_raw = &at91_adc_read_raw, 514 .read_raw = &at91_adc_read_raw,
515}; 515};
516 516
517static int __devinit at91_adc_probe(struct platform_device *pdev) 517static int at91_adc_probe(struct platform_device *pdev)
518{ 518{
519 unsigned int prsc, mstrclk, ticks, adc_clk; 519 unsigned int prsc, mstrclk, ticks, adc_clk;
520 int ret; 520 int ret;
@@ -678,7 +678,7 @@ error_ret:
678 return ret; 678 return ret;
679} 679}
680 680
681static int __devexit at91_adc_remove(struct platform_device *pdev) 681static int at91_adc_remove(struct platform_device *pdev)
682{ 682{
683 struct iio_dev *idev = platform_get_drvdata(pdev); 683 struct iio_dev *idev = platform_get_drvdata(pdev);
684 struct at91_adc_state *st = iio_priv(idev); 684 struct at91_adc_state *st = iio_priv(idev);
@@ -702,7 +702,7 @@ MODULE_DEVICE_TABLE(of, at91_adc_dt_ids);
702 702
703static struct platform_driver at91_adc_driver = { 703static struct platform_driver at91_adc_driver = {
704 .probe = at91_adc_probe, 704 .probe = at91_adc_probe,
705 .remove = __devexit_p(at91_adc_remove), 705 .remove = at91_adc_remove,
706 .driver = { 706 .driver = {
707 .name = "at91_adc", 707 .name = "at91_adc",
708 .of_match_table = of_match_ptr(at91_adc_dt_ids), 708 .of_match_table = of_match_ptr(at91_adc_dt_ids),
diff --git a/drivers/iio/adc/lp8788_adc.c b/drivers/iio/adc/lp8788_adc.c
index a93aaf0bb841..72955e45e9e0 100644
--- a/drivers/iio/adc/lp8788_adc.c
+++ b/drivers/iio/adc/lp8788_adc.c
@@ -193,7 +193,7 @@ static inline void lp8788_iio_map_unregister(struct iio_dev *indio_dev,
193 iio_map_array_unregister(indio_dev, adc->map); 193 iio_map_array_unregister(indio_dev, adc->map);
194} 194}
195 195
196static int __devinit lp8788_adc_probe(struct platform_device *pdev) 196static int lp8788_adc_probe(struct platform_device *pdev)
197{ 197{
198 struct lp8788 *lp = dev_get_drvdata(pdev->dev.parent); 198 struct lp8788 *lp = dev_get_drvdata(pdev->dev.parent);
199 struct iio_dev *indio_dev; 199 struct iio_dev *indio_dev;
@@ -236,7 +236,7 @@ err_iio_map:
236 return ret; 236 return ret;
237} 237}
238 238
239static int __devexit lp8788_adc_remove(struct platform_device *pdev) 239static int lp8788_adc_remove(struct platform_device *pdev)
240{ 240{
241 struct iio_dev *indio_dev = platform_get_drvdata(pdev); 241 struct iio_dev *indio_dev = platform_get_drvdata(pdev);
242 struct lp8788_adc *adc = iio_priv(indio_dev); 242 struct lp8788_adc *adc = iio_priv(indio_dev);
@@ -250,7 +250,7 @@ static int __devexit lp8788_adc_remove(struct platform_device *pdev)
250 250
251static struct platform_driver lp8788_adc_driver = { 251static struct platform_driver lp8788_adc_driver = {
252 .probe = lp8788_adc_probe, 252 .probe = lp8788_adc_probe,
253 .remove = __devexit_p(lp8788_adc_remove), 253 .remove = lp8788_adc_remove,
254 .driver = { 254 .driver = {
255 .name = LP8788_DEV_ADC, 255 .name = LP8788_DEV_ADC,
256 .owner = THIS_MODULE, 256 .owner = THIS_MODULE,
diff --git a/drivers/iio/adc/max1363.c b/drivers/iio/adc/max1363.c
index 1e84b5b55093..03b25b3dc71e 100644
--- a/drivers/iio/adc/max1363.c
+++ b/drivers/iio/adc/max1363.c
@@ -1402,7 +1402,7 @@ static int max1363_initial_setup(struct max1363_state *st)
1402 return max1363_set_scan_mode(st); 1402 return max1363_set_scan_mode(st);
1403} 1403}
1404 1404
1405static int __devinit max1363_alloc_scan_masks(struct iio_dev *indio_dev) 1405static int max1363_alloc_scan_masks(struct iio_dev *indio_dev)
1406{ 1406{
1407 struct max1363_state *st = iio_priv(indio_dev); 1407 struct max1363_state *st = iio_priv(indio_dev);
1408 unsigned long *masks; 1408 unsigned long *masks;
@@ -1525,8 +1525,8 @@ static void max1363_buffer_cleanup(struct iio_dev *indio_dev)
1525 iio_kfifo_free(indio_dev->buffer); 1525 iio_kfifo_free(indio_dev->buffer);
1526} 1526}
1527 1527
1528static int __devinit max1363_probe(struct i2c_client *client, 1528static int max1363_probe(struct i2c_client *client,
1529 const struct i2c_device_id *id) 1529 const struct i2c_device_id *id)
1530{ 1530{
1531 int ret; 1531 int ret;
1532 struct max1363_state *st; 1532 struct max1363_state *st;
@@ -1605,26 +1605,27 @@ static int __devinit max1363_probe(struct i2c_client *client,
1605 1605
1606 return 0; 1606 return 0;
1607error_free_irq: 1607error_free_irq:
1608 free_irq(st->client->irq, indio_dev); 1608 if (client->irq)
1609 free_irq(st->client->irq, indio_dev);
1609error_uninit_buffer: 1610error_uninit_buffer:
1610 iio_buffer_unregister(indio_dev); 1611 iio_buffer_unregister(indio_dev);
1611error_cleanup_buffer: 1612error_cleanup_buffer:
1612 max1363_buffer_cleanup(indio_dev); 1613 max1363_buffer_cleanup(indio_dev);
1613error_free_available_scan_masks: 1614error_free_available_scan_masks:
1614 kfree(indio_dev->available_scan_masks); 1615 kfree(indio_dev->available_scan_masks);
1615error_unregister_map:
1616 iio_map_array_unregister(indio_dev, client->dev.platform_data);
1617error_disable_reg: 1616error_disable_reg:
1618 regulator_disable(st->reg); 1617 regulator_disable(st->reg);
1619error_put_reg: 1618error_put_reg:
1620 regulator_put(st->reg); 1619 regulator_put(st->reg);
1620error_unregister_map:
1621 iio_map_array_unregister(indio_dev, client->dev.platform_data);
1621error_free_device: 1622error_free_device:
1622 iio_device_free(indio_dev); 1623 iio_device_free(indio_dev);
1623error_out: 1624error_out:
1624 return ret; 1625 return ret;
1625} 1626}
1626 1627
1627static int __devexit max1363_remove(struct i2c_client *client) 1628static int max1363_remove(struct i2c_client *client)
1628{ 1629{
1629 struct iio_dev *indio_dev = i2c_get_clientdata(client); 1630 struct iio_dev *indio_dev = i2c_get_clientdata(client);
1630 struct max1363_state *st = iio_priv(indio_dev); 1631 struct max1363_state *st = iio_priv(indio_dev);
@@ -1635,10 +1636,8 @@ static int __devexit max1363_remove(struct i2c_client *client)
1635 iio_buffer_unregister(indio_dev); 1636 iio_buffer_unregister(indio_dev);
1636 max1363_buffer_cleanup(indio_dev); 1637 max1363_buffer_cleanup(indio_dev);
1637 kfree(indio_dev->available_scan_masks); 1638 kfree(indio_dev->available_scan_masks);
1638 if (!IS_ERR(st->reg)) { 1639 regulator_disable(st->reg);
1639 regulator_disable(st->reg); 1640 regulator_put(st->reg);
1640 regulator_put(st->reg);
1641 }
1642 iio_map_array_unregister(indio_dev, client->dev.platform_data); 1641 iio_map_array_unregister(indio_dev, client->dev.platform_data);
1643 iio_device_free(indio_dev); 1642 iio_device_free(indio_dev);
1644 1643
@@ -1690,7 +1689,7 @@ static struct i2c_driver max1363_driver = {
1690 .name = "max1363", 1689 .name = "max1363",
1691 }, 1690 },
1692 .probe = max1363_probe, 1691 .probe = max1363_probe,
1693 .remove = __devexit_p(max1363_remove), 1692 .remove = max1363_remove,
1694 .id_table = max1363_id, 1693 .id_table = max1363_id,
1695}; 1694};
1696module_i2c_driver(max1363_driver); 1695module_i2c_driver(max1363_driver);
diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_adc.c
index 02a43c87a8a3..cd030e100c39 100644
--- a/drivers/iio/adc/ti_am335x_adc.c
+++ b/drivers/iio/adc/ti_am335x_adc.c
@@ -136,7 +136,7 @@ static const struct iio_info tiadc_info = {
136 .read_raw = &tiadc_read_raw, 136 .read_raw = &tiadc_read_raw,
137}; 137};
138 138
139static int __devinit tiadc_probe(struct platform_device *pdev) 139static int tiadc_probe(struct platform_device *pdev)
140{ 140{
141 struct iio_dev *indio_dev; 141 struct iio_dev *indio_dev;
142 struct tiadc_device *adc_dev; 142 struct tiadc_device *adc_dev;
@@ -188,7 +188,7 @@ err_ret:
188 return err; 188 return err;
189} 189}
190 190
191static int __devexit tiadc_remove(struct platform_device *pdev) 191static int tiadc_remove(struct platform_device *pdev)
192{ 192{
193 struct iio_dev *indio_dev = platform_get_drvdata(pdev); 193 struct iio_dev *indio_dev = platform_get_drvdata(pdev);
194 194
@@ -250,7 +250,7 @@ static struct platform_driver tiadc_driver = {
250 .pm = TIADC_PM_OPS, 250 .pm = TIADC_PM_OPS,
251 }, 251 },
252 .probe = tiadc_probe, 252 .probe = tiadc_probe,
253 .remove = __devexit_p(tiadc_remove), 253 .remove = tiadc_remove,
254}; 254};
255 255
256module_platform_driver(tiadc_driver); 256module_platform_driver(tiadc_driver);
diff --git a/drivers/iio/adc/viperboard_adc.c b/drivers/iio/adc/viperboard_adc.c
index 10136a8b20d4..ad0261533dee 100644
--- a/drivers/iio/adc/viperboard_adc.c
+++ b/drivers/iio/adc/viperboard_adc.c
@@ -116,7 +116,7 @@ static const struct iio_info vprbrd_adc_iio_info = {
116 .driver_module = THIS_MODULE, 116 .driver_module = THIS_MODULE,
117}; 117};
118 118
119static int __devinit vprbrd_adc_probe(struct platform_device *pdev) 119static int vprbrd_adc_probe(struct platform_device *pdev)
120{ 120{
121 struct vprbrd *vb = dev_get_drvdata(pdev->dev.parent); 121 struct vprbrd *vb = dev_get_drvdata(pdev->dev.parent);
122 struct vprbrd_adc *adc; 122 struct vprbrd_adc *adc;
@@ -154,7 +154,7 @@ error:
154 return ret; 154 return ret;
155} 155}
156 156
157static int __devexit vprbrd_adc_remove(struct platform_device *pdev) 157static int vprbrd_adc_remove(struct platform_device *pdev)
158{ 158{
159 struct iio_dev *indio_dev = platform_get_drvdata(pdev); 159 struct iio_dev *indio_dev = platform_get_drvdata(pdev);
160 160
@@ -170,7 +170,7 @@ static struct platform_driver vprbrd_adc_driver = {
170 .owner = THIS_MODULE, 170 .owner = THIS_MODULE,
171 }, 171 },
172 .probe = vprbrd_adc_probe, 172 .probe = vprbrd_adc_probe,
173 .remove = __devexit_p(vprbrd_adc_remove), 173 .remove = vprbrd_adc_remove,
174}; 174};
175 175
176module_platform_driver(vprbrd_adc_driver); 176module_platform_driver(vprbrd_adc_driver);
diff --git a/drivers/iio/amplifiers/ad8366.c b/drivers/iio/amplifiers/ad8366.c
index d8281cdbfc4a..d6c0af23a2a7 100644
--- a/drivers/iio/amplifiers/ad8366.c
+++ b/drivers/iio/amplifiers/ad8366.c
@@ -133,7 +133,7 @@ static const struct iio_chan_spec ad8366_channels[] = {
133 AD8366_CHAN(1), 133 AD8366_CHAN(1),
134}; 134};
135 135
136static int __devinit ad8366_probe(struct spi_device *spi) 136static int ad8366_probe(struct spi_device *spi)
137{ 137{
138 struct iio_dev *indio_dev; 138 struct iio_dev *indio_dev;
139 struct ad8366_state *st; 139 struct ad8366_state *st;
@@ -182,7 +182,7 @@ error_put_reg:
182 return ret; 182 return ret;
183} 183}
184 184
185static int __devexit ad8366_remove(struct spi_device *spi) 185static int ad8366_remove(struct spi_device *spi)
186{ 186{
187 struct iio_dev *indio_dev = spi_get_drvdata(spi); 187 struct iio_dev *indio_dev = spi_get_drvdata(spi);
188 struct ad8366_state *st = iio_priv(indio_dev); 188 struct ad8366_state *st = iio_priv(indio_dev);
@@ -211,7 +211,7 @@ static struct spi_driver ad8366_driver = {
211 .owner = THIS_MODULE, 211 .owner = THIS_MODULE,
212 }, 212 },
213 .probe = ad8366_probe, 213 .probe = ad8366_probe,
214 .remove = __devexit_p(ad8366_remove), 214 .remove = ad8366_remove,
215 .id_table = ad8366_id, 215 .id_table = ad8366_id,
216}; 216};
217 217
diff --git a/drivers/iio/common/hid-sensors/Kconfig b/drivers/iio/common/hid-sensors/Kconfig
index ae10778da7aa..1178121b55b0 100644
--- a/drivers/iio/common/hid-sensors/Kconfig
+++ b/drivers/iio/common/hid-sensors/Kconfig
@@ -6,7 +6,7 @@ menu "Hid Sensor IIO Common"
6config HID_SENSOR_IIO_COMMON 6config HID_SENSOR_IIO_COMMON
7 tristate "Common modules for all HID Sensor IIO drivers" 7 tristate "Common modules for all HID Sensor IIO drivers"
8 depends on HID_SENSOR_HUB 8 depends on HID_SENSOR_HUB
9 select IIO_TRIGGER if IIO_BUFFER 9 select HID_SENSOR_IIO_TRIGGER if IIO_BUFFER
10 help 10 help
11 Say yes here to build support for HID sensor to use 11 Say yes here to build support for HID sensor to use
12 HID sensor common processing for attributes and IIO triggers. 12 HID sensor common processing for attributes and IIO triggers.
@@ -14,6 +14,17 @@ config HID_SENSOR_IIO_COMMON
14 HID sensor drivers, this module contains processing for those 14 HID sensor drivers, this module contains processing for those
15 attributes. 15 attributes.
16 16
17config HID_SENSOR_IIO_TRIGGER
18 tristate "Common module (trigger) for all HID Sensor IIO drivers"
19 depends on HID_SENSOR_HUB && HID_SENSOR_IIO_COMMON
20 select IIO_TRIGGER
21 help
22 Say yes here to build trigger support for HID sensors.
23 Triggers will be send if all requested attributes were read.
24
25 If this driver is compiled as a module, it will be named
26 hid-sensor-trigger.
27
17config HID_SENSOR_ENUM_BASE_QUIRKS 28config HID_SENSOR_ENUM_BASE_QUIRKS
18 bool "ENUM base quirks for HID Sensor IIO drivers" 29 bool "ENUM base quirks for HID Sensor IIO drivers"
19 depends on HID_SENSOR_IIO_COMMON 30 depends on HID_SENSOR_IIO_COMMON
diff --git a/drivers/iio/common/hid-sensors/Makefile b/drivers/iio/common/hid-sensors/Makefile
index 1f463e00c242..22e7c5a82325 100644
--- a/drivers/iio/common/hid-sensors/Makefile
+++ b/drivers/iio/common/hid-sensors/Makefile
@@ -3,4 +3,5 @@
3# 3#
4 4
5obj-$(CONFIG_HID_SENSOR_IIO_COMMON) += hid-sensor-iio-common.o 5obj-$(CONFIG_HID_SENSOR_IIO_COMMON) += hid-sensor-iio-common.o
6hid-sensor-iio-common-y := hid-sensor-attributes.o hid-sensor-trigger.o 6obj-$(CONFIG_HID_SENSOR_IIO_TRIGGER) += hid-sensor-trigger.o
7hid-sensor-iio-common-y := hid-sensor-attributes.o
diff --git a/drivers/iio/dac/ad5064.c b/drivers/iio/dac/ad5064.c
index eb281a2c295b..2fe1d4edcb2f 100644
--- a/drivers/iio/dac/ad5064.c
+++ b/drivers/iio/dac/ad5064.c
@@ -424,8 +424,8 @@ static const char * const ad5064_vref_name(struct ad5064_state *st,
424 return st->chip_info->shared_vref ? "vref" : ad5064_vref_names[vref]; 424 return st->chip_info->shared_vref ? "vref" : ad5064_vref_names[vref];
425} 425}
426 426
427static int __devinit ad5064_probe(struct device *dev, enum ad5064_type type, 427static int ad5064_probe(struct device *dev, enum ad5064_type type,
428 const char *name, ad5064_write_func write) 428 const char *name, ad5064_write_func write)
429{ 429{
430 struct iio_dev *indio_dev; 430 struct iio_dev *indio_dev;
431 struct ad5064_state *st; 431 struct ad5064_state *st;
@@ -495,7 +495,7 @@ error_free:
495 return ret; 495 return ret;
496} 496}
497 497
498static int __devexit ad5064_remove(struct device *dev) 498static int ad5064_remove(struct device *dev)
499{ 499{
500 struct iio_dev *indio_dev = dev_get_drvdata(dev); 500 struct iio_dev *indio_dev = dev_get_drvdata(dev);
501 struct ad5064_state *st = iio_priv(indio_dev); 501 struct ad5064_state *st = iio_priv(indio_dev);
@@ -523,7 +523,7 @@ static int ad5064_spi_write(struct ad5064_state *st, unsigned int cmd,
523 return spi_write(spi, &st->data.spi, sizeof(st->data.spi)); 523 return spi_write(spi, &st->data.spi, sizeof(st->data.spi));
524} 524}
525 525
526static int __devinit ad5064_spi_probe(struct spi_device *spi) 526static int ad5064_spi_probe(struct spi_device *spi)
527{ 527{
528 const struct spi_device_id *id = spi_get_device_id(spi); 528 const struct spi_device_id *id = spi_get_device_id(spi);
529 529
@@ -531,7 +531,7 @@ static int __devinit ad5064_spi_probe(struct spi_device *spi)
531 ad5064_spi_write); 531 ad5064_spi_write);
532} 532}
533 533
534static int __devexit ad5064_spi_remove(struct spi_device *spi) 534static int ad5064_spi_remove(struct spi_device *spi)
535{ 535{
536 return ad5064_remove(&spi->dev); 536 return ad5064_remove(&spi->dev);
537} 537}
@@ -563,7 +563,7 @@ static struct spi_driver ad5064_spi_driver = {
563 .owner = THIS_MODULE, 563 .owner = THIS_MODULE,
564 }, 564 },
565 .probe = ad5064_spi_probe, 565 .probe = ad5064_spi_probe,
566 .remove = __devexit_p(ad5064_spi_remove), 566 .remove = ad5064_spi_remove,
567 .id_table = ad5064_spi_ids, 567 .id_table = ad5064_spi_ids,
568}; 568};
569 569
@@ -596,14 +596,14 @@ static int ad5064_i2c_write(struct ad5064_state *st, unsigned int cmd,
596 return i2c_master_send(i2c, st->data.i2c, 3); 596 return i2c_master_send(i2c, st->data.i2c, 3);
597} 597}
598 598
599static int __devinit ad5064_i2c_probe(struct i2c_client *i2c, 599static int ad5064_i2c_probe(struct i2c_client *i2c,
600 const struct i2c_device_id *id) 600 const struct i2c_device_id *id)
601{ 601{
602 return ad5064_probe(&i2c->dev, id->driver_data, id->name, 602 return ad5064_probe(&i2c->dev, id->driver_data, id->name,
603 ad5064_i2c_write); 603 ad5064_i2c_write);
604} 604}
605 605
606static int __devexit ad5064_i2c_remove(struct i2c_client *i2c) 606static int ad5064_i2c_remove(struct i2c_client *i2c)
607{ 607{
608 return ad5064_remove(&i2c->dev); 608 return ad5064_remove(&i2c->dev);
609} 609}
@@ -625,7 +625,7 @@ static struct i2c_driver ad5064_i2c_driver = {
625 .owner = THIS_MODULE, 625 .owner = THIS_MODULE,
626 }, 626 },
627 .probe = ad5064_i2c_probe, 627 .probe = ad5064_i2c_probe,
628 .remove = __devexit_p(ad5064_i2c_remove), 628 .remove = ad5064_i2c_remove,
629 .id_table = ad5064_i2c_ids, 629 .id_table = ad5064_i2c_ids,
630}; 630};
631 631
diff --git a/drivers/iio/dac/ad5360.c b/drivers/iio/dac/ad5360.c
index 8fce84fe70b1..54b46fd3aede 100644
--- a/drivers/iio/dac/ad5360.c
+++ b/drivers/iio/dac/ad5360.c
@@ -433,7 +433,7 @@ static const char * const ad5360_vref_name[] = {
433 "vref0", "vref1", "vref2" 433 "vref0", "vref1", "vref2"
434}; 434};
435 435
436static int __devinit ad5360_alloc_channels(struct iio_dev *indio_dev) 436static int ad5360_alloc_channels(struct iio_dev *indio_dev)
437{ 437{
438 struct ad5360_state *st = iio_priv(indio_dev); 438 struct ad5360_state *st = iio_priv(indio_dev);
439 struct iio_chan_spec *channels; 439 struct iio_chan_spec *channels;
@@ -456,7 +456,7 @@ static int __devinit ad5360_alloc_channels(struct iio_dev *indio_dev)
456 return 0; 456 return 0;
457} 457}
458 458
459static int __devinit ad5360_probe(struct spi_device *spi) 459static int ad5360_probe(struct spi_device *spi)
460{ 460{
461 enum ad5360_type type = spi_get_device_id(spi)->driver_data; 461 enum ad5360_type type = spi_get_device_id(spi)->driver_data;
462 struct iio_dev *indio_dev; 462 struct iio_dev *indio_dev;
@@ -524,7 +524,7 @@ error_free:
524 return ret; 524 return ret;
525} 525}
526 526
527static int __devexit ad5360_remove(struct spi_device *spi) 527static int ad5360_remove(struct spi_device *spi)
528{ 528{
529 struct iio_dev *indio_dev = spi_get_drvdata(spi); 529 struct iio_dev *indio_dev = spi_get_drvdata(spi);
530 struct ad5360_state *st = iio_priv(indio_dev); 530 struct ad5360_state *st = iio_priv(indio_dev);
@@ -560,7 +560,7 @@ static struct spi_driver ad5360_driver = {
560 .owner = THIS_MODULE, 560 .owner = THIS_MODULE,
561 }, 561 },
562 .probe = ad5360_probe, 562 .probe = ad5360_probe,
563 .remove = __devexit_p(ad5360_remove), 563 .remove = ad5360_remove,
564 .id_table = ad5360_ids, 564 .id_table = ad5360_ids,
565}; 565};
566module_spi_driver(ad5360_driver); 566module_spi_driver(ad5360_driver);
diff --git a/drivers/iio/dac/ad5380.c b/drivers/iio/dac/ad5380.c
index 14991ac55f26..483fc379a2da 100644
--- a/drivers/iio/dac/ad5380.c
+++ b/drivers/iio/dac/ad5380.c
@@ -338,7 +338,7 @@ static const struct ad5380_chip_info ad5380_chip_info_tbl[] = {
338 }, 338 },
339}; 339};
340 340
341static int __devinit ad5380_alloc_channels(struct iio_dev *indio_dev) 341static int ad5380_alloc_channels(struct iio_dev *indio_dev)
342{ 342{
343 struct ad5380_state *st = iio_priv(indio_dev); 343 struct ad5380_state *st = iio_priv(indio_dev);
344 struct iio_chan_spec *channels; 344 struct iio_chan_spec *channels;
@@ -361,8 +361,8 @@ static int __devinit ad5380_alloc_channels(struct iio_dev *indio_dev)
361 return 0; 361 return 0;
362} 362}
363 363
364static int __devinit ad5380_probe(struct device *dev, struct regmap *regmap, 364static int ad5380_probe(struct device *dev, struct regmap *regmap,
365 enum ad5380_type type, const char *name) 365 enum ad5380_type type, const char *name)
366{ 366{
367 struct iio_dev *indio_dev; 367 struct iio_dev *indio_dev;
368 struct ad5380_state *st; 368 struct ad5380_state *st;
@@ -406,7 +406,11 @@ static int __devinit ad5380_probe(struct device *dev, struct regmap *regmap,
406 goto error_free_reg; 406 goto error_free_reg;
407 } 407 }
408 408
409 st->vref = regulator_get_voltage(st->vref_reg); 409 ret = regulator_get_voltage(st->vref_reg);
410 if (ret < 0)
411 goto error_disable_reg;
412
413 st->vref = ret;
410 } else { 414 } else {
411 st->vref = st->chip_info->int_vref; 415 st->vref = st->chip_info->int_vref;
412 ctrl |= AD5380_CTRL_INT_VREF_EN; 416 ctrl |= AD5380_CTRL_INT_VREF_EN;
@@ -441,7 +445,7 @@ error_out:
441 return ret; 445 return ret;
442} 446}
443 447
444static int __devexit ad5380_remove(struct device *dev) 448static int ad5380_remove(struct device *dev)
445{ 449{
446 struct iio_dev *indio_dev = dev_get_drvdata(dev); 450 struct iio_dev *indio_dev = dev_get_drvdata(dev);
447 struct ad5380_state *st = iio_priv(indio_dev); 451 struct ad5380_state *st = iio_priv(indio_dev);
@@ -478,7 +482,7 @@ static const struct regmap_config ad5380_regmap_config = {
478 482
479#if IS_ENABLED(CONFIG_SPI_MASTER) 483#if IS_ENABLED(CONFIG_SPI_MASTER)
480 484
481static int __devinit ad5380_spi_probe(struct spi_device *spi) 485static int ad5380_spi_probe(struct spi_device *spi)
482{ 486{
483 const struct spi_device_id *id = spi_get_device_id(spi); 487 const struct spi_device_id *id = spi_get_device_id(spi);
484 struct regmap *regmap; 488 struct regmap *regmap;
@@ -491,7 +495,7 @@ static int __devinit ad5380_spi_probe(struct spi_device *spi)
491 return ad5380_probe(&spi->dev, regmap, id->driver_data, id->name); 495 return ad5380_probe(&spi->dev, regmap, id->driver_data, id->name);
492} 496}
493 497
494static int __devexit ad5380_spi_remove(struct spi_device *spi) 498static int ad5380_spi_remove(struct spi_device *spi)
495{ 499{
496 return ad5380_remove(&spi->dev); 500 return ad5380_remove(&spi->dev);
497} 501}
@@ -523,7 +527,7 @@ static struct spi_driver ad5380_spi_driver = {
523 .owner = THIS_MODULE, 527 .owner = THIS_MODULE,
524 }, 528 },
525 .probe = ad5380_spi_probe, 529 .probe = ad5380_spi_probe,
526 .remove = __devexit_p(ad5380_spi_remove), 530 .remove = ad5380_spi_remove,
527 .id_table = ad5380_spi_ids, 531 .id_table = ad5380_spi_ids,
528}; 532};
529 533
@@ -552,8 +556,8 @@ static inline void ad5380_spi_unregister_driver(void)
552 556
553#if IS_ENABLED(CONFIG_I2C) 557#if IS_ENABLED(CONFIG_I2C)
554 558
555static int __devinit ad5380_i2c_probe(struct i2c_client *i2c, 559static int ad5380_i2c_probe(struct i2c_client *i2c,
556 const struct i2c_device_id *id) 560 const struct i2c_device_id *id)
557{ 561{
558 struct regmap *regmap; 562 struct regmap *regmap;
559 563
@@ -565,7 +569,7 @@ static int __devinit ad5380_i2c_probe(struct i2c_client *i2c,
565 return ad5380_probe(&i2c->dev, regmap, id->driver_data, id->name); 569 return ad5380_probe(&i2c->dev, regmap, id->driver_data, id->name);
566} 570}
567 571
568static int __devexit ad5380_i2c_remove(struct i2c_client *i2c) 572static int ad5380_i2c_remove(struct i2c_client *i2c)
569{ 573{
570 return ad5380_remove(&i2c->dev); 574 return ad5380_remove(&i2c->dev);
571} 575}
@@ -597,7 +601,7 @@ static struct i2c_driver ad5380_i2c_driver = {
597 .owner = THIS_MODULE, 601 .owner = THIS_MODULE,
598 }, 602 },
599 .probe = ad5380_i2c_probe, 603 .probe = ad5380_i2c_probe,
600 .remove = __devexit_p(ad5380_i2c_remove), 604 .remove = ad5380_i2c_remove,
601 .id_table = ad5380_i2c_ids, 605 .id_table = ad5380_i2c_ids,
602}; 606};
603 607
diff --git a/drivers/iio/dac/ad5421.c b/drivers/iio/dac/ad5421.c
index cdbc5bf25c31..43be948db83e 100644
--- a/drivers/iio/dac/ad5421.c
+++ b/drivers/iio/dac/ad5421.c
@@ -449,7 +449,7 @@ static const struct iio_info ad5421_info = {
449 .driver_module = THIS_MODULE, 449 .driver_module = THIS_MODULE,
450}; 450};
451 451
452static int __devinit ad5421_probe(struct spi_device *spi) 452static int ad5421_probe(struct spi_device *spi)
453{ 453{
454 struct ad5421_platform_data *pdata = dev_get_platdata(&spi->dev); 454 struct ad5421_platform_data *pdata = dev_get_platdata(&spi->dev);
455 struct iio_dev *indio_dev; 455 struct iio_dev *indio_dev;
@@ -516,7 +516,7 @@ error_free:
516 return ret; 516 return ret;
517} 517}
518 518
519static int __devexit ad5421_remove(struct spi_device *spi) 519static int ad5421_remove(struct spi_device *spi)
520{ 520{
521 struct iio_dev *indio_dev = spi_get_drvdata(spi); 521 struct iio_dev *indio_dev = spi_get_drvdata(spi);
522 522
@@ -534,7 +534,7 @@ static struct spi_driver ad5421_driver = {
534 .owner = THIS_MODULE, 534 .owner = THIS_MODULE,
535 }, 535 },
536 .probe = ad5421_probe, 536 .probe = ad5421_probe,
537 .remove = __devexit_p(ad5421_remove), 537 .remove = ad5421_remove,
538}; 538};
539module_spi_driver(ad5421_driver); 539module_spi_driver(ad5421_driver);
540 540
diff --git a/drivers/iio/dac/ad5446.c b/drivers/iio/dac/ad5446.c
index 3310cbbd41e7..f5583aedfb59 100644
--- a/drivers/iio/dac/ad5446.c
+++ b/drivers/iio/dac/ad5446.c
@@ -212,8 +212,8 @@ static const struct iio_info ad5446_info = {
212 .driver_module = THIS_MODULE, 212 .driver_module = THIS_MODULE,
213}; 213};
214 214
215static int __devinit ad5446_probe(struct device *dev, const char *name, 215static int ad5446_probe(struct device *dev, const char *name,
216 const struct ad5446_chip_info *chip_info) 216 const struct ad5446_chip_info *chip_info)
217{ 217{
218 struct ad5446_state *st; 218 struct ad5446_state *st;
219 struct iio_dev *indio_dev; 219 struct iio_dev *indio_dev;
@@ -226,7 +226,11 @@ static int __devinit ad5446_probe(struct device *dev, const char *name,
226 if (ret) 226 if (ret)
227 goto error_put_reg; 227 goto error_put_reg;
228 228
229 voltage_uv = regulator_get_voltage(reg); 229 ret = regulator_get_voltage(reg);
230 if (ret < 0)
231 goto error_disable_reg;
232
233 voltage_uv = ret;
230 } 234 }
231 235
232 indio_dev = iio_device_alloc(sizeof(*st)); 236 indio_dev = iio_device_alloc(sizeof(*st));
@@ -461,7 +465,7 @@ static const struct spi_device_id ad5446_spi_ids[] = {
461}; 465};
462MODULE_DEVICE_TABLE(spi, ad5446_spi_ids); 466MODULE_DEVICE_TABLE(spi, ad5446_spi_ids);
463 467
464static int __devinit ad5446_spi_probe(struct spi_device *spi) 468static int ad5446_spi_probe(struct spi_device *spi)
465{ 469{
466 const struct spi_device_id *id = spi_get_device_id(spi); 470 const struct spi_device_id *id = spi_get_device_id(spi);
467 471
@@ -469,7 +473,7 @@ static int __devinit ad5446_spi_probe(struct spi_device *spi)
469 &ad5446_spi_chip_info[id->driver_data]); 473 &ad5446_spi_chip_info[id->driver_data]);
470} 474}
471 475
472static int __devexit ad5446_spi_remove(struct spi_device *spi) 476static int ad5446_spi_remove(struct spi_device *spi)
473{ 477{
474 return ad5446_remove(&spi->dev); 478 return ad5446_remove(&spi->dev);
475} 479}
@@ -480,7 +484,7 @@ static struct spi_driver ad5446_spi_driver = {
480 .owner = THIS_MODULE, 484 .owner = THIS_MODULE,
481 }, 485 },
482 .probe = ad5446_spi_probe, 486 .probe = ad5446_spi_probe,
483 .remove = __devexit_p(ad5446_spi_remove), 487 .remove = ad5446_spi_remove,
484 .id_table = ad5446_spi_ids, 488 .id_table = ad5446_spi_ids,
485}; 489};
486 490
@@ -539,14 +543,14 @@ static const struct ad5446_chip_info ad5446_i2c_chip_info[] = {
539 }, 543 },
540}; 544};
541 545
542static int __devinit ad5446_i2c_probe(struct i2c_client *i2c, 546static int ad5446_i2c_probe(struct i2c_client *i2c,
543 const struct i2c_device_id *id) 547 const struct i2c_device_id *id)
544{ 548{
545 return ad5446_probe(&i2c->dev, id->name, 549 return ad5446_probe(&i2c->dev, id->name,
546 &ad5446_i2c_chip_info[id->driver_data]); 550 &ad5446_i2c_chip_info[id->driver_data]);
547} 551}
548 552
549static int __devexit ad5446_i2c_remove(struct i2c_client *i2c) 553static int ad5446_i2c_remove(struct i2c_client *i2c)
550{ 554{
551 return ad5446_remove(&i2c->dev); 555 return ad5446_remove(&i2c->dev);
552} 556}
@@ -568,7 +572,7 @@ static struct i2c_driver ad5446_i2c_driver = {
568 .owner = THIS_MODULE, 572 .owner = THIS_MODULE,
569 }, 573 },
570 .probe = ad5446_i2c_probe, 574 .probe = ad5446_i2c_probe,
571 .remove = __devexit_p(ad5446_i2c_remove), 575 .remove = ad5446_i2c_remove,
572 .id_table = ad5446_i2c_ids, 576 .id_table = ad5446_i2c_ids,
573}; 577};
574 578
diff --git a/drivers/iio/dac/ad5449.c b/drivers/iio/dac/ad5449.c
index 0ee6f8eeba8d..c4731b7b577b 100644
--- a/drivers/iio/dac/ad5449.c
+++ b/drivers/iio/dac/ad5449.c
@@ -266,7 +266,7 @@ static const char *ad5449_vref_name(struct ad5449 *st, int n)
266 return "VREFB"; 266 return "VREFB";
267} 267}
268 268
269static int __devinit ad5449_spi_probe(struct spi_device *spi) 269static int ad5449_spi_probe(struct spi_device *spi)
270{ 270{
271 struct ad5449_platform_data *pdata = spi->dev.platform_data; 271 struct ad5449_platform_data *pdata = spi->dev.platform_data;
272 const struct spi_device_id *id = spi_get_device_id(spi); 272 const struct spi_device_id *id = spi_get_device_id(spi);
@@ -333,7 +333,7 @@ error_free:
333 return ret; 333 return ret;
334} 334}
335 335
336static int __devexit ad5449_spi_remove(struct spi_device *spi) 336static int ad5449_spi_remove(struct spi_device *spi)
337{ 337{
338 struct iio_dev *indio_dev = spi_get_drvdata(spi); 338 struct iio_dev *indio_dev = spi_get_drvdata(spi);
339 struct ad5449 *st = iio_priv(indio_dev); 339 struct ad5449 *st = iio_priv(indio_dev);
@@ -366,7 +366,7 @@ static struct spi_driver ad5449_spi_driver = {
366 .owner = THIS_MODULE, 366 .owner = THIS_MODULE,
367 }, 367 },
368 .probe = ad5449_spi_probe, 368 .probe = ad5449_spi_probe,
369 .remove = __devexit_p(ad5449_spi_remove), 369 .remove = ad5449_spi_remove,
370 .id_table = ad5449_spi_ids, 370 .id_table = ad5449_spi_ids,
371}; 371};
372module_spi_driver(ad5449_spi_driver); 372module_spi_driver(ad5449_spi_driver);
diff --git a/drivers/iio/dac/ad5504.c b/drivers/iio/dac/ad5504.c
index 242bdc7d0044..0661829f2773 100644
--- a/drivers/iio/dac/ad5504.c
+++ b/drivers/iio/dac/ad5504.c
@@ -277,7 +277,7 @@ static const struct iio_chan_spec ad5504_channels[] = {
277 AD5504_CHANNEL(3), 277 AD5504_CHANNEL(3),
278}; 278};
279 279
280static int __devinit ad5504_probe(struct spi_device *spi) 280static int ad5504_probe(struct spi_device *spi)
281{ 281{
282 struct ad5504_platform_data *pdata = spi->dev.platform_data; 282 struct ad5504_platform_data *pdata = spi->dev.platform_data;
283 struct iio_dev *indio_dev; 283 struct iio_dev *indio_dev;
@@ -296,7 +296,11 @@ static int __devinit ad5504_probe(struct spi_device *spi)
296 if (ret) 296 if (ret)
297 goto error_put_reg; 297 goto error_put_reg;
298 298
299 voltage_uv = regulator_get_voltage(reg); 299 ret = regulator_get_voltage(reg);
300 if (ret < 0)
301 goto error_disable_reg;
302
303 voltage_uv = ret;
300 } 304 }
301 305
302 spi_set_drvdata(spi, indio_dev); 306 spi_set_drvdata(spi, indio_dev);
@@ -352,7 +356,7 @@ error_ret:
352 return ret; 356 return ret;
353} 357}
354 358
355static int __devexit ad5504_remove(struct spi_device *spi) 359static int ad5504_remove(struct spi_device *spi)
356{ 360{
357 struct iio_dev *indio_dev = spi_get_drvdata(spi); 361 struct iio_dev *indio_dev = spi_get_drvdata(spi);
358 struct ad5504_state *st = iio_priv(indio_dev); 362 struct ad5504_state *st = iio_priv(indio_dev);
@@ -383,7 +387,7 @@ static struct spi_driver ad5504_driver = {
383 .owner = THIS_MODULE, 387 .owner = THIS_MODULE,
384 }, 388 },
385 .probe = ad5504_probe, 389 .probe = ad5504_probe,
386 .remove = __devexit_p(ad5504_remove), 390 .remove = ad5504_remove,
387 .id_table = ad5504_id, 391 .id_table = ad5504_id,
388}; 392};
389module_spi_driver(ad5504_driver); 393module_spi_driver(ad5504_driver);
diff --git a/drivers/iio/dac/ad5624r_spi.c b/drivers/iio/dac/ad5624r_spi.c
index 6a7d6a48cc6d..f6e116627b71 100644
--- a/drivers/iio/dac/ad5624r_spi.c
+++ b/drivers/iio/dac/ad5624r_spi.c
@@ -220,7 +220,7 @@ static const struct ad5624r_chip_info ad5624r_chip_info_tbl[] = {
220 }, 220 },
221}; 221};
222 222
223static int __devinit ad5624r_probe(struct spi_device *spi) 223static int ad5624r_probe(struct spi_device *spi)
224{ 224{
225 struct ad5624r_state *st; 225 struct ad5624r_state *st;
226 struct iio_dev *indio_dev; 226 struct iio_dev *indio_dev;
@@ -238,7 +238,11 @@ static int __devinit ad5624r_probe(struct spi_device *spi)
238 if (ret) 238 if (ret)
239 goto error_put_reg; 239 goto error_put_reg;
240 240
241 voltage_uv = regulator_get_voltage(st->reg); 241 ret = regulator_get_voltage(st->reg);
242 if (ret < 0)
243 goto error_disable_reg;
244
245 voltage_uv = ret;
242 } 246 }
243 247
244 spi_set_drvdata(spi, indio_dev); 248 spi_set_drvdata(spi, indio_dev);
@@ -282,7 +286,7 @@ error_ret:
282 return ret; 286 return ret;
283} 287}
284 288
285static int __devexit ad5624r_remove(struct spi_device *spi) 289static int ad5624r_remove(struct spi_device *spi)
286{ 290{
287 struct iio_dev *indio_dev = spi_get_drvdata(spi); 291 struct iio_dev *indio_dev = spi_get_drvdata(spi);
288 struct ad5624r_state *st = iio_priv(indio_dev); 292 struct ad5624r_state *st = iio_priv(indio_dev);
@@ -314,7 +318,7 @@ static struct spi_driver ad5624r_driver = {
314 .owner = THIS_MODULE, 318 .owner = THIS_MODULE,
315 }, 319 },
316 .probe = ad5624r_probe, 320 .probe = ad5624r_probe,
317 .remove = __devexit_p(ad5624r_remove), 321 .remove = ad5624r_remove,
318 .id_table = ad5624r_id, 322 .id_table = ad5624r_id,
319}; 323};
320module_spi_driver(ad5624r_driver); 324module_spi_driver(ad5624r_driver);
diff --git a/drivers/iio/dac/ad5686.c b/drivers/iio/dac/ad5686.c
index bc92ff9309c2..ca9609d7a15c 100644
--- a/drivers/iio/dac/ad5686.c
+++ b/drivers/iio/dac/ad5686.c
@@ -313,7 +313,7 @@ static const struct ad5686_chip_info ad5686_chip_info_tbl[] = {
313}; 313};
314 314
315 315
316static int __devinit ad5686_probe(struct spi_device *spi) 316static int ad5686_probe(struct spi_device *spi)
317{ 317{
318 struct ad5686_state *st; 318 struct ad5686_state *st;
319 struct iio_dev *indio_dev; 319 struct iio_dev *indio_dev;
@@ -332,7 +332,11 @@ static int __devinit ad5686_probe(struct spi_device *spi)
332 if (ret) 332 if (ret)
333 goto error_put_reg; 333 goto error_put_reg;
334 334
335 voltage_uv = regulator_get_voltage(st->reg); 335 ret = regulator_get_voltage(st->reg);
336 if (ret < 0)
337 goto error_disable_reg;
338
339 voltage_uv = ret;
336 } 340 }
337 341
338 st->chip_info = 342 st->chip_info =
@@ -379,7 +383,7 @@ error_put_reg:
379 return ret; 383 return ret;
380} 384}
381 385
382static int __devexit ad5686_remove(struct spi_device *spi) 386static int ad5686_remove(struct spi_device *spi)
383{ 387{
384 struct iio_dev *indio_dev = spi_get_drvdata(spi); 388 struct iio_dev *indio_dev = spi_get_drvdata(spi);
385 struct ad5686_state *st = iio_priv(indio_dev); 389 struct ad5686_state *st = iio_priv(indio_dev);
@@ -408,7 +412,7 @@ static struct spi_driver ad5686_driver = {
408 .owner = THIS_MODULE, 412 .owner = THIS_MODULE,
409 }, 413 },
410 .probe = ad5686_probe, 414 .probe = ad5686_probe,
411 .remove = __devexit_p(ad5686_remove), 415 .remove = ad5686_remove,
412 .id_table = ad5686_id, 416 .id_table = ad5686_id,
413}; 417};
414module_spi_driver(ad5686_driver); 418module_spi_driver(ad5686_driver);
diff --git a/drivers/iio/dac/ad5755.c b/drivers/iio/dac/ad5755.c
index 5db3506034c5..0869bbd27d30 100644
--- a/drivers/iio/dac/ad5755.c
+++ b/drivers/iio/dac/ad5755.c
@@ -447,8 +447,8 @@ static bool ad5755_is_valid_mode(struct ad5755_state *st, enum ad5755_mode mode)
447 } 447 }
448} 448}
449 449
450static int __devinit ad5755_setup_pdata(struct iio_dev *indio_dev, 450static int ad5755_setup_pdata(struct iio_dev *indio_dev,
451 const struct ad5755_platform_data *pdata) 451 const struct ad5755_platform_data *pdata)
452{ 452{
453 struct ad5755_state *st = iio_priv(indio_dev); 453 struct ad5755_state *st = iio_priv(indio_dev);
454 unsigned int val; 454 unsigned int val;
@@ -503,7 +503,7 @@ static int __devinit ad5755_setup_pdata(struct iio_dev *indio_dev,
503 return 0; 503 return 0;
504} 504}
505 505
506static bool __devinit ad5755_is_voltage_mode(enum ad5755_mode mode) 506static bool ad5755_is_voltage_mode(enum ad5755_mode mode)
507{ 507{
508 switch (mode) { 508 switch (mode) {
509 case AD5755_MODE_VOLTAGE_0V_5V: 509 case AD5755_MODE_VOLTAGE_0V_5V:
@@ -516,8 +516,8 @@ static bool __devinit ad5755_is_voltage_mode(enum ad5755_mode mode)
516 } 516 }
517} 517}
518 518
519static int __devinit ad5755_init_channels(struct iio_dev *indio_dev, 519static int ad5755_init_channels(struct iio_dev *indio_dev,
520 const struct ad5755_platform_data *pdata) 520 const struct ad5755_platform_data *pdata)
521{ 521{
522 struct ad5755_state *st = iio_priv(indio_dev); 522 struct ad5755_state *st = iio_priv(indio_dev);
523 struct iio_chan_spec *channels = st->channels; 523 struct iio_chan_spec *channels = st->channels;
@@ -562,7 +562,7 @@ static const struct ad5755_platform_data ad5755_default_pdata = {
562 }, 562 },
563}; 563};
564 564
565static int __devinit ad5755_probe(struct spi_device *spi) 565static int ad5755_probe(struct spi_device *spi)
566{ 566{
567 enum ad5755_type type = spi_get_device_id(spi)->driver_data; 567 enum ad5755_type type = spi_get_device_id(spi)->driver_data;
568 const struct ad5755_platform_data *pdata = dev_get_platdata(&spi->dev); 568 const struct ad5755_platform_data *pdata = dev_get_platdata(&spi->dev);
@@ -614,7 +614,7 @@ error_free:
614 return ret; 614 return ret;
615} 615}
616 616
617static int __devexit ad5755_remove(struct spi_device *spi) 617static int ad5755_remove(struct spi_device *spi)
618{ 618{
619 struct iio_dev *indio_dev = spi_get_drvdata(spi); 619 struct iio_dev *indio_dev = spi_get_drvdata(spi);
620 620
@@ -640,7 +640,7 @@ static struct spi_driver ad5755_driver = {
640 .owner = THIS_MODULE, 640 .owner = THIS_MODULE,
641 }, 641 },
642 .probe = ad5755_probe, 642 .probe = ad5755_probe,
643 .remove = __devexit_p(ad5755_remove), 643 .remove = ad5755_remove,
644 .id_table = ad5755_id, 644 .id_table = ad5755_id,
645}; 645};
646module_spi_driver(ad5755_driver); 646module_spi_driver(ad5755_driver);
diff --git a/drivers/iio/dac/ad5764.c b/drivers/iio/dac/ad5764.c
index ffce30447445..7f9045e6daa4 100644
--- a/drivers/iio/dac/ad5764.c
+++ b/drivers/iio/dac/ad5764.c
@@ -273,7 +273,7 @@ static const struct iio_info ad5764_info = {
273 .driver_module = THIS_MODULE, 273 .driver_module = THIS_MODULE,
274}; 274};
275 275
276static int __devinit ad5764_probe(struct spi_device *spi) 276static int ad5764_probe(struct spi_device *spi)
277{ 277{
278 enum ad5764_type type = spi_get_device_id(spi)->driver_data; 278 enum ad5764_type type = spi_get_device_id(spi)->driver_data;
279 struct iio_dev *indio_dev; 279 struct iio_dev *indio_dev;
@@ -340,7 +340,7 @@ error_free:
340 return ret; 340 return ret;
341} 341}
342 342
343static int __devexit ad5764_remove(struct spi_device *spi) 343static int ad5764_remove(struct spi_device *spi)
344{ 344{
345 struct iio_dev *indio_dev = spi_get_drvdata(spi); 345 struct iio_dev *indio_dev = spi_get_drvdata(spi);
346 struct ad5764_state *st = iio_priv(indio_dev); 346 struct ad5764_state *st = iio_priv(indio_dev);
@@ -372,7 +372,7 @@ static struct spi_driver ad5764_driver = {
372 .owner = THIS_MODULE, 372 .owner = THIS_MODULE,
373 }, 373 },
374 .probe = ad5764_probe, 374 .probe = ad5764_probe,
375 .remove = __devexit_p(ad5764_remove), 375 .remove = ad5764_remove,
376 .id_table = ad5764_ids, 376 .id_table = ad5764_ids,
377}; 377};
378module_spi_driver(ad5764_driver); 378module_spi_driver(ad5764_driver);
diff --git a/drivers/iio/dac/ad5791.c b/drivers/iio/dac/ad5791.c
index 2bd2e37280ff..6407b5407ddd 100644
--- a/drivers/iio/dac/ad5791.c
+++ b/drivers/iio/dac/ad5791.c
@@ -346,7 +346,7 @@ static const struct iio_info ad5791_info = {
346 .driver_module = THIS_MODULE, 346 .driver_module = THIS_MODULE,
347}; 347};
348 348
349static int __devinit ad5791_probe(struct spi_device *spi) 349static int ad5791_probe(struct spi_device *spi)
350{ 350{
351 struct ad5791_platform_data *pdata = spi->dev.platform_data; 351 struct ad5791_platform_data *pdata = spi->dev.platform_data;
352 struct iio_dev *indio_dev; 352 struct iio_dev *indio_dev;
@@ -365,7 +365,11 @@ static int __devinit ad5791_probe(struct spi_device *spi)
365 if (ret) 365 if (ret)
366 goto error_put_reg_pos; 366 goto error_put_reg_pos;
367 367
368 pos_voltage_uv = regulator_get_voltage(st->reg_vdd); 368 ret = regulator_get_voltage(st->reg_vdd);
369 if (ret < 0)
370 goto error_disable_reg_pos;
371
372 pos_voltage_uv = ret;
369 } 373 }
370 374
371 st->reg_vss = regulator_get(&spi->dev, "vss"); 375 st->reg_vss = regulator_get(&spi->dev, "vss");
@@ -374,7 +378,11 @@ static int __devinit ad5791_probe(struct spi_device *spi)
374 if (ret) 378 if (ret)
375 goto error_put_reg_neg; 379 goto error_put_reg_neg;
376 380
377 neg_voltage_uv = regulator_get_voltage(st->reg_vss); 381 ret = regulator_get_voltage(st->reg_vss);
382 if (ret < 0)
383 goto error_disable_reg_neg;
384
385 neg_voltage_uv = ret;
378 } 386 }
379 387
380 st->pwr_down = true; 388 st->pwr_down = true;
@@ -428,6 +436,7 @@ error_put_reg_neg:
428 if (!IS_ERR(st->reg_vss)) 436 if (!IS_ERR(st->reg_vss))
429 regulator_put(st->reg_vss); 437 regulator_put(st->reg_vss);
430 438
439error_disable_reg_pos:
431 if (!IS_ERR(st->reg_vdd)) 440 if (!IS_ERR(st->reg_vdd))
432 regulator_disable(st->reg_vdd); 441 regulator_disable(st->reg_vdd);
433error_put_reg_pos: 442error_put_reg_pos:
@@ -439,7 +448,7 @@ error_ret:
439 return ret; 448 return ret;
440} 449}
441 450
442static int __devexit ad5791_remove(struct spi_device *spi) 451static int ad5791_remove(struct spi_device *spi)
443{ 452{
444 struct iio_dev *indio_dev = spi_get_drvdata(spi); 453 struct iio_dev *indio_dev = spi_get_drvdata(spi);
445 struct ad5791_state *st = iio_priv(indio_dev); 454 struct ad5791_state *st = iio_priv(indio_dev);
@@ -475,7 +484,7 @@ static struct spi_driver ad5791_driver = {
475 .owner = THIS_MODULE, 484 .owner = THIS_MODULE,
476 }, 485 },
477 .probe = ad5791_probe, 486 .probe = ad5791_probe,
478 .remove = __devexit_p(ad5791_remove), 487 .remove = ad5791_remove,
479 .id_table = ad5791_id, 488 .id_table = ad5791_id,
480}; 489};
481module_spi_driver(ad5791_driver); 490module_spi_driver(ad5791_driver);
diff --git a/drivers/iio/dac/max517.c b/drivers/iio/dac/max517.c
index c3d748c25939..352abe2004a4 100644
--- a/drivers/iio/dac/max517.c
+++ b/drivers/iio/dac/max517.c
@@ -156,7 +156,7 @@ static const struct iio_chan_spec max517_channels[] = {
156 MAX517_CHANNEL(1) 156 MAX517_CHANNEL(1)
157}; 157};
158 158
159static int __devinit max517_probe(struct i2c_client *client, 159static int max517_probe(struct i2c_client *client,
160 const struct i2c_device_id *id) 160 const struct i2c_device_id *id)
161{ 161{
162 struct max517_data *data; 162 struct max517_data *data;
@@ -210,7 +210,7 @@ exit:
210 return err; 210 return err;
211} 211}
212 212
213static int __devexit max517_remove(struct i2c_client *client) 213static int max517_remove(struct i2c_client *client)
214{ 214{
215 iio_device_unregister(i2c_get_clientdata(client)); 215 iio_device_unregister(i2c_get_clientdata(client));
216 iio_device_free(i2c_get_clientdata(client)); 216 iio_device_free(i2c_get_clientdata(client));
@@ -232,7 +232,7 @@ static struct i2c_driver max517_driver = {
232 .pm = MAX517_PM_OPS, 232 .pm = MAX517_PM_OPS,
233 }, 233 },
234 .probe = max517_probe, 234 .probe = max517_probe,
235 .remove = __devexit_p(max517_remove), 235 .remove = max517_remove,
236 .id_table = max517_id, 236 .id_table = max517_id,
237}; 237};
238module_i2c_driver(max517_driver); 238module_i2c_driver(max517_driver);
diff --git a/drivers/iio/dac/mcp4725.c b/drivers/iio/dac/mcp4725.c
index e0e168bd5b45..8f88cc4059a2 100644
--- a/drivers/iio/dac/mcp4725.c
+++ b/drivers/iio/dac/mcp4725.c
@@ -141,8 +141,8 @@ static const struct iio_info mcp4725_info = {
141 .driver_module = THIS_MODULE, 141 .driver_module = THIS_MODULE,
142}; 142};
143 143
144static int __devinit mcp4725_probe(struct i2c_client *client, 144static int mcp4725_probe(struct i2c_client *client,
145 const struct i2c_device_id *id) 145 const struct i2c_device_id *id)
146{ 146{
147 struct mcp4725_data *data; 147 struct mcp4725_data *data;
148 struct iio_dev *indio_dev; 148 struct iio_dev *indio_dev;
@@ -195,7 +195,7 @@ exit:
195 return err; 195 return err;
196} 196}
197 197
198static int __devexit mcp4725_remove(struct i2c_client *client) 198static int mcp4725_remove(struct i2c_client *client)
199{ 199{
200 struct iio_dev *indio_dev = i2c_get_clientdata(client); 200 struct iio_dev *indio_dev = i2c_get_clientdata(client);
201 201
@@ -217,7 +217,7 @@ static struct i2c_driver mcp4725_driver = {
217 .pm = MCP4725_PM_OPS, 217 .pm = MCP4725_PM_OPS,
218 }, 218 },
219 .probe = mcp4725_probe, 219 .probe = mcp4725_probe,
220 .remove = __devexit_p(mcp4725_remove), 220 .remove = mcp4725_remove,
221 .id_table = mcp4725_id, 221 .id_table = mcp4725_id,
222}; 222};
223module_i2c_driver(mcp4725_driver); 223module_i2c_driver(mcp4725_driver);
diff --git a/drivers/iio/frequency/ad9523.c b/drivers/iio/frequency/ad9523.c
index b737c64a402d..80307473e3a9 100644
--- a/drivers/iio/frequency/ad9523.c
+++ b/drivers/iio/frequency/ad9523.c
@@ -959,7 +959,7 @@ static int ad9523_setup(struct iio_dev *indio_dev)
959 return 0; 959 return 0;
960} 960}
961 961
962static int __devinit ad9523_probe(struct spi_device *spi) 962static int ad9523_probe(struct spi_device *spi)
963{ 963{
964 struct ad9523_platform_data *pdata = spi->dev.platform_data; 964 struct ad9523_platform_data *pdata = spi->dev.platform_data;
965 struct iio_dev *indio_dev; 965 struct iio_dev *indio_dev;
@@ -1020,7 +1020,7 @@ error_put_reg:
1020 return ret; 1020 return ret;
1021} 1021}
1022 1022
1023static int __devexit ad9523_remove(struct spi_device *spi) 1023static int ad9523_remove(struct spi_device *spi)
1024{ 1024{
1025 struct iio_dev *indio_dev = spi_get_drvdata(spi); 1025 struct iio_dev *indio_dev = spi_get_drvdata(spi);
1026 struct ad9523_state *st = iio_priv(indio_dev); 1026 struct ad9523_state *st = iio_priv(indio_dev);
@@ -1049,7 +1049,7 @@ static struct spi_driver ad9523_driver = {
1049 .owner = THIS_MODULE, 1049 .owner = THIS_MODULE,
1050 }, 1050 },
1051 .probe = ad9523_probe, 1051 .probe = ad9523_probe,
1052 .remove = __devexit_p(ad9523_remove), 1052 .remove = ad9523_remove,
1053 .id_table = ad9523_id, 1053 .id_table = ad9523_id,
1054}; 1054};
1055module_spi_driver(ad9523_driver); 1055module_spi_driver(ad9523_driver);
diff --git a/drivers/iio/frequency/adf4350.c b/drivers/iio/frequency/adf4350.c
index e35bb8f6fe75..a884252ac66b 100644
--- a/drivers/iio/frequency/adf4350.c
+++ b/drivers/iio/frequency/adf4350.c
@@ -173,7 +173,7 @@ static int adf4350_set_freq(struct adf4350_state *st, unsigned long long freq)
173 } while ((st->r1_mod > ADF4350_MAX_MODULUS) && r_cnt); 173 } while ((st->r1_mod > ADF4350_MAX_MODULUS) && r_cnt);
174 } while (r_cnt == 0); 174 } while (r_cnt == 0);
175 175
176 tmp = freq * (u64)st->r1_mod + (st->fpfd > 1); 176 tmp = freq * (u64)st->r1_mod + (st->fpfd >> 1);
177 do_div(tmp, st->fpfd); /* Div round closest (n + d/2)/d */ 177 do_div(tmp, st->fpfd); /* Div round closest (n + d/2)/d */
178 st->r0_fract = do_div(tmp, st->r1_mod); 178 st->r0_fract = do_div(tmp, st->r1_mod);
179 st->r0_int = tmp; 179 st->r0_int = tmp;
@@ -355,7 +355,7 @@ static const struct iio_info adf4350_info = {
355 .driver_module = THIS_MODULE, 355 .driver_module = THIS_MODULE,
356}; 356};
357 357
358static int __devinit adf4350_probe(struct spi_device *spi) 358static int adf4350_probe(struct spi_device *spi)
359{ 359{
360 struct adf4350_platform_data *pdata = spi->dev.platform_data; 360 struct adf4350_platform_data *pdata = spi->dev.platform_data;
361 struct iio_dev *indio_dev; 361 struct iio_dev *indio_dev;
@@ -440,7 +440,7 @@ error_put_reg:
440 return ret; 440 return ret;
441} 441}
442 442
443static int __devexit adf4350_remove(struct spi_device *spi) 443static int adf4350_remove(struct spi_device *spi)
444{ 444{
445 struct iio_dev *indio_dev = spi_get_drvdata(spi); 445 struct iio_dev *indio_dev = spi_get_drvdata(spi);
446 struct adf4350_state *st = iio_priv(indio_dev); 446 struct adf4350_state *st = iio_priv(indio_dev);
@@ -476,7 +476,7 @@ static struct spi_driver adf4350_driver = {
476 .owner = THIS_MODULE, 476 .owner = THIS_MODULE,
477 }, 477 },
478 .probe = adf4350_probe, 478 .probe = adf4350_probe,
479 .remove = __devexit_p(adf4350_remove), 479 .remove = adf4350_remove,
480 .id_table = adf4350_id, 480 .id_table = adf4350_id,
481}; 481};
482module_spi_driver(adf4350_driver); 482module_spi_driver(adf4350_driver);
diff --git a/drivers/iio/gyro/Kconfig b/drivers/iio/gyro/Kconfig
index 48ed1483ff27..96b68f63a902 100644
--- a/drivers/iio/gyro/Kconfig
+++ b/drivers/iio/gyro/Kconfig
@@ -17,6 +17,7 @@ config HID_SENSOR_GYRO_3D
17 select IIO_BUFFER 17 select IIO_BUFFER
18 select IIO_TRIGGERED_BUFFER 18 select IIO_TRIGGERED_BUFFER
19 select HID_SENSOR_IIO_COMMON 19 select HID_SENSOR_IIO_COMMON
20 select HID_SENSOR_IIO_TRIGGER
20 tristate "HID Gyroscope 3D" 21 tristate "HID Gyroscope 3D"
21 help 22 help
22 Say yes here to build support for the HID SENSOR 23 Say yes here to build support for the HID SENSOR
diff --git a/drivers/iio/gyro/hid-sensor-gyro-3d.c b/drivers/iio/gyro/hid-sensor-gyro-3d.c
index 4c8b158e40e1..06e7cc35450c 100644
--- a/drivers/iio/gyro/hid-sensor-gyro-3d.c
+++ b/drivers/iio/gyro/hid-sensor-gyro-3d.c
@@ -278,7 +278,7 @@ static int gyro_3d_parse_report(struct platform_device *pdev,
278} 278}
279 279
280/* Function to initialize the processing for usage id */ 280/* Function to initialize the processing for usage id */
281static int __devinit hid_gyro_3d_probe(struct platform_device *pdev) 281static int hid_gyro_3d_probe(struct platform_device *pdev)
282{ 282{
283 int ret = 0; 283 int ret = 0;
284 static const char *name = "gyro_3d"; 284 static const char *name = "gyro_3d";
@@ -375,7 +375,7 @@ error_ret:
375} 375}
376 376
377/* Function to deinitialize the processing for usage id */ 377/* Function to deinitialize the processing for usage id */
378static int __devinit hid_gyro_3d_remove(struct platform_device *pdev) 378static int hid_gyro_3d_remove(struct platform_device *pdev)
379{ 379{
380 struct hid_sensor_hub_device *hsdev = pdev->dev.platform_data; 380 struct hid_sensor_hub_device *hsdev = pdev->dev.platform_data;
381 struct iio_dev *indio_dev = platform_get_drvdata(pdev); 381 struct iio_dev *indio_dev = platform_get_drvdata(pdev);
diff --git a/drivers/iio/light/Kconfig b/drivers/iio/light/Kconfig
index 1763c9bcb98a..dbf80abc834f 100644
--- a/drivers/iio/light/Kconfig
+++ b/drivers/iio/light/Kconfig
@@ -47,6 +47,7 @@ config HID_SENSOR_ALS
47 select IIO_BUFFER 47 select IIO_BUFFER
48 select IIO_TRIGGERED_BUFFER 48 select IIO_TRIGGERED_BUFFER
49 select HID_SENSOR_IIO_COMMON 49 select HID_SENSOR_IIO_COMMON
50 select HID_SENSOR_IIO_TRIGGER
50 tristate "HID ALS" 51 tristate "HID ALS"
51 help 52 help
52 Say yes here to build support for the HID SENSOR 53 Say yes here to build support for the HID SENSOR
diff --git a/drivers/iio/light/adjd_s311.c b/drivers/iio/light/adjd_s311.c
index 36d210a06b28..d5b9d39d95b2 100644
--- a/drivers/iio/light/adjd_s311.c
+++ b/drivers/iio/light/adjd_s311.c
@@ -286,8 +286,8 @@ static const struct iio_info adjd_s311_info = {
286 .driver_module = THIS_MODULE, 286 .driver_module = THIS_MODULE,
287}; 287};
288 288
289static int __devinit adjd_s311_probe(struct i2c_client *client, 289static int adjd_s311_probe(struct i2c_client *client,
290 const struct i2c_device_id *id) 290 const struct i2c_device_id *id)
291{ 291{
292 struct adjd_s311_data *data; 292 struct adjd_s311_data *data;
293 struct iio_dev *indio_dev; 293 struct iio_dev *indio_dev;
@@ -330,7 +330,7 @@ exit:
330 return err; 330 return err;
331} 331}
332 332
333static int __devexit adjd_s311_remove(struct i2c_client *client) 333static int adjd_s311_remove(struct i2c_client *client)
334{ 334{
335 struct iio_dev *indio_dev = i2c_get_clientdata(client); 335 struct iio_dev *indio_dev = i2c_get_clientdata(client);
336 struct adjd_s311_data *data = iio_priv(indio_dev); 336 struct adjd_s311_data *data = iio_priv(indio_dev);
@@ -354,7 +354,7 @@ static struct i2c_driver adjd_s311_driver = {
354 .name = ADJD_S311_DRV_NAME, 354 .name = ADJD_S311_DRV_NAME,
355 }, 355 },
356 .probe = adjd_s311_probe, 356 .probe = adjd_s311_probe,
357 .remove = __devexit_p(adjd_s311_remove), 357 .remove = adjd_s311_remove,
358 .id_table = adjd_s311_id, 358 .id_table = adjd_s311_id,
359}; 359};
360module_i2c_driver(adjd_s311_driver); 360module_i2c_driver(adjd_s311_driver);
diff --git a/drivers/iio/light/hid-sensor-als.c b/drivers/iio/light/hid-sensor-als.c
index 23eeeef64e84..e2d042f2a544 100644
--- a/drivers/iio/light/hid-sensor-als.c
+++ b/drivers/iio/light/hid-sensor-als.c
@@ -245,7 +245,7 @@ static int als_parse_report(struct platform_device *pdev,
245} 245}
246 246
247/* Function to initialize the processing for usage id */ 247/* Function to initialize the processing for usage id */
248static int __devinit hid_als_probe(struct platform_device *pdev) 248static int hid_als_probe(struct platform_device *pdev)
249{ 249{
250 int ret = 0; 250 int ret = 0;
251 static const char *name = "als"; 251 static const char *name = "als";
@@ -341,7 +341,7 @@ error_ret:
341} 341}
342 342
343/* Function to deinitialize the processing for usage id */ 343/* Function to deinitialize the processing for usage id */
344static int __devinit hid_als_remove(struct platform_device *pdev) 344static int hid_als_remove(struct platform_device *pdev)
345{ 345{
346 struct hid_sensor_hub_device *hsdev = pdev->dev.platform_data; 346 struct hid_sensor_hub_device *hsdev = pdev->dev.platform_data;
347 struct iio_dev *indio_dev = platform_get_drvdata(pdev); 347 struct iio_dev *indio_dev = platform_get_drvdata(pdev);
diff --git a/drivers/iio/light/lm3533-als.c b/drivers/iio/light/lm3533-als.c
index e45712a921ce..7503012ce933 100644
--- a/drivers/iio/light/lm3533-als.c
+++ b/drivers/iio/light/lm3533-als.c
@@ -718,8 +718,7 @@ static struct attribute_group lm3533_als_attribute_group = {
718 .attrs = lm3533_als_attributes 718 .attrs = lm3533_als_attributes
719}; 719};
720 720
721static int __devinit lm3533_als_set_input_mode(struct lm3533_als *als, 721static int lm3533_als_set_input_mode(struct lm3533_als *als, bool pwm_mode)
722 bool pwm_mode)
723{ 722{
724 u8 mask = LM3533_ALS_INPUT_MODE_MASK; 723 u8 mask = LM3533_ALS_INPUT_MODE_MASK;
725 u8 val; 724 u8 val;
@@ -740,7 +739,7 @@ static int __devinit lm3533_als_set_input_mode(struct lm3533_als *als,
740 return 0; 739 return 0;
741} 740}
742 741
743static int __devinit lm3533_als_set_resistor(struct lm3533_als *als, u8 val) 742static int lm3533_als_set_resistor(struct lm3533_als *als, u8 val)
744{ 743{
745 int ret; 744 int ret;
746 745
@@ -756,8 +755,8 @@ static int __devinit lm3533_als_set_resistor(struct lm3533_als *als, u8 val)
756 return 0; 755 return 0;
757} 756}
758 757
759static int __devinit lm3533_als_setup(struct lm3533_als *als, 758static int lm3533_als_setup(struct lm3533_als *als,
760 struct lm3533_als_platform_data *pdata) 759 struct lm3533_als_platform_data *pdata)
761{ 760{
762 int ret; 761 int ret;
763 762
@@ -775,7 +774,7 @@ static int __devinit lm3533_als_setup(struct lm3533_als *als,
775 return 0; 774 return 0;
776} 775}
777 776
778static int __devinit lm3533_als_setup_irq(struct lm3533_als *als, void *dev) 777static int lm3533_als_setup_irq(struct lm3533_als *als, void *dev)
779{ 778{
780 u8 mask = LM3533_ALS_INT_ENABLE_MASK; 779 u8 mask = LM3533_ALS_INT_ENABLE_MASK;
781 int ret; 780 int ret;
@@ -799,7 +798,7 @@ static int __devinit lm3533_als_setup_irq(struct lm3533_als *als, void *dev)
799 return 0; 798 return 0;
800} 799}
801 800
802static int __devinit lm3533_als_enable(struct lm3533_als *als) 801static int lm3533_als_enable(struct lm3533_als *als)
803{ 802{
804 u8 mask = LM3533_ALS_ENABLE_MASK; 803 u8 mask = LM3533_ALS_ENABLE_MASK;
805 int ret; 804 int ret;
@@ -830,7 +829,7 @@ static const struct iio_info lm3533_als_info = {
830 .read_raw = &lm3533_als_read_raw, 829 .read_raw = &lm3533_als_read_raw,
831}; 830};
832 831
833static int __devinit lm3533_als_probe(struct platform_device *pdev) 832static int lm3533_als_probe(struct platform_device *pdev)
834{ 833{
835 struct lm3533 *lm3533; 834 struct lm3533 *lm3533;
836 struct lm3533_als_platform_data *pdata; 835 struct lm3533_als_platform_data *pdata;
@@ -901,7 +900,7 @@ err_free_dev:
901 return ret; 900 return ret;
902} 901}
903 902
904static int __devexit lm3533_als_remove(struct platform_device *pdev) 903static int lm3533_als_remove(struct platform_device *pdev)
905{ 904{
906 struct iio_dev *indio_dev = platform_get_drvdata(pdev); 905 struct iio_dev *indio_dev = platform_get_drvdata(pdev);
907 struct lm3533_als *als = iio_priv(indio_dev); 906 struct lm3533_als *als = iio_priv(indio_dev);
@@ -922,7 +921,7 @@ static struct platform_driver lm3533_als_driver = {
922 .owner = THIS_MODULE, 921 .owner = THIS_MODULE,
923 }, 922 },
924 .probe = lm3533_als_probe, 923 .probe = lm3533_als_probe,
925 .remove = __devexit_p(lm3533_als_remove), 924 .remove = lm3533_als_remove,
926}; 925};
927module_platform_driver(lm3533_als_driver); 926module_platform_driver(lm3533_als_driver);
928 927
diff --git a/drivers/iio/light/vcnl4000.c b/drivers/iio/light/vcnl4000.c
index e49cb9784a6f..2aa748fbdc0e 100644
--- a/drivers/iio/light/vcnl4000.c
+++ b/drivers/iio/light/vcnl4000.c
@@ -150,8 +150,8 @@ static const struct iio_info vcnl4000_info = {
150 .driver_module = THIS_MODULE, 150 .driver_module = THIS_MODULE,
151}; 151};
152 152
153static int __devinit vcnl4000_probe(struct i2c_client *client, 153static int vcnl4000_probe(struct i2c_client *client,
154 const struct i2c_device_id *id) 154 const struct i2c_device_id *id)
155{ 155{
156 struct vcnl4000_data *data; 156 struct vcnl4000_data *data;
157 struct iio_dev *indio_dev; 157 struct iio_dev *indio_dev;
@@ -190,7 +190,7 @@ error_free_dev:
190 return ret; 190 return ret;
191} 191}
192 192
193static int __devexit vcnl4000_remove(struct i2c_client *client) 193static int vcnl4000_remove(struct i2c_client *client)
194{ 194{
195 struct iio_dev *indio_dev = i2c_get_clientdata(client); 195 struct iio_dev *indio_dev = i2c_get_clientdata(client);
196 196
@@ -206,7 +206,7 @@ static struct i2c_driver vcnl4000_driver = {
206 .owner = THIS_MODULE, 206 .owner = THIS_MODULE,
207 }, 207 },
208 .probe = vcnl4000_probe, 208 .probe = vcnl4000_probe,
209 .remove = __devexit_p(vcnl4000_remove), 209 .remove = vcnl4000_remove,
210 .id_table = vcnl4000_id, 210 .id_table = vcnl4000_id,
211}; 211};
212 212
diff --git a/drivers/iio/magnetometer/Kconfig b/drivers/iio/magnetometer/Kconfig
index c1f0cdd57037..ff11d68225cf 100644
--- a/drivers/iio/magnetometer/Kconfig
+++ b/drivers/iio/magnetometer/Kconfig
@@ -8,6 +8,7 @@ config HID_SENSOR_MAGNETOMETER_3D
8 select IIO_BUFFER 8 select IIO_BUFFER
9 select IIO_TRIGGERED_BUFFER 9 select IIO_TRIGGERED_BUFFER
10 select HID_SENSOR_IIO_COMMON 10 select HID_SENSOR_IIO_COMMON
11 select HID_SENSOR_IIO_TRIGGER
11 tristate "HID Magenetometer 3D" 12 tristate "HID Magenetometer 3D"
12 help 13 help
13 Say yes here to build support for the HID SENSOR 14 Say yes here to build support for the HID SENSOR
diff --git a/drivers/iio/magnetometer/hid-sensor-magn-3d.c b/drivers/iio/magnetometer/hid-sensor-magn-3d.c
index 8e75eb76ccd9..7ac2c7483ba8 100644
--- a/drivers/iio/magnetometer/hid-sensor-magn-3d.c
+++ b/drivers/iio/magnetometer/hid-sensor-magn-3d.c
@@ -279,7 +279,7 @@ static int magn_3d_parse_report(struct platform_device *pdev,
279} 279}
280 280
281/* Function to initialize the processing for usage id */ 281/* Function to initialize the processing for usage id */
282static int __devinit hid_magn_3d_probe(struct platform_device *pdev) 282static int hid_magn_3d_probe(struct platform_device *pdev)
283{ 283{
284 int ret = 0; 284 int ret = 0;
285 static char *name = "magn_3d"; 285 static char *name = "magn_3d";
@@ -376,7 +376,7 @@ error_ret:
376} 376}
377 377
378/* Function to deinitialize the processing for usage id */ 378/* Function to deinitialize the processing for usage id */
379static int __devinit hid_magn_3d_remove(struct platform_device *pdev) 379static int hid_magn_3d_remove(struct platform_device *pdev)
380{ 380{
381 struct hid_sensor_hub_device *hsdev = pdev->dev.platform_data; 381 struct hid_sensor_hub_device *hsdev = pdev->dev.platform_data;
382 struct iio_dev *indio_dev = platform_get_drvdata(pdev); 382 struct iio_dev *indio_dev = platform_get_drvdata(pdev);