All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christian Marangi <ansuelsmth@gmail.com>
To: "David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Andrew Lunn <andrew@lunn.ch>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Florian Fainelli <florian.fainelli@broadcom.com>,
	Broadcom internal kernel review list
	<bcm-kernel-feedback-list@broadcom.com>,
	Daniel Golle <daniel@makrotopia.org>,
	Qingfang Deng <dqfext@gmail.com>,
	SkyLake Huang <SkyLake.Huang@mediatek.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Vladimir Oltean <olteanv@gmail.com>,
	David Epping <david.epping@missinglinkelectronics.com>,
	Harini Katakam <harini.katakam@amd.com>,
	Christian Marangi <ansuelsmth@gmail.com>,
	"Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>,
	Robert Marko <robert.marko@sartura.hr>,
	netdev@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org
Subject: [net-next RFC PATCH v2 04/11] net: phy: add support for shared priv data size for PHY package in DT
Date: Sat, 25 Nov 2023 01:11:20 +0100	[thread overview]
Message-ID: <20231125001127.5674-5-ansuelsmth@gmail.com> (raw)
In-Reply-To: <20231125001127.5674-1-ansuelsmth@gmail.com>

Add support for defining shared data size for PHY package defined in DT.

A PHY driver has to define the value .phy_package_priv_data_size to make
the generic OF PHY package function alloc priv data in the shared struct
for the PHY package.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
 drivers/net/phy/phy_device.c | 7 ++++++-
 include/linux/phy.h          | 3 +++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index f25bedb69b90..454dc8256e94 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -3198,6 +3198,7 @@ static int of_phy_package(struct phy_device *phydev)
 	struct device_node *node = phydev->mdio.dev.of_node;
 	struct device_node *package_node;
 	const u8 *global_phys_offset;
+	int shared_priv_data_size;
 	int *global_phys_addr;
 	u8 global_phys_num;
 	u32 base_addr;
@@ -3236,8 +3237,12 @@ static int of_phy_package(struct phy_device *phydev)
 		global_phys_addr[i] = addr;
 	}
 
+	shared_priv_data_size = 0;
+	if (phydev->drv->phy_package_priv_data_size)
+		shared_priv_data_size = phydev->drv->phy_package_priv_data_size;
+
 	ret = devm_phy_package_join(&phydev->mdio.dev, phydev, global_phys_addr,
-				    global_phys_num, 0);
+				    global_phys_num, shared_priv_data_size);
 	if (ret)
 		goto exit;
 
diff --git a/include/linux/phy.h b/include/linux/phy.h
index 3f75ae85b740..4ddf08e89624 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -895,6 +895,8 @@ struct phy_led {
  *  global PHYs for PHY package global configuration.
  * @phy_package_global_phys_num: Num of the required global PHYs
  *   for PHY package global configuration.
+ * @phy_package_priv_data_size: Size of the priv data to alloc
+ *   for shared struct of PHY package.
  *
  * All functions are optional. If config_aneg or read_status
  * are not implemented, the phy core uses the genphy versions.
@@ -914,6 +916,7 @@ struct phy_driver {
 	const void *driver_data;
 	const u8 *phy_package_global_phys_offset;
 	const u8 phy_package_global_phys_num;
+	unsigned int phy_package_priv_data_size;
 
 	/**
 	 * @soft_reset: Called to issue a PHY software reset
-- 
2.40.1


WARNING: multiple messages have this Message-ID (diff)
From: Christian Marangi <ansuelsmth@gmail.com>
To: "David S. Miller" <davem@davemloft.net>,
	Eric Dumazet <edumazet@google.com>,
	Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com>,
	Rob Herring <robh+dt@kernel.org>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Conor Dooley <conor+dt@kernel.org>,
	Andy Gross <agross@kernel.org>,
	Bjorn Andersson <andersson@kernel.org>,
	Konrad Dybcio <konrad.dybcio@linaro.org>,
	Andrew Lunn <andrew@lunn.ch>,
	Heiner Kallweit <hkallweit1@gmail.com>,
	Russell King <linux@armlinux.org.uk>,
	Florian Fainelli <florian.fainelli@broadcom.com>,
	Broadcom internal kernel review list
	<bcm-kernel-feedback-list@broadcom.com>,
	Daniel Golle <daniel@makrotopia.org>,
	Qingfang Deng <dqfext@gmail.com>,
	SkyLake Huang <SkyLake.Huang@mediatek.com>,
	Matthias Brugger <matthias.bgg@gmail.com>,
	AngeloGioacchino Del Regno
	<angelogioacchino.delregno@collabora.com>,
	Vladimir Oltean <olteanv@gmail.com>,
	David Epping <david.epping@missinglinkelectronics.com>,
	Harini Katakam <harini.katakam@amd.com>,
	Christian Marangi <ansuelsmth@gmail.com>,
	"Russell King (Oracle)" <rmk+kernel@armlinux.org.uk>,
	Robert Marko <robert.marko@sartura.hr>,
	netdev@vger.kernel.org, devicetree@vger.kernel.org,
	linux-kernel@vger.kernel.org, linux-arm-msm@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	linux-mediatek@lists.infradead.org
Subject: [net-next RFC PATCH v2 04/11] net: phy: add support for shared priv data size for PHY package in DT
Date: Sat, 25 Nov 2023 01:11:20 +0100	[thread overview]
Message-ID: <20231125001127.5674-5-ansuelsmth@gmail.com> (raw)
In-Reply-To: <20231125001127.5674-1-ansuelsmth@gmail.com>

Add support for defining shared data size for PHY package defined in DT.

A PHY driver has to define the value .phy_package_priv_data_size to make
the generic OF PHY package function alloc priv data in the shared struct
for the PHY package.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
 drivers/net/phy/phy_device.c | 7 ++++++-
 include/linux/phy.h          | 3 +++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/net/phy/phy_device.c b/drivers/net/phy/phy_device.c
index f25bedb69b90..454dc8256e94 100644
--- a/drivers/net/phy/phy_device.c
+++ b/drivers/net/phy/phy_device.c
@@ -3198,6 +3198,7 @@ static int of_phy_package(struct phy_device *phydev)
 	struct device_node *node = phydev->mdio.dev.of_node;
 	struct device_node *package_node;
 	const u8 *global_phys_offset;
+	int shared_priv_data_size;
 	int *global_phys_addr;
 	u8 global_phys_num;
 	u32 base_addr;
@@ -3236,8 +3237,12 @@ static int of_phy_package(struct phy_device *phydev)
 		global_phys_addr[i] = addr;
 	}
 
+	shared_priv_data_size = 0;
+	if (phydev->drv->phy_package_priv_data_size)
+		shared_priv_data_size = phydev->drv->phy_package_priv_data_size;
+
 	ret = devm_phy_package_join(&phydev->mdio.dev, phydev, global_phys_addr,
-				    global_phys_num, 0);
+				    global_phys_num, shared_priv_data_size);
 	if (ret)
 		goto exit;
 
diff --git a/include/linux/phy.h b/include/linux/phy.h
index 3f75ae85b740..4ddf08e89624 100644
--- a/include/linux/phy.h
+++ b/include/linux/phy.h
@@ -895,6 +895,8 @@ struct phy_led {
  *  global PHYs for PHY package global configuration.
  * @phy_package_global_phys_num: Num of the required global PHYs
  *   for PHY package global configuration.
+ * @phy_package_priv_data_size: Size of the priv data to alloc
+ *   for shared struct of PHY package.
  *
  * All functions are optional. If config_aneg or read_status
  * are not implemented, the phy core uses the genphy versions.
@@ -914,6 +916,7 @@ struct phy_driver {
 	const void *driver_data;
 	const u8 *phy_package_global_phys_offset;
 	const u8 phy_package_global_phys_num;
+	unsigned int phy_package_priv_data_size;
 
 	/**
 	 * @soft_reset: Called to issue a PHY software reset
-- 
2.40.1


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  parent reply	other threads:[~2023-11-25  0:35 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-25  0:11 [net-next RFC PATCH v2 00/11] net: phy: Support DT PHY package Christian Marangi
2023-11-25  0:11 ` Christian Marangi
2023-11-25  0:11 ` [net-next RFC PATCH v2 01/11] net: phy: extend PHY package API to support multiple global address Christian Marangi
2023-11-25  0:11   ` Christian Marangi
2023-11-25 17:51   ` Andrew Lunn
2023-11-25 17:51     ` Andrew Lunn
2023-11-25 14:24     ` Christian Marangi
2023-11-25 14:24       ` Christian Marangi
2023-11-25 19:02       ` Andrew Lunn
2023-11-25 19:02         ` Andrew Lunn
2023-11-25  0:11 ` [net-next RFC PATCH v2 02/11] dt-bindings: net: document ethernet PHY package nodes Christian Marangi
2023-11-25  0:11   ` Christian Marangi
2023-11-25 18:36   ` Andrew Lunn
2023-11-25 18:36     ` Andrew Lunn
2023-11-25  0:11 ` [net-next RFC PATCH v2 03/11] net: phy: add initial support for PHY package in DT Christian Marangi
2023-11-25  0:11   ` Christian Marangi
2023-11-25  0:11 ` Christian Marangi [this message]
2023-11-25  0:11   ` [net-next RFC PATCH v2 04/11] net: phy: add support for shared priv data size " Christian Marangi
2023-11-25  0:11 ` [net-next RFC PATCH v2 05/11] net: phy: add support for driver specific PHY package probe/config Christian Marangi
2023-11-25  0:11   ` Christian Marangi
2023-11-25  0:11 ` [net-next RFC PATCH v2 06/11] net: phy: move mmd_phy_indirect to generic header Christian Marangi
2023-11-25  0:11   ` Christian Marangi
2023-11-25  0:11 ` [net-next RFC PATCH v2 07/11] net: phy: add support for PHY package MMD read/write Christian Marangi
2023-11-25  0:11   ` Christian Marangi
2023-11-25  0:11 ` [net-next RFC PATCH v2 08/11] dt-bindings: net: add QCA807x PHY defines Christian Marangi
2023-11-25  0:11   ` Christian Marangi
2023-11-25  0:11 ` [net-next RFC PATCH v2 09/11] dt-bindings: net: Document Qcom QCA807x PHY package Christian Marangi
2023-11-25  0:11   ` Christian Marangi
2023-11-25  0:11 ` [net-next RFC PATCH v2 10/11] net: phy: add Qualcom QCA807x driver Christian Marangi
2023-11-25  0:11   ` Christian Marangi
2023-11-25  0:11 ` [net-next RFC PATCH v2 11/11] net: phy: qca807x: Add support for configurable LED Christian Marangi
2023-11-25  0:11   ` Christian Marangi
2023-11-25 17:28 ` [net-next RFC PATCH v2 00/11] net: phy: Support DT PHY package Andrew Lunn
2023-11-25 17:28   ` Andrew Lunn
2023-11-25 13:50   ` Christian Marangi
2023-11-25 13:50     ` Christian Marangi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20231125001127.5674-5-ansuelsmth@gmail.com \
    --to=ansuelsmth@gmail.com \
    --cc=SkyLake.Huang@mediatek.com \
    --cc=agross@kernel.org \
    --cc=andersson@kernel.org \
    --cc=andrew@lunn.ch \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=conor+dt@kernel.org \
    --cc=daniel@makrotopia.org \
    --cc=davem@davemloft.net \
    --cc=david.epping@missinglinkelectronics.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dqfext@gmail.com \
    --cc=edumazet@google.com \
    --cc=florian.fainelli@broadcom.com \
    --cc=harini.katakam@amd.com \
    --cc=hkallweit1@gmail.com \
    --cc=konrad.dybcio@linaro.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux@armlinux.org.uk \
    --cc=matthias.bgg@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=rmk+kernel@armlinux.org.uk \
    --cc=robert.marko@sartura.hr \
    --cc=robh+dt@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.