Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754599AbbLQSYH (ORCPT ); Thu, 17 Dec 2015 13:24:07 -0500 Received: from quartz.orcorp.ca ([184.70.90.242]:35408 "EHLO quartz.orcorp.ca" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752004AbbLQSXe (ORCPT ); Thu, 17 Dec 2015 13:23:34 -0500 From: Jason Gunthorpe To: Jarkko Sakkinen , tpmdd-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Cc: Martin Wilck , Peter Huewe , =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= Subject: [PATCH v3 0/7] tpm_tis: Clean up force module parameter Date: Thu, 17 Dec 2015 11:23:13 -0700 Message-Id: <1450376600-6970-1-git-send-email-jgunthorpe@obsidianresearch.com> X-Mailer: git-send-email 2.1.4 X-Broken-Reverse-DNS: no host name found for IP address 10.0.0.160 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1995 Lines: 46 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 majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/