Commit caa6693e authored by Jonathan Cameron's avatar Jonathan Cameron
Browse files

iio: pressure: ms5611: Switch to fully devm_ managed registration.



All the remaining calls in probe() have devm_ equivalents so
switching to those allows the remove() callbacks to be deleted.
No functional change.

Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
Cc: Tomasz Duszynski <tduszyns@gmail.com>
Reviewed-by: default avatarMatti Vaittinen <mazziesaccount@gmail.com>
Link: https://lore.kernel.org/r/20221016163409.320197-15-jic23@kernel.org


Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 122ef59a
Loading
Loading
Loading
Loading
+0 −1
Original line number Diff line number Diff line
@@ -54,6 +54,5 @@ struct ms5611_state {

int ms5611_probe(struct iio_dev *indio_dev, struct device *dev,
		 const char *name, int type);
void ms5611_remove(struct iio_dev *indio_dev);

#endif /* _MS5611_H */
+3 −14
Original line number Diff line number Diff line
@@ -434,34 +434,23 @@ int ms5611_probe(struct iio_dev *indio_dev, struct device *dev,
	if (ret < 0)
		return ret;

	ret = iio_triggered_buffer_setup(indio_dev, NULL,
	ret = devm_iio_triggered_buffer_setup(dev, indio_dev, NULL,
					 ms5611_trigger_handler, NULL);
	if (ret < 0) {
		dev_err(dev, "iio triggered buffer setup failed\n");
		return ret;
	}

	ret = iio_device_register(indio_dev);
	ret = devm_iio_device_register(dev, indio_dev);
	if (ret < 0) {
		dev_err(dev, "unable to register iio device\n");
		goto err_buffer_cleanup;
		return ret;
	}

	return 0;

err_buffer_cleanup:
	iio_triggered_buffer_cleanup(indio_dev);
	return ret;
}
EXPORT_SYMBOL_NS(ms5611_probe, IIO_MS5611);

void ms5611_remove(struct iio_dev *indio_dev)
{
	iio_device_unregister(indio_dev);
	iio_triggered_buffer_cleanup(indio_dev);
}
EXPORT_SYMBOL_NS(ms5611_remove, IIO_MS5611);

MODULE_AUTHOR("Tomasz Duszynski <tduszyns@gmail.com>");
MODULE_DESCRIPTION("MS5611 core driver");
MODULE_LICENSE("GPL v2");
+0 −6
Original line number Diff line number Diff line
@@ -105,11 +105,6 @@ static int ms5611_i2c_probe(struct i2c_client *client)
	return ms5611_probe(indio_dev, &client->dev, id->name, id->driver_data);
}

static void ms5611_i2c_remove(struct i2c_client *client)
{
	ms5611_remove(i2c_get_clientdata(client));
}

static const struct of_device_id ms5611_i2c_matches[] = {
	{ .compatible = "meas,ms5611" },
	{ .compatible = "meas,ms5607" },
@@ -131,7 +126,6 @@ static struct i2c_driver ms5611_driver = {
	},
	.id_table = ms5611_id,
	.probe_new = ms5611_i2c_probe,
	.remove = ms5611_i2c_remove,
};
module_i2c_driver(ms5611_driver);

+0 −6
Original line number Diff line number Diff line
@@ -107,11 +107,6 @@ static int ms5611_spi_probe(struct spi_device *spi)
			    spi_get_device_id(spi)->driver_data);
}

static void ms5611_spi_remove(struct spi_device *spi)
{
	ms5611_remove(spi_get_drvdata(spi));
}

static const struct of_device_id ms5611_spi_matches[] = {
	{ .compatible = "meas,ms5611" },
	{ .compatible = "meas,ms5607" },
@@ -133,7 +128,6 @@ static struct spi_driver ms5611_driver = {
	},
	.id_table = ms5611_id,
	.probe = ms5611_spi_probe,
	.remove = ms5611_spi_remove,
};
module_spi_driver(ms5611_driver);