devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: John Garry <john.garry@huawei.com>
To: mika.westerberg@linux.intel.com, rafael@kernel.org,
	lorenzo.pieralisi@arm.com, rjw@rjwysocki.net, robh+dt@kernel.org,
	bhelgaas@google.com, arnd@arndb.de, mark.rutland@arm.com,
	olof@lixom.net, hanjun.guo@linaro.org,
	dann.frazier@canonical.com
Cc: benh@kernel.crashing.org, linux-kernel@vger.kernel.org,
	linux-acpi@vger.kernel.org, linuxarm@huawei.com,
	linux-pci@vger.kernel.org, minyard@acm.org,
	devicetree@vger.kernel.org, linux-arch@vger.kernel.org,
	John Garry <john.garry@huawei.com>,
	Zhichang Yuan <yuanzhichang@hisilicon.com>,
	Gabriele Paoloni <gabriele.paoloni@huawei.com>
Subject: [PATCH v11 8/9] LPC, ACPI: Add the HISI LPC ACPI support
Date: Sun, 21 Jan 2018 20:27:26 +0800	[thread overview]
Message-ID: <1516537647-50553-9-git-send-email-john.garry@huawei.com> (raw)
In-Reply-To: <1516537647-50553-1-git-send-email-john.garry@huawei.com>

Based on the previous patches, this patch supports the LPC host on
Hip06/Hip07 for ACPI FW.

Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Zhichang Yuan <yuanzhichang@hisilicon.com>
Signed-off-by: Gabriele Paoloni <gabriele.paoloni@huawei.com>
Tested-by: dann frazier <dann.frazier@canonical.com>
---
 drivers/acpi/arm64/acpi_indirectio.c | 11 ++++++++++-
 drivers/bus/hisi_lpc.c               | 17 ++++++++++++++++-
 2 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/drivers/acpi/arm64/acpi_indirectio.c b/drivers/acpi/arm64/acpi_indirectio.c
index 2649f57..6403f84 100644
--- a/drivers/acpi/arm64/acpi_indirectio.c
+++ b/drivers/acpi/arm64/acpi_indirectio.c
@@ -142,7 +142,7 @@ int acpi_indirectio_set_logicio_res(struct device *child,
 	return ret;
 }
 
-int
+static int
 acpi_indirectio_pre_setup(struct acpi_device *adev,
 			  struct acpi_indirectio_host_data *pdata)
 {
@@ -239,8 +239,17 @@ int acpi_indirectio_set_logicio_res(struct device *child,
 	return ret;
 }
 
+const struct acpi_indirectio_device_desc hisi_lpc_host_desc = {
+	.pdata = {
+		.io_size = PIO_INDIRECT_SIZE,
+		.io_start = 0,
+	},
+	.pre_setup = acpi_indirectio_pre_setup,
+};
+
 /* All the host devices which apply indirect-IO can be listed here. */
 static const struct acpi_device_id acpi_indirect_host_id[] = {
+	{"HISI0191", INDIRECT_IO_INFO(hisi_lpc_host_desc)},
 	{""},
 };
 
diff --git a/drivers/bus/hisi_lpc.c b/drivers/bus/hisi_lpc.c
index 4ce089a..9cabb84 100644
--- a/drivers/bus/hisi_lpc.c
+++ b/drivers/bus/hisi_lpc.c
@@ -457,7 +457,13 @@ static int hisilpc_probe(struct platform_device *pdev)
 	}
 
 	/* register the LPC host PIO resources */
-	{
+	if (has_acpi_companion(dev)) {
+		lpcdev->io_host = find_io_range_by_fwnode(dev->fwnode);
+		if (!lpcdev->io_host) {
+			dev_err(dev, "range not registered!\n");
+			return -EFAULT;
+		}
+	} else {
 		struct logic_pio_hwaddr *range;
 
 		range = devm_kzalloc(dev, sizeof(*range), GFP_KERNEL);
@@ -515,10 +521,19 @@ static int hisilpc_probe(struct platform_device *pdev)
 	{},
 };
 
+#ifdef CONFIG_ACPI
+static const struct acpi_device_id hisilpc_acpi_match[] = {
+	{"HISI0191", },
+	{},
+};
+
+#endif
+
 static struct platform_driver hisilpc_driver = {
 	.driver = {
 		.name           = "hisi_lpc",
 		.of_match_table = hisilpc_of_match,
+		.acpi_match_table = ACPI_PTR(hisilpc_acpi_match),
 	},
 	.probe = hisilpc_probe,
 };
-- 
1.9.1

  parent reply	other threads:[~2018-01-21 12:27 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-21 12:27 [PATCH v11 0/9] LPC: legacy ISA I/O support John Garry
2018-01-21 12:27 ` [PATCH v11 1/9] LIB: Introduce a generic PIO mapping method John Garry
2018-01-21 13:17   ` kbuild test robot
2018-01-21 13:29   ` kbuild test robot
     [not found] ` <1516537647-50553-1-git-send-email-john.garry-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>
2018-01-21 12:27   ` [PATCH v11 2/9] PCI: Remove unused __weak attribute in pci_register_io_range() John Garry
2018-01-22 11:59     ` John Garry
2018-01-21 12:27   ` [PATCH v11 3/9] PCI: Add fwnode handler as input param of pci_register_io_range() John Garry
2018-01-21 12:27 ` [PATCH v11 4/9] PCI: Apply the new generic I/O management on PCI IO hosts John Garry
2018-01-21 12:27 ` [PATCH v11 5/9] OF: Add missing I/O range exception for indirect-IO devices John Garry
2018-01-21 14:04   ` kbuild test robot
2018-01-21 15:53   ` kbuild test robot
2018-01-21 12:27 ` [PATCH v11 6/9] LPC: Support the LPC host on Hip06/Hip07 with DT bindings John Garry
2018-01-21 17:54   ` Randy Dunlap
2018-01-22 10:13     ` John Garry
2018-01-21 12:27 ` [PATCH v11 7/9] ACPI: Translate the I/O range of non-MMIO devices before scanning John Garry
2018-01-21 12:27 ` John Garry [this message]
2018-01-21 12:27 ` [PATCH v11 9/9] MAINTAINERS: Add maintainer for HiSilicon LPC driver John Garry

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1516537647-50553-9-git-send-email-john.garry@huawei.com \
    --to=john.garry@huawei.com \
    --cc=arnd@arndb.de \
    --cc=benh@kernel.crashing.org \
    --cc=bhelgaas@google.com \
    --cc=dann.frazier@canonical.com \
    --cc=devicetree@vger.kernel.org \
    --cc=gabriele.paoloni@huawei.com \
    --cc=hanjun.guo@linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arch@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=linuxarm@huawei.com \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=mark.rutland@arm.com \
    --cc=mika.westerberg@linux.intel.com \
    --cc=minyard@acm.org \
    --cc=olof@lixom.net \
    --cc=rafael@kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=robh+dt@kernel.org \
    --cc=yuanzhichang@hisilicon.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).