OSDN Git Service

tpm: Replace device number bitmap with IDR
authorStefan Berger <stefanb@linux.vnet.ibm.com>
Mon, 29 Feb 2016 13:53:02 +0000 (08:53 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 7 Aug 2017 02:19:43 +0000 (19:19 -0700)
commitf7e0f7f86ce0cf83e3e352399eec5d3b23566824
tree8c4289d6a81503bdb0aac09e89ed80d982382a46
parent7e789223932762e1e7ffdb63f3fd1b42dbeeb789
tpm: Replace device number bitmap with IDR

commit 15516788e581eb32ec1c50e5f00aba3faf95d817 upstream.

Replace the device number bitmap with IDR. Extend the number of devices we
can create to 64k.
Since an IDR allows us to associate a pointer with an ID, we use this now
to rewrite tpm_chip_find_get() to simply look up the chip pointer by the
given device ID.

Protect the IDR calls with a mutex.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
Reviewed-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
Reviewed-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Tested-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/char/tpm/tpm-chip.c
drivers/char/tpm/tpm-interface.c
drivers/char/tpm/tpm.h