This commit adds a driver for the Xaptum ENF Access Card, a TPM2.0 hardware module for authenticating IoT devices and gateways. The card consists of a SPI TPM 2.0 chip and a USB-SPI bridge. This driver configures the bridge, registers the bridge as an SPI controller, and adds the TPM 2.0 as an SPI device. The in-kernel TPM 2.0 driver is then automatically loaded to configure the TPM and expose it to userspace. Changes since v1: * Remove empty spi cleanup function * Fix __beXX/__eXX mismatches * Correct typos in comments * Add break to last case of switch * Check result of kzalloc David R. Bild (2): usb: misc: xapea00x: add driver for Xaptum ENF Access Card usb: misc: xapea00x: perform platform initialization of TPM MAINTAINERS | 6 + drivers/usb/misc/Kconfig | 2 + drivers/usb/misc/Makefile | 1 + drivers/usb/misc/xapea00x/Kconfig | 16 + drivers/usb/misc/xapea00x/Makefile | 8 + drivers/usb/misc/xapea00x/xapea00x-bridge.c | 400 ++++++++++++ drivers/usb/misc/xapea00x/xapea00x-core.c | 451 +++++++++++++ drivers/usb/misc/xapea00x/xapea00x-spi.c | 209 ++++++ drivers/usb/misc/xapea00x/xapea00x-tpm.c | 954 ++++++++++++++++++++++++++++ drivers/usb/misc/xapea00x/xapea00x.h | 75 +++ 10 files changed, 2122 insertions(+) create mode 100644 drivers/usb/misc/xapea00x/Kconfig create mode 100644 drivers/usb/misc/xapea00x/Makefile create mode 100644 drivers/usb/misc/xapea00x/xapea00x-bridge.c create mode 100644 drivers/usb/misc/xapea00x/xapea00x-core.c create mode 100644 drivers/usb/misc/xapea00x/xapea00x-spi.c create mode 100644 drivers/usb/misc/xapea00x/xapea00x-tpm.c create mode 100644 drivers/usb/misc/xapea00x/xapea00x.h -- 2.16.2 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html