Lines Matching refs:cl_data

86 	struct hsc_client_data *cl_data;  member
227 struct hsc_client_data *cl_data = hsi_client_drvdata(msg->cl); in hsc_rx_completed() local
228 struct hsc_channel *channel = cl_data->channels + msg->channel; in hsc_rx_completed()
247 struct hsc_client_data *cl_data = hsi_client_drvdata(msg->cl); in hsc_tx_completed() local
248 struct hsc_channel *channel = cl_data->channels + msg->channel; in hsc_tx_completed()
267 struct hsc_client_data *cl_data = hsi_client_drvdata(msg->cl); in hsc_break_req_destructor() local
270 clear_bit(HSC_RXBREAK, &cl_data->flags); in hsc_break_req_destructor()
275 struct hsc_client_data *cl_data = hsi_client_drvdata(msg->cl); in hsc_break_received() local
276 struct hsc_channel *channel = cl_data->channels; in hsc_break_received()
302 struct hsc_client_data *cl_data = hsi_client_drvdata(cl); in hsc_break_request() local
306 if (test_and_set_bit(HSC_RXBREAK, &cl_data->flags)) in hsc_break_request()
311 clear_bit(HSC_RXBREAK, &cl_data->flags); in hsc_break_request()
579 static inline void __hsc_port_release(struct hsc_client_data *cl_data) in __hsc_port_release() argument
581 BUG_ON(cl_data->usecnt == 0); in __hsc_port_release()
583 if (--cl_data->usecnt == 0) { in __hsc_port_release()
584 hsi_flush(cl_data->cl); in __hsc_port_release()
585 hsi_release_port(cl_data->cl); in __hsc_port_release()
591 struct hsc_client_data *cl_data; in hsc_open() local
597 cl_data = container_of(inode->i_cdev, struct hsc_client_data, cdev); in hsc_open()
598 mutex_lock(&cl_data->lock); in hsc_open()
599 channel = cl_data->channels + (iminor(inode) & HSC_CH_MASK); in hsc_open()
609 if (cl_data->usecnt == 0) { in hsc_open()
610 ret = hsi_claim_port(cl_data->cl, 0); in hsc_open()
613 hsi_setup(cl_data->cl); in hsc_open()
615 cl_data->usecnt++; in hsc_open()
619 __hsc_port_release(cl_data); in hsc_open()
624 mutex_unlock(&cl_data->lock); in hsc_open()
628 mutex_unlock(&cl_data->lock); in hsc_open()
636 struct hsc_client_data *cl_data = channel->cl_data; in hsc_release() local
638 mutex_lock(&cl_data->lock); in hsc_release()
642 __hsc_port_release(cl_data); in hsc_release()
651 mutex_unlock(&cl_data->lock); in hsc_release()
678 struct hsc_client_data *cl_data; in hsc_probe() local
686 cl_data = kzalloc(sizeof(*cl_data), GFP_KERNEL); in hsc_probe()
687 if (!cl_data) in hsc_probe()
705 mutex_init(&cl_data->lock); in hsc_probe()
706 hsi_client_set_drvdata(cl, cl_data); in hsc_probe()
707 cdev_init(&cl_data->cdev, &hsc_fops); in hsc_probe()
708 cl_data->cdev.owner = THIS_MODULE; in hsc_probe()
709 cl_data->cl = cl; in hsc_probe()
710 for (i = 0, channel = cl_data->channels; i < HSC_DEVS; i++, channel++) { in hsc_probe()
714 channel->cl_data = cl_data; in hsc_probe()
718 ret = cdev_add(&cl_data->cdev, hsc_dev, HSC_DEVS); in hsc_probe()
728 kfree(cl_data); in hsc_probe()
736 struct hsc_client_data *cl_data = hsi_client_drvdata(cl); in hsc_remove() local
737 dev_t hsc_dev = cl_data->cdev.dev; in hsc_remove()
739 cdev_del(&cl_data->cdev); in hsc_remove()
742 kfree(cl_data); in hsc_remove()