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);
196 struct wf_sat *sat;
206 sat = kzalloc(sizeof(struct wf_sat), GFP_KERNEL);
207 if (sat == NULL)
209 sat->nr = -1;
210 sat->node = of_node_get(dev);
211 kref_init(&sat->ref);
212 mutex_init(&sat->mutex);
213 sat->i2c = client;
214 INIT_LIST_HEAD(&sat->sensors);
215 i2c_set_clientdata(client, sat);
241 if (sat->nr < 0)
242 sat->nr = chip;
243 else if (sat->nr != chip) {
273 sens->sat = sat;
281 list_add(&sens->link, &sat->sensors);
282 kref_get(&sat->ref);
290 cpu = 2 * sat->nr + core;
300 sens->sat = sat;
308 list_add(&sens->link, &sat->sensors);
309 kref_get(&sat->ref);
313 if (sat->nr >= 0)
314 sats[sat->nr] = sat;
321 struct wf_sat *sat = i2c_get_clientdata(client);
325 while(!list_empty(&sat->sensors)) {
326 sens = list_first_entry(&sat->sensors,
331 sat->i2c = NULL;
332 kref_put(&sat->ref, wf_sat_release);
336 { "MAC,smu-sat", 0 },
342 { .compatible = "smu-sat", },