{"id":1641663,"url":"http://patchwork.ozlabs.org/api/patches/1641663/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-ide/patch/20220610081801.11854-10-Sergey.Semin@baikalelectronics.ru/","project":{"id":13,"url":"http://patchwork.ozlabs.org/api/projects/13/?format=json","name":"Linux IDE development","link_name":"linux-ide","list_id":"linux-ide.vger.kernel.org","list_email":"linux-ide@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20220610081801.11854-10-Sergey.Semin@baikalelectronics.ru>","list_archive_url":null,"date":"2022-06-10T08:17:47","name":"[v4,09/23] ata: libahci_platform: Parse ports-implemented property in resources getter","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"e938b06d1a669f18820ba296d3ee65da32b64637","submitter":{"id":78624,"url":"http://patchwork.ozlabs.org/api/people/78624/?format=json","name":"Serge Semin","email":"Sergey.Semin@baikalelectronics.ru"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-ide/patch/20220610081801.11854-10-Sergey.Semin@baikalelectronics.ru/mbox/","series":[{"id":304159,"url":"http://patchwork.ozlabs.org/api/series/304159/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-ide/list/?series=304159","date":"2022-06-10T08:17:42","name":"ata: ahci: Add DWC/Baikal-T1 AHCI SATA support","version":4,"mbox":"http://patchwork.ozlabs.org/series/304159/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/1641663/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/1641663/checks/","tags":{},"related":[],"headers":{"Return-Path":"<linux-ide-owner@vger.kernel.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@bilbo.ozlabs.org","Authentication-Results":["bilbo.ozlabs.org;\n\tdkim=pass (1024-bit key;\n unprotected) header.d=baikalelectronics.ru header.i=@baikalelectronics.ru\n header.a=rsa-sha256 header.s=mail header.b=aJEIpofT;\n\tdkim-atps=neutral","ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2620:137:e000::1:20; helo=out1.vger.email;\n envelope-from=linux-ide-owner@vger.kernel.org; receiver=<UNKNOWN>)"],"Received":["from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20])\n\tby bilbo.ozlabs.org (Postfix) with ESMTP id 4LKDPk1X3Rz9s5V\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 10 Jun 2022 18:18:50 +1000 (AEST)","(majordomo@vger.kernel.org) by vger.kernel.org via listexpand\n        id S1347373AbiFJISs (ORCPT <rfc822;incoming@patchwork.ozlabs.org>);\n        Fri, 10 Jun 2022 04:18:48 -0400","from lindbergh.monkeyblade.net ([23.128.96.19]:59832 \"EHLO\n        lindbergh.monkeyblade.net\" rhost-flags-OK-OK-OK-OK) by vger.kernel.org\n        with ESMTP id S1347380AbiFJISZ (ORCPT\n        <rfc822;linux-ide@vger.kernel.org>); Fri, 10 Jun 2022 04:18:25 -0400","from mail.baikalelectronics.com (mail.baikalelectronics.com\n [87.245.175.230])\n        by lindbergh.monkeyblade.net (Postfix) with ESMTP id 63EA82431B0;\n        Fri, 10 Jun 2022 01:18:20 -0700 (PDT)","from mail (mail.baikal.int [192.168.51.25])\n        by mail.baikalelectronics.com (Postfix) with ESMTP id AD39E16AA;\n        Fri, 10 Jun 2022 11:19:02 +0300 (MSK)","from localhost (192.168.53.207) by mail (192.168.51.25) with\n Microsoft SMTP Server (TLS) id 15.0.1395.4; Fri, 10 Jun 2022 11:18:10 +0300"],"DKIM-Filter":"OpenDKIM Filter v2.11.0 mail.baikalelectronics.com AD39E16AA","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=baikalelectronics.ru; s=mail; t=1654849142;\n        bh=YC8mhxZWlVipdQB79Q7/wQI6740jLdk6WakSOhvy74Q=;\n        h=From:To:CC:Subject:Date:In-Reply-To:References:From;\n        b=aJEIpofTiH5h5kpDnPFE9zQtcys2DQLkWcbntsQGMPt+jIIfTXwuoB/iuybP8vUgI\n         TKSB9jApQu0Kav97oa38UAIrf+kE1ffjXk8oYN+AvZX3cINyHVUVGpVqS08bFoSvFy\n         r9L5XqSEU+pfB5+kdVcecAmRYGYBTl1DPuUduPbw=","From":"Serge Semin <Sergey.Semin@baikalelectronics.ru>","To":"Damien Le Moal <damien.lemoal@opensource.wdc.com>,\n        Hans de Goede <hdegoede@redhat.com>,\n        Jens Axboe <axboe@kernel.dk>, Hannes Reinecke <hare@suse.de>,\n        Matthias Brugger <matthias.bgg@gmail.com>,\n        Patrice Chotard <patrice.chotard@foss.st.com>","CC":"Serge Semin <Sergey.Semin@baikalelectronics.ru>,\n        Serge Semin <fancer.lancer@gmail.com>,\n        Alexey Malahov <Alexey.Malahov@baikalelectronics.ru>,\n        Pavel Parkhomenko <Pavel.Parkhomenko@baikalelectronics.ru>,\n        Rob Herring <robh+dt@kernel.org>, <linux-ide@vger.kernel.org>,\n        <linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>,\n        <linux-arm-kernel@lists.infradead.org>,\n        <linux-mediatek@lists.infradead.org>","Subject":"[PATCH v4 09/23] ata: libahci_platform: Parse ports-implemented\n property in resources getter","Date":"Fri, 10 Jun 2022 11:17:47 +0300","Message-ID":"<20220610081801.11854-10-Sergey.Semin@baikalelectronics.ru>","In-Reply-To":"<20220610081801.11854-1-Sergey.Semin@baikalelectronics.ru>","References":"<20220610081801.11854-1-Sergey.Semin@baikalelectronics.ru>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","Content-Type":"text/plain","X-ClientProxiedBy":"MAIL.baikal.int (192.168.51.25) To mail (192.168.51.25)","X-Spam-Status":"No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n        DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_PASS,SPF_PASS,\n        T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no\n        version=3.4.6","X-Spam-Checker-Version":"SpamAssassin 3.4.6 (2021-04-09) on\n        lindbergh.monkeyblade.net","Precedence":"bulk","List-ID":"<linux-ide.vger.kernel.org>","X-Mailing-List":"linux-ide@vger.kernel.org"},"content":"The ports-implemented property is mainly used on the OF-based platforms\nwith no ports mapping initialized by a bootloader/BIOS firmware. Seeing\nthe same of_property_read_u32()-based pattern has already been implemented\nin the generic AHCI LLDD (glue) driver and in the Mediatek, St AHCI\ndrivers let's move the property read procedure to the generic\nahci_platform_get_resources() method. Thus we'll have the forced ports\nmapping feature supported for each OF-based platform which requires that,\nand stop re-implementing the same pattern in there a bit simplifying the\ncode.\n\nSigned-off-by: Serge Semin <Sergey.Semin@baikalelectronics.ru>\n---\n drivers/ata/ahci_mtk.c         | 2 --\n drivers/ata/ahci_platform.c    | 3 ---\n drivers/ata/ahci_st.c          | 3 ---\n drivers/ata/libahci_platform.c | 3 +++\n 4 files changed, 3 insertions(+), 8 deletions(-)","diff":"diff --git a/drivers/ata/ahci_mtk.c b/drivers/ata/ahci_mtk.c\nindex 1f6c85fde983..c056378e3e72 100644\n--- a/drivers/ata/ahci_mtk.c\n+++ b/drivers/ata/ahci_mtk.c\n@@ -118,8 +118,6 @@ static int mtk_ahci_parse_property(struct ahci_host_priv *hpriv,\n \t\t\t\t   SYS_CFG_SATA_EN);\n \t}\n \n-\tof_property_read_u32(np, \"ports-implemented\", &hpriv->force_port_map);\n-\n \treturn 0;\n }\n \ndiff --git a/drivers/ata/ahci_platform.c b/drivers/ata/ahci_platform.c\nindex 28a8de5b48b9..9b56490ecbc3 100644\n--- a/drivers/ata/ahci_platform.c\n+++ b/drivers/ata/ahci_platform.c\n@@ -56,9 +56,6 @@ static int ahci_probe(struct platform_device *pdev)\n \tif (rc)\n \t\treturn rc;\n \n-\tof_property_read_u32(dev->of_node,\n-\t\t\t     \"ports-implemented\", &hpriv->force_port_map);\n-\n \tif (of_device_is_compatible(dev->of_node, \"hisilicon,hisi-ahci\"))\n \t\thpriv->flags |= AHCI_HFLAG_NO_FBS | AHCI_HFLAG_NO_NCQ;\n \ndiff --git a/drivers/ata/ahci_st.c b/drivers/ata/ahci_st.c\nindex 7526653c843b..068621099c00 100644\n--- a/drivers/ata/ahci_st.c\n+++ b/drivers/ata/ahci_st.c\n@@ -168,9 +168,6 @@ static int st_ahci_probe(struct platform_device *pdev)\n \n \tst_ahci_configure_oob(hpriv->mmio);\n \n-\tof_property_read_u32(dev->of_node,\n-\t\t\t     \"ports-implemented\", &hpriv->force_port_map);\n-\n \terr = ahci_platform_init_host(pdev, hpriv, &st_ahci_port_info,\n \t\t\t\t      &ahci_platform_sht);\n \tif (err) {\ndiff --git a/drivers/ata/libahci_platform.c b/drivers/ata/libahci_platform.c\nindex 8aed7b29c7ab..1a7060646009 100644\n--- a/drivers/ata/libahci_platform.c\n+++ b/drivers/ata/libahci_platform.c\n@@ -483,6 +483,9 @@ struct ahci_host_priv *ahci_platform_get_resources(struct platform_device *pdev,\n \t\tgoto err_out;\n \t}\n \n+\tof_property_read_u32(dev->of_node,\n+\t\t\t     \"ports-implemented\", &hpriv->force_port_map);\n+\n \tif (child_nodes) {\n \t\tfor_each_child_of_node(dev->of_node, child) {\n \t\t\tu32 port;\n","prefixes":["v4","09/23"]}