From 756a7e4cb2137d3d02d4a765ef948bcd33c72862 Mon Sep 17 00:00:00 2001 From: Tao Huang Date: Wed, 28 Jun 2023 11:29:34 +0800 Subject: [PATCH 1/6] iio: imu: lsm6dsr: Fix fall-through warning for Clang drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_core.c:1129:4: error: unannotated fall-through between switch labels [-Werror,-Wimplicit-fallthrough] Signed-off-by: Tao Huang Change-Id: Iaa46d98150f27e1ea410e52a580d636de23b5c28 --- drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_core.c b/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_core.c index 0aa82a576fb7..1d12a197e00b 100644 --- a/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_core.c +++ b/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_core.c @@ -1126,6 +1126,7 @@ static int st_lsm6dsr_write_raw(struct iio_dev *iio_dev, break; err = st_lsm6dsr_update_batching(iio_dev, 1); + break; default: break; } From c51ca38cc845bf0d471a766abcd0f79c7f545b30 Mon Sep 17 00:00:00 2001 From: Tao Huang Date: Wed, 28 Jun 2023 11:41:57 +0800 Subject: [PATCH 2/6] iio: imu: lsm6dsr: 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"). Also fixes the following warning: drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_buffer.c:992:19: error: implicit declaration of function 'of_property_read_bool' [-Werror=implicit-function-declaration] Signed-off-by: Tao Huang Change-Id: Ia8229b4fe1d22c6455ea8b1eeb410a925f71e785 --- drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_buffer.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_buffer.c b/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_buffer.c index d4db6b7b7e5a..80b6d470013e 100644 --- a/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_buffer.c +++ b/drivers/iio/imu/st_lsm6dsr/st_lsm6dsr_buffer.c @@ -17,6 +17,7 @@ #include #include #include +#include #include "st_lsm6dsr.h" #define ST_LSM6DSR_REG_EMB_FUNC_STATUS_MAINPAGE 0x35 @@ -976,7 +977,6 @@ int st_lsm6dsr_buffers_setup(struct st_lsm6dsr_hw *hw) { struct device_node *np = hw->dev->of_node; struct st_lsm6dsr_sensor *sensor; - struct iio_buffer *buffer; struct iio_dev *iio_dev; unsigned long irq_type; int i, err; @@ -1014,13 +1014,10 @@ int st_lsm6dsr_buffers_setup(struct st_lsm6dsr_hw *hw) if (!hw->iio_devs[i]) continue; - buffer = devm_iio_kfifo_allocate(hw->dev); - if (!buffer) - return -ENOMEM; - - iio_device_attach_buffer(hw->iio_devs[i], buffer); - hw->iio_devs[i]->modes |= INDIO_BUFFER_SOFTWARE; - hw->iio_devs[i]->setup_ops = &st_lsm6dsr_fifo_ops; + err = devm_iio_kfifo_buffer_setup(hw->dev, hw->iio_devs[i], + &st_lsm6dsr_fifo_ops); + if (err) + return err; } err = st_lsm6dsr_fifo_init(hw); From ac41697d6aa0200ac32bb62eeccb148d4dd97c76 Mon Sep 17 00:00:00 2001 From: Tao Huang Date: Wed, 28 Jun 2023 11:48:25 +0800 Subject: [PATCH 3/6] 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) From fcde4be86b44cc1394db5e32688eee28e51fd786 Mon Sep 17 00:00:00 2001 From: Tao Huang Date: Wed, 28 Jun 2023 11:54:21 +0800 Subject: [PATCH 4/6] iio: light: vl6180: 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"). Signed-off-by: Tao Huang Change-Id: I3b979d16941d5fc326b319c66b56911ca3de4422 --- drivers/iio/light/vl6180.c | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/drivers/iio/light/vl6180.c b/drivers/iio/light/vl6180.c index 62382d94ba23..466eebe2f980 100644 --- a/drivers/iio/light/vl6180.c +++ b/drivers/iio/light/vl6180.c @@ -898,7 +898,6 @@ static int vl6180_probe(struct i2c_client *client, { struct vl6180_data *data; struct iio_dev *indio_dev; - struct iio_buffer *buffer; u32 type; int ret; @@ -931,13 +930,10 @@ static int vl6180_probe(struct i2c_client *client, return ret; if (client->irq) { - buffer = devm_iio_kfifo_allocate(&client->dev); - if (!buffer) - return -ENOMEM; - - iio_device_attach_buffer(indio_dev, buffer); - indio_dev->modes |= INDIO_BUFFER_SOFTWARE; - indio_dev->setup_ops = &vl6180_buffer_setup_ops; + ret = devm_iio_kfifo_buffer_setup(&client->dev, indio_dev, + &vl6180_buffer_setup_ops); + if (ret) + return ret; type = irqd_get_trigger_type(irq_get_irq_data(client->irq)); ret = devm_request_threaded_irq(&client->dev, client->irq, From 04c8d294f379f4e06bd9ea92ae130ee9be0fcc34 Mon Sep 17 00:00:00 2001 From: Tao Huang Date: Wed, 28 Jun 2023 14:14:37 +0800 Subject: [PATCH 5/6] input: sensors: accel: da223: Fix compilation errors on kernel 6.1 drivers/input/sensors/accel/da223_cust.c:286:142: error: 'printk' undeclared here (not in a function); did you mean '_printk'? Signed-off-by: Tao Huang Change-Id: I180c5fa59c92eaf956c3819aefe70ae115e4ee4c --- drivers/input/sensors/accel/da223_cust.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/input/sensors/accel/da223_cust.c b/drivers/input/sensors/accel/da223_cust.c index 09770142643d..dc96560b91e8 100644 --- a/drivers/input/sensors/accel/da223_cust.c +++ b/drivers/input/sensors/accel/da223_cust.c @@ -281,9 +281,9 @@ static void msdelay(int ms) /******************************************************************************/ #if MIR3DA_OFFSET_TEMP_SOLUTION -static MIR_GENERAL_OPS_DECLARE(ops_handle, i2c_smbus_read, i2c_smbus_read_block, i2c_smbus_write, sensor_sync_write, sensor_sync_read, check_califolder_exist,get_address,support_fast_auto_cali,msdelay, printk, sprintf); +static MIR_GENERAL_OPS_DECLARE(ops_handle, i2c_smbus_read, i2c_smbus_read_block, i2c_smbus_write, sensor_sync_write, sensor_sync_read, check_califolder_exist,get_address,support_fast_auto_cali,msdelay, _printk, sprintf); #else -static MIR_GENERAL_OPS_DECLARE(ops_handle, i2c_smbus_read, i2c_smbus_read_block, i2c_smbus_write, NULL, NULL, NULL,get_address,NULL,msdelay, printk, sprintf); +static MIR_GENERAL_OPS_DECLARE(ops_handle, i2c_smbus_read, i2c_smbus_read_block, i2c_smbus_write, NULL, NULL, NULL,get_address,NULL,msdelay, _printk, sprintf); #endif /******************************************************************************/ From 3c0ee70ad9de49d46569183462ef7d4327ed21f3 Mon Sep 17 00:00:00 2001 From: Tao Huang Date: Wed, 28 Jun 2023 14:41:39 +0800 Subject: [PATCH 6/6] input: sensors: accel: mc3230: Fix compilation errors on kernel 6.1 drivers/input/sensors/accel/mc3230.c:126:8: error: unknown type name 'mm_segment_t' drivers/input/sensors/accel/mc3230.c:222:17: error: implicit declaration of function 'get_fs'; did you mean 'sget_fc'? [-Werror=implicit-function-declaration] drivers/input/sensors/accel/mc3230.c:223:9: error: implicit declaration of function 'set_fs'; did you mean 'sget_fc'? [-Werror=implicit-function-declaration] drivers/input/sensors/accel/mc3230.c:223:16: error: 'KERNEL_DS' undeclared (first use in this function); did you mean 'KERNFS_NS'? Signed-off-by: Tao Huang Change-Id: Iea2ba6178309fd4654030325ef0d8810e9fa4972 --- drivers/input/sensors/accel/mc3230.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/drivers/input/sensors/accel/mc3230.c b/drivers/input/sensors/accel/mc3230.c index 5b43a97dd6ea..2c35516ebb13 100644 --- a/drivers/input/sensors/accel/mc3230.c +++ b/drivers/input/sensors/accel/mc3230.c @@ -123,7 +123,6 @@ static GSENSOR_VECTOR3D gsensor_gain; static struct file *fd_file; static int load_cali_flg; static bool READ_FROM_BACKUP; -static mm_segment_t oldfs; static unsigned char offset_buf[9]; static signed int offset_data[3]; static s16 G_RAW_DATA[3]; @@ -219,8 +218,6 @@ static int closeFile(struct file *fp) static void initKernelEnv(void) { - oldfs = get_fs(); - set_fs(KERNEL_DS); } static struct mc3230_data g_mc3230_data = { 0 }; @@ -259,7 +256,6 @@ static int mcube_read_cali_file(struct i2c_client *client) else GSE_LOG("read file error %d\n", err); - set_fs(oldfs); closeFile(fd_file); sscanf(backup_buf, "%d %d %d", &cali_data[MC32X0_AXIS_X], @@ -1043,7 +1039,6 @@ static void mcube_copy_file(const char *dstfilepath) else GSE_LOG("write file error %d\n", err); - set_fs(oldfs); closeFile(fd_file); }