Lines Matching refs:priv
39 struct file_priv *priv = (struct file_priv *)ptr; in user_reader_timeout() local
41 schedule_work(&priv->work); in user_reader_timeout()
46 struct file_priv *priv = container_of(work, struct file_priv, work); in timeout_work() local
48 mutex_lock(&priv->buffer_mutex); in timeout_work()
49 atomic_set(&priv->data_pending, 0); in timeout_work()
50 memset(priv->data_buffer, 0, sizeof(priv->data_buffer)); in timeout_work()
51 mutex_unlock(&priv->buffer_mutex); in timeout_work()
58 struct file_priv *priv; in tpm_open() local
68 priv = kzalloc(sizeof(*priv), GFP_KERNEL); in tpm_open()
69 if (priv == NULL) { in tpm_open()
74 priv->chip = chip; in tpm_open()
75 atomic_set(&priv->data_pending, 0); in tpm_open()
76 mutex_init(&priv->buffer_mutex); in tpm_open()
77 setup_timer(&priv->user_read_timer, user_reader_timeout, in tpm_open()
78 (unsigned long)priv); in tpm_open()
79 INIT_WORK(&priv->work, timeout_work); in tpm_open()
81 file->private_data = priv; in tpm_open()
89 struct file_priv *priv = file->private_data; in tpm_read() local
93 del_singleshot_timer_sync(&priv->user_read_timer); in tpm_read()
94 flush_work(&priv->work); in tpm_read()
95 ret_size = atomic_read(&priv->data_pending); in tpm_read()
101 mutex_lock(&priv->buffer_mutex); in tpm_read()
102 rc = copy_to_user(buf, priv->data_buffer, ret_size); in tpm_read()
103 memset(priv->data_buffer, 0, orig_ret_size); in tpm_read()
107 mutex_unlock(&priv->buffer_mutex); in tpm_read()
110 atomic_set(&priv->data_pending, 0); in tpm_read()
118 struct file_priv *priv = file->private_data; in tpm_write() local
126 if (atomic_read(&priv->data_pending) != 0) in tpm_write()
132 mutex_lock(&priv->buffer_mutex); in tpm_write()
135 (priv->data_buffer, (void __user *) buf, in_size)) { in tpm_write()
136 mutex_unlock(&priv->buffer_mutex); in tpm_write()
141 out_size = tpm_transmit(priv->chip, priv->data_buffer, in tpm_write()
142 sizeof(priv->data_buffer)); in tpm_write()
144 mutex_unlock(&priv->buffer_mutex); in tpm_write()
148 atomic_set(&priv->data_pending, out_size); in tpm_write()
149 mutex_unlock(&priv->buffer_mutex); in tpm_write()
152 mod_timer(&priv->user_read_timer, jiffies + (60 * HZ)); in tpm_write()
162 struct file_priv *priv = file->private_data; in tpm_release() local
164 del_singleshot_timer_sync(&priv->user_read_timer); in tpm_release()
165 flush_work(&priv->work); in tpm_release()
167 atomic_set(&priv->data_pending, 0); in tpm_release()
168 clear_bit(0, &priv->chip->is_open); in tpm_release()
169 put_device(priv->chip->pdev); in tpm_release()
170 kfree(priv); in tpm_release()