driver/char/tpm: fix regression causesd by ppi
authorGang Wei <gang.wei@intel.com>
Tue, 9 Oct 2012 09:35:22 +0000 (17:35 +0800)
committerKent Yoder <key@linux.vnet.ibm.com>
Wed, 10 Oct 2012 14:50:56 +0000 (09:50 -0500)
commit1631cfb7cee28388b04aef6c0a73050f6fd76e4d
treec3c5d069dedb5c1084a18ddb3be06c6e9a6aa9de
parentecefbd94b834fa32559d854646d777c56749ef1c
driver/char/tpm: fix regression causesd by ppi

This patch try to fix the S3 regression https://lkml.org/lkml/2012/10/5/433,
which includes below line:
[ 1554.684638] sysfs: cannot create duplicate filename '/devices/pnp0/00:0c/ppi'

The root cause is that ppi sysfs teardown code is MIA, so while S3 resume,
the ppi kobject will be created again upon existing one.

To make the tear down code simple, change the ppi subfolder creation from
using kobject_create_and_add to just using a named ppi attribute_group. Then
ppi sysfs teardown could be done with a simple sysfs_remove_group call.

Adjusted the name & return type for ppi sysfs init function.

Reported-by: Ben Guthro <ben@guthro.net>
Signed-off-by: Gang Wei <gang.wei@intel.com>
Signed-off-by: Kent Yoder <key@linux.vnet.ibm.com>
drivers/char/tpm/tpm.c
drivers/char/tpm/tpm.h
drivers/char/tpm/tpm_ppi.c