proxy_dev          55 drivers/char/tpm/tpm_vtpm_proxy.c static void vtpm_proxy_delete_device(struct proxy_dev *proxy_dev);
proxy_dev          75 drivers/char/tpm/tpm_vtpm_proxy.c 	struct proxy_dev *proxy_dev = filp->private_data;
proxy_dev          79 drivers/char/tpm/tpm_vtpm_proxy.c 	sig = wait_event_interruptible(proxy_dev->wq,
proxy_dev          80 drivers/char/tpm/tpm_vtpm_proxy.c 		proxy_dev->req_len != 0 ||
proxy_dev          81 drivers/char/tpm/tpm_vtpm_proxy.c 		!(proxy_dev->state & STATE_OPENED_FLAG));
proxy_dev          85 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_lock(&proxy_dev->buf_lock);
proxy_dev          87 drivers/char/tpm/tpm_vtpm_proxy.c 	if (!(proxy_dev->state & STATE_OPENED_FLAG)) {
proxy_dev          88 drivers/char/tpm/tpm_vtpm_proxy.c 		mutex_unlock(&proxy_dev->buf_lock);
proxy_dev          92 drivers/char/tpm/tpm_vtpm_proxy.c 	len = proxy_dev->req_len;
proxy_dev          95 drivers/char/tpm/tpm_vtpm_proxy.c 		mutex_unlock(&proxy_dev->buf_lock);
proxy_dev         101 drivers/char/tpm/tpm_vtpm_proxy.c 	rc = copy_to_user(buf, proxy_dev->buffer, len);
proxy_dev         102 drivers/char/tpm/tpm_vtpm_proxy.c 	memset(proxy_dev->buffer, 0, len);
proxy_dev         103 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev->req_len = 0;
proxy_dev         106 drivers/char/tpm/tpm_vtpm_proxy.c 		proxy_dev->state |= STATE_WAIT_RESPONSE_FLAG;
proxy_dev         108 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_unlock(&proxy_dev->buf_lock);
proxy_dev         130 drivers/char/tpm/tpm_vtpm_proxy.c 	struct proxy_dev *proxy_dev = filp->private_data;
proxy_dev         132 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_lock(&proxy_dev->buf_lock);
proxy_dev         134 drivers/char/tpm/tpm_vtpm_proxy.c 	if (!(proxy_dev->state & STATE_OPENED_FLAG)) {
proxy_dev         135 drivers/char/tpm/tpm_vtpm_proxy.c 		mutex_unlock(&proxy_dev->buf_lock);
proxy_dev         139 drivers/char/tpm/tpm_vtpm_proxy.c 	if (count > sizeof(proxy_dev->buffer) ||
proxy_dev         140 drivers/char/tpm/tpm_vtpm_proxy.c 	    !(proxy_dev->state & STATE_WAIT_RESPONSE_FLAG)) {
proxy_dev         141 drivers/char/tpm/tpm_vtpm_proxy.c 		mutex_unlock(&proxy_dev->buf_lock);
proxy_dev         145 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev->state &= ~STATE_WAIT_RESPONSE_FLAG;
proxy_dev         147 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev->req_len = 0;
proxy_dev         149 drivers/char/tpm/tpm_vtpm_proxy.c 	if (copy_from_user(proxy_dev->buffer, buf, count)) {
proxy_dev         150 drivers/char/tpm/tpm_vtpm_proxy.c 		mutex_unlock(&proxy_dev->buf_lock);
proxy_dev         154 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev->resp_len = count;
proxy_dev         156 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_unlock(&proxy_dev->buf_lock);
proxy_dev         158 drivers/char/tpm/tpm_vtpm_proxy.c 	wake_up_interruptible(&proxy_dev->wq);
proxy_dev         173 drivers/char/tpm/tpm_vtpm_proxy.c 	struct proxy_dev *proxy_dev = filp->private_data;
proxy_dev         176 drivers/char/tpm/tpm_vtpm_proxy.c 	poll_wait(filp, &proxy_dev->wq, wait);
proxy_dev         180 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_lock(&proxy_dev->buf_lock);
proxy_dev         182 drivers/char/tpm/tpm_vtpm_proxy.c 	if (proxy_dev->req_len)
proxy_dev         185 drivers/char/tpm/tpm_vtpm_proxy.c 	if (!(proxy_dev->state & STATE_OPENED_FLAG))
proxy_dev         188 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_unlock(&proxy_dev->buf_lock);
proxy_dev         202 drivers/char/tpm/tpm_vtpm_proxy.c 	struct proxy_dev *proxy_dev = filp->private_data;
proxy_dev         204 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev->state |= STATE_OPENED_FLAG;
proxy_dev         213 drivers/char/tpm/tpm_vtpm_proxy.c static void vtpm_proxy_fops_undo_open(struct proxy_dev *proxy_dev)
proxy_dev         215 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_lock(&proxy_dev->buf_lock);
proxy_dev         217 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev->state &= ~STATE_OPENED_FLAG;
proxy_dev         219 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_unlock(&proxy_dev->buf_lock);
proxy_dev         222 drivers/char/tpm/tpm_vtpm_proxy.c 	wake_up_interruptible(&proxy_dev->wq);
proxy_dev         235 drivers/char/tpm/tpm_vtpm_proxy.c 	struct proxy_dev *proxy_dev = filp->private_data;
proxy_dev         239 drivers/char/tpm/tpm_vtpm_proxy.c 	vtpm_proxy_delete_device(proxy_dev);
proxy_dev         269 drivers/char/tpm/tpm_vtpm_proxy.c 	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
proxy_dev         273 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_lock(&proxy_dev->buf_lock);
proxy_dev         275 drivers/char/tpm/tpm_vtpm_proxy.c 	if (!(proxy_dev->state & STATE_OPENED_FLAG)) {
proxy_dev         276 drivers/char/tpm/tpm_vtpm_proxy.c 		mutex_unlock(&proxy_dev->buf_lock);
proxy_dev         280 drivers/char/tpm/tpm_vtpm_proxy.c 	len = proxy_dev->resp_len;
proxy_dev         289 drivers/char/tpm/tpm_vtpm_proxy.c 	memcpy(buf, proxy_dev->buffer, len);
proxy_dev         290 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev->resp_len = 0;
proxy_dev         293 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_unlock(&proxy_dev->buf_lock);
proxy_dev         332 drivers/char/tpm/tpm_vtpm_proxy.c 	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
proxy_dev         334 drivers/char/tpm/tpm_vtpm_proxy.c 	if (count > sizeof(proxy_dev->buffer)) {
proxy_dev         337 drivers/char/tpm/tpm_vtpm_proxy.c 			count, sizeof(proxy_dev->buffer));
proxy_dev         341 drivers/char/tpm/tpm_vtpm_proxy.c 	if (!(proxy_dev->state & STATE_DRIVER_COMMAND) &&
proxy_dev         345 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_lock(&proxy_dev->buf_lock);
proxy_dev         347 drivers/char/tpm/tpm_vtpm_proxy.c 	if (!(proxy_dev->state & STATE_OPENED_FLAG)) {
proxy_dev         348 drivers/char/tpm/tpm_vtpm_proxy.c 		mutex_unlock(&proxy_dev->buf_lock);
proxy_dev         352 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev->resp_len = 0;
proxy_dev         354 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev->req_len = count;
proxy_dev         355 drivers/char/tpm/tpm_vtpm_proxy.c 	memcpy(proxy_dev->buffer, buf, count);
proxy_dev         357 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev->state &= ~STATE_WAIT_RESPONSE_FLAG;
proxy_dev         359 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_unlock(&proxy_dev->buf_lock);
proxy_dev         361 drivers/char/tpm/tpm_vtpm_proxy.c 	wake_up_interruptible(&proxy_dev->wq);
proxy_dev         373 drivers/char/tpm/tpm_vtpm_proxy.c 	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
proxy_dev         375 drivers/char/tpm/tpm_vtpm_proxy.c 	if (proxy_dev->resp_len)
proxy_dev         383 drivers/char/tpm/tpm_vtpm_proxy.c 	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
proxy_dev         386 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_lock(&proxy_dev->buf_lock);
proxy_dev         388 drivers/char/tpm/tpm_vtpm_proxy.c 	ret = !(proxy_dev->state & STATE_OPENED_FLAG);
proxy_dev         390 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_unlock(&proxy_dev->buf_lock);
proxy_dev         400 drivers/char/tpm/tpm_vtpm_proxy.c 	struct proxy_dev *proxy_dev = dev_get_drvdata(&chip->dev);
proxy_dev         412 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev->state |= STATE_DRIVER_COMMAND;
proxy_dev         416 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev->state &= ~STATE_DRIVER_COMMAND;
proxy_dev         453 drivers/char/tpm/tpm_vtpm_proxy.c 	struct proxy_dev *proxy_dev = container_of(work, struct proxy_dev,
proxy_dev         457 drivers/char/tpm/tpm_vtpm_proxy.c 	rc = tpm_chip_register(proxy_dev->chip);
proxy_dev         459 drivers/char/tpm/tpm_vtpm_proxy.c 		vtpm_proxy_fops_undo_open(proxy_dev);
proxy_dev         461 drivers/char/tpm/tpm_vtpm_proxy.c 		proxy_dev->state |= STATE_REGISTERED_FLAG;
proxy_dev         470 drivers/char/tpm/tpm_vtpm_proxy.c static void vtpm_proxy_work_stop(struct proxy_dev *proxy_dev)
proxy_dev         472 drivers/char/tpm/tpm_vtpm_proxy.c 	vtpm_proxy_fops_undo_open(proxy_dev);
proxy_dev         473 drivers/char/tpm/tpm_vtpm_proxy.c 	flush_work(&proxy_dev->work);
proxy_dev         479 drivers/char/tpm/tpm_vtpm_proxy.c static inline void vtpm_proxy_work_start(struct proxy_dev *proxy_dev)
proxy_dev         481 drivers/char/tpm/tpm_vtpm_proxy.c 	queue_work(workqueue, &proxy_dev->work);
proxy_dev         487 drivers/char/tpm/tpm_vtpm_proxy.c static struct proxy_dev *vtpm_proxy_create_proxy_dev(void)
proxy_dev         489 drivers/char/tpm/tpm_vtpm_proxy.c 	struct proxy_dev *proxy_dev;
proxy_dev         493 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev = kzalloc(sizeof(*proxy_dev), GFP_KERNEL);
proxy_dev         494 drivers/char/tpm/tpm_vtpm_proxy.c 	if (proxy_dev == NULL)
proxy_dev         497 drivers/char/tpm/tpm_vtpm_proxy.c 	init_waitqueue_head(&proxy_dev->wq);
proxy_dev         498 drivers/char/tpm/tpm_vtpm_proxy.c 	mutex_init(&proxy_dev->buf_lock);
proxy_dev         499 drivers/char/tpm/tpm_vtpm_proxy.c 	INIT_WORK(&proxy_dev->work, vtpm_proxy_work);
proxy_dev         506 drivers/char/tpm/tpm_vtpm_proxy.c 	dev_set_drvdata(&chip->dev, proxy_dev);
proxy_dev         508 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev->chip = chip;
proxy_dev         510 drivers/char/tpm/tpm_vtpm_proxy.c 	return proxy_dev;
proxy_dev         513 drivers/char/tpm/tpm_vtpm_proxy.c 	kfree(proxy_dev);
proxy_dev         521 drivers/char/tpm/tpm_vtpm_proxy.c static inline void vtpm_proxy_delete_proxy_dev(struct proxy_dev *proxy_dev)
proxy_dev         523 drivers/char/tpm/tpm_vtpm_proxy.c 	put_device(&proxy_dev->chip->dev); /* frees chip */
proxy_dev         524 drivers/char/tpm/tpm_vtpm_proxy.c 	kfree(proxy_dev);
proxy_dev         536 drivers/char/tpm/tpm_vtpm_proxy.c 	struct proxy_dev *proxy_dev;
proxy_dev         543 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev = vtpm_proxy_create_proxy_dev();
proxy_dev         544 drivers/char/tpm/tpm_vtpm_proxy.c 	if (IS_ERR(proxy_dev))
proxy_dev         545 drivers/char/tpm/tpm_vtpm_proxy.c 		return ERR_CAST(proxy_dev);
proxy_dev         547 drivers/char/tpm/tpm_vtpm_proxy.c 	proxy_dev->flags = vtpm_new_dev->flags;
proxy_dev         556 drivers/char/tpm/tpm_vtpm_proxy.c 	file = anon_inode_getfile("[vtpms]", &vtpm_proxy_fops, proxy_dev,
proxy_dev         567 drivers/char/tpm/tpm_vtpm_proxy.c 	if (proxy_dev->flags & VTPM_PROXY_FLAG_TPM2)
proxy_dev         568 drivers/char/tpm/tpm_vtpm_proxy.c 		proxy_dev->chip->flags |= TPM_CHIP_FLAG_TPM2;
proxy_dev         570 drivers/char/tpm/tpm_vtpm_proxy.c 	vtpm_proxy_work_start(proxy_dev);
proxy_dev         573 drivers/char/tpm/tpm_vtpm_proxy.c 	vtpm_new_dev->major = MAJOR(proxy_dev->chip->dev.devt);
proxy_dev         574 drivers/char/tpm/tpm_vtpm_proxy.c 	vtpm_new_dev->minor = MINOR(proxy_dev->chip->dev.devt);
proxy_dev         575 drivers/char/tpm/tpm_vtpm_proxy.c 	vtpm_new_dev->tpm_num = proxy_dev->chip->dev_num;
proxy_dev         583 drivers/char/tpm/tpm_vtpm_proxy.c 	vtpm_proxy_delete_proxy_dev(proxy_dev);
proxy_dev         591 drivers/char/tpm/tpm_vtpm_proxy.c static void vtpm_proxy_delete_device(struct proxy_dev *proxy_dev)
proxy_dev         593 drivers/char/tpm/tpm_vtpm_proxy.c 	vtpm_proxy_work_stop(proxy_dev);
proxy_dev         600 drivers/char/tpm/tpm_vtpm_proxy.c 	vtpm_proxy_fops_undo_open(proxy_dev);
proxy_dev         602 drivers/char/tpm/tpm_vtpm_proxy.c 	if (proxy_dev->state & STATE_REGISTERED_FLAG)
proxy_dev         603 drivers/char/tpm/tpm_vtpm_proxy.c 		tpm_chip_unregister(proxy_dev->chip);
proxy_dev         605 drivers/char/tpm/tpm_vtpm_proxy.c 	vtpm_proxy_delete_proxy_dev(proxy_dev);