Lines Matching defs:sat

45 	struct wf_sat		*sat;
54 struct wf_sat *sat;
62 if (sat_id > 1 || (sat = sats[sat_id]) == NULL)
65 err = i2c_smbus_write_word_data(sat->i2c, 8, id << 8);
71 err = i2c_smbus_read_word_data(sat->i2c, 9);
89 err = i2c_smbus_read_i2c_block_data(sat->i2c, 0xa, 4, data);
101 printk(KERN_DEBUG "sat %d partition %x:", sat_id, id);
115 static int wf_sat_read_cache(struct wf_sat *sat)
119 err = i2c_smbus_read_i2c_block_data(sat->i2c, 0x3f, 16, sat->cache);
122 sat->last_read = jiffies;
129 16, 1, sat->cache, 16, false);
138 struct wf_sat *sat = sens->sat;
142 if (sat->i2c == NULL)
145 mutex_lock(&sat->mutex);
146 if (time_after(jiffies, (sat->last_read + MAX_AGE))) {
147 err = wf_sat_read_cache(sat);
153 val = ((sat->cache[i] << 8) + sat->cache[i+1]) << sens->shift;
157 val = (val * ((sat->cache[i] << 8) + sat->cache[i+1])) >> 4;
164 mutex_unlock(&sat->mutex);
170 struct wf_sat *sat = container_of(ref, struct wf_sat, ref);
172 if (sat->nr >= 0)
173 sats[sat->nr] = NULL;
174 of_node_put(sat->node);
175 kfree(sat);
181 struct wf_sat *sat = sens->sat;
184 kref_put(&sat->ref, wf_sat_release);
197 struct wf_sat *sat;
207 sat = kzalloc(sizeof(struct wf_sat), GFP_KERNEL);
208 if (sat == NULL)
210 sat->nr = -1;
211 sat->node = of_node_get(dev);
212 kref_init(&sat->ref);
213 mutex_init(&sat->mutex);
214 sat->i2c = client;
215 INIT_LIST_HEAD(&sat->sensors);
216 i2c_set_clientdata(client, sat);
242 if (sat->nr < 0)
243 sat->nr = chip;
244 else if (sat->nr != chip) {
274 sens->sat = sat;
282 list_add(&sens->link, &sat->sensors);
283 kref_get(&sat->ref);
291 cpu = 2 * sat->nr + core;
301 sens->sat = sat;
309 list_add(&sens->link, &sat->sensors);
310 kref_get(&sat->ref);
314 if (sat->nr >= 0)
315 sats[sat->nr] = sat;
322 struct wf_sat *sat = i2c_get_clientdata(client);
326 while(!list_empty(&sat->sensors)) {
327 sens = list_first_entry(&sat->sensors,
332 sat->i2c = NULL;
333 kref_put(&sat->ref, wf_sat_release);
339 { "MAC,smu-sat", 0 },
345 { .compatible = "smu-sat", },