Re: [PATCH 2/3] net: stmmac: qcom-ethqos: Enable RX programmable swap on qcs615

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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, &ethqos->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





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux