Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp5639012pxb; Mon, 28 Mar 2022 15:20:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyHDuddIRIzhlLwhI4tVo7y0i1OUemwaa06ncColuFfYFkBl1UL6u6Nld+BrkKFYLpn2a7a X-Received: by 2002:aca:210f:0:b0:2ec:ae99:e024 with SMTP id 15-20020aca210f000000b002ecae99e024mr708237oiz.256.1648506031335; Mon, 28 Mar 2022 15:20:31 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648506031; cv=none; d=google.com; s=arc-20160816; b=VBHReHdK/TAuGg6PJ4E1d5WWaLi0jldpLtd3udosoqGb+x2S6oKi9IOF/WikOXxHoI LPojC/eBlvextswP3cc5yxou0nYzmD+5RTnTwLm/UABSSGrkjl5B/4dA976ZWjE2Jk4v JUss6c/e5bcSOhPqYts7+bGocSd7jyqttR87Axb09HF//uqLEYEqfvLCewCU4l39EWsk 2QnQ7wvuYTOpurm5YUTPUHWdHiOnNBzbOg3ItAby5z53VuSY/6vOf1Y6npIVktvIIiai pNusL2ovIdbkjUYgcG1462d8Db+mLrpa7Ub2ditv/0kNonk/AK7DdM0BSzOv3fONEHd1 VLMw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-filter; bh=3yyortB1DQ+dmftErXrOYBNmBdzyCLGDtyk/c9WemDA=; b=c9FWxWf/fi4lyGRnyQvxsmlQEVDiUY5DWO/NEUSIhKeux9G3VRCBkUCibNpAv1Gj8J X1AkCUwEKfdAIk9g09AwLhQfRlfi/wZkez7PvLoRgf/YWLsjyQIKJnngJOqO7Lo0T+cY f1hdC46qh+BXKCaOfnoqWjUg8MUtdoaNCVMhhOnrsdadqjWqVEcX2NlkVYSkTAjhKzAF 26PPhXXwryMfrbIs74bdXPsqVRyJW82E3jH/Re/+jAmkyFKMV48/yJp6u+ojs1Z0i6NG 0tY4J3CLRfcWKfde1UO3FLxHze4l9cuWKCNEfHuiNlTYV2XfPbfNMai8/iaksh7FQEdB E8EA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@baikalelectronics.ru header.s=mail header.b=IOKWetRi; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id s19-20020a05683004d300b005cd0da3eef2si10820781otd.167.2022.03.28.15.20.31 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 28 Mar 2022 15:20:31 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@baikalelectronics.ru header.s=mail header.b=IOKWetRi; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 102B019752F; Mon, 28 Mar 2022 14:37:22 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239355AbiC1Ps2 (ORCPT + 99 others); Mon, 28 Mar 2022 11:48:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45930 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S238804AbiC1PqD (ORCPT ); Mon, 28 Mar 2022 11:46:03 -0400 Received: from mail.baikalelectronics.ru (mail.baikalelectronics.com [87.245.175.226]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 11A1A4A935; Mon, 28 Mar 2022 08:44:14 -0700 (PDT) Received: from mail.baikalelectronics.ru (unknown [192.168.51.25]) by mail.baikalelectronics.ru (Postfix) with ESMTP id 0344B1E28D3; Thu, 24 Mar 2022 03:16:37 +0300 (MSK) DKIM-Filter: OpenDKIM Filter v2.11.0 mail.baikalelectronics.ru 0344B1E28D3 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baikalelectronics.ru; s=mail; t=1648080997; bh=3yyortB1DQ+dmftErXrOYBNmBdzyCLGDtyk/c9WemDA=; h=From:To:CC:Subject:Date:In-Reply-To:References:From; b=IOKWetRiHMN8+8bHdR68/rKVmNL5WTk5PgY2+dL+duNYM+LFjlYx07nAuQIdg8IwG TKWD6gMYnJKFSzcbuYAZV9fSRBvqp71f+7w8UQq1vwZSijiw3QtvARXXgq56OKAvjI PtAuhR38yR1epeIGWPsfvOEyhT/GugkyU7IgNJyo= Received: from localhost (192.168.168.10) by mail (192.168.51.25) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 24 Mar 2022 03:16:36 +0300 From: Serge Semin To: Damien Le Moal , Hans de Goede , Jens Axboe , Matthias Brugger , Patrice Chotard CC: Serge Semin , Serge Semin , Alexey Malahov , Pavel Parkhomenko , Rob Herring , , , , , Subject: [PATCH 08/21] ata: libahci_platform: Parse ports-implemented property in resources getter Date: Thu, 24 Mar 2022 03:16:15 +0300 Message-ID: <20220324001628.13028-9-Sergey.Semin@baikalelectronics.ru> In-Reply-To: <20220324001628.13028-1-Sergey.Semin@baikalelectronics.ru> References: <20220324001628.13028-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.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 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 --- 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 d9b08ae7c3b2..8f8539952af1 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 3aab2e3d57f3..24c25f076f37 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 c268264c2129..e010f2fd1fa2 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 845042295b97..5998e735a813 100644 --- a/drivers/ata/libahci_platform.c +++ b/drivers/ata/libahci_platform.c @@ -501,6 +501,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