Lines Matching refs:data

128  * Client data (each client gets its own)
162 struct max6620_data *data = dev_get_drvdata(dev);
163 struct i2c_client *client = data->client;
167 mutex_lock(&data->update_lock);
169 if (time_after(jiffies, data->last_updated + HZ) || !data->valid) {
174 data->fancfg[i] = ret;
179 data->fandyn[i] = ret;
184 data->tach[i] = (ret << 3) & 0x7f8;
188 data->tach[i] |= (ret >> 5) & 0x7;
193 data->target[i] = (ret << 3) & 0x7f8;
197 data->target[i] |= (ret >> 5) & 0x7;
208 data->fault |= (ret >> 4) & (ret & 0x0F);
210 data->last_updated = jiffies;
211 data->valid = true;
215 mutex_unlock(&data->update_lock);
220 max6620_is_visible(const void *data, enum hwmon_sensor_types type, u32 attr,
247 struct max6620_data *data;
257 data = dev_get_drvdata(dev);
258 client = data->client;
264 mutex_lock(&data->update_lock);
265 *val = !!(data->fault & BIT(channel));
269 val1 = (data->target[channel] >> 3) & 0xff;
270 val2 = (data->target[channel] << 5) & 0xe0;
274 mutex_unlock(&data->update_lock);
280 mutex_unlock(&data->update_lock);
284 data->fault &= ~BIT(channel);
286 mutex_unlock(&data->update_lock);
290 *val = max6620_fan_div_from_reg(data->fandyn[channel]);
293 if (data->tach[channel] == 0) {
296 div = max6620_fan_div_from_reg(data->fandyn[channel]);
297 *val = max6620_fan_tach_to_rpm(div, data->tach[channel]);
301 if (data->target[channel] == 0) {
304 div = max6620_fan_div_from_reg(data->fandyn[channel]);
305 *val = max6620_fan_tach_to_rpm(div, data->target[channel]);
324 struct max6620_data *data;
335 data = dev_get_drvdata(dev);
336 client = data->client;
337 mutex_lock(&data->update_lock);
366 data->fandyn[channel] &= 0x1F;
367 data->fandyn[channel] |= div << 5;
369 data->fandyn[channel]);
373 div = max6620_fan_div_from_reg(data->fandyn[channel]);
385 data->fault &= ~BIT(channel);
400 mutex_unlock(&data->update_lock);
424 static int max6620_init_client(struct max6620_data *data)
426 struct i2c_client *client = data->client;
452 data->fancfg[i] = reg;
455 data->fancfg[i] |= 0xa8;
456 err = i2c_smbus_write_byte_data(client, config_reg[i], data->fancfg[i]);
461 data->fandyn[i] = 0x30;
462 err = i2c_smbus_write_byte_data(client, dyn_reg[i], data->fandyn[i]);
472 struct max6620_data *data;
476 data = devm_kzalloc(dev, sizeof(struct max6620_data), GFP_KERNEL);
477 if (!data)
480 data->client = client;
481 mutex_init(&data->update_lock);
483 err = max6620_init_client(data);
488 data,