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>,
<rdunlap@infradead.org>, John Garry <john.garry@huawei.com>,
Zhichang Yuan <yuanzhichang@hisilicon.com>,
"Gabriele Paoloni" <gabriele.paoloni@huawei.com>
Subject: [PATCH v12 8/9] LPC, ACPI: Add the HISI LPC ACPI support
Date: Wed, 24 Jan 2018 00:36:24 +0800 [thread overview]
Message-ID: <1516725385-24535-9-git-send-email-john.garry@huawei.com> (raw)
In-Reply-To: <1516725385-24535-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
next prev parent reply other threads:[~2018-01-23 15:45 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-01-23 16:36 [PATCH v12 0/9] LPC: legacy ISA I/O support John Garry
2018-01-23 16:36 ` [PATCH v12 1/9] LIB: Introduce a generic PIO mapping method John Garry
2018-01-23 16:36 ` [PATCH v12 2/9] PCI: Remove unused __weak attribute in pci_register_io_range() John Garry
2018-01-23 16:36 ` [PATCH v12 3/9] PCI: Add fwnode handler as input param of pci_register_io_range() John Garry
2018-01-30 15:11 ` Rob Herring
2018-01-23 16:36 ` [PATCH v12 4/9] PCI: Apply the new generic I/O management on PCI IO hosts John Garry
2018-01-23 16:36 ` [PATCH v12 5/9] OF: Add missing I/O range exception for indirect-IO devices John Garry
2018-01-23 16:36 ` [PATCH v12 6/9] LPC: Support the LPC host on Hip06/Hip07 with DT bindings John Garry
2018-02-13 18:41 ` dann frazier
2018-02-14 11:35 ` John Garry
2018-01-23 16:36 ` [PATCH v12 7/9] ACPI: Translate the I/O range of non-MMIO devices before scanning John Garry
2018-02-01 11:32 ` John Garry
2018-02-05 13:16 ` Andy Shevchenko
2018-02-05 14:25 ` John Garry
2018-02-06 19:44 ` Andy Shevchenko
2018-02-04 7:45 ` Rafael J. Wysocki
2018-02-05 11:01 ` John Garry
2018-02-05 12:10 ` Joe Perches
2018-02-05 12:17 ` John Garry
2018-01-23 16:36 ` John Garry [this message]
2018-01-23 16:36 ` [PATCH v12 9/9] MAINTAINERS: Add maintainer for HiSilicon LPC driver John Garry
2018-02-08 1:02 ` [PATCH v12 0/9] LPC: legacy ISA I/O support dann frazier
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=1516725385-24535-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=rdunlap@infradead.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