aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/char/tpm/tpm-interface.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/char/tpm/tpm-interface.c')
-rw-r--r--drivers/char/tpm/tpm-interface.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/char/tpm/tpm-interface.c b/drivers/char/tpm/tpm-interface.c
index 389d483a887c..1b012463da7c 100644
--- a/drivers/char/tpm/tpm-interface.c
+++ b/drivers/char/tpm/tpm-interface.c
@@ -1060,7 +1060,7 @@ static void tpm_dev_release(struct device *dev)
1060 * pci_disable_device 1060 * pci_disable_device
1061 */ 1061 */
1062struct tpm_chip *tpm_register_hardware(struct device *dev, 1062struct tpm_chip *tpm_register_hardware(struct device *dev,
1063 const struct tpm_vendor_specific *entry) 1063 const struct tpm_class_ops *ops)
1064{ 1064{
1065 struct tpm_chip *chip; 1065 struct tpm_chip *chip;
1066 1066
@@ -1073,7 +1073,13 @@ struct tpm_chip *tpm_register_hardware(struct device *dev,
1073 mutex_init(&chip->tpm_mutex); 1073 mutex_init(&chip->tpm_mutex);
1074 INIT_LIST_HEAD(&chip->list); 1074 INIT_LIST_HEAD(&chip->list);
1075 1075
1076 memcpy(&chip->vendor, entry, sizeof(struct tpm_vendor_specific)); 1076 chip->vendor.req_complete_mask = ops->req_complete_mask;
1077 chip->vendor.req_complete_val = ops->req_complete_val;
1078 chip->vendor.req_canceled = ops->req_canceled;
1079 chip->vendor.recv = ops->recv;
1080 chip->vendor.send = ops->send;
1081 chip->vendor.cancel = ops->cancel;
1082 chip->vendor.status = ops->status;
1077 1083
1078 chip->dev_num = find_first_zero_bit(dev_mask, TPM_NUM_DEVICES); 1084 chip->dev_num = find_first_zero_bit(dev_mask, TPM_NUM_DEVICES);
1079 1085