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
next prev 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).