Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753182AbbLFBZR (ORCPT ); Sat, 5 Dec 2015 20:25:17 -0500 Received: from mga11.intel.com ([192.55.52.93]:47304 "EHLO mga11.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751089AbbLFBZO (ORCPT ); Sat, 5 Dec 2015 20:25:14 -0500 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.20,387,1444719600"; d="scan'208";a="8220666" Date: Sun, 6 Dec 2015 03:25:11 +0200 From: Jarkko Sakkinen To: Jason Gunthorpe Cc: tpmdd-devel@lists.sourceforge.net, linux-kernel@vger.kernel.org Subject: Re: [PATCH] tpm_crb: Use the common ACPI definition of struct acpi_tpm2 Message-ID: <20151206012511.GA9367@intel.com> References: <20151202191900.GA12489@obsidianresearch.com> <20151203082753.GA18043@intel.com> <20151203170217.GB32175@obsidianresearch.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20151203170217.GB32175@obsidianresearch.com> Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1481 Lines: 40 On Thu, Dec 03, 2015 at 10:02:17AM -0700, Jason Gunthorpe wrote: > On Thu, Dec 03, 2015 at 10:27:53AM +0200, Jarkko Sakkinen wrote: > > On Wed, Dec 02, 2015 at 12:19:00PM -0700, Jason Gunthorpe wrote: > > > include/acpi/actbl2.h is the proper place for these definitions > > > and the needed TPM2 ones have been there since > > > commit 413d4a6defe0 ("ACPICA: Update TPM2 ACPI table") > > > > > > This also drops the le32_to_cpu for members of this table, > > > consistent with other ACPI stuff. > > > > Why le32_to_cpu() is not needed? > > Why is it needed? > > None of the fields are marked le32 in the struct and no other ACPI > thing I could find swaps. > > If swapping is needed then the struct fields must be declared as 'le' I'm just puzzling with three things: 1. Does it do conversion to the CPU format internally if you use the tables in a big-endian environment? 2. Isn't that code import from ACPICA? That would explains why it does not have tagged fields. 3. Could the reason be for such conversions not widely applied in the kernel that ACPI has been previously mostly used only in the PC/x86 ecosystem? AFAIK ACPI exist also for ARM64 servers, which can be a big-endian environment. > Jason /Jarkko -- 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/