Re: [PATCH] hwmon: Reduce indentation level in __hwmon_device_register()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, May 04, 2020 at 11:57:44PM +0900, Akinobu Mita wrote:
> Reduce indentation level in __hwmon_device_register() by preparing a
> helper function.
> 
> This just improves code readability.  No functional change.
> 

Applied.

Guenter

> Cc: Jean Delvare <jdelvare@xxxxxxxx>
> Cc: Guenter Roeck <linux@xxxxxxxxxxxx>
> Signed-off-by: Akinobu Mita <akinobu.mita@xxxxxxxxx>
> ---
>  drivers/hwmon/hwmon.c | 68 ++++++++++++++++++++++++++-----------------
>  1 file changed, 42 insertions(+), 26 deletions(-)
> 
> diff --git a/drivers/hwmon/hwmon.c b/drivers/hwmon/hwmon.c
> index 6a30fb453f7a..dcd4445d4570 100644
> --- a/drivers/hwmon/hwmon.c
> +++ b/drivers/hwmon/hwmon.c
> @@ -179,8 +179,40 @@ static int hwmon_thermal_add_sensor(struct device *dev, int index)
>  
>  	return 0;
>  }
> +
> +static int hwmon_thermal_register_sensors(struct device *dev)
> +{
> +	struct hwmon_device *hwdev = to_hwmon_device(dev);
> +	const struct hwmon_chip_info *chip = hwdev->chip;
> +	const struct hwmon_channel_info **info = chip->info;
> +	void *drvdata = dev_get_drvdata(dev);
> +	int i;
> +
> +	for (i = 1; info[i]; i++) {
> +		int j;
> +
> +		if (info[i]->type != hwmon_temp)
> +			continue;
> +
> +		for (j = 0; info[i]->config[j]; j++) {
> +			int err;
> +
> +			if (!(info[i]->config[j] & HWMON_T_INPUT) ||
> +			    !chip->ops->is_visible(drvdata, hwmon_temp,
> +						   hwmon_temp_input, j))
> +				continue;
> +
> +			err = hwmon_thermal_add_sensor(dev, j);
> +			if (err)
> +				return err;
> +		}
> +	}
> +
> +	return 0;
> +}
> +
>  #else
> -static int hwmon_thermal_add_sensor(struct device *dev, int index)
> +static int hwmon_thermal_register_sensors(struct device *dev)
>  {
>  	return 0;
>  }
> @@ -596,7 +628,7 @@ __hwmon_device_register(struct device *dev, const char *name, void *drvdata,
>  {
>  	struct hwmon_device *hwdev;
>  	struct device *hdev;
> -	int i, j, err, id;
> +	int i, err, id;
>  
>  	/* Complain about invalid characters in hwmon name attribute */
>  	if (name && (!strlen(name) || strpbrk(name, "-* \t\n")))
> @@ -664,30 +696,14 @@ __hwmon_device_register(struct device *dev, const char *name, void *drvdata,
>  	if (dev && dev->of_node && chip && chip->ops->read &&
>  	    chip->info[0]->type == hwmon_chip &&
>  	    (chip->info[0]->config[0] & HWMON_C_REGISTER_TZ)) {
> -		const struct hwmon_channel_info **info = chip->info;
> -
> -		for (i = 1; info[i]; i++) {
> -			if (info[i]->type != hwmon_temp)
> -				continue;
> -
> -			for (j = 0; info[i]->config[j]; j++) {
> -				if (!chip->ops->is_visible(drvdata, hwmon_temp,
> -							   hwmon_temp_input, j))
> -					continue;
> -				if (info[i]->config[j] & HWMON_T_INPUT) {
> -					err = hwmon_thermal_add_sensor(hdev, j);
> -					if (err) {
> -						device_unregister(hdev);
> -						/*
> -						 * Don't worry about hwdev;
> -						 * hwmon_dev_release(), called
> -						 * from device_unregister(),
> -						 * will free it.
> -						 */
> -						goto ida_remove;
> -					}
> -				}
> -			}
> +		err = hwmon_thermal_register_sensors(hdev);
> +		if (err) {
> +			device_unregister(hdev);
> +			/*
> +			 * Don't worry about hwdev; hwmon_dev_release(), called
> +			 * from device_unregister(), will free it.
> +			 */
> +			goto ida_remove;
>  		}
>  	}
>  
> -- 
> 2.20.1
> 



[Index of Archives]     [LM Sensors]     [Linux Sound]     [ALSA Users]     [ALSA Devel]     [Linux Audio Users]     [Linux Media]     [Kernel]     [Gimp]     [Yosemite News]     [Linux Media]

  Powered by Linux