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,