Lines Matching refs:data

74  * LOCKING: must hold data->update_lock
78 struct ltc4245_data *data = dev_get_drvdata(dev);
79 struct i2c_client *client = data->client;
84 if (!data->use_extra_gpios) {
85 data->gpios[0] = data->vregs[LTC4245_GPIOADC - 0x10];
93 if (time_after(jiffies, data->last_updated + 5 * HZ)) {
94 for (i = 0; i < ARRAY_SIZE(data->gpios); i++)
95 data->gpios[i] = -EAGAIN;
105 gpio_curr = (data->cregs[LTC4245_GPIO] & 0xc0) >> 6;
110 data->gpios[gpio_curr] = data->vregs[LTC4245_GPIOADC - 0x10];
113 gpio_next = (gpio_curr + 1) % ARRAY_SIZE(data->gpios);
119 gpio_reg = (data->cregs[LTC4245_GPIO] & 0x3f) | ((gpio_next + 1) << 6);
124 /* Update saved data */
125 data->cregs[LTC4245_GPIO] = gpio_reg;
130 struct ltc4245_data *data = dev_get_drvdata(dev);
131 struct i2c_client *client = data->client;
135 mutex_lock(&data->update_lock);
137 if (time_after(jiffies, data->last_updated + HZ) || !data->valid) {
140 for (i = 0; i < ARRAY_SIZE(data->cregs); i++) {
143 data->cregs[i] = 0;
145 data->cregs[i] = val;
149 for (i = 0; i < ARRAY_SIZE(data->vregs); i++) {
152 data->vregs[i] = 0;
154 data->vregs[i] = val;
160 data->last_updated = jiffies;
161 data->valid = true;
164 mutex_unlock(&data->update_lock);
166 return data;
172 struct ltc4245_data *data = ltc4245_update_device(dev);
173 const u8 regval = data->vregs[reg - 0x10];
208 struct ltc4245_data *data = ltc4245_update_device(dev);
209 const u8 regval = data->vregs[reg - 0x10];
271 struct ltc4245_data *data = ltc4245_update_device(dev);
278 *val = !!(data->cregs[LTC4245_FAULT1] & BIT(channel + 4));
287 struct ltc4245_data *data = ltc4245_update_device(dev);
295 int regval = data->gpios[channel - 8];
304 *val = !!(data->cregs[LTC4245_FAULT1] & BIT(channel));
306 *val = !!(data->cregs[LTC4245_FAULT2] &
352 const struct ltc4245_data *data = _data;
360 if (channel > 9 && !data->use_extra_gpios)
432 /* prefer platform data */
446 struct ltc4245_data *data;
452 data = devm_kzalloc(&client->dev, sizeof(*data), GFP_KERNEL);
453 if (!data)
456 data->client = client;
457 mutex_init(&data->update_lock);
458 data->use_extra_gpios = ltc4245_use_extra_gpios(client);
465 client->name, data,