Received: by 2002:a25:8b91:0:0:0:0:0 with SMTP id j17csp291685ybl; Tue, 28 Jan 2020 03:19:30 -0800 (PST) X-Google-Smtp-Source: APXvYqwtJ0aBlRQWRYxy7hA/OGgN3rRBSJbdKUE/m/UCNSkQfmE9wrNbpXwuOSCMSbdOn1+65DW4 X-Received: by 2002:a05:6830:1bda:: with SMTP id v26mr15491039ota.314.1580210370515; Tue, 28 Jan 2020 03:19:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1580210370; cv=none; d=google.com; s=arc-20160816; b=CJfAE6QitxqfP56nvSDIKQbXyD63ui7rTSpumZfCucc9FShv++fGFxRmgGfpwLLJI5 +8mvZCpC7P+WWM2LeWXoE1O4J5p8S+TJtAm5JLiykAyL5dlWRAaSK5++DkbUZccnf720 9zNwtUn0tpWOsTZyO892BnspiLjkbUeUEd9smO29ki2mgKo7PPAddIx4VEWFnQLB984j mRtfTv/BA2rmGfKBH7WMtHoK6kIKx6PSHSGNRg0qsFnGby6awOJwMhCkzJ7kGOSHdpQX NOdHJaChUuzkscp37dVOKwyb6a6qXmlhCk8gLddp7JU+0TQzjivIW0l6fiPl+mNcxrWq FTmQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:message-id:date:subject:cc :to:from; bh=+9V34SAn+pE7UN7gdbX5ElJ9VGeGRQHF47qiA4WApp0=; b=u/+MVMWOFZzPcOjpjDO6Dugi+EG3ifT2xFxRnbtCYijeReruYL/ljiD6JbWP/rL/bb xCvZjI3SfJAD9vu5b+d31mW9BwuZHZQ5EqK2PrmQl+qk3fQztV8VrHTs0Cojww6qEIL+ 1xBTW3EkjWFEpZJzpZbfthxdGmj2KFNkZp0UboUleG67srcqSPc9HGVjQCb+6Yne7SiQ affS3CdkRDOYIY+P7ZHgJk+lKMJvDemb7tMY6seA2OPoB1012XvVW4FVOD68GEHKKmQl laq18MAmoCEbzD3P4NoYb5NlVGg8B9w3k8V911XgLdv5FqjaItPzHXadsOZRmj5LdjpS kR1w== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id x137si4869952oif.42.2020.01.28.03.19.16; Tue, 28 Jan 2020 03:19:30 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726142AbgA1LSQ (ORCPT + 99 others); Tue, 28 Jan 2020 06:18:16 -0500 Received: from szxga07-in.huawei.com ([45.249.212.35]:37670 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725948AbgA1LSP (ORCPT ); Tue, 28 Jan 2020 06:18:15 -0500 Received: from DGGEMS406-HUB.china.huawei.com (unknown [172.30.72.58]) by Forcepoint Email with ESMTP id 496A1E444703DA9C65CE; Tue, 28 Jan 2020 19:18:10 +0800 (CST) Received: from localhost.localdomain (10.69.192.58) by DGGEMS406-HUB.china.huawei.com (10.3.19.206) with Microsoft SMTP Server id 14.3.439.0; Tue, 28 Jan 2020 19:18:02 +0800 From: John Garry To: , CC: , , , , , , , John Garry Subject: [PATCH RFC 0/2] Add basic generic ACPI soc driver Date: Tue, 28 Jan 2020 19:14:17 +0800 Message-ID: <1580210059-199540-1-git-send-email-john.garry@huawei.com> X-Mailer: git-send-email 2.8.1 MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.69.192.58] X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org A requirement has come up recently to be able to read system SoC packages identifiers from userspace [0]. For device tree FW-based systems, this would be quite straightforward, in that we could add a soc driver for that system and use the DT model identifier as the soc id - that's how most soc drivers seem to do it. For ACPI-based systems, the only place I know to get (put) such SoC information is in the PPTT, specifically the ID Type Structure for a processor package node. A processor package node describes a physical boundary of a processor topology. The ACPI spec does not declare how the fields in this structure must be used, however it does provide pretty clear examples, which I would expect most implementers to follow. As such, I try to solve the problem in 2 parts: - Add ACPI PPTT API to get opaque package structure - Add basic ACPI generic soc driver, which can interpret the fields for known platforms to fill in the ID Type Structure as per example in the spec. So I'm hoping here for some comments on this approach - hence the RFC. I've cc'ed some folks which may have suggestions. [0] https://lore.kernel.org/linux-arm-kernel/1579876505-113251-6-git-send-email-john.garry@huawei.com/ , https://lore.kernel.org/linux-arm-kernel/1579876505-113251-1-git-send-email-john.garry@huawei.com/ John Garry (2): ACPI/PPTT: Add acpi_pptt_get_package_info() API soc: Add a basic ACPI generic driver drivers/acpi/pptt.c | 81 +++++++++++++++++++++++++++++ drivers/soc/Makefile | 1 + drivers/soc/acpi_generic.c | 102 +++++++++++++++++++++++++++++++++++++ include/linux/acpi.h | 13 +++++ 4 files changed, 197 insertions(+) create mode 100644 drivers/soc/acpi_generic.c -- 2.17.1