1 /* SPDX-License-Identifier: GPL-2.0 */
5 #include <linux/poll.h>
10 struct tpm_space
*space
;
12 struct mutex buffer_mutex
;
13 struct timer_list user_read_timer
; /* user needs to claim result */
14 struct work_struct timeout_work
;
15 struct work_struct async_work
;
16 wait_queue_head_t async_wait
;
17 ssize_t response_length
;
19 bool command_enqueued
;
21 u8 data_buffer
[TPM_BUFSIZE
];
24 void tpm_common_open(struct file
*file
, struct tpm_chip
*chip
,
25 struct file_priv
*priv
, struct tpm_space
*space
);
26 ssize_t
tpm_common_read(struct file
*file
, char __user
*buf
,
27 size_t size
, loff_t
*off
);
28 ssize_t
tpm_common_write(struct file
*file
, const char __user
*buf
,
29 size_t size
, loff_t
*off
);
30 __poll_t
tpm_common_poll(struct file
*file
, poll_table
*wait
);
32 void tpm_common_release(struct file
*file
, struct file_priv
*priv
);