From ac41697d6aa0200ac32bb62eeccb148d4dd97c76 Mon Sep 17 00:00:00 2001 From: Tao Huang Date: Wed, 28 Jun 2023 11:48:25 +0800 Subject: [PATCH] iio: light: ucs12cm0: make use of devm_iio_kfifo_buffer_setup() helper According to commit 17395ce29921 ("iio: make use of devm_iio_kfifo_buffer_setup() helper") and commit f67c6c73cb07 ("iio: core: Simplify the registration of kfifo buffers"). Change-Id: I841701d8518ed1b07838a57614477afc9dd5ab04 Signed-off-by: Tao Huang --- drivers/iio/light/ucs12cm0.c | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/drivers/iio/light/ucs12cm0.c b/drivers/iio/light/ucs12cm0.c index 16b31d635cbf..b32dece65d4e 100644 --- a/drivers/iio/light/ucs12cm0.c +++ b/drivers/iio/light/ucs12cm0.c @@ -553,7 +553,6 @@ static int ucs12cm0_probe(struct i2c_client *client, { struct ucs12cm0_data *data; struct iio_dev *indio_dev; - struct iio_buffer *buffer; u32 type; int ret; @@ -561,12 +560,6 @@ static int ucs12cm0_probe(struct i2c_client *client, if (!indio_dev) return -ENOMEM; - buffer = devm_iio_kfifo_allocate(&client->dev); - if (!buffer) - return -ENOMEM; - - iio_device_attach_buffer(indio_dev, buffer); - data = iio_priv(indio_dev); i2c_set_clientdata(client, indio_dev); data->client = client; @@ -575,8 +568,12 @@ static int ucs12cm0_probe(struct i2c_client *client, indio_dev->channels = ucs12cm0_channels; indio_dev->num_channels = ARRAY_SIZE(ucs12cm0_channels); indio_dev->name = "ucs12cm0"; - indio_dev->modes = (INDIO_DIRECT_MODE | INDIO_BUFFER_SOFTWARE); - indio_dev->setup_ops = &ucs12cm0_buffer_setup_ops; + indio_dev->modes = INDIO_DIRECT_MODE; + + ret = devm_iio_kfifo_buffer_setup(&client->dev, indio_dev, + &ucs12cm0_buffer_setup_ops); + if (ret) + return ret; ret = ucs12cm0_init(data); if (ret < 0)