Lines Matching defs:data

49  * struct sht4x_data - All the data required to operate an SHT4X chip
59 struct mutex lock; /* atomic read data updates */
68 * sht4x_read_values() - read and parse the raw data from the SHT4X
72 static int sht4x_read_values(struct sht4x_data *data)
77 struct i2c_client *client = data->client;
82 mutex_lock(&data->lock);
83 next_update = data->last_updated +
84 msecs_to_jiffies(data->update_interval);
86 if (data->valid && time_before_eq(jiffies, next_update))
107 dev_err(&client->dev, "data integrity check failed\n");
114 dev_err(&client->dev, "data integrity check failed\n");
119 data->temperature = ((21875 * (int32_t)t_ticks) >> 13) - 45000;
120 data->humidity = ((15625 * (int32_t)rh_ticks) >> 13) - 6000;
121 data->last_updated = jiffies;
122 data->valid = true;
126 mutex_unlock(&data->lock);
130 static ssize_t sht4x_interval_write(struct sht4x_data *data, long val)
132 data->update_interval = clamp_val(val, SHT4X_MIN_POLL_INTERVAL, INT_MAX);
138 static size_t sht4x_interval_read(struct sht4x_data *data, long *val)
140 *val = data->update_interval;
145 static int sht4x_temperature1_read(struct sht4x_data *data, long *val)
149 ret = sht4x_read_values(data);
153 *val = data->temperature;
159 static int sht4x_humidity1_read(struct sht4x_data *data, long *val)
163 ret = sht4x_read_values(data);
167 *val = data->humidity;
172 static umode_t sht4x_hwmon_visible(const void *data,
190 struct sht4x_data *data = dev_get_drvdata(dev);
194 return sht4x_temperature1_read(data, val);
196 return sht4x_humidity1_read(data, val);
198 return sht4x_interval_read(data, val);
207 struct sht4x_data *data = dev_get_drvdata(dev);
211 return sht4x_interval_write(data, val);
239 struct sht4x_data *data;
251 data = devm_kzalloc(device, sizeof(*data), GFP_KERNEL);
252 if (!data)
255 data->update_interval = SHT4X_MIN_POLL_INTERVAL;
256 data->client = client;
258 mutex_init(&data->lock);
270 data,