mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	thermal: armada: get rid of the ->is_valid() pointer
The implementation of armada_is_valid() is very simple and is the same across all the versions of the IP since the ->is_valid_bit has been introduced. Simplify the structure by getting rid of the function pointer and calling directly the function. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
This commit is contained in:
		
							parent
							
								
									68b14828ca
								
							
						
					
					
						commit
						8c0e64ac40
					
				
					 1 changed files with 4 additions and 9 deletions
				
			
		| 
						 | 
				
			
			@ -83,9 +83,6 @@ struct armada_thermal_data {
 | 
			
		|||
	void (*init)(struct platform_device *pdev,
 | 
			
		||||
		     struct armada_thermal_priv *priv);
 | 
			
		||||
 | 
			
		||||
	/* Test for a valid sensor value (optional) */
 | 
			
		||||
	bool (*is_valid)(struct armada_thermal_priv *);
 | 
			
		||||
 | 
			
		||||
	/* Formula coeficients: temp = (b - m * reg) / div */
 | 
			
		||||
	s64 coef_b;
 | 
			
		||||
	s64 coef_m;
 | 
			
		||||
| 
						 | 
				
			
			@ -267,6 +264,9 @@ static bool armada_is_valid(struct armada_thermal_priv *priv)
 | 
			
		|||
{
 | 
			
		||||
	u32 reg;
 | 
			
		||||
 | 
			
		||||
	if (!priv->data->is_valid_bit)
 | 
			
		||||
		return true;
 | 
			
		||||
 | 
			
		||||
	regmap_read(priv->syscon, priv->data->syscon_status_off, ®);
 | 
			
		||||
 | 
			
		||||
	return reg & priv->data->is_valid_bit;
 | 
			
		||||
| 
						 | 
				
			
			@ -357,7 +357,7 @@ static int armada_get_temp_legacy(struct thermal_zone_device *thermal,
 | 
			
		|||
	int ret;
 | 
			
		||||
 | 
			
		||||
	/* Valid check */
 | 
			
		||||
	if (priv->data->is_valid && !priv->data->is_valid(priv)) {
 | 
			
		||||
	if (armada_is_valid(priv)) {
 | 
			
		||||
		dev_err(priv->dev,
 | 
			
		||||
			"Temperature sensor reading not valid\n");
 | 
			
		||||
		return -EIO;
 | 
			
		||||
| 
						 | 
				
			
			@ -411,7 +411,6 @@ static const struct armada_thermal_data armadaxp_data = {
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
static const struct armada_thermal_data armada370_data = {
 | 
			
		||||
	.is_valid = armada_is_valid,
 | 
			
		||||
	.init = armada370_init,
 | 
			
		||||
	.is_valid_bit = BIT(9),
 | 
			
		||||
	.temp_shift = 10,
 | 
			
		||||
| 
						 | 
				
			
			@ -424,7 +423,6 @@ static const struct armada_thermal_data armada370_data = {
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
static const struct armada_thermal_data armada375_data = {
 | 
			
		||||
	.is_valid = armada_is_valid,
 | 
			
		||||
	.init = armada375_init,
 | 
			
		||||
	.is_valid_bit = BIT(10),
 | 
			
		||||
	.temp_shift = 0,
 | 
			
		||||
| 
						 | 
				
			
			@ -438,7 +436,6 @@ static const struct armada_thermal_data armada375_data = {
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
static const struct armada_thermal_data armada380_data = {
 | 
			
		||||
	.is_valid = armada_is_valid,
 | 
			
		||||
	.init = armada380_init,
 | 
			
		||||
	.is_valid_bit = BIT(10),
 | 
			
		||||
	.temp_shift = 0,
 | 
			
		||||
| 
						 | 
				
			
			@ -453,7 +450,6 @@ static const struct armada_thermal_data armada380_data = {
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
static const struct armada_thermal_data armada_ap806_data = {
 | 
			
		||||
	.is_valid = armada_is_valid,
 | 
			
		||||
	.init = armada_ap806_init,
 | 
			
		||||
	.is_valid_bit = BIT(16),
 | 
			
		||||
	.temp_shift = 0,
 | 
			
		||||
| 
						 | 
				
			
			@ -470,7 +466,6 @@ static const struct armada_thermal_data armada_ap806_data = {
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
static const struct armada_thermal_data armada_cp110_data = {
 | 
			
		||||
	.is_valid = armada_is_valid,
 | 
			
		||||
	.init = armada_cp110_init,
 | 
			
		||||
	.is_valid_bit = BIT(10),
 | 
			
		||||
	.temp_shift = 0,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue