forked from mirrors/linux
		
	hwmon: (mlxreg-fan) Modify PWM connectivity validation
Validate PWM connectivity only for additional PWM - "pwm1" is connected
on all systems, while "pwm2" - "pwm4" are optional. Validate
connectivity only for optional attributes by reading of related "pwm{n}"
registers - in case "pwm{n}" is not connected, register value is
supposed to be 0xff.
Signed-off-by: Vadim Pasternak <vadimp@nvidia.com>
Link: https://lore.kernel.org/r/20210926053541.1806937-2-vadimp@nvidia.com
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
			
			
This commit is contained in:
		
							parent
							
								
									1508fb2915
								
							
						
					
					
						commit
						b1c2423734
					
				
					 1 changed files with 8 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -488,9 +488,14 @@ static int mlxreg_fan_config(struct mlxreg_fan *fan,
 | 
			
		|||
				return -EINVAL;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			err = mlxreg_pwm_connect_verify(fan, data);
 | 
			
		||||
			if (err)
 | 
			
		||||
				return err;
 | 
			
		||||
			/* Validate if more then one PWM is connected. */
 | 
			
		||||
			if (pwm_num) {
 | 
			
		||||
				err = mlxreg_pwm_connect_verify(fan, data);
 | 
			
		||||
				if (err < 0)
 | 
			
		||||
					return err;
 | 
			
		||||
				else if (!err)
 | 
			
		||||
					continue;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			fan->pwm[pwm_num].reg = data->reg;
 | 
			
		||||
			fan->pwm[pwm_num].connected = true;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue