* [PATCH] iio: expose shared parameter in IIO_ENUM_AVAILABLE @ 2021-11-18 14:17 ` Antoniu Miclaus 0 siblings, 0 replies; 10+ messages in thread From: Antoniu Miclaus @ 2021-11-18 14:17 UTC (permalink / raw) To: jic23, linux-iio, linux-kernel, linux-stm32, linux-arm-kernel Cc: Antoniu Miclaus The shared parameter should be configurable based on its usage, and not constrained to IIO_SHARED_BY_TYPE. This patch aims to improve the flexibility in using the IIO_ENUM_AVAILABLE define and avoid redefining custom iio enums that expose the shared parameter. An example is the ad5766.c driver where IIO_ENUM_AVAILABLE_SHARED was defined in order to achieve `shared` parameter customization. The current state of the IIO_ENUM_AVAILABLE implementation will imply similar redefinitions each time a driver will require access to the `shared` parameter. An example would be admv1013 driver which will require custom device attribute for the frequency translation modes: Quadrature I/Q mode and Intermediate frequency mode. Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com> --- drivers/iio/accel/bma180.c | 2 +- drivers/iio/accel/mma9553.c | 2 +- drivers/iio/adc/ad7192.c | 2 +- drivers/iio/adc/hi8435.c | 2 +- drivers/iio/dac/ad5064.c | 4 ++-- drivers/iio/dac/ad5380.c | 2 +- drivers/iio/dac/ad5446.c | 2 +- drivers/iio/dac/ad5504.c | 2 +- drivers/iio/dac/ad5624r_spi.c | 2 +- drivers/iio/dac/ad5686.c | 2 +- drivers/iio/dac/ad5766.c | 13 ++----------- drivers/iio/dac/ad5791.c | 2 +- drivers/iio/dac/max5821.c | 2 +- drivers/iio/dac/mcp4725.c | 8 ++++---- drivers/iio/dac/stm32-dac.c | 2 +- drivers/iio/dac/ti-dac082s085.c | 2 +- drivers/iio/dac/ti-dac5571.c | 2 +- drivers/iio/dac/ti-dac7311.c | 2 +- drivers/iio/magnetometer/hmc5843_core.c | 4 ++-- drivers/iio/trigger/stm32-timer-trigger.c | 4 ++-- include/linux/iio/iio.h | 5 +++-- 21 files changed, 30 insertions(+), 38 deletions(-) diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c index 2edfcb4819b7..09496f358ad9 100644 --- a/drivers/iio/accel/bma180.c +++ b/drivers/iio/accel/bma180.c @@ -658,7 +658,7 @@ static const struct iio_chan_spec_ext_info bma023_ext_info[] = { static const struct iio_chan_spec_ext_info bma180_ext_info[] = { IIO_ENUM("power_mode", IIO_SHARED_BY_TYPE, &bma180_power_mode_enum), - IIO_ENUM_AVAILABLE("power_mode", &bma180_power_mode_enum), + IIO_ENUM_AVAILABLE("power_mode", IIO_SHARED_BY_TYPE, &bma180_power_mode_enum), IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, bma180_accel_get_mount_matrix), { } }; diff --git a/drivers/iio/accel/mma9553.c b/drivers/iio/accel/mma9553.c index ba3ecb3b57dc..0570ab1cc064 100644 --- a/drivers/iio/accel/mma9553.c +++ b/drivers/iio/accel/mma9553.c @@ -917,7 +917,7 @@ static const struct iio_enum mma9553_calibgender_enum = { static const struct iio_chan_spec_ext_info mma9553_ext_info[] = { IIO_ENUM("calibgender", IIO_SHARED_BY_TYPE, &mma9553_calibgender_enum), - IIO_ENUM_AVAILABLE("calibgender", &mma9553_calibgender_enum), + IIO_ENUM_AVAILABLE("calibgender", IIO_SHARED_BY_TYPE, &mma9553_calibgender_enum), {}, }; diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c index 2121a812b0c3..7cb1bd3ea375 100644 --- a/drivers/iio/adc/ad7192.c +++ b/drivers/iio/adc/ad7192.c @@ -257,7 +257,7 @@ static const struct iio_chan_spec_ext_info ad7192_calibsys_ext_info[] = { }, IIO_ENUM("sys_calibration_mode", IIO_SEPARATE, &ad7192_syscalib_mode_enum), - IIO_ENUM_AVAILABLE("sys_calibration_mode", &ad7192_syscalib_mode_enum), + IIO_ENUM_AVAILABLE("sys_calibration_mode", IIO_SHARED_BY_TYPE, &ad7192_syscalib_mode_enum), {} }; diff --git a/drivers/iio/adc/hi8435.c b/drivers/iio/adc/hi8435.c index 8b353e26668e..e665e14c6e54 100644 --- a/drivers/iio/adc/hi8435.c +++ b/drivers/iio/adc/hi8435.c @@ -350,7 +350,7 @@ static const struct iio_enum hi8435_sensing_mode = { static const struct iio_chan_spec_ext_info hi8435_ext_info[] = { IIO_ENUM("sensing_mode", IIO_SEPARATE, &hi8435_sensing_mode), - IIO_ENUM_AVAILABLE("sensing_mode", &hi8435_sensing_mode), + IIO_ENUM_AVAILABLE("sensing_mode", IIO_SHARED_BY_TYPE, &hi8435_sensing_mode), {}, }; diff --git a/drivers/iio/dac/ad5064.c b/drivers/iio/dac/ad5064.c index fd9cac4f6321..27ee2c63c5d4 100644 --- a/drivers/iio/dac/ad5064.c +++ b/drivers/iio/dac/ad5064.c @@ -377,7 +377,7 @@ static const struct iio_chan_spec_ext_info ad5064_ext_info[] = { .shared = IIO_SEPARATE, }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &ad5064_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &ad5064_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5064_powerdown_mode_enum), { }, }; @@ -389,7 +389,7 @@ static const struct iio_chan_spec_ext_info ltc2617_ext_info[] = { .shared = IIO_SEPARATE, }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, <c2617_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", <c2617_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, <c2617_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/ad5380.c b/drivers/iio/dac/ad5380.c index 8ca26bb4b62f..e38860a6a9f3 100644 --- a/drivers/iio/dac/ad5380.c +++ b/drivers/iio/dac/ad5380.c @@ -249,7 +249,7 @@ static const struct iio_chan_spec_ext_info ad5380_ext_info[] = { }, IIO_ENUM("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5380_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &ad5380_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5380_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/ad5446.c b/drivers/iio/dac/ad5446.c index 3cc5513a6cbf..1c9b54c012a7 100644 --- a/drivers/iio/dac/ad5446.c +++ b/drivers/iio/dac/ad5446.c @@ -142,7 +142,7 @@ static const struct iio_chan_spec_ext_info ad5446_ext_info_powerdown[] = { .shared = IIO_SEPARATE, }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &ad5446_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &ad5446_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5446_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/ad5504.c b/drivers/iio/dac/ad5504.c index 19cdf9890d02..b631261efa97 100644 --- a/drivers/iio/dac/ad5504.c +++ b/drivers/iio/dac/ad5504.c @@ -241,7 +241,7 @@ static const struct iio_chan_spec_ext_info ad5504_ext_info[] = { }, IIO_ENUM("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5504_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &ad5504_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5504_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/ad5624r_spi.c b/drivers/iio/dac/ad5624r_spi.c index 530529feebb5..3c98941b9f99 100644 --- a/drivers/iio/dac/ad5624r_spi.c +++ b/drivers/iio/dac/ad5624r_spi.c @@ -159,7 +159,7 @@ static const struct iio_chan_spec_ext_info ad5624r_ext_info[] = { }, IIO_ENUM("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5624r_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &ad5624r_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5624r_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/ad5686.c b/drivers/iio/dac/ad5686.c index 8f001db775f4..e592a995f404 100644 --- a/drivers/iio/dac/ad5686.c +++ b/drivers/iio/dac/ad5686.c @@ -184,7 +184,7 @@ static const struct iio_chan_spec_ext_info ad5686_ext_info[] = { .shared = IIO_SEPARATE, }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &ad5686_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &ad5686_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5686_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/ad5766.c b/drivers/iio/dac/ad5766.c index b0d220c3a126..43189af2fb1f 100644 --- a/drivers/iio/dac/ad5766.c +++ b/drivers/iio/dac/ad5766.c @@ -426,14 +426,6 @@ static ssize_t ad5766_write_ext(struct iio_dev *indio_dev, .shared = _shared, \ } -#define IIO_ENUM_AVAILABLE_SHARED(_name, _shared, _e) \ -{ \ - .name = (_name "_available"), \ - .shared = _shared, \ - .read = iio_enum_available_read, \ - .private = (uintptr_t)(_e), \ -} - static const struct iio_chan_spec_ext_info ad5766_ext_info[] = { _AD5766_CHAN_EXT_INFO("dither_enable", AD5766_DITHER_ENABLE, @@ -443,9 +435,8 @@ static const struct iio_chan_spec_ext_info ad5766_ext_info[] = { _AD5766_CHAN_EXT_INFO("dither_source", AD5766_DITHER_SOURCE, IIO_SEPARATE), IIO_ENUM("dither_scale", IIO_SEPARATE, &ad5766_dither_scale_enum), - IIO_ENUM_AVAILABLE_SHARED("dither_scale", - IIO_SEPARATE, - &ad5766_dither_scale_enum), + IIO_ENUM_AVAILABLE("dither_scale", IIO_SEPARATE, + &ad5766_dither_scale_enum), {} }; diff --git a/drivers/iio/dac/ad5791.c b/drivers/iio/dac/ad5791.c index a0923b76e8b6..7b4579d73d18 100644 --- a/drivers/iio/dac/ad5791.c +++ b/drivers/iio/dac/ad5791.c @@ -285,7 +285,7 @@ static const struct iio_chan_spec_ext_info ad5791_ext_info[] = { }, IIO_ENUM("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5791_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &ad5791_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5791_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/max5821.c b/drivers/iio/dac/max5821.c index 7da4710a6408..fce640b7f1c8 100644 --- a/drivers/iio/dac/max5821.c +++ b/drivers/iio/dac/max5821.c @@ -137,7 +137,7 @@ static const struct iio_chan_spec_ext_info max5821_ext_info[] = { .shared = IIO_SEPARATE, }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &max5821_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &max5821_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &max5821_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/mcp4725.c b/drivers/iio/dac/mcp4725.c index 34b14aafb630..98b2c2f10bf3 100644 --- a/drivers/iio/dac/mcp4725.c +++ b/drivers/iio/dac/mcp4725.c @@ -221,8 +221,8 @@ static const struct iio_chan_spec_ext_info mcp4725_ext_info[] = { }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &mcp472x_powerdown_mode_enum[MCP4725]), - IIO_ENUM_AVAILABLE("powerdown_mode", - &mcp472x_powerdown_mode_enum[MCP4725]), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, + &mcp472x_powerdown_mode_enum[MCP4725]), { }, }; @@ -235,8 +235,8 @@ static const struct iio_chan_spec_ext_info mcp4726_ext_info[] = { }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &mcp472x_powerdown_mode_enum[MCP4726]), - IIO_ENUM_AVAILABLE("powerdown_mode", - &mcp472x_powerdown_mode_enum[MCP4726]), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, + &mcp472x_powerdown_mode_enum[MCP4726]), { }, }; diff --git a/drivers/iio/dac/stm32-dac.c b/drivers/iio/dac/stm32-dac.c index dd2e306824e7..cd71cc4553a7 100644 --- a/drivers/iio/dac/stm32-dac.c +++ b/drivers/iio/dac/stm32-dac.c @@ -246,7 +246,7 @@ static const struct iio_chan_spec_ext_info stm32_dac_ext_info[] = { .shared = IIO_SEPARATE, }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &stm32_dac_powerdown_mode_en), - IIO_ENUM_AVAILABLE("powerdown_mode", &stm32_dac_powerdown_mode_en), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &stm32_dac_powerdown_mode_en), {}, }; diff --git a/drivers/iio/dac/ti-dac082s085.c b/drivers/iio/dac/ti-dac082s085.c index 5c14bfb16521..6beda2193683 100644 --- a/drivers/iio/dac/ti-dac082s085.c +++ b/drivers/iio/dac/ti-dac082s085.c @@ -160,7 +160,7 @@ static const struct iio_chan_spec_ext_info ti_dac_ext_info[] = { .shared = IIO_SHARED_BY_TYPE, }, IIO_ENUM("powerdown_mode", IIO_SHARED_BY_TYPE, &ti_dac_powerdown_mode), - IIO_ENUM_AVAILABLE("powerdown_mode", &ti_dac_powerdown_mode), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ti_dac_powerdown_mode), { }, }; diff --git a/drivers/iio/dac/ti-dac5571.c b/drivers/iio/dac/ti-dac5571.c index 546a4cf6c5ef..4a3b8d875518 100644 --- a/drivers/iio/dac/ti-dac5571.c +++ b/drivers/iio/dac/ti-dac5571.c @@ -212,7 +212,7 @@ static const struct iio_chan_spec_ext_info dac5571_ext_info[] = { .shared = IIO_SEPARATE, }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &dac5571_powerdown_mode), - IIO_ENUM_AVAILABLE("powerdown_mode", &dac5571_powerdown_mode), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &dac5571_powerdown_mode), {}, }; diff --git a/drivers/iio/dac/ti-dac7311.c b/drivers/iio/dac/ti-dac7311.c index 09218c3029f0..99f275829ec2 100644 --- a/drivers/iio/dac/ti-dac7311.c +++ b/drivers/iio/dac/ti-dac7311.c @@ -146,7 +146,7 @@ static const struct iio_chan_spec_ext_info ti_dac_ext_info[] = { .shared = IIO_SHARED_BY_TYPE, }, IIO_ENUM("powerdown_mode", IIO_SHARED_BY_TYPE, &ti_dac_powerdown_mode), - IIO_ENUM_AVAILABLE("powerdown_mode", &ti_dac_powerdown_mode), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ti_dac_powerdown_mode), { }, }; diff --git a/drivers/iio/magnetometer/hmc5843_core.c b/drivers/iio/magnetometer/hmc5843_core.c index f08726bf5ec3..4364d7fa066e 100644 --- a/drivers/iio/magnetometer/hmc5843_core.c +++ b/drivers/iio/magnetometer/hmc5843_core.c @@ -246,7 +246,7 @@ static const struct iio_enum hmc5843_meas_conf_enum = { static const struct iio_chan_spec_ext_info hmc5843_ext_info[] = { IIO_ENUM("meas_conf", IIO_SHARED_BY_TYPE, &hmc5843_meas_conf_enum), - IIO_ENUM_AVAILABLE("meas_conf", &hmc5843_meas_conf_enum), + IIO_ENUM_AVAILABLE("meas_conf", IIO_SHARED_BY_TYPE, &hmc5843_meas_conf_enum), IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, hmc5843_get_mount_matrix), { } }; @@ -261,7 +261,7 @@ static const struct iio_enum hmc5983_meas_conf_enum = { static const struct iio_chan_spec_ext_info hmc5983_ext_info[] = { IIO_ENUM("meas_conf", IIO_SHARED_BY_TYPE, &hmc5983_meas_conf_enum), IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), - IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, hmc5843_get_mount_matrix), + IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), { } }; diff --git a/drivers/iio/trigger/stm32-timer-trigger.c b/drivers/iio/trigger/stm32-timer-trigger.c index 33083877cd19..02b87b0f9d70 100644 --- a/drivers/iio/trigger/stm32-timer-trigger.c +++ b/drivers/iio/trigger/stm32-timer-trigger.c @@ -696,9 +696,9 @@ static const struct iio_chan_spec_ext_info stm32_trigger_count_info[] = { .write = stm32_count_set_preset }, IIO_ENUM("enable_mode", IIO_SEPARATE, &stm32_enable_mode_enum), - IIO_ENUM_AVAILABLE("enable_mode", &stm32_enable_mode_enum), + IIO_ENUM_AVAILABLE("enable_mode", IIO_SHARED_BY_TYPE, &stm32_enable_mode_enum), IIO_ENUM("trigger_mode", IIO_SEPARATE, &stm32_trigger_mode_enum), - IIO_ENUM_AVAILABLE("trigger_mode", &stm32_trigger_mode_enum), + IIO_ENUM_AVAILABLE("trigger_mode", IIO_SHARED_BY_TYPE, &stm32_trigger_mode_enum), {} }; diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h index 324561b7a5e8..07025d6b3de1 100644 --- a/include/linux/iio/iio.h +++ b/include/linux/iio/iio.h @@ -103,15 +103,16 @@ ssize_t iio_enum_write(struct iio_dev *indio_dev, /** * IIO_ENUM_AVAILABLE() - Initialize enum available extended channel attribute * @_name: Attribute name ("_available" will be appended to the name) + * @_shared: Whether the attribute is shared between all channels * @_e: Pointer to an iio_enum struct * * Creates a read only attribute which lists all the available enum items in a * space separated list. This should usually be used together with IIO_ENUM() */ -#define IIO_ENUM_AVAILABLE(_name, _e) \ +#define IIO_ENUM_AVAILABLE(_name, _shared, _e) \ { \ .name = (_name "_available"), \ - .shared = IIO_SHARED_BY_TYPE, \ + .shared = _shared, \ .read = iio_enum_available_read, \ .private = (uintptr_t)(_e), \ } -- 2.34.0 ^ permalink raw reply related [flat|nested] 10+ messages in thread
* [PATCH] iio: expose shared parameter in IIO_ENUM_AVAILABLE @ 2021-11-18 14:17 ` Antoniu Miclaus 0 siblings, 0 replies; 10+ messages in thread From: Antoniu Miclaus @ 2021-11-18 14:17 UTC (permalink / raw) To: jic23, linux-iio, linux-kernel, linux-stm32, linux-arm-kernel Cc: Antoniu Miclaus The shared parameter should be configurable based on its usage, and not constrained to IIO_SHARED_BY_TYPE. This patch aims to improve the flexibility in using the IIO_ENUM_AVAILABLE define and avoid redefining custom iio enums that expose the shared parameter. An example is the ad5766.c driver where IIO_ENUM_AVAILABLE_SHARED was defined in order to achieve `shared` parameter customization. The current state of the IIO_ENUM_AVAILABLE implementation will imply similar redefinitions each time a driver will require access to the `shared` parameter. An example would be admv1013 driver which will require custom device attribute for the frequency translation modes: Quadrature I/Q mode and Intermediate frequency mode. Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com> --- drivers/iio/accel/bma180.c | 2 +- drivers/iio/accel/mma9553.c | 2 +- drivers/iio/adc/ad7192.c | 2 +- drivers/iio/adc/hi8435.c | 2 +- drivers/iio/dac/ad5064.c | 4 ++-- drivers/iio/dac/ad5380.c | 2 +- drivers/iio/dac/ad5446.c | 2 +- drivers/iio/dac/ad5504.c | 2 +- drivers/iio/dac/ad5624r_spi.c | 2 +- drivers/iio/dac/ad5686.c | 2 +- drivers/iio/dac/ad5766.c | 13 ++----------- drivers/iio/dac/ad5791.c | 2 +- drivers/iio/dac/max5821.c | 2 +- drivers/iio/dac/mcp4725.c | 8 ++++---- drivers/iio/dac/stm32-dac.c | 2 +- drivers/iio/dac/ti-dac082s085.c | 2 +- drivers/iio/dac/ti-dac5571.c | 2 +- drivers/iio/dac/ti-dac7311.c | 2 +- drivers/iio/magnetometer/hmc5843_core.c | 4 ++-- drivers/iio/trigger/stm32-timer-trigger.c | 4 ++-- include/linux/iio/iio.h | 5 +++-- 21 files changed, 30 insertions(+), 38 deletions(-) diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c index 2edfcb4819b7..09496f358ad9 100644 --- a/drivers/iio/accel/bma180.c +++ b/drivers/iio/accel/bma180.c @@ -658,7 +658,7 @@ static const struct iio_chan_spec_ext_info bma023_ext_info[] = { static const struct iio_chan_spec_ext_info bma180_ext_info[] = { IIO_ENUM("power_mode", IIO_SHARED_BY_TYPE, &bma180_power_mode_enum), - IIO_ENUM_AVAILABLE("power_mode", &bma180_power_mode_enum), + IIO_ENUM_AVAILABLE("power_mode", IIO_SHARED_BY_TYPE, &bma180_power_mode_enum), IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, bma180_accel_get_mount_matrix), { } }; diff --git a/drivers/iio/accel/mma9553.c b/drivers/iio/accel/mma9553.c index ba3ecb3b57dc..0570ab1cc064 100644 --- a/drivers/iio/accel/mma9553.c +++ b/drivers/iio/accel/mma9553.c @@ -917,7 +917,7 @@ static const struct iio_enum mma9553_calibgender_enum = { static const struct iio_chan_spec_ext_info mma9553_ext_info[] = { IIO_ENUM("calibgender", IIO_SHARED_BY_TYPE, &mma9553_calibgender_enum), - IIO_ENUM_AVAILABLE("calibgender", &mma9553_calibgender_enum), + IIO_ENUM_AVAILABLE("calibgender", IIO_SHARED_BY_TYPE, &mma9553_calibgender_enum), {}, }; diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c index 2121a812b0c3..7cb1bd3ea375 100644 --- a/drivers/iio/adc/ad7192.c +++ b/drivers/iio/adc/ad7192.c @@ -257,7 +257,7 @@ static const struct iio_chan_spec_ext_info ad7192_calibsys_ext_info[] = { }, IIO_ENUM("sys_calibration_mode", IIO_SEPARATE, &ad7192_syscalib_mode_enum), - IIO_ENUM_AVAILABLE("sys_calibration_mode", &ad7192_syscalib_mode_enum), + IIO_ENUM_AVAILABLE("sys_calibration_mode", IIO_SHARED_BY_TYPE, &ad7192_syscalib_mode_enum), {} }; diff --git a/drivers/iio/adc/hi8435.c b/drivers/iio/adc/hi8435.c index 8b353e26668e..e665e14c6e54 100644 --- a/drivers/iio/adc/hi8435.c +++ b/drivers/iio/adc/hi8435.c @@ -350,7 +350,7 @@ static const struct iio_enum hi8435_sensing_mode = { static const struct iio_chan_spec_ext_info hi8435_ext_info[] = { IIO_ENUM("sensing_mode", IIO_SEPARATE, &hi8435_sensing_mode), - IIO_ENUM_AVAILABLE("sensing_mode", &hi8435_sensing_mode), + IIO_ENUM_AVAILABLE("sensing_mode", IIO_SHARED_BY_TYPE, &hi8435_sensing_mode), {}, }; diff --git a/drivers/iio/dac/ad5064.c b/drivers/iio/dac/ad5064.c index fd9cac4f6321..27ee2c63c5d4 100644 --- a/drivers/iio/dac/ad5064.c +++ b/drivers/iio/dac/ad5064.c @@ -377,7 +377,7 @@ static const struct iio_chan_spec_ext_info ad5064_ext_info[] = { .shared = IIO_SEPARATE, }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &ad5064_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &ad5064_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5064_powerdown_mode_enum), { }, }; @@ -389,7 +389,7 @@ static const struct iio_chan_spec_ext_info ltc2617_ext_info[] = { .shared = IIO_SEPARATE, }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, <c2617_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", <c2617_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, <c2617_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/ad5380.c b/drivers/iio/dac/ad5380.c index 8ca26bb4b62f..e38860a6a9f3 100644 --- a/drivers/iio/dac/ad5380.c +++ b/drivers/iio/dac/ad5380.c @@ -249,7 +249,7 @@ static const struct iio_chan_spec_ext_info ad5380_ext_info[] = { }, IIO_ENUM("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5380_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &ad5380_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5380_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/ad5446.c b/drivers/iio/dac/ad5446.c index 3cc5513a6cbf..1c9b54c012a7 100644 --- a/drivers/iio/dac/ad5446.c +++ b/drivers/iio/dac/ad5446.c @@ -142,7 +142,7 @@ static const struct iio_chan_spec_ext_info ad5446_ext_info_powerdown[] = { .shared = IIO_SEPARATE, }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &ad5446_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &ad5446_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5446_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/ad5504.c b/drivers/iio/dac/ad5504.c index 19cdf9890d02..b631261efa97 100644 --- a/drivers/iio/dac/ad5504.c +++ b/drivers/iio/dac/ad5504.c @@ -241,7 +241,7 @@ static const struct iio_chan_spec_ext_info ad5504_ext_info[] = { }, IIO_ENUM("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5504_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &ad5504_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5504_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/ad5624r_spi.c b/drivers/iio/dac/ad5624r_spi.c index 530529feebb5..3c98941b9f99 100644 --- a/drivers/iio/dac/ad5624r_spi.c +++ b/drivers/iio/dac/ad5624r_spi.c @@ -159,7 +159,7 @@ static const struct iio_chan_spec_ext_info ad5624r_ext_info[] = { }, IIO_ENUM("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5624r_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &ad5624r_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5624r_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/ad5686.c b/drivers/iio/dac/ad5686.c index 8f001db775f4..e592a995f404 100644 --- a/drivers/iio/dac/ad5686.c +++ b/drivers/iio/dac/ad5686.c @@ -184,7 +184,7 @@ static const struct iio_chan_spec_ext_info ad5686_ext_info[] = { .shared = IIO_SEPARATE, }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &ad5686_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &ad5686_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5686_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/ad5766.c b/drivers/iio/dac/ad5766.c index b0d220c3a126..43189af2fb1f 100644 --- a/drivers/iio/dac/ad5766.c +++ b/drivers/iio/dac/ad5766.c @@ -426,14 +426,6 @@ static ssize_t ad5766_write_ext(struct iio_dev *indio_dev, .shared = _shared, \ } -#define IIO_ENUM_AVAILABLE_SHARED(_name, _shared, _e) \ -{ \ - .name = (_name "_available"), \ - .shared = _shared, \ - .read = iio_enum_available_read, \ - .private = (uintptr_t)(_e), \ -} - static const struct iio_chan_spec_ext_info ad5766_ext_info[] = { _AD5766_CHAN_EXT_INFO("dither_enable", AD5766_DITHER_ENABLE, @@ -443,9 +435,8 @@ static const struct iio_chan_spec_ext_info ad5766_ext_info[] = { _AD5766_CHAN_EXT_INFO("dither_source", AD5766_DITHER_SOURCE, IIO_SEPARATE), IIO_ENUM("dither_scale", IIO_SEPARATE, &ad5766_dither_scale_enum), - IIO_ENUM_AVAILABLE_SHARED("dither_scale", - IIO_SEPARATE, - &ad5766_dither_scale_enum), + IIO_ENUM_AVAILABLE("dither_scale", IIO_SEPARATE, + &ad5766_dither_scale_enum), {} }; diff --git a/drivers/iio/dac/ad5791.c b/drivers/iio/dac/ad5791.c index a0923b76e8b6..7b4579d73d18 100644 --- a/drivers/iio/dac/ad5791.c +++ b/drivers/iio/dac/ad5791.c @@ -285,7 +285,7 @@ static const struct iio_chan_spec_ext_info ad5791_ext_info[] = { }, IIO_ENUM("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5791_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &ad5791_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ad5791_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/max5821.c b/drivers/iio/dac/max5821.c index 7da4710a6408..fce640b7f1c8 100644 --- a/drivers/iio/dac/max5821.c +++ b/drivers/iio/dac/max5821.c @@ -137,7 +137,7 @@ static const struct iio_chan_spec_ext_info max5821_ext_info[] = { .shared = IIO_SEPARATE, }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &max5821_powerdown_mode_enum), - IIO_ENUM_AVAILABLE("powerdown_mode", &max5821_powerdown_mode_enum), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &max5821_powerdown_mode_enum), { }, }; diff --git a/drivers/iio/dac/mcp4725.c b/drivers/iio/dac/mcp4725.c index 34b14aafb630..98b2c2f10bf3 100644 --- a/drivers/iio/dac/mcp4725.c +++ b/drivers/iio/dac/mcp4725.c @@ -221,8 +221,8 @@ static const struct iio_chan_spec_ext_info mcp4725_ext_info[] = { }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &mcp472x_powerdown_mode_enum[MCP4725]), - IIO_ENUM_AVAILABLE("powerdown_mode", - &mcp472x_powerdown_mode_enum[MCP4725]), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, + &mcp472x_powerdown_mode_enum[MCP4725]), { }, }; @@ -235,8 +235,8 @@ static const struct iio_chan_spec_ext_info mcp4726_ext_info[] = { }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &mcp472x_powerdown_mode_enum[MCP4726]), - IIO_ENUM_AVAILABLE("powerdown_mode", - &mcp472x_powerdown_mode_enum[MCP4726]), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, + &mcp472x_powerdown_mode_enum[MCP4726]), { }, }; diff --git a/drivers/iio/dac/stm32-dac.c b/drivers/iio/dac/stm32-dac.c index dd2e306824e7..cd71cc4553a7 100644 --- a/drivers/iio/dac/stm32-dac.c +++ b/drivers/iio/dac/stm32-dac.c @@ -246,7 +246,7 @@ static const struct iio_chan_spec_ext_info stm32_dac_ext_info[] = { .shared = IIO_SEPARATE, }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &stm32_dac_powerdown_mode_en), - IIO_ENUM_AVAILABLE("powerdown_mode", &stm32_dac_powerdown_mode_en), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &stm32_dac_powerdown_mode_en), {}, }; diff --git a/drivers/iio/dac/ti-dac082s085.c b/drivers/iio/dac/ti-dac082s085.c index 5c14bfb16521..6beda2193683 100644 --- a/drivers/iio/dac/ti-dac082s085.c +++ b/drivers/iio/dac/ti-dac082s085.c @@ -160,7 +160,7 @@ static const struct iio_chan_spec_ext_info ti_dac_ext_info[] = { .shared = IIO_SHARED_BY_TYPE, }, IIO_ENUM("powerdown_mode", IIO_SHARED_BY_TYPE, &ti_dac_powerdown_mode), - IIO_ENUM_AVAILABLE("powerdown_mode", &ti_dac_powerdown_mode), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ti_dac_powerdown_mode), { }, }; diff --git a/drivers/iio/dac/ti-dac5571.c b/drivers/iio/dac/ti-dac5571.c index 546a4cf6c5ef..4a3b8d875518 100644 --- a/drivers/iio/dac/ti-dac5571.c +++ b/drivers/iio/dac/ti-dac5571.c @@ -212,7 +212,7 @@ static const struct iio_chan_spec_ext_info dac5571_ext_info[] = { .shared = IIO_SEPARATE, }, IIO_ENUM("powerdown_mode", IIO_SEPARATE, &dac5571_powerdown_mode), - IIO_ENUM_AVAILABLE("powerdown_mode", &dac5571_powerdown_mode), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &dac5571_powerdown_mode), {}, }; diff --git a/drivers/iio/dac/ti-dac7311.c b/drivers/iio/dac/ti-dac7311.c index 09218c3029f0..99f275829ec2 100644 --- a/drivers/iio/dac/ti-dac7311.c +++ b/drivers/iio/dac/ti-dac7311.c @@ -146,7 +146,7 @@ static const struct iio_chan_spec_ext_info ti_dac_ext_info[] = { .shared = IIO_SHARED_BY_TYPE, }, IIO_ENUM("powerdown_mode", IIO_SHARED_BY_TYPE, &ti_dac_powerdown_mode), - IIO_ENUM_AVAILABLE("powerdown_mode", &ti_dac_powerdown_mode), + IIO_ENUM_AVAILABLE("powerdown_mode", IIO_SHARED_BY_TYPE, &ti_dac_powerdown_mode), { }, }; diff --git a/drivers/iio/magnetometer/hmc5843_core.c b/drivers/iio/magnetometer/hmc5843_core.c index f08726bf5ec3..4364d7fa066e 100644 --- a/drivers/iio/magnetometer/hmc5843_core.c +++ b/drivers/iio/magnetometer/hmc5843_core.c @@ -246,7 +246,7 @@ static const struct iio_enum hmc5843_meas_conf_enum = { static const struct iio_chan_spec_ext_info hmc5843_ext_info[] = { IIO_ENUM("meas_conf", IIO_SHARED_BY_TYPE, &hmc5843_meas_conf_enum), - IIO_ENUM_AVAILABLE("meas_conf", &hmc5843_meas_conf_enum), + IIO_ENUM_AVAILABLE("meas_conf", IIO_SHARED_BY_TYPE, &hmc5843_meas_conf_enum), IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, hmc5843_get_mount_matrix), { } }; @@ -261,7 +261,7 @@ static const struct iio_enum hmc5983_meas_conf_enum = { static const struct iio_chan_spec_ext_info hmc5983_ext_info[] = { IIO_ENUM("meas_conf", IIO_SHARED_BY_TYPE, &hmc5983_meas_conf_enum), IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), - IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, hmc5843_get_mount_matrix), + IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), { } }; diff --git a/drivers/iio/trigger/stm32-timer-trigger.c b/drivers/iio/trigger/stm32-timer-trigger.c index 33083877cd19..02b87b0f9d70 100644 --- a/drivers/iio/trigger/stm32-timer-trigger.c +++ b/drivers/iio/trigger/stm32-timer-trigger.c @@ -696,9 +696,9 @@ static const struct iio_chan_spec_ext_info stm32_trigger_count_info[] = { .write = stm32_count_set_preset }, IIO_ENUM("enable_mode", IIO_SEPARATE, &stm32_enable_mode_enum), - IIO_ENUM_AVAILABLE("enable_mode", &stm32_enable_mode_enum), + IIO_ENUM_AVAILABLE("enable_mode", IIO_SHARED_BY_TYPE, &stm32_enable_mode_enum), IIO_ENUM("trigger_mode", IIO_SEPARATE, &stm32_trigger_mode_enum), - IIO_ENUM_AVAILABLE("trigger_mode", &stm32_trigger_mode_enum), + IIO_ENUM_AVAILABLE("trigger_mode", IIO_SHARED_BY_TYPE, &stm32_trigger_mode_enum), {} }; diff --git a/include/linux/iio/iio.h b/include/linux/iio/iio.h index 324561b7a5e8..07025d6b3de1 100644 --- a/include/linux/iio/iio.h +++ b/include/linux/iio/iio.h @@ -103,15 +103,16 @@ ssize_t iio_enum_write(struct iio_dev *indio_dev, /** * IIO_ENUM_AVAILABLE() - Initialize enum available extended channel attribute * @_name: Attribute name ("_available" will be appended to the name) + * @_shared: Whether the attribute is shared between all channels * @_e: Pointer to an iio_enum struct * * Creates a read only attribute which lists all the available enum items in a * space separated list. This should usually be used together with IIO_ENUM() */ -#define IIO_ENUM_AVAILABLE(_name, _e) \ +#define IIO_ENUM_AVAILABLE(_name, _shared, _e) \ { \ .name = (_name "_available"), \ - .shared = IIO_SHARED_BY_TYPE, \ + .shared = _shared, \ .read = iio_enum_available_read, \ .private = (uintptr_t)(_e), \ } -- 2.34.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: [PATCH] iio: expose shared parameter in IIO_ENUM_AVAILABLE 2021-11-18 14:17 ` Antoniu Miclaus (?) @ 2021-11-18 17:40 ` kernel test robot -1 siblings, 0 replies; 10+ messages in thread From: kernel test robot @ 2021-11-18 17:40 UTC (permalink / raw) To: Antoniu Miclaus, jic23, linux-iio, linux-kernel, linux-stm32, linux-arm-kernel Cc: llvm, kbuild-all, Antoniu Miclaus [-- Attachment #1: Type: text/plain, Size: 4036 bytes --] Hi Antoniu, Thank you for the patch! Yet something to improve: [auto build test ERROR on jic23-iio/togreg] [also build test ERROR on linux/master linus/master v5.16-rc1 next-20211118] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Antoniu-Miclaus/iio-expose-shared-parameter-in-IIO_ENUM_AVAILABLE/20211118-221902 base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg config: hexagon-randconfig-r041-20211118 (attached as .config) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/b69668f743ac0c4d62a59f1bd9b8adf42df3518c git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Antoniu-Miclaus/iio-expose-shared-parameter-in-IIO_ENUM_AVAILABLE/20211118-221902 git checkout b69668f743ac0c4d62a59f1bd9b8adf42df3518c # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/iio/magnetometer/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> drivers/iio/magnetometer/hmc5843_core.c:263:57: error: too few arguments provided to function-like macro invocation IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), ^ include/linux/iio/iio.h:112:9: note: macro 'IIO_ENUM_AVAILABLE' defined here #define IIO_ENUM_AVAILABLE(_name, _shared, _e) \ ^ >> drivers/iio/magnetometer/hmc5843_core.c:263:2: error: use of undeclared identifier 'IIO_ENUM_AVAILABLE' IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), ^ >> drivers/iio/magnetometer/hmc5843_core.c:264:58: error: too many arguments provided to function-like macro invocation IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), ^ include/linux/iio/iio.h:142:9: note: macro 'IIO_MOUNT_MATRIX' defined here #define IIO_MOUNT_MATRIX(_shared, _get) \ ^ >> drivers/iio/magnetometer/hmc5843_core.c:264:2: error: use of undeclared identifier 'IIO_MOUNT_MATRIX' IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), ^ 4 errors generated. vim +263 drivers/iio/magnetometer/hmc5843_core.c 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 260 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 261 static const struct iio_chan_spec_ext_info hmc5983_ext_info[] = { e8a26c5b767b5f drivers/iio/magnetometer/hmc5843_core.c Jonathan Cameron 2020-09-13 262 IIO_ENUM("meas_conf", IIO_SHARED_BY_TYPE, &hmc5983_meas_conf_enum), 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 @263 IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), b69668f743ac0c drivers/iio/magnetometer/hmc5843_core.c Antoniu Miclaus 2021-11-18 @264 IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), 8d7ea73814b4ed drivers/iio/magnetometer/hmc5843_core.c H. Nikolaus Schaller 2019-02-21 265 { } 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 266 }; b4e178224cfdc8 drivers/staging/iio/magnetometer/hmc5843.c Shubhrajyoti D 2010-07-17 267 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 22663 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] iio: expose shared parameter in IIO_ENUM_AVAILABLE @ 2021-11-18 17:40 ` kernel test robot 0 siblings, 0 replies; 10+ messages in thread From: kernel test robot @ 2021-11-18 17:40 UTC (permalink / raw) To: kbuild-all [-- Attachment #1: Type: text/plain, Size: 4102 bytes --] Hi Antoniu, Thank you for the patch! Yet something to improve: [auto build test ERROR on jic23-iio/togreg] [also build test ERROR on linux/master linus/master v5.16-rc1 next-20211118] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Antoniu-Miclaus/iio-expose-shared-parameter-in-IIO_ENUM_AVAILABLE/20211118-221902 base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg config: hexagon-randconfig-r041-20211118 (attached as .config) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/b69668f743ac0c4d62a59f1bd9b8adf42df3518c git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Antoniu-Miclaus/iio-expose-shared-parameter-in-IIO_ENUM_AVAILABLE/20211118-221902 git checkout b69668f743ac0c4d62a59f1bd9b8adf42df3518c # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/iio/magnetometer/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> drivers/iio/magnetometer/hmc5843_core.c:263:57: error: too few arguments provided to function-like macro invocation IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), ^ include/linux/iio/iio.h:112:9: note: macro 'IIO_ENUM_AVAILABLE' defined here #define IIO_ENUM_AVAILABLE(_name, _shared, _e) \ ^ >> drivers/iio/magnetometer/hmc5843_core.c:263:2: error: use of undeclared identifier 'IIO_ENUM_AVAILABLE' IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), ^ >> drivers/iio/magnetometer/hmc5843_core.c:264:58: error: too many arguments provided to function-like macro invocation IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), ^ include/linux/iio/iio.h:142:9: note: macro 'IIO_MOUNT_MATRIX' defined here #define IIO_MOUNT_MATRIX(_shared, _get) \ ^ >> drivers/iio/magnetometer/hmc5843_core.c:264:2: error: use of undeclared identifier 'IIO_MOUNT_MATRIX' IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), ^ 4 errors generated. vim +263 drivers/iio/magnetometer/hmc5843_core.c 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 260 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 261 static const struct iio_chan_spec_ext_info hmc5983_ext_info[] = { e8a26c5b767b5f drivers/iio/magnetometer/hmc5843_core.c Jonathan Cameron 2020-09-13 262 IIO_ENUM("meas_conf", IIO_SHARED_BY_TYPE, &hmc5983_meas_conf_enum), 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 @263 IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), b69668f743ac0c drivers/iio/magnetometer/hmc5843_core.c Antoniu Miclaus 2021-11-18 @264 IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), 8d7ea73814b4ed drivers/iio/magnetometer/hmc5843_core.c H. Nikolaus Schaller 2019-02-21 265 { } 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 266 }; b4e178224cfdc8 drivers/staging/iio/magnetometer/hmc5843.c Shubhrajyoti D 2010-07-17 267 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 22663 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] iio: expose shared parameter in IIO_ENUM_AVAILABLE @ 2021-11-18 17:40 ` kernel test robot 0 siblings, 0 replies; 10+ messages in thread From: kernel test robot @ 2021-11-18 17:40 UTC (permalink / raw) To: Antoniu Miclaus, jic23, linux-iio, linux-kernel, linux-stm32, linux-arm-kernel Cc: llvm, kbuild-all, Antoniu Miclaus [-- Attachment #1: Type: text/plain, Size: 4036 bytes --] Hi Antoniu, Thank you for the patch! Yet something to improve: [auto build test ERROR on jic23-iio/togreg] [also build test ERROR on linux/master linus/master v5.16-rc1 next-20211118] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Antoniu-Miclaus/iio-expose-shared-parameter-in-IIO_ENUM_AVAILABLE/20211118-221902 base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg config: hexagon-randconfig-r041-20211118 (attached as .config) reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/b69668f743ac0c4d62a59f1bd9b8adf42df3518c git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Antoniu-Miclaus/iio-expose-shared-parameter-in-IIO_ENUM_AVAILABLE/20211118-221902 git checkout b69668f743ac0c4d62a59f1bd9b8adf42df3518c # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash drivers/iio/magnetometer/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> drivers/iio/magnetometer/hmc5843_core.c:263:57: error: too few arguments provided to function-like macro invocation IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), ^ include/linux/iio/iio.h:112:9: note: macro 'IIO_ENUM_AVAILABLE' defined here #define IIO_ENUM_AVAILABLE(_name, _shared, _e) \ ^ >> drivers/iio/magnetometer/hmc5843_core.c:263:2: error: use of undeclared identifier 'IIO_ENUM_AVAILABLE' IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), ^ >> drivers/iio/magnetometer/hmc5843_core.c:264:58: error: too many arguments provided to function-like macro invocation IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), ^ include/linux/iio/iio.h:142:9: note: macro 'IIO_MOUNT_MATRIX' defined here #define IIO_MOUNT_MATRIX(_shared, _get) \ ^ >> drivers/iio/magnetometer/hmc5843_core.c:264:2: error: use of undeclared identifier 'IIO_MOUNT_MATRIX' IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), ^ 4 errors generated. vim +263 drivers/iio/magnetometer/hmc5843_core.c 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 260 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 261 static const struct iio_chan_spec_ext_info hmc5983_ext_info[] = { e8a26c5b767b5f drivers/iio/magnetometer/hmc5843_core.c Jonathan Cameron 2020-09-13 262 IIO_ENUM("meas_conf", IIO_SHARED_BY_TYPE, &hmc5983_meas_conf_enum), 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 @263 IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), b69668f743ac0c drivers/iio/magnetometer/hmc5843_core.c Antoniu Miclaus 2021-11-18 @264 IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), 8d7ea73814b4ed drivers/iio/magnetometer/hmc5843_core.c H. Nikolaus Schaller 2019-02-21 265 { } 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 266 }; b4e178224cfdc8 drivers/staging/iio/magnetometer/hmc5843.c Shubhrajyoti D 2010-07-17 267 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 22663 bytes --] [-- Attachment #3: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] iio: expose shared parameter in IIO_ENUM_AVAILABLE 2021-11-18 14:17 ` Antoniu Miclaus (?) @ 2021-11-18 18:06 ` kernel test robot -1 siblings, 0 replies; 10+ messages in thread From: kernel test robot @ 2021-11-18 18:06 UTC (permalink / raw) To: Antoniu Miclaus, jic23, linux-iio, linux-kernel, linux-stm32, linux-arm-kernel Cc: kbuild-all, Antoniu Miclaus [-- Attachment #1: Type: text/plain, Size: 4376 bytes --] Hi Antoniu, Thank you for the patch! Yet something to improve: [auto build test ERROR on jic23-iio/togreg] [also build test ERROR on atorgue-stm32/stm32-next linux/master linus/master v5.16-rc1 next-20211118] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Antoniu-Miclaus/iio-expose-shared-parameter-in-IIO_ENUM_AVAILABLE/20211118-221902 base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg config: arc-randconfig-r035-20211118 (attached as .config) compiler: arceb-elf-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/b69668f743ac0c4d62a59f1bd9b8adf42df3518c git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Antoniu-Miclaus/iio-expose-shared-parameter-in-IIO_ENUM_AVAILABLE/20211118-221902 git checkout b69668f743ac0c4d62a59f1bd9b8adf42df3518c # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash drivers/iio/magnetometer/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> drivers/iio/magnetometer/hmc5843_core.c:263:64: error: macro "IIO_ENUM_AVAILABLE" requires 3 arguments, but only 2 given 263 | IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), | ^ In file included from drivers/iio/magnetometer/hmc5843_core.c:16: include/linux/iio/iio.h:112: note: macro "IIO_ENUM_AVAILABLE" defined here 112 | #define IIO_ENUM_AVAILABLE(_name, _shared, _e) \ | >> drivers/iio/magnetometer/hmc5843_core.c:263:9: error: 'IIO_ENUM_AVAILABLE' undeclared here (not in a function) 263 | IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), | ^~~~~~~~~~~~~~~~~~ >> drivers/iio/magnetometer/hmc5843_core.c:264:89: error: macro "IIO_MOUNT_MATRIX" passed 3 arguments, but takes just 2 264 | IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), | ^ In file included from drivers/iio/magnetometer/hmc5843_core.c:16: include/linux/iio/iio.h:142: note: macro "IIO_MOUNT_MATRIX" defined here 142 | #define IIO_MOUNT_MATRIX(_shared, _get) \ | >> drivers/iio/magnetometer/hmc5843_core.c:264:9: error: 'IIO_MOUNT_MATRIX' undeclared here (not in a function) 264 | IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), | ^~~~~~~~~~~~~~~~ vim +/IIO_ENUM_AVAILABLE +263 drivers/iio/magnetometer/hmc5843_core.c 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 260 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 261 static const struct iio_chan_spec_ext_info hmc5983_ext_info[] = { e8a26c5b767b5f drivers/iio/magnetometer/hmc5843_core.c Jonathan Cameron 2020-09-13 262 IIO_ENUM("meas_conf", IIO_SHARED_BY_TYPE, &hmc5983_meas_conf_enum), 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 @263 IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), b69668f743ac0c drivers/iio/magnetometer/hmc5843_core.c Antoniu Miclaus 2021-11-18 @264 IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), 8d7ea73814b4ed drivers/iio/magnetometer/hmc5843_core.c H. Nikolaus Schaller 2019-02-21 265 { } 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 266 }; b4e178224cfdc8 drivers/staging/iio/magnetometer/hmc5843.c Shubhrajyoti D 2010-07-17 267 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 42486 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] iio: expose shared parameter in IIO_ENUM_AVAILABLE @ 2021-11-18 18:06 ` kernel test robot 0 siblings, 0 replies; 10+ messages in thread From: kernel test robot @ 2021-11-18 18:06 UTC (permalink / raw) To: kbuild-all [-- Attachment #1: Type: text/plain, Size: 4444 bytes --] Hi Antoniu, Thank you for the patch! Yet something to improve: [auto build test ERROR on jic23-iio/togreg] [also build test ERROR on atorgue-stm32/stm32-next linux/master linus/master v5.16-rc1 next-20211118] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Antoniu-Miclaus/iio-expose-shared-parameter-in-IIO_ENUM_AVAILABLE/20211118-221902 base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg config: arc-randconfig-r035-20211118 (attached as .config) compiler: arceb-elf-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/b69668f743ac0c4d62a59f1bd9b8adf42df3518c git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Antoniu-Miclaus/iio-expose-shared-parameter-in-IIO_ENUM_AVAILABLE/20211118-221902 git checkout b69668f743ac0c4d62a59f1bd9b8adf42df3518c # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash drivers/iio/magnetometer/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> drivers/iio/magnetometer/hmc5843_core.c:263:64: error: macro "IIO_ENUM_AVAILABLE" requires 3 arguments, but only 2 given 263 | IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), | ^ In file included from drivers/iio/magnetometer/hmc5843_core.c:16: include/linux/iio/iio.h:112: note: macro "IIO_ENUM_AVAILABLE" defined here 112 | #define IIO_ENUM_AVAILABLE(_name, _shared, _e) \ | >> drivers/iio/magnetometer/hmc5843_core.c:263:9: error: 'IIO_ENUM_AVAILABLE' undeclared here (not in a function) 263 | IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), | ^~~~~~~~~~~~~~~~~~ >> drivers/iio/magnetometer/hmc5843_core.c:264:89: error: macro "IIO_MOUNT_MATRIX" passed 3 arguments, but takes just 2 264 | IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), | ^ In file included from drivers/iio/magnetometer/hmc5843_core.c:16: include/linux/iio/iio.h:142: note: macro "IIO_MOUNT_MATRIX" defined here 142 | #define IIO_MOUNT_MATRIX(_shared, _get) \ | >> drivers/iio/magnetometer/hmc5843_core.c:264:9: error: 'IIO_MOUNT_MATRIX' undeclared here (not in a function) 264 | IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), | ^~~~~~~~~~~~~~~~ vim +/IIO_ENUM_AVAILABLE +263 drivers/iio/magnetometer/hmc5843_core.c 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 260 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 261 static const struct iio_chan_spec_ext_info hmc5983_ext_info[] = { e8a26c5b767b5f drivers/iio/magnetometer/hmc5843_core.c Jonathan Cameron 2020-09-13 262 IIO_ENUM("meas_conf", IIO_SHARED_BY_TYPE, &hmc5983_meas_conf_enum), 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 @263 IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), b69668f743ac0c drivers/iio/magnetometer/hmc5843_core.c Antoniu Miclaus 2021-11-18 @264 IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), 8d7ea73814b4ed drivers/iio/magnetometer/hmc5843_core.c H. Nikolaus Schaller 2019-02-21 265 { } 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 266 }; b4e178224cfdc8 drivers/staging/iio/magnetometer/hmc5843.c Shubhrajyoti D 2010-07-17 267 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 42486 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] iio: expose shared parameter in IIO_ENUM_AVAILABLE @ 2021-11-18 18:06 ` kernel test robot 0 siblings, 0 replies; 10+ messages in thread From: kernel test robot @ 2021-11-18 18:06 UTC (permalink / raw) To: Antoniu Miclaus, jic23, linux-iio, linux-kernel, linux-stm32, linux-arm-kernel Cc: kbuild-all, Antoniu Miclaus [-- Attachment #1: Type: text/plain, Size: 4376 bytes --] Hi Antoniu, Thank you for the patch! Yet something to improve: [auto build test ERROR on jic23-iio/togreg] [also build test ERROR on atorgue-stm32/stm32-next linux/master linus/master v5.16-rc1 next-20211118] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Antoniu-Miclaus/iio-expose-shared-parameter-in-IIO_ENUM_AVAILABLE/20211118-221902 base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg config: arc-randconfig-r035-20211118 (attached as .config) compiler: arceb-elf-gcc (GCC) 11.2.0 reproduce (this is a W=1 build): wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # https://github.com/0day-ci/linux/commit/b69668f743ac0c4d62a59f1bd9b8adf42df3518c git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Antoniu-Miclaus/iio-expose-shared-parameter-in-IIO_ENUM_AVAILABLE/20211118-221902 git checkout b69668f743ac0c4d62a59f1bd9b8adf42df3518c # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=arc SHELL=/bin/bash drivers/iio/magnetometer/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): >> drivers/iio/magnetometer/hmc5843_core.c:263:64: error: macro "IIO_ENUM_AVAILABLE" requires 3 arguments, but only 2 given 263 | IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), | ^ In file included from drivers/iio/magnetometer/hmc5843_core.c:16: include/linux/iio/iio.h:112: note: macro "IIO_ENUM_AVAILABLE" defined here 112 | #define IIO_ENUM_AVAILABLE(_name, _shared, _e) \ | >> drivers/iio/magnetometer/hmc5843_core.c:263:9: error: 'IIO_ENUM_AVAILABLE' undeclared here (not in a function) 263 | IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), | ^~~~~~~~~~~~~~~~~~ >> drivers/iio/magnetometer/hmc5843_core.c:264:89: error: macro "IIO_MOUNT_MATRIX" passed 3 arguments, but takes just 2 264 | IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), | ^ In file included from drivers/iio/magnetometer/hmc5843_core.c:16: include/linux/iio/iio.h:142: note: macro "IIO_MOUNT_MATRIX" defined here 142 | #define IIO_MOUNT_MATRIX(_shared, _get) \ | >> drivers/iio/magnetometer/hmc5843_core.c:264:9: error: 'IIO_MOUNT_MATRIX' undeclared here (not in a function) 264 | IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), | ^~~~~~~~~~~~~~~~ vim +/IIO_ENUM_AVAILABLE +263 drivers/iio/magnetometer/hmc5843_core.c 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 260 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 261 static const struct iio_chan_spec_ext_info hmc5983_ext_info[] = { e8a26c5b767b5f drivers/iio/magnetometer/hmc5843_core.c Jonathan Cameron 2020-09-13 262 IIO_ENUM("meas_conf", IIO_SHARED_BY_TYPE, &hmc5983_meas_conf_enum), 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 @263 IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), b69668f743ac0c drivers/iio/magnetometer/hmc5843_core.c Antoniu Miclaus 2021-11-18 @264 IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), 8d7ea73814b4ed drivers/iio/magnetometer/hmc5843_core.c H. Nikolaus Schaller 2019-02-21 265 { } 1c7be4c260e52d drivers/staging/iio/magnetometer/hmc5843_core.c Cristina Moraru 2016-02-15 266 }; b4e178224cfdc8 drivers/staging/iio/magnetometer/hmc5843.c Shubhrajyoti D 2010-07-17 267 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 42486 bytes --] [-- Attachment #3: Type: text/plain, Size: 176 bytes --] _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] iio: expose shared parameter in IIO_ENUM_AVAILABLE 2021-11-18 14:17 ` Antoniu Miclaus @ 2021-11-18 18:08 ` Jonathan Cameron -1 siblings, 0 replies; 10+ messages in thread From: Jonathan Cameron @ 2021-11-18 18:08 UTC (permalink / raw) To: Antoniu Miclaus Cc: jic23, linux-iio, linux-kernel, linux-stm32, linux-arm-kernel On Thu, 18 Nov 2021 16:17:09 +0200 Antoniu Miclaus <antoniu.miclaus@analog.com> wrote: > The shared parameter should be configurable based on its usage, and not > constrained to IIO_SHARED_BY_TYPE. > > This patch aims to improve the flexibility in using the > IIO_ENUM_AVAILABLE define and avoid redefining custom iio enums that > expose the shared parameter. > > An example is the ad5766.c driver where IIO_ENUM_AVAILABLE_SHARED was > defined in order to achieve `shared` parameter customization. > > The current state of the IIO_ENUM_AVAILABLE implementation will imply > similar redefinitions each time a driver will require access to the > `shared` parameter. An example would be admv1013 driver which will > require custom device attribute for the frequency translation modes: > Quadrature I/Q mode and Intermediate frequency mode. > > Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com> I'm fine with the change subject to comments below, Jonathan > --- > drivers/iio/accel/bma180.c | 2 +- > drivers/iio/accel/mma9553.c | 2 +- > drivers/iio/adc/ad7192.c | 2 +- > drivers/iio/adc/hi8435.c | 2 +- > drivers/iio/dac/ad5064.c | 4 ++-- > drivers/iio/dac/ad5380.c | 2 +- > drivers/iio/dac/ad5446.c | 2 +- > drivers/iio/dac/ad5504.c | 2 +- > drivers/iio/dac/ad5624r_spi.c | 2 +- > drivers/iio/dac/ad5686.c | 2 +- > drivers/iio/dac/ad5766.c | 13 ++----------- > drivers/iio/dac/ad5791.c | 2 +- > drivers/iio/dac/max5821.c | 2 +- > drivers/iio/dac/mcp4725.c | 8 ++++---- > drivers/iio/dac/stm32-dac.c | 2 +- > drivers/iio/dac/ti-dac082s085.c | 2 +- > drivers/iio/dac/ti-dac5571.c | 2 +- > drivers/iio/dac/ti-dac7311.c | 2 +- > drivers/iio/magnetometer/hmc5843_core.c | 4 ++-- > drivers/iio/trigger/stm32-timer-trigger.c | 4 ++-- > include/linux/iio/iio.h | 5 +++-- > 21 files changed, 30 insertions(+), 38 deletions(-) > > diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c > index 2edfcb4819b7..09496f358ad9 100644 > --- a/drivers/iio/accel/bma180.c > +++ b/drivers/iio/accel/bma180.c > @@ -658,7 +658,7 @@ static const struct iio_chan_spec_ext_info bma023_ext_info[] = { > > static const struct iio_chan_spec_ext_info bma180_ext_info[] = { > IIO_ENUM("power_mode", IIO_SHARED_BY_TYPE, &bma180_power_mode_enum), > - IIO_ENUM_AVAILABLE("power_mode", &bma180_power_mode_enum), > + IIO_ENUM_AVAILABLE("power_mode", IIO_SHARED_BY_TYPE, &bma180_power_mode_enum), > IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, bma180_accel_get_mount_matrix), > { } > }; > diff --git a/drivers/iio/accel/mma9553.c b/drivers/iio/accel/mma9553.c > index ba3ecb3b57dc..0570ab1cc064 100644 > --- a/drivers/iio/accel/mma9553.c > +++ b/drivers/iio/accel/mma9553.c > @@ -917,7 +917,7 @@ static const struct iio_enum mma9553_calibgender_enum = { > > static const struct iio_chan_spec_ext_info mma9553_ext_info[] = { > IIO_ENUM("calibgender", IIO_SHARED_BY_TYPE, &mma9553_calibgender_enum), > - IIO_ENUM_AVAILABLE("calibgender", &mma9553_calibgender_enum), > + IIO_ENUM_AVAILABLE("calibgender", IIO_SHARED_BY_TYPE, &mma9553_calibgender_enum), > {}, > }; > > diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c > index 2121a812b0c3..7cb1bd3ea375 100644 > --- a/drivers/iio/adc/ad7192.c > +++ b/drivers/iio/adc/ad7192.c > @@ -257,7 +257,7 @@ static const struct iio_chan_spec_ext_info ad7192_calibsys_ext_info[] = { > }, > IIO_ENUM("sys_calibration_mode", IIO_SEPARATE, > &ad7192_syscalib_mode_enum), > - IIO_ENUM_AVAILABLE("sys_calibration_mode", &ad7192_syscalib_mode_enum), > + IIO_ENUM_AVAILABLE("sys_calibration_mode", IIO_SHARED_BY_TYPE, &ad7192_syscalib_mode_enum), Please wrap the lines to 80 chars unless strong reason not to do so. > diff --git a/drivers/iio/magnetometer/hmc5843_core.c b/drivers/iio/magnetometer/hmc5843_core.c > index f08726bf5ec3..4364d7fa066e 100644 > --- a/drivers/iio/magnetometer/hmc5843_core.c > +++ b/drivers/iio/magnetometer/hmc5843_core.c > @@ -246,7 +246,7 @@ static const struct iio_enum hmc5843_meas_conf_enum = { > > static const struct iio_chan_spec_ext_info hmc5843_ext_info[] = { > IIO_ENUM("meas_conf", IIO_SHARED_BY_TYPE, &hmc5843_meas_conf_enum), > - IIO_ENUM_AVAILABLE("meas_conf", &hmc5843_meas_conf_enum), > + IIO_ENUM_AVAILABLE("meas_conf", IIO_SHARED_BY_TYPE, &hmc5843_meas_conf_enum), > IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, hmc5843_get_mount_matrix), > { } > }; > @@ -261,7 +261,7 @@ static const struct iio_enum hmc5983_meas_conf_enum = { > static const struct iio_chan_spec_ext_info hmc5983_ext_info[] = { > IIO_ENUM("meas_conf", IIO_SHARED_BY_TYPE, &hmc5983_meas_conf_enum), > IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), > - IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, hmc5843_get_mount_matrix), > + IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), Wrong macro. (I cheated on this as 0-day already spotted it :) > Thanks, Jonathan ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH] iio: expose shared parameter in IIO_ENUM_AVAILABLE @ 2021-11-18 18:08 ` Jonathan Cameron 0 siblings, 0 replies; 10+ messages in thread From: Jonathan Cameron @ 2021-11-18 18:08 UTC (permalink / raw) To: Antoniu Miclaus Cc: jic23, linux-iio, linux-kernel, linux-stm32, linux-arm-kernel On Thu, 18 Nov 2021 16:17:09 +0200 Antoniu Miclaus <antoniu.miclaus@analog.com> wrote: > The shared parameter should be configurable based on its usage, and not > constrained to IIO_SHARED_BY_TYPE. > > This patch aims to improve the flexibility in using the > IIO_ENUM_AVAILABLE define and avoid redefining custom iio enums that > expose the shared parameter. > > An example is the ad5766.c driver where IIO_ENUM_AVAILABLE_SHARED was > defined in order to achieve `shared` parameter customization. > > The current state of the IIO_ENUM_AVAILABLE implementation will imply > similar redefinitions each time a driver will require access to the > `shared` parameter. An example would be admv1013 driver which will > require custom device attribute for the frequency translation modes: > Quadrature I/Q mode and Intermediate frequency mode. > > Signed-off-by: Antoniu Miclaus <antoniu.miclaus@analog.com> I'm fine with the change subject to comments below, Jonathan > --- > drivers/iio/accel/bma180.c | 2 +- > drivers/iio/accel/mma9553.c | 2 +- > drivers/iio/adc/ad7192.c | 2 +- > drivers/iio/adc/hi8435.c | 2 +- > drivers/iio/dac/ad5064.c | 4 ++-- > drivers/iio/dac/ad5380.c | 2 +- > drivers/iio/dac/ad5446.c | 2 +- > drivers/iio/dac/ad5504.c | 2 +- > drivers/iio/dac/ad5624r_spi.c | 2 +- > drivers/iio/dac/ad5686.c | 2 +- > drivers/iio/dac/ad5766.c | 13 ++----------- > drivers/iio/dac/ad5791.c | 2 +- > drivers/iio/dac/max5821.c | 2 +- > drivers/iio/dac/mcp4725.c | 8 ++++---- > drivers/iio/dac/stm32-dac.c | 2 +- > drivers/iio/dac/ti-dac082s085.c | 2 +- > drivers/iio/dac/ti-dac5571.c | 2 +- > drivers/iio/dac/ti-dac7311.c | 2 +- > drivers/iio/magnetometer/hmc5843_core.c | 4 ++-- > drivers/iio/trigger/stm32-timer-trigger.c | 4 ++-- > include/linux/iio/iio.h | 5 +++-- > 21 files changed, 30 insertions(+), 38 deletions(-) > > diff --git a/drivers/iio/accel/bma180.c b/drivers/iio/accel/bma180.c > index 2edfcb4819b7..09496f358ad9 100644 > --- a/drivers/iio/accel/bma180.c > +++ b/drivers/iio/accel/bma180.c > @@ -658,7 +658,7 @@ static const struct iio_chan_spec_ext_info bma023_ext_info[] = { > > static const struct iio_chan_spec_ext_info bma180_ext_info[] = { > IIO_ENUM("power_mode", IIO_SHARED_BY_TYPE, &bma180_power_mode_enum), > - IIO_ENUM_AVAILABLE("power_mode", &bma180_power_mode_enum), > + IIO_ENUM_AVAILABLE("power_mode", IIO_SHARED_BY_TYPE, &bma180_power_mode_enum), > IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, bma180_accel_get_mount_matrix), > { } > }; > diff --git a/drivers/iio/accel/mma9553.c b/drivers/iio/accel/mma9553.c > index ba3ecb3b57dc..0570ab1cc064 100644 > --- a/drivers/iio/accel/mma9553.c > +++ b/drivers/iio/accel/mma9553.c > @@ -917,7 +917,7 @@ static const struct iio_enum mma9553_calibgender_enum = { > > static const struct iio_chan_spec_ext_info mma9553_ext_info[] = { > IIO_ENUM("calibgender", IIO_SHARED_BY_TYPE, &mma9553_calibgender_enum), > - IIO_ENUM_AVAILABLE("calibgender", &mma9553_calibgender_enum), > + IIO_ENUM_AVAILABLE("calibgender", IIO_SHARED_BY_TYPE, &mma9553_calibgender_enum), > {}, > }; > > diff --git a/drivers/iio/adc/ad7192.c b/drivers/iio/adc/ad7192.c > index 2121a812b0c3..7cb1bd3ea375 100644 > --- a/drivers/iio/adc/ad7192.c > +++ b/drivers/iio/adc/ad7192.c > @@ -257,7 +257,7 @@ static const struct iio_chan_spec_ext_info ad7192_calibsys_ext_info[] = { > }, > IIO_ENUM("sys_calibration_mode", IIO_SEPARATE, > &ad7192_syscalib_mode_enum), > - IIO_ENUM_AVAILABLE("sys_calibration_mode", &ad7192_syscalib_mode_enum), > + IIO_ENUM_AVAILABLE("sys_calibration_mode", IIO_SHARED_BY_TYPE, &ad7192_syscalib_mode_enum), Please wrap the lines to 80 chars unless strong reason not to do so. > diff --git a/drivers/iio/magnetometer/hmc5843_core.c b/drivers/iio/magnetometer/hmc5843_core.c > index f08726bf5ec3..4364d7fa066e 100644 > --- a/drivers/iio/magnetometer/hmc5843_core.c > +++ b/drivers/iio/magnetometer/hmc5843_core.c > @@ -246,7 +246,7 @@ static const struct iio_enum hmc5843_meas_conf_enum = { > > static const struct iio_chan_spec_ext_info hmc5843_ext_info[] = { > IIO_ENUM("meas_conf", IIO_SHARED_BY_TYPE, &hmc5843_meas_conf_enum), > - IIO_ENUM_AVAILABLE("meas_conf", &hmc5843_meas_conf_enum), > + IIO_ENUM_AVAILABLE("meas_conf", IIO_SHARED_BY_TYPE, &hmc5843_meas_conf_enum), > IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, hmc5843_get_mount_matrix), > { } > }; > @@ -261,7 +261,7 @@ static const struct iio_enum hmc5983_meas_conf_enum = { > static const struct iio_chan_spec_ext_info hmc5983_ext_info[] = { > IIO_ENUM("meas_conf", IIO_SHARED_BY_TYPE, &hmc5983_meas_conf_enum), > IIO_ENUM_AVAILABLE("meas_conf", &hmc5983_meas_conf_enum), > - IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, hmc5843_get_mount_matrix), > + IIO_MOUNT_MATRIX(IIO_SHARED_BY_DIR, IIO_SHARED_BY_TYPE, hmc5843_get_mount_matrix), Wrong macro. (I cheated on this as 0-day already spotted it :) > Thanks, Jonathan _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2021-11-18 18:10 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-11-18 14:17 [PATCH] iio: expose shared parameter in IIO_ENUM_AVAILABLE Antoniu Miclaus 2021-11-18 14:17 ` Antoniu Miclaus 2021-11-18 17:40 ` kernel test robot 2021-11-18 17:40 ` kernel test robot 2021-11-18 17:40 ` kernel test robot 2021-11-18 18:06 ` kernel test robot 2021-11-18 18:06 ` kernel test robot 2021-11-18 18:06 ` kernel test robot 2021-11-18 18:08 ` Jonathan Cameron 2021-11-18 18:08 ` Jonathan Cameron
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.