Re: [PATCH 1/3] iio: hid-sensors: Move get sensitivity attribute to hid-sensor-common

From: Jonathan Cameron
Date: Sat Jan 23 2021 - 11:13:48 EST


On Wed, 20 Jan 2021 15:47:04 +0800
Ye Xiang <xiang.ye@xxxxxxxxx> wrote:

> No functional change has been made with this patch. The main intent here
> is to reduce code repetition of get sensitivity attribute.
>
> In the current implementation, sensor_hub_input_get_attribute_info() is
> called from multiple drivers to get attribute info for sensitivity
> field. Moving this to common place will avoid code repetition.
>
> Signed-off-by: Ye Xiang <xiang.ye@xxxxxxxxx>

One trivial note inline about an accidental indentation change. If that's
all I find in the series I'll fix it up whilst applying.

Thanks,

Jonathan

...
> /* Channel definitions */
> static const struct iio_chan_spec magn_3d_channels[] = {
> {
> @@ -448,32 +453,11 @@ static int magn_3d_parse_report(struct platform_device *pdev,
> &st->rot_attr.scale_pre_decml,
> &st->rot_attr.scale_post_decml);
>
> - /* Set Sensitivity field ids, when there is no individual modifier */
> - if (st->magn_flux_attributes.sensitivity.index < 0) {
> - sensor_hub_input_get_attribute_info(hsdev,
> - HID_FEATURE_REPORT, usage_id,
> - HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_ABS |
> - HID_USAGE_SENSOR_DATA_ORIENTATION,
> - &st->magn_flux_attributes.sensitivity);
> - dev_dbg(&pdev->dev, "Sensitivity index:report %d:%d\n",
> - st->magn_flux_attributes.sensitivity.index,
> - st->magn_flux_attributes.sensitivity.report_id);
> - }
> - if (st->magn_flux_attributes.sensitivity.index < 0) {
> - sensor_hub_input_get_attribute_info(hsdev,
> - HID_FEATURE_REPORT, usage_id,
> - HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_ABS |
> - HID_USAGE_SENSOR_ORIENT_MAGN_FLUX,
> - &st->magn_flux_attributes.sensitivity);
> - dev_dbg(&pdev->dev, "Sensitivity index:report %d:%d\n",
> - st->magn_flux_attributes.sensitivity.index,
> - st->magn_flux_attributes.sensitivity.report_id);
> - }
> if (st->rot_attributes.sensitivity.index < 0) {
> sensor_hub_input_get_attribute_info(hsdev,
> HID_FEATURE_REPORT, usage_id,
> HID_USAGE_SENSOR_DATA_MOD_CHANGE_SENSITIVITY_ABS |
> - HID_USAGE_SENSOR_ORIENT_COMP_MAGN_NORTH,
> + HID_USAGE_SENSOR_ORIENT_COMP_MAGN_NORTH,

This change of alignment shouldn't be here.

> &st->rot_attributes.sensitivity);
> dev_dbg(&pdev->dev, "Sensitivity index:report %d:%d\n",
> st->rot_attributes.sensitivity.index,
> @@ -507,12 +491,16 @@ static int hid_magn_3d_probe(struct platform_device *pdev)
>
> ret = hid_sensor_parse_common_attributes(hsdev,
> HID_USAGE_SENSOR_COMPASS_3D,
> - &magn_state->magn_flux_attributes);
> + &magn_state->magn_flux_attributes,
> + magn_3d_sensitivity_addresses,
> + ARRAY_SIZE(magn_3d_sensitivity_addresses));
> if (ret) {
> dev_err(&pdev->dev, "failed to setup common attributes\n");
> return ret;
> }
> magn_state->rot_attributes = magn_state->magn_flux_attributes;
> + /* sensitivity of rot_attribute is not the same as magn_flux_attributes */
> + magn_state->rot_attributes.sensitivity.index = -1;
>
> ret = magn_3d_parse_report(pdev, hsdev,
> &channels, &chan_count,