From: Serge Semin <Sergey.Semin@baikalelectronics.ru>
To: Damien Le Moal <damien.lemoal@opensource.wdc.com>,
Hans de Goede <hdegoede@redhat.com>, Jens Axboe <axboe@kernel.dk>,
Hannes Reinecke <hare@suse.de>,
Matthias Brugger <matthias.bgg@gmail.com>,
Patrice Chotard <patrice.chotard@foss.st.com>
Cc: Serge Semin <Sergey.Semin@baikalelectronics.ru>,
Serge Semin <fancer.lancer@gmail.com>,
Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>,
Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
<linux-ide@vger.kernel.org>, <linux-kernel@vger.kernel.org>,
<devicetree@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>,
<linux-mediatek@lists.infradead.org>
Subject: [PATCH v7 09/23] ata: libahci_platform: Parse ports-implemented property in resources getter
Date: Mon, 22 Aug 2022 21:37:14 +0300 [thread overview]
Message-ID: <20220822183728.24434-10-Sergey.Semin@baikalelectronics.ru> (raw)
In-Reply-To: <20220822183728.24434-1-Sergey.Semin@baikalelectronics.ru>
The ports-implemented property is mainly used on the OF-based platforms
with no ports mapping initialized by a bootloader/BIOS firmware. Seeing
the same of_property_read_u32()-based pattern has already been implemented
in the generic AHCI LLDD (glue) driver and in the Mediatek, St AHCI
drivers let's move the property read procedure to the generic
ahci_platform_get_resources() method. Thus we'll have the forced ports
mapping feature supported for each OF-based platform which requires that,
and stop re-implementing the same pattern in there a bit simplifying the
code.
Signed-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>
---
drivers/ata/ahci_mtk.c | 2 --
drivers/ata/ahci_platform.c | 3 ---
drivers/ata/ahci_st.c | 3 ---
drivers/ata/libahci_platform.c | 3 +++
4 files changed, 3 insertions(+), 8 deletions(-)
diff --git a/drivers/ata/ahci_mtk.c b/drivers/ata/ahci_mtk.c
index 1f6c85fde983..c056378e3e72 100644
--- a/drivers/ata/ahci_mtk.c
+++ b/drivers/ata/ahci_mtk.c
@@ -118,8 +118,6 @@ static int mtk_ahci_parse_property(struct ahci_host_priv *hpriv,
SYS_CFG_SATA_EN);
}
- of_property_read_u32(np, "ports-implemented", &hpriv->force_port_map);
-
return 0;
}
diff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c
index 28a8de5b48b9..9b56490ecbc3 100644
--- a/drivers/ata/ahci_platform.c
+++ b/drivers/ata/ahci_platform.c
@@ -56,9 +56,6 @@ static int ahci_probe(struct platform_device *pdev)
if (rc)
return rc;
- of_property_read_u32(dev->of_node,
- "ports-implemented", &hpriv->force_port_map);
-
if (of_device_is_compatible(dev->of_node, "hisilicon,hisi-ahci"))
hpriv->flags |= AHCI_HFLAG_NO_FBS | AHCI_HFLAG_NO_NCQ;
diff --git a/drivers/ata/ahci_st.c b/drivers/ata/ahci_st.c
index 7526653c843b..068621099c00 100644
--- a/drivers/ata/ahci_st.c
+++ b/drivers/ata/ahci_st.c
@@ -168,9 +168,6 @@ static int st_ahci_probe(struct platform_device *pdev)
st_ahci_configure_oob(hpriv->mmio);
- of_property_read_u32(dev->of_node,
- "ports-implemented", &hpriv->force_port_map);
-
err = ahci_platform_init_host(pdev, hpriv, &st_ahci_port_info,
&ahci_platform_sht);
if (err) {
diff --git a/drivers/ata/libahci_platform.c b/drivers/ata/libahci_platform.c
index 579039956917..02171ac02306 100644
--- a/drivers/ata/libahci_platform.c
+++ b/drivers/ata/libahci_platform.c
@@ -486,6 +486,9 @@ struct ahci_host_priv *ahci_platform_get_resources(struct platform_device *pdev,
goto err_out;
}
+ of_property_read_u32(dev->of_node,
+ "ports-implemented", &hpriv->force_port_map);
+
if (child_nodes) {
for_each_child_of_node(dev->of_node, child) {
u32 port;
--
2.35.1
next prev parent reply other threads:[~2022-08-22 18:38 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-22 18:37 [PATCH v7 00/23] ata: ahci: Add DWC/Baikal-T1 AHCI SATA support Serge Semin
2022-08-22 18:37 ` [PATCH v7 01/23] dt-bindings: ata: ahci-platform: Move dma-coherent to sata-common.yaml Serge Semin
2022-08-22 18:37 ` [PATCH v7 02/23] dt-bindings: ata: ahci-platform: Detach common AHCI bindings Serge Semin
2022-08-22 18:37 ` [PATCH v7 03/23] dt-bindings: ata: ahci-platform: Clarify common AHCI props constraints Serge Semin
2022-08-22 18:37 ` [PATCH v7 04/23] dt-bindings: ata: sata: Extend number of SATA ports Serge Semin
2022-08-22 18:37 ` [PATCH v7 05/23] dt-bindings: ata: sata-brcm: Apply common AHCI schema Serge Semin
2022-08-22 18:37 ` [PATCH v7 06/23] ata: libahci_platform: Convert to using platform devm-ioremap methods Serge Semin
2022-08-22 18:37 ` [PATCH v7 07/23] ata: libahci_platform: Convert to using devm bulk clocks API Serge Semin
2022-08-23 23:42 ` kernel test robot
2022-08-24 23:19 ` Damien Le Moal
2022-08-25 5:53 ` Serge Semin
2022-08-22 18:37 ` [PATCH v7 08/23] ata: libahci_platform: Sanity check the DT child nodes number Serge Semin
2022-08-22 18:37 ` Serge Semin [this message]
2022-08-22 18:37 ` [PATCH v7 10/23] ata: libahci_platform: Introduce reset assertion/deassertion methods Serge Semin
2022-08-22 18:37 ` [PATCH v7 11/23] dt-bindings: ata: ahci: Add platform capability properties Serge Semin
2022-08-22 18:37 ` [PATCH v7 12/23] ata: libahci: Extend port-cmd flags set with port capabilities Serge Semin
2022-08-22 18:37 ` [PATCH v7 13/23] ata: libahci: Discard redundant force_port_map parameter Serge Semin
2022-08-22 18:37 ` [PATCH v7 14/23] ata: libahci: Don't read AHCI version twice in the save-config method Serge Semin
2022-08-22 18:37 ` [PATCH v7 15/23] ata: ahci: Convert __ahci_port_base to accepting hpriv as arguments Serge Semin
2022-08-22 18:37 ` [PATCH v7 16/23] ata: ahci: Introduce firmware-specific caps initialization Serge Semin
2022-08-22 18:37 ` [PATCH v7 17/23] dt-bindings: ata: ahci: Add DWC AHCI SATA controller DT schema Serge Semin
2022-08-22 18:37 ` [PATCH v7 18/23] ata: libahci_platform: Add function returning a clock-handle by id Serge Semin
2022-08-22 18:37 ` [PATCH v7 19/23] ata: ahci: Add DWC AHCI SATA controller support Serge Semin
2022-09-04 0:34 ` kernel test robot
2022-09-07 18:25 ` Serge Semin
2022-08-22 18:37 ` [PATCH v7 20/23] dt-bindings: ata: ahci: Add Baikal-T1 AHCI SATA controller DT schema Serge Semin
2022-08-22 18:37 ` [PATCH v7 21/23] ata: ahci-dwc: Add platform-specific quirks support Serge Semin
2022-08-22 18:37 ` [PATCH v7 22/23] ata: ahci-dwc: Add Baikal-T1 AHCI SATA interface support Serge Semin
2022-08-22 18:37 ` [PATCH v7 23/23] MAINTAINERS: Add maintainers for DWC AHCI SATA driver Serge Semin
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=20220822183728.24434-10-Sergey.Semin@baikalelectronics.ru \
--to=sergey.semin@baikalelectronics.ru \
--cc=Alexey.Malahov@baikalelectronics.ru \
--cc=Pavel.Parkhomenko@baikalelectronics.ru \
--cc=axboe@kernel.dk \
--cc=damien.lemoal@opensource.wdc.com \
--cc=devicetree@vger.kernel.org \
--cc=fancer.lancer@gmail.com \
--cc=hare@suse.de \
--cc=hdegoede@redhat.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-ide@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=patrice.chotard@foss.st.com \
--cc=robh+dt@kernel.org \
/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).