Drive the force=1 flow through the driver core. There are two main reasons to do this: 1) To enable tpm_tis for OF environments requires a platform_device anyhow, so the force_device needs to be re-used for them. 2) Recent changes in the core code break the assumption that a driver will be 'attached' to things created through platform_device_register_simple, which causes the tpm core to blow up.
To make force probing reliable this also fixes both tpm_tis and tpm_crb to properly use request_region to lock the TPM iomemory against multiple access. v3: - Fix some bugs in getting the struct resource for tpm_tis (Martin Wilck) - Include tpm_crb in the request_resource cleanup as well, tpm_tis and tpm_crb tend to use the same address ranges so both should have locking for safety - ACPI and endianness cleanups in both drivers v2: - Make sure we request the mem resource in tpm_tis to avoid double-loading the driver - Re-order the init sequence so that a forced platform device gets first crack at loading, and excludes the other mechanisms via the above - Checkpatch clean - Gotos renamed Jason Gunthorpe (7): tpm_crb: Use the common ACPI definition of struct acpi_tpm2 tpm_tis: Disable interrupt auto probing on a per-device basis tpm_tis: Do not fall back to a hardcoded address for TPM2 tpm_tis: Use devm_ioremap_resource tpm_tis: Clean up the force=1 module parameter tpm_crb: Drop le32_to_cpu(ioread32(..)) tpm_crb: Use devm_ioremap_resource drivers/char/tpm/tpm.h | 7 -- drivers/char/tpm/tpm_crb.c | 196 +++++++++++++++++++++------------- drivers/char/tpm/tpm_tis.c | 254 +++++++++++++++++++++++++-------------------- 3 files changed, 264 insertions(+), 193 deletions(-) -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/