[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <278de6e8-de8f-458a-a4b9-92b3eb81fa77@quicinc.com>
Date: Thu, 26 Dec 2024 10:29:45 +0800
From: Yijie Yang <quic_yijiyang@...cinc.com>
To: Krzysztof Kozlowski <krzk@...nel.org>, Vinod Koul <vkoul@...nel.org>,
Andrew Lunn <andrew+netdev@...n.ch>,
"David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>, Jakub Kicinski <kuba@...nel.org>,
Paolo
Abeni <pabeni@...hat.com>, Rob Herring <robh@...nel.org>,
Krzysztof Kozlowski
<krzk+dt@...nel.org>,
Conor Dooley <conor+dt@...nel.org>,
Bjorn Andersson
<andersson@...nel.org>,
Konrad Dybcio <konradybcio@...nel.org>,
Alexandre
Torgue <alexandre.torgue@...s.st.com>,
Jose Abreu <joabreu@...opsys.com>,
Maxime Coquelin <mcoquelin.stm32@...il.com>
CC: <netdev@...r.kernel.org>, <linux-arm-msm@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<linux-stm32@...md-mailman.stormreply.com>,
<linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH 2/3] net: stmmac: qcom-ethqos: Enable RX programmable swap
on qcs615
On 2024-12-25 19:37, Krzysztof Kozlowski wrote:
> On 25/12/2024 11:04, Yijie Yang wrote:
>
>> static int qcom_ethqos_probe(struct platform_device *pdev)
>> {
>> - struct device_node *np = pdev->dev.of_node;
>> + struct device_node *np = pdev->dev.of_node, *root;
>> const struct ethqos_emac_driver_data *data;
>> struct plat_stmmacenet_data *plat_dat;
>> struct stmmac_resources stmmac_res;
>> @@ -810,6 +805,15 @@ static int qcom_ethqos_probe(struct platform_device *pdev)
>> ret = of_get_phy_mode(np, ðqos->phy_mode);
>> if (ret)
>> return dev_err_probe(dev, ret, "Failed to get phy mode\n");
>> +
>> + root = of_find_node_by_path("/");
>> + if (root && of_device_is_compatible(root, "qcom,sa8540p-ride"))
>
>
> Nope, your drivers are not supposed to poke root compatibles. Drop and
> fix your driver to behave correctly for all existing devices.
>
Since this change introduces a new flag in the DTS, we must maintain ABI
compatibility with the kernel. The new flag is specific to the board, so
I need to ensure root nodes are matched to allow older boards to
continue functioning as before. I'm happy to adopt that approach if
there are any more elegant solutions.
>> + ethqos->needs_rx_prog_swap = true;
>> + else
>> + ethqos->needs_rx_prog_swap =
> Best regards,
> Krzysztof
--
Best Regards,
Yijie
Powered by blists - more mailing lists