mirror of
https://github.com/openwrt/openwrt.git
synced 2026-07-19 22:51:49 +04:00
7656e74a95
The "old" QCA8084 PHY driver does not implement 10g-qxgmii support. This is blocking several devices which use the QCA8084 form being merged. Qualcomm has provided updated drivers for the MAC (ppe), PCS, and PHY via github. We only need to update the PHY driver. Update the QCA8084 PHY driver using the patches provided by Qualcomm. Re-organize the patches so that the changes go into the existing patches. The SERDES functionality is new, so it gets new patches. This is sufficient to enable 10g-qxgmii on ipq95xx platforms. Signed-off-by: Alexandru Gagniuc <mr.nuke.me@gmail.com> Link: https://github.com/openwrt/openwrt/pull/20721 Signed-off-by: Robert Marko <robimarko@gmail.com>
61 lines
1.7 KiB
Diff
61 lines
1.7 KiB
Diff
From e9ee1dd2ff2c130b2fb2bd01936224a8a6b49a7e Mon Sep 17 00:00:00 2001
|
|
From: Heiner Kallweit <hkallweit1@gmail.com>
|
|
Date: Mon, 3 Mar 2025 21:15:09 +0100
|
|
Subject: [PATCH] v6.15: net: phy: add getters for public members in struct
|
|
phy_package_shared
|
|
|
|
Add getters for public members, this prepares for making struct
|
|
phy_package_shared private to phylib. Declare the getters in a new header
|
|
file phylib.h, which will be used by PHY drivers only.
|
|
|
|
Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
|
|
Link: https://patch.msgid.link/c6da0b27-4479-4717-9e16-643821b76bd8@gmail.com
|
|
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
|
|
---
|
|
drivers/net/phy/phy_package.c | 14 ++++++++++++++
|
|
drivers/net/phy/phylib.h | 15 +++++++++++++++
|
|
2 files changed, 29 insertions(+)
|
|
create mode 100644 drivers/net/phy/phylib.h
|
|
|
|
--- a/drivers/net/phy/phy_package.c
|
|
+++ b/drivers/net/phy/phy_package.c
|
|
@@ -6,6 +6,20 @@
|
|
#include <linux/of.h>
|
|
#include <linux/phy.h>
|
|
|
|
+#include "phylib.h"
|
|
+
|
|
+struct device_node *phy_package_get_node(struct phy_device *phydev)
|
|
+{
|
|
+ return phydev->shared->np;
|
|
+}
|
|
+EXPORT_SYMBOL_GPL(phy_package_get_node);
|
|
+
|
|
+void *phy_package_get_priv(struct phy_device *phydev)
|
|
+{
|
|
+ return phydev->shared->priv;
|
|
+}
|
|
+EXPORT_SYMBOL_GPL(phy_package_get_priv);
|
|
+
|
|
/**
|
|
* phy_package_join - join a common PHY group
|
|
* @phydev: target phy_device struct
|
|
--- /dev/null
|
|
+++ b/drivers/net/phy/phylib.h
|
|
@@ -0,0 +1,15 @@
|
|
+/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
+/*
|
|
+ * phylib header
|
|
+ */
|
|
+
|
|
+#ifndef __PHYLIB_H
|
|
+#define __PHYLIB_H
|
|
+
|
|
+struct device_node;
|
|
+struct phy_device;
|
|
+
|
|
+struct device_node *phy_package_get_node(struct phy_device *phydev);
|
|
+void *phy_package_get_priv(struct phy_device *phydev);
|
|
+
|
|
+#endif /* __PHYLIB_H */
|