Re: [tpmdd-devel] [PATCH] tpm: Add sysfs interface to show TPM family version

From: James Bottomley
Date: Mon Mar 13 2017 - 14:46:32 EST


On Mon, 2017-03-13 at 17:20 +0800, Meng.Li@xxxxxxxxxxxxx wrote:
[...]
> +/**
> + * tpm_create_sysfs - Create tpm sysfs interface.
> + * @dev: pointer to tpm chip device
> + *
> + * Create sysfs interface for checking current TPM hardware version.
> + */
> +static int tpm_create_sysfs(struct device *dev)
> +{
> + int r, t;
> +
> + for (t = 0; t < ARRAY_SIZE(tpm_attrs); t++) {
> + r = device_create_file(dev, &tpm_attrs[t]);
> + if (r) {
> + dev_err(dev, "failed to create sysfs
> file\n");
> + return r;
> + }
> + }
> +
> + return 0;
> +}
> +
> +/**
> + * tpm_remove_sysfs - Remove tpm sysfs interface.
> + * @dev: pointer to tpm chip device
> + *
> + * Remove sysfs interface for checking current TPM hardware version.
> + */
> +static void tpm_remove_sysfs(struct device *dev)
> +{
> + int t;
> +
> + for (t = 0; t < ARRAY_SIZE(tpm_attrs); t++) {
> + device_remove_file(dev, &tpm_attrs[t]);
> + }
> +}
> +

For non-dynamic attributes, use the attribute_group structure in the
device instead. It will take care of creation and removal
automatically.

James