Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 26d25ae3 authored by Jonathan Cameron's avatar Jonathan Cameron Committed by Greg Kroah-Hartman
Browse files

staging:iio: rework of attribute registration.



This set also includes quite a number of bug fixes of particularly
remove functions.

Necessary due to issue pointed out in Bart Van Assche's patch:
docs/driver-model: Document device.groups

V2: Rebase due to patch reordering.
V3: Pull various error fixes and cleanups out into their own patches.

Signed-off-by: default avatarJonathan Cameron <jic23@cam.ac.uk>
Acked-by: default avatarMichael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 330c6c57
Loading
Loading
Loading
Loading
+6 −10
Original line number Diff line number Diff line
@@ -463,7 +463,7 @@ static const struct iio_info adis16201_info = {

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

@@ -492,11 +492,6 @@ static int __devinit adis16201_probe(struct spi_device *spi)
	if (ret)
		goto error_free_dev;

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

	ret = iio_ring_buffer_register(indio_dev,
				       adis16201_channels,
				       ARRAY_SIZE(adis16201_channels));
@@ -515,6 +510,10 @@ static int __devinit adis16201_probe(struct spi_device *spi)
	ret = adis16201_initial_setup(indio_dev);
	if (ret)
		goto error_remove_trigger;

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

error_remove_trigger:
@@ -524,9 +523,6 @@ static int __devinit adis16201_probe(struct spi_device *spi)
error_unreg_ring_funcs:
	adis16201_unconfigure_ring(indio_dev);
error_free_dev:
	if (regdone)
		iio_device_unregister(indio_dev);
	else
	iio_free_device(indio_dev);
error_ret:
	return ret;
+7 −10
Original line number Diff line number Diff line
@@ -419,7 +419,7 @@ static const struct iio_info adis16203_info = {

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

@@ -446,11 +446,6 @@ static int __devinit adis16203_probe(struct spi_device *spi)
	if (ret)
		goto error_free_dev;

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

	ret = iio_ring_buffer_register(indio_dev,
				       adis16203_channels,
				       ARRAY_SIZE(adis16203_channels));
@@ -469,6 +464,11 @@ static int __devinit adis16203_probe(struct spi_device *spi)
	ret = adis16203_initial_setup(indio_dev);
	if (ret)
		goto error_remove_trigger;

	ret = iio_device_register(indio_dev);
	if (ret)
		goto error_remove_trigger;

	return 0;

error_remove_trigger:
@@ -478,9 +478,6 @@ static int __devinit adis16203_probe(struct spi_device *spi)
error_unreg_ring_funcs:
	adis16203_unconfigure_ring(indio_dev);
error_free_dev:
	if (regdone)
		iio_device_unregister(indio_dev);
	else
	iio_free_device(indio_dev);
error_ret:
	return ret;
+6 −10
Original line number Diff line number Diff line
@@ -494,7 +494,7 @@ static const struct iio_info adis16204_info = {

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

@@ -521,11 +521,6 @@ static int __devinit adis16204_probe(struct spi_device *spi)
	if (ret)
		goto error_free_dev;

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

	ret = iio_ring_buffer_register(indio_dev,
				       adis16204_channels,
				       ARRAY_SIZE(adis16204_channels));
@@ -544,6 +539,10 @@ static int __devinit adis16204_probe(struct spi_device *spi)
	ret = adis16204_initial_setup(indio_dev);
	if (ret)
		goto error_remove_trigger;
	ret = iio_device_register(indio_dev);
	if (ret)
		goto error_remove_trigger;

	return 0;

error_remove_trigger:
@@ -553,9 +552,6 @@ static int __devinit adis16204_probe(struct spi_device *spi)
error_unreg_ring_funcs:
	adis16204_unconfigure_ring(indio_dev);
error_free_dev:
	if (regdone)
		iio_device_unregister(indio_dev);
	else
	iio_free_device(indio_dev);
error_ret:
	return ret;
+6 −10
Original line number Diff line number Diff line
@@ -467,7 +467,7 @@ static const struct iio_info adis16209_info = {

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

@@ -494,11 +494,6 @@ static int __devinit adis16209_probe(struct spi_device *spi)
	if (ret)
		goto error_free_dev;

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

	ret = iio_ring_buffer_register(indio_dev,
				       adis16209_channels,
				       ARRAY_SIZE(adis16209_channels));
@@ -517,6 +512,10 @@ static int __devinit adis16209_probe(struct spi_device *spi)
	ret = adis16209_initial_setup(indio_dev);
	if (ret)
		goto error_remove_trigger;
	ret = iio_device_register(indio_dev);
	if (ret)
		goto error_remove_trigger;

	return 0;

error_remove_trigger:
@@ -526,9 +525,6 @@ static int __devinit adis16209_probe(struct spi_device *spi)
error_unreg_ring_funcs:
	adis16209_unconfigure_ring(indio_dev);
error_free_dev:
	if (regdone)
		iio_device_unregister(indio_dev);
	else
	iio_free_device(indio_dev);
error_ret:
	return ret;
+5 −10
Original line number Diff line number Diff line
@@ -519,7 +519,7 @@ static const struct iio_info adis16240_info = {

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

@@ -547,11 +547,6 @@ static int __devinit adis16240_probe(struct spi_device *spi)
	if (ret)
		goto error_free_dev;

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

	ret = iio_ring_buffer_register(indio_dev,
				       adis16240_channels,
				       ARRAY_SIZE(adis16240_channels));
@@ -568,6 +563,9 @@ static int __devinit adis16240_probe(struct spi_device *spi)

	/* Get the device into a sane initial state */
	ret = adis16240_initial_setup(indio_dev);
	if (ret)
		goto error_remove_trigger;
	ret = iio_device_register(indio_dev);
	if (ret)
		goto error_remove_trigger;
	return 0;
@@ -579,9 +577,6 @@ static int __devinit adis16240_probe(struct spi_device *spi)
error_unreg_ring_funcs:
	adis16240_unconfigure_ring(indio_dev);
error_free_dev:
	if (regdone)
		iio_device_unregister(indio_dev);
	else
	iio_free_device(indio_dev);
error_ret:
	return ret;
Loading