Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 268831
b: refs/heads/master
c: d2fffd6
h: refs/heads/master
i:
  268829: 2e4198e
  268827: 709f92f
  268823: 9408dac
  268815: c190d91
  268799: e3ba49f
v: v3
  • Loading branch information
Jonathan Cameron authored and Greg Kroah-Hartman committed Oct 17, 2011
1 parent c1f8090 commit 14f2b89
Show file tree
Hide file tree
Showing 61 changed files with 147 additions and 110 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: cdea0bec8d37f2943ae500512b0c178bc76de6e3
refs/heads/master: d2fffd6c2fd60fe9ab63ef30758d9d43a5057549
3 changes: 2 additions & 1 deletion trunk/drivers/staging/iio/accel/adis16201_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -532,10 +532,11 @@ static int adis16201_remove(struct spi_device *spi)
{
struct iio_dev *indio_dev = spi_get_drvdata(spi);

iio_device_unregister(indio_dev);
adis16201_remove_trigger(indio_dev);
iio_buffer_unregister(indio_dev);
adis16201_unconfigure_ring(indio_dev);
iio_device_unregister(indio_dev);
iio_free_device(indio_dev);

return 0;
}
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/staging/iio/accel/adis16203_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -487,10 +487,11 @@ static int adis16203_remove(struct spi_device *spi)
{
struct iio_dev *indio_dev = spi_get_drvdata(spi);

iio_device_unregister(indio_dev);
adis16203_remove_trigger(indio_dev);
iio_buffer_unregister(indio_dev);
adis16203_unconfigure_ring(indio_dev);
iio_device_unregister(indio_dev);
iio_free_device(indio_dev);

return 0;
}
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/staging/iio/accel/adis16204_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -560,10 +560,11 @@ static int adis16204_remove(struct spi_device *spi)
{
struct iio_dev *indio_dev = spi_get_drvdata(spi);

iio_device_unregister(indio_dev);
adis16204_remove_trigger(indio_dev);
iio_buffer_unregister(indio_dev);
adis16204_unconfigure_ring(indio_dev);
iio_device_unregister(indio_dev);
iio_free_device(indio_dev);

return 0;
}
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/staging/iio/accel/adis16209_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -536,10 +536,11 @@ static int adis16209_remove(struct spi_device *spi)

flush_scheduled_work();

iio_device_unregister(indio_dev);
adis16209_remove_trigger(indio_dev);
iio_buffer_unregister(indio_dev);
adis16209_unconfigure_ring(indio_dev);
iio_device_unregister(indio_dev);
iio_free_device(indio_dev);

return 0;
}
Expand Down
13 changes: 6 additions & 7 deletions trunk/drivers/staging/iio/accel/adis16220_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -624,7 +624,7 @@ static const struct iio_info adis16220_info = {

static int __devinit adis16220_probe(struct spi_device *spi)
{
int ret, regdone = 0;
int ret;
struct adis16220_state *st;
struct iio_dev *indio_dev;

Expand Down Expand Up @@ -652,11 +652,10 @@ static int __devinit adis16220_probe(struct spi_device *spi)
ret = iio_device_register(indio_dev);
if (ret)
goto error_free_dev;
regdone = 1;

ret = sysfs_create_bin_file(&indio_dev->dev.kobj, &accel_bin);
if (ret)
goto error_free_dev;
goto error_unregister_dev;

ret = sysfs_create_bin_file(&indio_dev->dev.kobj, &adc1_bin);
if (ret)
Expand All @@ -678,11 +677,10 @@ static int __devinit adis16220_probe(struct spi_device *spi)
sysfs_remove_bin_file(&indio_dev->dev.kobj, &adc1_bin);
error_rm_accel_bin:
sysfs_remove_bin_file(&indio_dev->dev.kobj, &accel_bin);
error_unregister_dev:
iio_device_unregister(indio_dev);
error_free_dev:
if (regdone)
iio_device_unregister(indio_dev);
else
iio_free_device(indio_dev);
iio_free_device(indio_dev);
error_ret:
return ret;
}
Expand All @@ -697,6 +695,7 @@ static int adis16220_remove(struct spi_device *spi)
sysfs_remove_bin_file(&indio_dev->dev.kobj, &adc1_bin);
sysfs_remove_bin_file(&indio_dev->dev.kobj, &accel_bin);
iio_device_unregister(indio_dev);
iio_free_device(indio_dev);

return 0;
}
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/staging/iio/accel/adis16240_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -589,10 +589,11 @@ static int adis16240_remove(struct spi_device *spi)

flush_scheduled_work();

iio_device_unregister(indio_dev);
adis16240_remove_trigger(indio_dev);
iio_buffer_unregister(indio_dev);
adis16240_unconfigure_ring(indio_dev);
iio_device_unregister(indio_dev);
iio_free_device(indio_dev);

