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