Loading drivers/char/tpm/tpm.c +2 −1 Original line number Original line Diff line number Diff line Loading @@ -1259,6 +1259,7 @@ void tpm_remove_hardware(struct device *dev) misc_deregister(&chip->vendor.miscdev); misc_deregister(&chip->vendor.miscdev); sysfs_remove_group(&dev->kobj, chip->vendor.attr_group); sysfs_remove_group(&dev->kobj, chip->vendor.attr_group); tpm_remove_ppi(&dev->kobj); tpm_bios_log_teardown(chip->bios_dir); tpm_bios_log_teardown(chip->bios_dir); /* write it this way to be explicit (chip->dev == dev) */ /* write it this way to be explicit (chip->dev == dev) */ Loading Loading @@ -1476,7 +1477,7 @@ struct tpm_chip *tpm_register_hardware(struct device *dev, goto put_device; goto put_device; } } if (sys_add_ppi(&dev->kobj)) { if (tpm_add_ppi(&dev->kobj)) { misc_deregister(&chip->vendor.miscdev); misc_deregister(&chip->vendor.miscdev); goto put_device; goto put_device; } } Loading drivers/char/tpm/tpm.h +7 −2 Original line number Original line Diff line number Diff line Loading @@ -329,10 +329,15 @@ extern int wait_for_tpm_stat(struct tpm_chip *, u8, unsigned long, wait_queue_head_t *); wait_queue_head_t *); #ifdef CONFIG_ACPI #ifdef CONFIG_ACPI extern ssize_t sys_add_ppi(struct kobject *parent); extern int tpm_add_ppi(struct kobject *); extern void tpm_remove_ppi(struct kobject *); #else #else static inline ssize_t sys_add_ppi(struct kobject *parent) static inline int tpm_add_ppi(struct kobject *parent) { { return 0; return 0; } } static inline void tpm_remove_ppi(struct kobject *parent) { } #endif #endif drivers/char/tpm/tpm_ppi.c +10 −8 Original line number Original line Diff line number Diff line Loading @@ -444,18 +444,20 @@ static struct attribute *ppi_attrs[] = { &dev_attr_vs_operations.attr, NULL, &dev_attr_vs_operations.attr, NULL, }; }; static struct attribute_group ppi_attr_grp = { static struct attribute_group ppi_attr_grp = { .name = "ppi", .attrs = ppi_attrs .attrs = ppi_attrs }; }; ssize_t sys_add_ppi(struct kobject *parent) int tpm_add_ppi(struct kobject *parent) { { struct kobject *ppi; return sysfs_create_group(parent, &ppi_attr_grp); ppi = kobject_create_and_add("ppi", parent); } if (sysfs_create_group(ppi, &ppi_attr_grp)) EXPORT_SYMBOL_GPL(tpm_add_ppi); return -EFAULT; else void tpm_remove_ppi(struct kobject *parent) return 0; { sysfs_remove_group(parent, &ppi_attr_grp); } } EXPORT_SYMBOL_GPL(sys_add_ppi); EXPORT_SYMBOL_GPL(tpm_remove_ppi); MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL"); Loading
drivers/char/tpm/tpm.c +2 −1 Original line number Original line Diff line number Diff line Loading @@ -1259,6 +1259,7 @@ void tpm_remove_hardware(struct device *dev) misc_deregister(&chip->vendor.miscdev); misc_deregister(&chip->vendor.miscdev); sysfs_remove_group(&dev->kobj, chip->vendor.attr_group); sysfs_remove_group(&dev->kobj, chip->vendor.attr_group); tpm_remove_ppi(&dev->kobj); tpm_bios_log_teardown(chip->bios_dir); tpm_bios_log_teardown(chip->bios_dir); /* write it this way to be explicit (chip->dev == dev) */ /* write it this way to be explicit (chip->dev == dev) */ Loading Loading @@ -1476,7 +1477,7 @@ struct tpm_chip *tpm_register_hardware(struct device *dev, goto put_device; goto put_device; } } if (sys_add_ppi(&dev->kobj)) { if (tpm_add_ppi(&dev->kobj)) { misc_deregister(&chip->vendor.miscdev); misc_deregister(&chip->vendor.miscdev); goto put_device; goto put_device; } } Loading
drivers/char/tpm/tpm.h +7 −2 Original line number Original line Diff line number Diff line Loading @@ -329,10 +329,15 @@ extern int wait_for_tpm_stat(struct tpm_chip *, u8, unsigned long, wait_queue_head_t *); wait_queue_head_t *); #ifdef CONFIG_ACPI #ifdef CONFIG_ACPI extern ssize_t sys_add_ppi(struct kobject *parent); extern int tpm_add_ppi(struct kobject *); extern void tpm_remove_ppi(struct kobject *); #else #else static inline ssize_t sys_add_ppi(struct kobject *parent) static inline int tpm_add_ppi(struct kobject *parent) { { return 0; return 0; } } static inline void tpm_remove_ppi(struct kobject *parent) { } #endif #endif
drivers/char/tpm/tpm_ppi.c +10 −8 Original line number Original line Diff line number Diff line Loading @@ -444,18 +444,20 @@ static struct attribute *ppi_attrs[] = { &dev_attr_vs_operations.attr, NULL, &dev_attr_vs_operations.attr, NULL, }; }; static struct attribute_group ppi_attr_grp = { static struct attribute_group ppi_attr_grp = { .name = "ppi", .attrs = ppi_attrs .attrs = ppi_attrs }; }; ssize_t sys_add_ppi(struct kobject *parent) int tpm_add_ppi(struct kobject *parent) { { struct kobject *ppi; return sysfs_create_group(parent, &ppi_attr_grp); ppi = kobject_create_and_add("ppi", parent); } if (sysfs_create_group(ppi, &ppi_attr_grp)) EXPORT_SYMBOL_GPL(tpm_add_ppi); return -EFAULT; else void tpm_remove_ppi(struct kobject *parent) return 0; { sysfs_remove_group(parent, &ppi_attr_grp); } } EXPORT_SYMBOL_GPL(sys_add_ppi); EXPORT_SYMBOL_GPL(tpm_remove_ppi); MODULE_LICENSE("GPL"); MODULE_LICENSE("GPL");