return 0;
}
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/staging/iio/accel/kxsd9.c
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,7 @@ static int __devinit kxsd9_probe(struct spi_device *spi)
static int __devexit kxsd9_remove(struct spi_device *spi)
{
iio_device_unregister(spi_get_drvdata(spi));
iio_free_device(spi_get_drvdata(spi));

return 0;
}
Expand Down
7 changes: 4 additions & 3 deletions trunk/drivers/staging/iio/accel/lis3l02dq_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -736,7 +736,7 @@ static int __devinit lis3l02dq_probe(struct spi_device *spi)
error_unreg_buffer_funcs:
lis3l02dq_unconfigure_buffer(indio_dev);
error_free_dev:
iio_free_device(indio_dev);
iio_free_device(indio_dev);
error_ret:
return ret;
}
Expand Down Expand Up @@ -774,6 +774,8 @@ static int lis3l02dq_remove(struct spi_device *spi)
struct iio_dev *indio_dev = spi_get_drvdata(spi);
struct lis3l02dq_state *st = iio_priv(indio_dev);

iio_device_unregister(indio_dev);

ret = lis3l02dq_disable_all_events(indio_dev);
if (ret)
goto err_ret;
Expand All @@ -789,8 +791,7 @@ static int lis3l02dq_remove(struct spi_device *spi)
iio_buffer_unregister(indio_dev);
lis3l02dq_unconfigure_buffer(indio_dev);

iio_device_unregister(indio_dev);

iio_free_device(indio_dev);
err_ret:
return ret;
}
Expand Down
13 changes: 6 additions & 7 deletions trunk/drivers/staging/iio/accel/sca3000_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1122,7 +1122,7 @@ static const struct iio_info sca3000_info_with_temp = {

static int __devinit sca3000_probe(struct spi_device *spi)
{
int ret, regdone = 0;
int ret;
struct sca3000_state *st;
struct iio_dev *indio_dev;

Expand Down Expand Up @@ -1154,7 +1154,7 @@ static int __devinit sca3000_probe(struct spi_device *spi)
ret = iio_device_register(indio_dev);
if (ret < 0)
goto error_free_dev;
regdone = 1;

ret = iio_buffer_register(indio_dev,
sca3000_channels,
ARRAY_SIZE(sca3000_channels));
Expand Down Expand Up @@ -1188,11 +1188,9 @@ static int __devinit sca3000_probe(struct spi_device *spi)
error_unregister_ring:
iio_buffer_unregister(indio_dev);
error_unregister_dev:
iio_device_unregister(indio_dev);
error_free_dev:
if (regdone)
iio_device_unregister(indio_dev);
else
iio_free_device(indio_dev);
iio_free_device(indio_dev);

error_ret:
return ret;
Expand Down Expand Up @@ -1227,9 +1225,10 @@ static int sca3000_remove(struct spi_device *spi)
return ret;
if (spi->irq)
free_irq(spi->irq, indio_dev);
iio_device_unregister(indio_dev);
iio_buffer_unregister(indio_dev);
sca3000_unconfigure_ring(indio_dev);
iio_device_unregister(indio_dev);
iio_free_device(indio_dev);

return 0;
}
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/staging/iio/adc/ad7150.c
Original file line number Diff line number Diff line change
Expand Up @@ -628,13 +628,14 @@ static int __devexit ad7150_remove(struct i2c_client *client)
{
struct iio_dev *indio_dev = i2c_get_clientdata(client);

iio_device_unregister(indio_dev);
if (client->irq)
free_irq(client->irq, indio_dev);

if (client->dev.platform_data)
free_irq(*(unsigned int *)client->dev.platform_data, indio_dev);

iio_device_unregister(indio_dev);
iio_free_device(indio_dev);

return 0;
}
Expand Down
1 change: 1 addition & 0 deletions trunk/drivers/staging/iio/adc/ad7152.c
Original file line number Diff line number Diff line change
Expand Up @@ -519,6 +519,7 @@ static int __devexit ad7152_remove(struct i2c_client *client)
struct iio_dev *indio_dev = i2c_get_clientdata(client);

iio_device_unregister(indio_dev);
iio_free_device(indio_dev);

return 0;
}
Expand Down
26 changes: 10 additions & 16 deletions trunk/drivers/staging/iio/adc/ad7192.c
Original file line number Diff line number Diff line change
Expand Up @@ -1032,7 +1032,7 @@ static int __devinit ad7192_probe(struct spi_device *spi)
struct ad7192_platform_data *pdata = spi->dev.platform_data;
struct ad7192_state *st;
struct iio_dev *indio_dev;
int ret, i , voltage_uv = 0, regdone = 0;
int ret, i , voltage_uv = 0;

