Re: [PATCH 1/6] thermal: split thermal_zone_of_sensor_register{,_param}()

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

 



On Wed, Dec 12, 2018 at 02:49:22AM +0100, Marek Vasut wrote:
> Introduce new thermal_zone_of_sensor_register_params() function, which
> allows passing struct thermal_zone_params into it and convert original
> thermal_zone_of_sensor_register() to call it with params set to NULL.
> 
> Signed-off-by: Marek Vasut <marek.vasut+renesas@xxxxxxxxx>

Git complains about mismatch between From: and this SOB.

> Cc: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
> Cc: Eduardo Valentin <edubezval@xxxxxxxxx>
> Cc: Wolfram Sang <wsa+renesas@xxxxxxxxxxxxxxxxxxxx>
> Cc: Zhang Rui <rui.zhang@xxxxxxxxx>
> Cc: linux-renesas-soc@xxxxxxxxxxxxxxx
> To: linux-pm@xxxxxxxxxxxxxxx

I would prefer if you put your SOB at the bottom.

> ---
>  drivers/thermal/of-thermal.c | 50 +++++++++++++++++++++++++++++++++---
>  include/linux/thermal.h      | 12 +++++++++
>  2 files changed, 59 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/thermal/of-thermal.c b/drivers/thermal/of-thermal.c
> index 4bfdb4a1e47d..eb0ef7a21035 100644
> --- a/drivers/thermal/of-thermal.c
> +++ b/drivers/thermal/of-thermal.c
> @@ -446,7 +446,8 @@ thermal_zone_of_add_sensor(struct device_node *zone,
>  }
>  
>  /**
> - * thermal_zone_of_sensor_register - registers a sensor to a DT thermal zone
> + * thermal_zone_of_sensor_register_params - registers a sensor to a DT thermal
> + *					zone with thermal zone parameters
>   * @dev: a valid struct device pointer of a sensor device. Must contain
>   *       a valid .of_node, for the sensor node.
>   * @sensor_id: a sensor identifier, in case the sensor IP has more
> @@ -454,6 +455,7 @@ thermal_zone_of_add_sensor(struct device_node *zone,
>   * @data: a private pointer (owned by the caller) that will be passed
>   *        back, when a temperature reading is needed.
>   * @ops: struct thermal_zone_of_device_ops *. Must contain at least .get_temp.
> + * @tzp: thermal zone platform parameters
>   *
>   * This function will search the list of thermal zones described in device
>   * tree and look for the zone that refer to the sensor device pointed by
> @@ -478,8 +480,9 @@ thermal_zone_of_add_sensor(struct device_node *zone,
>   * check the return value with help of IS_ERR() helper.
>   */
>  struct thermal_zone_device *
> -thermal_zone_of_sensor_register(struct device *dev, int sensor_id, void *data,
> -				const struct thermal_zone_of_device_ops *ops)
> +thermal_zone_of_sensor_register_params(struct device *dev, int sensor_id,
> +	void *data, const struct thermal_zone_of_device_ops *ops,
> +	struct thermal_zone_params *tzp)
>  {
>  	struct device_node *np, *child, *sensor_np;
>  	struct thermal_zone_device *tzd = ERR_PTR(-ENODEV);
> @@ -533,6 +536,47 @@ thermal_zone_of_sensor_register(struct device *dev, int sensor_id, void *data,
>  
>  	return tzd;
>  }
> +
> +/**
> + * thermal_zone_of_sensor_register - registers a sensor to a DT thermal zone
> + * @dev: a valid struct device pointer of a sensor device. Must contain
> + *       a valid .of_node, for the sensor node.
> + * @sensor_id: a sensor identifier, in case the sensor IP has more
> + *             than one sensors
> + * @data: a private pointer (owned by the caller) that will be passed
> + *        back, when a temperature reading is needed.
> + * @ops: struct thermal_zone_of_device_ops *. Must contain at least .get_temp.
> + *
> + * This function will search the list of thermal zones described in device
> + * tree and look for the zone that refer to the sensor device pointed by
> + * @dev->of_node as temperature providers. For the zone pointing to the
> + * sensor node, the sensor will be added to the DT thermal zone device.
> + *
> + * The thermal zone temperature is provided by the @get_temp function
> + * pointer. When called, it will have the private pointer @data back.
> + *
> + * The thermal zone temperature trend is provided by the @get_trend function
> + * pointer. When called, it will have the private pointer @data back.
> + *
> + * TODO:
> + * 01 - This function must enqueue the new sensor instead of using
> + * it as the only source of temperature values.
> + *
> + * 02 - There must be a way to match the sensor with all thermal zones
> + * that refer to it.
> + *
> + * Return: On success returns a valid struct thermal_zone_device,
> + * otherwise, it returns a corresponding ERR_PTR(). Caller must
> + * check the return value with help of IS_ERR() helper.
> + */
> +
> +struct thermal_zone_device *
> +thermal_zone_of_sensor_register(struct device *dev, int sensor_id, void *data,
> +				const struct thermal_zone_of_device_ops *ops)
> +{
> +	return thermal_zone_of_sensor_register_params(dev, sensor_id, data,
> +						      ops, NULL);
> +}
>  EXPORT_SYMBOL_GPL(thermal_zone_of_sensor_register);
>  
>  /**
> diff --git a/include/linux/thermal.h b/include/linux/thermal.h
> index 5f4705f46c2f..922034eae74b 100644
> --- a/include/linux/thermal.h
> +++ b/include/linux/thermal.h
> @@ -378,6 +378,10 @@ struct thermal_trip {
>  struct thermal_zone_device *
>  thermal_zone_of_sensor_register(struct device *dev, int id, void *data,
>  				const struct thermal_zone_of_device_ops *ops);
> +struct thermal_zone_device *
> +thermal_zone_of_sensor_register_params(struct device *dev, int id, void *data,
> +			const struct thermal_zone_of_device_ops *ops,
> +			struct thermal_zone_params *tzp);
>  void thermal_zone_of_sensor_unregister(struct device *dev,
>  				       struct thermal_zone_device *tz);
>  struct thermal_zone_device *devm_thermal_zone_of_sensor_register(
> @@ -393,6 +397,14 @@ thermal_zone_of_sensor_register(struct device *dev, int id, void *data,
>  	return ERR_PTR(-ENODEV);
>  }
>  
> +static inline struct thermal_zone_device *
> +thermal_zone_of_sensor_register_params(struct device *dev, int id, void *data,
> +			const struct thermal_zone_of_device_ops *ops,
> +			struct thermal_zone_params *tzp)
> +{
> +	return ERR_PTR(-ENODEV);
> +}
> +
>  static inline
>  void thermal_zone_of_sensor_unregister(struct device *dev,
>  				       struct thermal_zone_device *tz)
> -- 
> 2.18.0
> 



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux