Lines Matching refs:cs_char_data

134 static struct cs_char cs_char_data;  variable
148 spin_lock(&cs_char_data.lock); in cs_notify()
150 if (!cs_char_data.opened) { in cs_notify()
151 spin_unlock(&cs_char_data.lock); in cs_notify()
157 dev_err(&cs_char_data.cl->device, in cs_notify()
159 spin_unlock(&cs_char_data.lock); in cs_notify()
166 spin_unlock(&cs_char_data.lock); in cs_notify()
168 wake_up_interruptible(&cs_char_data.wait); in cs_notify()
169 kill_fasync(&cs_char_data.async_queue, SIGIO, POLL_IN); in cs_notify()
190 cs_notify(message, &cs_char_data.chardev_queue); in cs_notify_control()
195 cs_notify(message, &cs_char_data.dataind_queue); in cs_notify_data()
197 spin_lock(&cs_char_data.lock); in cs_notify_data()
198 cs_char_data.dataind_pending++; in cs_notify_data()
199 while (cs_char_data.dataind_pending > maxlength && in cs_notify_data()
200 !list_empty(&cs_char_data.dataind_queue)) { in cs_notify_data()
201 dev_dbg(&cs_char_data.cl->device, "data notification " in cs_notify_data()
202 "queue overrun (%u entries)\n", cs_char_data.dataind_pending); in cs_notify_data()
204 cs_pop_entry(&cs_char_data.dataind_queue); in cs_notify_data()
205 cs_char_data.dataind_pending--; in cs_notify_data()
207 spin_unlock(&cs_char_data.lock); in cs_notify_data()
235 dev_dbg(&cs_char_data.cl->device, "control cmd destructor\n"); in cs_cmd_destructor()
295 msg->channel = cs_char_data.channel_id_cmd; in cs_alloc_cmds()
312 dev_dbg(&cs_char_data.cl->device, "Freeing data %s message\n", dir); in cs_hsi_data_destructor()
316 dev_err(&cs_char_data.cl->device, in cs_hsi_data_destructor()
341 rxmsg->channel = cs_char_data.channel_id_data; in cs_hsi_alloc_data()
350 txmsg->channel = cs_char_data.channel_id_data; in cs_hsi_alloc_data()
1132 poll_wait(file, &cs_char_data.wait, wait); in cs_char_poll()
1293 spin_lock_bh(&cs_char_data.lock); in cs_char_open()
1294 if (cs_char_data.opened) { in cs_char_open()
1296 spin_unlock_bh(&cs_char_data.lock); in cs_char_open()
1299 cs_char_data.opened = 1; in cs_char_open()
1300 cs_char_data.dataind_pending = 0; in cs_char_open()
1301 spin_unlock_bh(&cs_char_data.lock); in cs_char_open()
1309 ret = cs_hsi_start(&cs_char_data.hi, cs_char_data.cl, p, CS_MMAP_SIZE); in cs_char_open()
1311 dev_err(&cs_char_data.cl->device, "Unable to initialize HSI\n"); in cs_char_open()
1316 cs_char_data.mmap_base = p; in cs_char_open()
1317 cs_char_data.mmap_size = CS_MMAP_SIZE; in cs_char_open()
1319 file->private_data = &cs_char_data; in cs_char_open()
1326 spin_lock_bh(&cs_char_data.lock); in cs_char_open()
1327 cs_char_data.opened = 0; in cs_char_open()
1328 spin_unlock_bh(&cs_char_data.lock); in cs_char_open()
1388 init_waitqueue_head(&cs_char_data.wait); in cs_hsi_client_probe()
1389 spin_lock_init(&cs_char_data.lock); in cs_hsi_client_probe()
1390 cs_char_data.opened = 0; in cs_hsi_client_probe()
1391 cs_char_data.cl = cl; in cs_hsi_client_probe()
1392 cs_char_data.hi = NULL; in cs_hsi_client_probe()
1393 INIT_LIST_HEAD(&cs_char_data.chardev_queue); in cs_hsi_client_probe()
1394 INIT_LIST_HEAD(&cs_char_data.dataind_queue); in cs_hsi_client_probe()
1396 cs_char_data.channel_id_cmd = hsi_get_channel_id_by_name(cl, in cs_hsi_client_probe()
1398 if (cs_char_data.channel_id_cmd < 0) { in cs_hsi_client_probe()
1399 err = cs_char_data.channel_id_cmd; in cs_hsi_client_probe()
1404 cs_char_data.channel_id_data = hsi_get_channel_id_by_name(cl, in cs_hsi_client_probe()
1406 if (cs_char_data.channel_id_data < 0) { in cs_hsi_client_probe()
1407 err = cs_char_data.channel_id_data; in cs_hsi_client_probe()
1425 spin_lock_bh(&cs_char_data.lock); in cs_hsi_client_remove()
1426 hi = cs_char_data.hi; in cs_hsi_client_remove()
1427 cs_char_data.hi = NULL; in cs_hsi_client_remove()
1428 spin_unlock_bh(&cs_char_data.lock); in cs_hsi_client_remove()