if (!pdata) {
dev_err(&spi->dev, "no platform data?\n");
Expand Down Expand Up @@ -1090,14 +1090,9 @@ static int __devinit ad7192_probe(struct spi_device *spi)
if (ret)
goto error_disable_reg;

ret = iio_device_register(indio_dev);
if (ret)
goto error_unreg_ring;
regdone = 1;

ret = ad7192_probe_trigger(indio_dev);
if (ret)
goto error_unreg_ring;
goto error_ring_cleanup;

ret = iio_buffer_register(indio_dev,
indio_dev->channels,
Expand All @@ -1107,15 +1102,18 @@ static int __devinit ad7192_probe(struct spi_device *spi)

ret = ad7192_setup(st);
if (ret)
goto error_uninitialize_ring;
goto error_unreg_ring;

ret = iio_device_register(indio_dev);
if (ret < 0)
goto error_unreg_ring;
return 0;

error_uninitialize_ring:
error_unreg_ring:
iio_buffer_unregister(indio_dev);
error_remove_trigger:
ad7192_remove_trigger(indio_dev);
error_unreg_ring:
error_ring_cleanup:
ad7192_ring_cleanup(indio_dev);
error_disable_reg:
if (!IS_ERR(st->reg))
Expand All @@ -1124,10 +1122,7 @@ static int __devinit ad7192_probe(struct spi_device *spi)
if (!IS_ERR(st->reg))
regulator_put(st->reg);

if (regdone)
iio_device_unregister(indio_dev);
else
iio_free_device(indio_dev);
iio_free_device(indio_dev);

return ret;
}
Expand All @@ -1137,6 +1132,7 @@ static int ad7192_remove(struct spi_device *spi)
struct iio_dev *indio_dev = spi_get_drvdata(spi);
struct ad7192_state *st = iio_priv(indio_dev);

iio_device_unregister(indio_dev);
iio_buffer_unregister(indio_dev);
ad7192_remove_trigger(indio_dev);
ad7192_ring_cleanup(indio_dev);
Expand All @@ -1146,8 +1142,6 @@ static int ad7192_remove(struct spi_device *spi)
regulator_put(st->reg);
}

iio_device_unregister(indio_dev);

return 0;
}

Expand Down
19 changes: 9 additions & 10 deletions trunk/drivers/staging/iio/adc/ad7280a.c
Original file line number Diff line number Diff line change
Expand Up @@ -831,7 +831,7 @@ static int __devinit ad7280_probe(struct spi_device *spi)
{
const struct ad7280_platform_data *pdata = spi->dev.platform_data;
struct ad7280_state *st;
int ret, regdone = 0;
int ret;
const unsigned short tACQ_ns[4] = {465, 1010, 1460, 1890};
const unsigned short nAVG[4] = {1, 2, 4, 8};
struct iio_dev *indio_dev = iio_allocate_device(sizeof(*st));
Expand Down Expand Up @@ -903,21 +903,20 @@ static int __devinit ad7280_probe(struct spi_device *spi)
ret = iio_device_register(indio_dev);
if (ret)
goto error_free_attr;
regdone = 1;

if (spi->irq > 0) {
ret = ad7280_write(st, AD7280A_DEVADDR_MASTER,
AD7280A_ALERT, 1,
AD7280A_ALERT_RELAY_SIG_CHAIN_DOWN);
if (ret)
goto error_free_attr;
goto error_unregister;

ret = ad7280_write(st, AD7280A_DEVADDR(st->slave_num),
AD7280A_ALERT, 0,
AD7280A_ALERT_GEN_STATIC_HIGH |
(pdata->chain_last_alert_ignore & 0xF));
if (ret)
goto error_free_attr;
goto error_unregister;

ret = request_threaded_irq(spi->irq,
NULL,
Expand All @@ -927,10 +926,12 @@ static int __devinit ad7280_probe(struct spi_device *spi)
indio_dev->name,
indio_dev);
if (ret)
goto error_free_attr;
goto error_unregister;
}

return 0;
error_unregister:
iio_device_unregister(indio_dev);

error_free_attr:
kfree(st->iio_attr);
Expand All @@ -939,10 +940,7 @@ static int __devinit ad7280_probe(struct spi_device *spi)
kfree(st->channels);

error_free_device:
if (regdone)
iio_device_unregister(indio_dev);
else
iio_free_device(indio_dev);
iio_free_device(indio_dev);

return ret;
}
Expand All @@ -954,13 +952,14 @@ static int __devexit ad7280_remove(struct spi_device *spi)

if (spi->irq > 0)
free_irq(spi->irq, indio_dev);
iio_device_unregister(indio_dev);

ad7280_write(st, AD7280A_DEVADDR_MASTER, AD7280A_CONTROL_HB, 1,
AD7280A_CTRL_HB_PWRDN_SW | st->ctrl_hb);

kfree(st->channels);
kfree(st->iio_attr);
iio_device_unregister(indio_dev);
iio_free_device(indio_dev);

return 0;
}
Expand Down
4 changes: 3 additions & 1 deletion trunk/drivers/staging/iio/adc/ad7291.c
Original file line number Diff line number Diff line change
Expand Up @@ -670,6 +670,8 @@ static int __devexit ad7291_remove(struct i2c_client *client)
struct iio_dev *indio_dev = i2c_get_clientdata(client);
struct ad7291_chip_info *chip = iio_priv(indio_dev);

iio_device_unregister(indio_dev);

if (client->irq)
free_irq(client->irq, indio_dev);

Expand All @@ -678,7 +680,7 @@ static int __devexit ad7291_remove(struct i2c_client *client)
regulator_put(chip->reg);
}

iio_device_unregister(indio_dev);
iio_free_device(indio_dev);

return 0;
}
Expand Down
Loading

0 comments on commit 14f2b89

Please sign in to comment.