From 6259210176510c64251a314ffb74834a790f09a0 Mon Sep 17 00:00:00 2001 From: Stefan Berger Date: Wed, 30 Mar 2011 12:13:28 -0400 Subject: tpm_tis: Add timeouts sysfs entry Display the TPM's interface timeouts in a 'timeouts' sysfs entry. Display the entries as having been adjusted when they were scaled due to their values being reported in milliseconds rather than microseconds. Signed-off-by: Stefan Berger Signed-off-by: Rajiv Andrade --- drivers/char/tpm/tpm.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'drivers/char/tpm/tpm.c') diff --git a/drivers/char/tpm/tpm.c b/drivers/char/tpm/tpm.c index 533ae359cb28..873ef50aad90 100644 --- a/drivers/char/tpm/tpm.c +++ b/drivers/char/tpm/tpm.c @@ -557,6 +557,7 @@ void tpm_get_timeouts(struct tpm_chip *chip) if (timeout && timeout < 1000) { /* timeouts in msec rather usec */ scale = 1000; + chip->vendor.timeout_adjusted = true; } if (timeout) chip->vendor.timeout_a = usecs_to_jiffies(timeout * scale); @@ -965,6 +966,21 @@ ssize_t tpm_show_durations(struct device *dev, struct device_attribute *attr, } EXPORT_SYMBOL_GPL(tpm_show_durations); +ssize_t tpm_show_timeouts(struct device *dev, struct device_attribute *attr, + char *buf) +{ + struct tpm_chip *chip = dev_get_drvdata(dev); + + return sprintf(buf, "%d %d %d %d [%s]\n", + jiffies_to_usecs(chip->vendor.timeout_a), + jiffies_to_usecs(chip->vendor.timeout_b), + jiffies_to_usecs(chip->vendor.timeout_c), + jiffies_to_usecs(chip->vendor.timeout_d), + chip->vendor.timeout_adjusted + ? "adjusted" : "original"); +} +EXPORT_SYMBOL_GPL(tpm_show_timeouts); + ssize_t tpm_store_cancel(struct device *dev, struct device_attribute *attr, const char *buf, size_t count) { -- cgit v1.2.3