BCC: [email protected]
CC: [email protected]
CC: Linux Memory Management List <[email protected]>
TO: Michael Shych <[email protected]>
CC: Guenter Roeck <[email protected]>
CC: Vadim Pasternak <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git 
master
head:   47c191411b68a771261be3dc0bd6f68394cef358
commit: e1613d1e468b3bd0d82ec6a5c078cb3f68148425 [4509/6188] hwmon: (emc2305) 
add support for EMC2301/2/3/5 RPM-based PWM Fan Speed Controller.
:::::: branch date: 13 hours ago
:::::: commit date: 4 days ago
config: microblaze-randconfig-m041-20220907 
(https://download.01.org/0day-ci/archive/20220909/[email protected]/config)
compiler: microblaze-linux-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
drivers/hwmon/emc2305.c:195 emc2305_set_cur_state() warn: impossible condition 
'(val > 255) => (0-255 > 255)'

vim +195 drivers/hwmon/emc2305.c

e1613d1e468b3b Michael Shych 2022-08-10  175  
e1613d1e468b3b Michael Shych 2022-08-10  176  static int 
emc2305_set_cur_state(struct thermal_cooling_device *cdev, unsigned long state)
e1613d1e468b3b Michael Shych 2022-08-10  177  {
e1613d1e468b3b Michael Shych 2022-08-10  178    int cdev_idx, ret;
e1613d1e468b3b Michael Shych 2022-08-10  179    struct emc2305_data *data = 
cdev->devdata;
e1613d1e468b3b Michael Shych 2022-08-10  180    struct i2c_client *client = 
data->client;
e1613d1e468b3b Michael Shych 2022-08-10  181    u8 val, i;
e1613d1e468b3b Michael Shych 2022-08-10  182  
e1613d1e468b3b Michael Shych 2022-08-10  183    if (state > data->max_state)
e1613d1e468b3b Michael Shych 2022-08-10  184            return -EINVAL;
e1613d1e468b3b Michael Shych 2022-08-10  185  
e1613d1e468b3b Michael Shych 2022-08-10  186    cdev_idx =  
emc2305_get_cdev_idx(cdev);
e1613d1e468b3b Michael Shych 2022-08-10  187    if (cdev_idx < 0)
e1613d1e468b3b Michael Shych 2022-08-10  188            return cdev_idx;
e1613d1e468b3b Michael Shych 2022-08-10  189  
e1613d1e468b3b Michael Shych 2022-08-10  190    /* Save thermal state. */
e1613d1e468b3b Michael Shych 2022-08-10  191    
data->cdev_data[cdev_idx].last_thermal_state = state;
e1613d1e468b3b Michael Shych 2022-08-10  192    state = max_t(unsigned long, 
state, data->cdev_data[cdev_idx].last_hwmon_state);
e1613d1e468b3b Michael Shych 2022-08-10  193  
e1613d1e468b3b Michael Shych 2022-08-10  194    val = 
EMC2305_PWM_STATE2DUTY(state, data->max_state, EMC2305_FAN_MAX);
e1613d1e468b3b Michael Shych 2022-08-10 @195    if (val > EMC2305_FAN_MAX)
e1613d1e468b3b Michael Shych 2022-08-10  196            return -EINVAL;
e1613d1e468b3b Michael Shych 2022-08-10  197  
e1613d1e468b3b Michael Shych 2022-08-10  198    
data->cdev_data[cdev_idx].cur_state = state;
e1613d1e468b3b Michael Shych 2022-08-10  199    if (data->pwm_separate) {
e1613d1e468b3b Michael Shych 2022-08-10  200            ret = 
i2c_smbus_write_byte_data(client, EMC2305_REG_FAN_DRIVE(cdev_idx), val);
e1613d1e468b3b Michael Shych 2022-08-10  201            if (ret < 0)
e1613d1e468b3b Michael Shych 2022-08-10  202                    return ret;
e1613d1e468b3b Michael Shych 2022-08-10  203    } else {
e1613d1e468b3b Michael Shych 2022-08-10  204            /*
e1613d1e468b3b Michael Shych 2022-08-10  205             * Set the same PWM 
value in all channels
e1613d1e468b3b Michael Shych 2022-08-10  206             * if common PWM 
channel is used.
e1613d1e468b3b Michael Shych 2022-08-10  207             */
e1613d1e468b3b Michael Shych 2022-08-10  208            for (i = 0; i < 
data->pwm_num; i++) {
e1613d1e468b3b Michael Shych 2022-08-10  209                    ret = 
i2c_smbus_write_byte_data(client, EMC2305_REG_FAN_DRIVE(i), val);
e1613d1e468b3b Michael Shych 2022-08-10  210                    if (ret < 0)
e1613d1e468b3b Michael Shych 2022-08-10  211                            return 
ret;
e1613d1e468b3b Michael Shych 2022-08-10  212            }
e1613d1e468b3b Michael Shych 2022-08-10  213    }
e1613d1e468b3b Michael Shych 2022-08-10  214  
e1613d1e468b3b Michael Shych 2022-08-10  215    return 0;
e1613d1e468b3b Michael Shych 2022-08-10  216  }
e1613d1e468b3b Michael Shych 2022-08-10  217  

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to