Commit ef19ee60 authored by Andrey Smirnov's avatar Andrey Smirnov Committed by Jonathan Cameron
Browse files

iio: hi8435: Drop hi8435_remove() by using devres for remaining elements



Convert the remainder of hi8435_probe() to use devres and get rid of
hi8435_remove().

Signed-off-by: default avatarAndrey Smirnov <andrew.smirnov@gmail.com>
Cc: linux-kernel@vger.kernel.org
Cc: linux-iio@vger.kernel.org
Cc: Chris Healy <cphealy@gmail.com>
Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 6822dc9d
Loading
Loading
Loading
Loading
+11 −21
Original line number Diff line number Diff line
@@ -456,6 +456,11 @@ err_read:
	return IRQ_HANDLED;
}

static void hi8435_triggered_event_cleanup(void *data)
{
	iio_triggered_event_cleanup(data);
}

static int hi8435_probe(struct spi_device *spi)
{
	struct iio_dev *idev;
@@ -513,27 +518,13 @@ static int hi8435_probe(struct spi_device *spi)
	if (ret)
		return ret;

	ret = iio_device_register(idev);
	if (ret < 0) {
		dev_err(&spi->dev, "unable to register device\n");
		goto unregister_triggered_event;
	}

	return 0;

unregister_triggered_event:
	iio_triggered_event_cleanup(idev);
	ret = devm_add_action_or_reset(&spi->dev,
				       hi8435_triggered_event_cleanup,
				       idev);
	if (ret)
		return ret;
}

static int hi8435_remove(struct spi_device *spi)
{
	struct iio_dev *idev = spi_get_drvdata(spi);

	iio_device_unregister(idev);
	iio_triggered_event_cleanup(idev);

	return 0;
	return devm_iio_device_register(&spi->dev, idev);
}

static const struct of_device_id hi8435_dt_ids[] = {
@@ -554,7 +545,6 @@ static struct spi_driver hi8435_driver = {
		.of_match_table	= of_match_ptr(hi8435_dt_ids),
	},
	.probe		= hi8435_probe,
	.remove		= hi8435_remove,
	.id_table	= hi8435_id,
};
module_spi_driver(hi8435_driver);