All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] net: phy: Remove inline definitions from convinience functions
@ 2022-06-05  0:44 Ramon Fried
  2022-06-05  6:59 ` Michael Nazzareno Trimarchi
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Ramon Fried @ 2022-06-05  0:44 UTC (permalink / raw)
  To: marek.behun, vladimir.oltean, t.karthik.reddy, michal.simek,
	ariel.dalessandro, michael, wd, nate.d, radu-nicolae.pirea,
	u-boot, rasmus.villemoes
  Cc: Ramon Fried

The convinience functions are not that small and they caused
bloated text segments because of their usage.
There was no need to inline them in the first place, as
they're not part of a fastpath.

Signed-off-by: Ramon Fried <rfried.dev@gmail.com>
---
 drivers/net/phy/phy.c | 174 ++++++++++++++++++++++++++++++++++++++
 include/phy.h         | 189 ++----------------------------------------
 2 files changed, 183 insertions(+), 180 deletions(-)

diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
index 1121b99abf..e6e1755518 100644
--- a/drivers/net/phy/phy.c
+++ b/drivers/net/phy/phy.c
@@ -1101,3 +1101,177 @@ int phy_modify(struct phy_device *phydev, int devad, int regnum, u16 mask,
 
 	return phy_write(phydev, devad, regnum, (ret & ~mask) | set);
 }
+
+/**
+ * phy_read - Convenience function for reading a given PHY register
+ * @phydev: the phy_device struct
+ * @devad: The MMD to read from
+ * @regnum: register number to read
+ * @return: value for success or negative errno for failure
+ */
+int phy_read(struct phy_device *phydev, int devad, int regnum)
+{
+	struct mii_dev *bus = phydev->bus;
+
+	if (!bus || !bus->read) {
+		debug("%s: No bus configured\n", __func__);
+		return -1;
+	}
+
+	return bus->read(bus, phydev->addr, devad, regnum);
+}
+
+/**
+ * phy_write - Convenience function for writing a given PHY register
+ * @phydev: the phy_device struct
+ * @devad: The MMD to read from
+ * @regnum: register number to write
+ * @val: value to write to @regnum
+ * @return: 0 for success or negative errno for failure
+ */
+int phy_write(struct phy_device *phydev, int devad, int regnum, u16 val)
+{
+	struct mii_dev *bus = phydev->bus;
+
+	if (!bus || !bus->write) {
+		debug("%s: No bus configured\n", __func__);
+		return -1;
+	}
+
+	return bus->write(bus, phydev->addr, devad, regnum, val);
+}
+
+/**
+ * phy_mmd_start_indirect - Convenience function for writing MMD registers
+ * @phydev: the phy_device struct
+ * @devad: The MMD to read from
+ * @regnum: register number to write
+ * @return: None
+ */
+void phy_mmd_start_indirect(struct phy_device *phydev, int devad, int regnum)
+{
+	/* Write the desired MMD Devad */
+	phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_CTRL, devad);
+
+	/* Write the desired MMD register address */
+	phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA, regnum);
+
+	/* Select the Function : DATA with no post increment */
+	phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_CTRL,
+		  (devad | MII_MMD_CTRL_NOINCR));
+}
+
+/**
+ * phy_read_mmd - Convenience function for reading a register
+ * from an MMD on a given PHY.
+ * @phydev: The phy_device struct
+ * @devad: The MMD to read from
+ * @regnum: The register on the MMD to read
+ * @return: Value for success or negative errno for failure
+ */
+int phy_read_mmd(struct phy_device *phydev, int devad, int regnum)
+{
+	struct phy_driver *drv = phydev->drv;
+
+	if (regnum > (u16)~0 || devad > 32)
+		return -EINVAL;
+
+	/* driver-specific access */
+	if (drv->read_mmd)
+		return drv->read_mmd(phydev, devad, regnum);
+
+	/* direct C45 / C22 access */
+	if ((drv->features & PHY_10G_FEATURES) == PHY_10G_FEATURES ||
+	    devad == MDIO_DEVAD_NONE || !devad)
+		return phy_read(phydev, devad, regnum);
+
+	/* indirect C22 access */
+	phy_mmd_start_indirect(phydev, devad, regnum);
+
+	/* Read the content of the MMD's selected register */
+	return phy_read(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA);
+}
+
+/**
+ * phy_write_mmd - Convenience function for writing a register
+ * on an MMD on a given PHY.
+ * @phydev: The phy_device struct
+ * @devad: The MMD to read from
+ * @regnum: The register on the MMD to read
+ * @val: value to write to @regnum
+ * @return: 0 for success or negative errno for failure
+ */
+int phy_write_mmd(struct phy_device *phydev, int devad, int regnum, u16 val)
+{
+	struct phy_driver *drv = phydev->drv;
+
+	if (regnum > (u16)~0 || devad > 32)
+		return -EINVAL;
+
+	/* driver-specific access */
+	if (drv->write_mmd)
+		return drv->write_mmd(phydev, devad, regnum, val);
+
+	/* direct C45 / C22 access */
+	if ((drv->features & PHY_10G_FEATURES) == PHY_10G_FEATURES ||
+	    devad == MDIO_DEVAD_NONE || !devad)
+		return phy_write(phydev, devad, regnum, val);
+
+	/* indirect C22 access */
+	phy_mmd_start_indirect(phydev, devad, regnum);
+
+	/* Write the data into MMD's selected register */
+	return phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA, val);
+}
+
+/**
+ * phy_set_bits_mmd - Convenience function for setting bits in a register
+ * on MMD
+ * @phydev: the phy_device struct
+ * @devad: the MMD containing register to modify
+ * @regnum: register number to modify
+ * @val: bits to set
+ * @return: 0 for success or negative errno for failure
+ */
+int phy_set_bits_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val)
+{
+	int value, ret;
+
+	value = phy_read_mmd(phydev, devad, regnum);
+	if (value < 0)
+		return value;
+
+	value |= val;
+
+	ret = phy_write_mmd(phydev, devad, regnum, value);
+	if (ret < 0)
+		return ret;
+
+	return 0;
+}
+
+/**
+ * phy_clear_bits_mmd - Convenience function for clearing bits in a register
+ * on MMD
+ * @phydev: the phy_device struct
+ * @devad: the MMD containing register to modify
+ * @regnum: register number to modify
+ * @val: bits to clear
+ * @return: 0 for success or negative errno for failure
+ */
+int phy_clear_bits_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val)
+{
+	int value, ret;
+
+	value = phy_read_mmd(phydev, devad, regnum);
+	if (value < 0)
+		return value;
+
+	value &= ~val;
+
+	ret = phy_write_mmd(phydev, devad, regnum, value);
+	if (ret < 0)
+		return ret;
+
+	return 0;
+}
diff --git a/include/phy.h b/include/phy.h
index b329595710..ad2096ca84 100644
--- a/include/phy.h
+++ b/include/phy.h
@@ -177,186 +177,6 @@ struct fixed_link {
 	int asym_pause;
 };
 
-/**
- * phy_read - Convenience function for reading a given PHY register
- * @phydev: the phy_device struct
- * @devad: The MMD to read from
- * @regnum: register number to read
- * @return: value for success or negative errno for failure
- */
-static inline int phy_read(struct phy_device *phydev, int devad, int regnum)
-{
-	struct mii_dev *bus = phydev->bus;
-
-	if (!bus || !bus->read) {
-		debug("%s: No bus configured\n", __func__);
-		return -1;
-	}
-
-	return bus->read(bus, phydev->addr, devad, regnum);
-}
-
-/**
- * phy_write - Convenience function for writing a given PHY register
- * @phydev: the phy_device struct
- * @devad: The MMD to read from
- * @regnum: register number to write
- * @val: value to write to @regnum
- * @return: 0 for success or negative errno for failure
- */
-static inline int phy_write(struct phy_device *phydev, int devad, int regnum,
-			u16 val)
-{
-	struct mii_dev *bus = phydev->bus;
-
-	if (!bus || !bus->write) {
-		debug("%s: No bus configured\n", __func__);
-		return -1;
-	}
-
-	return bus->write(bus, phydev->addr, devad, regnum, val);
-}
-
-/**
- * phy_mmd_start_indirect - Convenience function for writing MMD registers
- * @phydev: the phy_device struct
- * @devad: The MMD to read from
- * @regnum: register number to write
- * @return: None
- */
-static inline void phy_mmd_start_indirect(struct phy_device *phydev, int devad,
-					  int regnum)
-{
-	/* Write the desired MMD Devad */
-	phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_CTRL, devad);
-
-	/* Write the desired MMD register address */
-	phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA, regnum);
-
-	/* Select the Function : DATA with no post increment */
-	phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_CTRL,
-		  (devad | MII_MMD_CTRL_NOINCR));
-}
-
-/**
- * phy_read_mmd - Convenience function for reading a register
- * from an MMD on a given PHY.
- * @phydev: The phy_device struct
- * @devad: The MMD to read from
- * @regnum: The register on the MMD to read
- * @return: Value for success or negative errno for failure
- */
-static inline int phy_read_mmd(struct phy_device *phydev, int devad,
-			       int regnum)
-{
-	struct phy_driver *drv = phydev->drv;
-
-	if (regnum > (u16)~0 || devad > 32)
-		return -EINVAL;
-
-	/* driver-specific access */
-	if (drv->read_mmd)
-		return drv->read_mmd(phydev, devad, regnum);
-
-	/* direct C45 / C22 access */
-	if ((drv->features & PHY_10G_FEATURES) == PHY_10G_FEATURES ||
-	    devad == MDIO_DEVAD_NONE || !devad)
-		return phy_read(phydev, devad, regnum);
-
-	/* indirect C22 access */
-	phy_mmd_start_indirect(phydev, devad, regnum);
-
-	/* Read the content of the MMD's selected register */
-	return phy_read(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA);
-}
-
-/**
- * phy_write_mmd - Convenience function for writing a register
- * on an MMD on a given PHY.
- * @phydev: The phy_device struct
- * @devad: The MMD to read from
- * @regnum: The register on the MMD to read
- * @val: value to write to @regnum
- * @return: 0 for success or negative errno for failure
- */
-static inline int phy_write_mmd(struct phy_device *phydev, int devad,
-				int regnum, u16 val)
-{
-	struct phy_driver *drv = phydev->drv;
-
-	if (regnum > (u16)~0 || devad > 32)
-		return -EINVAL;
-
-	/* driver-specific access */
-	if (drv->write_mmd)
-		return drv->write_mmd(phydev, devad, regnum, val);
-
-	/* direct C45 / C22 access */
-	if ((drv->features & PHY_10G_FEATURES) == PHY_10G_FEATURES ||
-	    devad == MDIO_DEVAD_NONE || !devad)
-		return phy_write(phydev, devad, regnum, val);
-
-	/* indirect C22 access */
-	phy_mmd_start_indirect(phydev, devad, regnum);
-
-	/* Write the data into MMD's selected register */
-	return phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA, val);
-}
-
-/**
- * phy_set_bits_mmd - Convenience function for setting bits in a register
- * on MMD
- * @phydev: the phy_device struct
- * @devad: the MMD containing register to modify
- * @regnum: register number to modify
- * @val: bits to set
- * @return: 0 for success or negative errno for failure
- */
-static inline int phy_set_bits_mmd(struct phy_device *phydev, int devad,
-				   u32 regnum, u16 val)
-{
-	int value, ret;
-
-	value = phy_read_mmd(phydev, devad, regnum);
-	if (value < 0)
-		return value;
-
-	value |= val;
-
-	ret = phy_write_mmd(phydev, devad, regnum, value);
-	if (ret < 0)
-		return ret;
-
-	return 0;
-}
-
-/**
- * phy_clear_bits_mmd - Convenience function for clearing bits in a register
- * on MMD
- * @phydev: the phy_device struct
- * @devad: the MMD containing register to modify
- * @regnum: register number to modify
- * @val: bits to clear
- * @return: 0 for success or negative errno for failure
- */
-static inline int phy_clear_bits_mmd(struct phy_device *phydev, int devad,
-				     u32 regnum, u16 val)
-{
-	int value, ret;
-
-	value = phy_read_mmd(phydev, devad, regnum);
-	if (value < 0)
-		return value;
-
-	value &= ~val;
-
-	ret = phy_write_mmd(phydev, devad, regnum, value);
-	if (ret < 0)
-		return ret;
-
-	return 0;
-}
-
 #ifdef CONFIG_PHYLIB_10G
 extern struct phy_driver gen10g_driver;
 #endif
@@ -508,6 +328,15 @@ static inline ofnode phy_get_ofnode(struct phy_device *phydev)
 	return ofnode_null();
 }
 #endif
+
+int phy_read(struct phy_device *phydev, int devad, int regnum);
+int phy_write(struct phy_device *phydev, int devad, int regnum, u16 val);
+void phy_mmd_start_indirect(struct phy_device *phydev, int devad, int regnum);
+int phy_read_mmd(struct phy_device *phydev, int devad, int regnum);
+int phy_write_mmd(struct phy_device *phydev, int devad, int regnum, u16 val);
+int phy_set_bits_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val);
+int phy_clear_bits_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val);
+
 int phy_startup(struct phy_device *phydev);
 int phy_config(struct phy_device *phydev);
 int phy_shutdown(struct phy_device *phydev);
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [PATCH] net: phy: Remove inline definitions from convinience functions
  2022-06-05  0:44 [PATCH] net: phy: Remove inline definitions from convinience functions Ramon Fried
@ 2022-06-05  6:59 ` Michael Nazzareno Trimarchi
  2022-06-06  8:46   ` Ramon Fried
  2022-06-05 13:02 ` Marek Behún
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 6+ messages in thread
From: Michael Nazzareno Trimarchi @ 2022-06-05  6:59 UTC (permalink / raw)
  To: Ramon Fried
  Cc: Marek Behún, vladimir.oltean, T Karthik Reddy, michal.simek,
	Ariel D'Alessandro, Wolfgang Denk, nate.d,
	radu-nicolae.pirea, U-Boot-Denx, Rasmus Villemoes

Hi Ramon

Il dom 5 giu 2022, 02:44 Ramon Fried <rfried.dev@gmail.com> ha scritto:

> The convinience functions are not that small and they caused
> bloated text segments because of their usage.
> There was no need to inline them in the first place, as
> they're not part of a fastpath.
>


Please give numbers here in commit message ;)

Otherwise

Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>

Michael

>
> Signed-off-by: Ramon Fried <rfried.dev@gmail.com>
> ---
>  drivers/net/phy/phy.c | 174 ++++++++++++++++++++++++++++++++++++++
>  include/phy.h         | 189 ++----------------------------------------
>  2 files changed, 183 insertions(+), 180 deletions(-)
>
> diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
> index 1121b99abf..e6e1755518 100644
> --- a/drivers/net/phy/phy.c
> +++ b/drivers/net/phy/phy.c
> @@ -1101,3 +1101,177 @@ int phy_modify(struct phy_device *phydev, int
> devad, int regnum, u16 mask,
>
>         return phy_write(phydev, devad, regnum, (ret & ~mask) | set);
>  }
> +
> +/**
> + * phy_read - Convenience function for reading a given PHY register
> + * @phydev: the phy_device struct
> + * @devad: The MMD to read from
> + * @regnum: register number to read
> + * @return: value for success or negative errno for failure
> + */
> +int phy_read(struct phy_device *phydev, int devad, int regnum)
> +{
> +       struct mii_dev *bus = phydev->bus;
> +
> +       if (!bus || !bus->read) {
> +               debug("%s: No bus configured\n", __func__);
> +               return -1;
> +       }
> +
> +       return bus->read(bus, phydev->addr, devad, regnum);
> +}
> +
> +/**
> + * phy_write - Convenience function for writing a given PHY register
> + * @phydev: the phy_device struct
> + * @devad: The MMD to read from
> + * @regnum: register number to write
> + * @val: value to write to @regnum
> + * @return: 0 for success or negative errno for failure
> + */
> +int phy_write(struct phy_device *phydev, int devad, int regnum, u16 val)
> +{
> +       struct mii_dev *bus = phydev->bus;
> +
> +       if (!bus || !bus->write) {
> +               debug("%s: No bus configured\n", __func__);
> +               return -1;
> +       }
> +
> +       return bus->write(bus, phydev->addr, devad, regnum, val);
> +}
> +
> +/**
> + * phy_mmd_start_indirect - Convenience function for writing MMD registers
> + * @phydev: the phy_device struct
> + * @devad: The MMD to read from
> + * @regnum: register number to write
> + * @return: None
> + */
> +void phy_mmd_start_indirect(struct phy_device *phydev, int devad, int
> regnum)
> +{
> +       /* Write the desired MMD Devad */
> +       phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_CTRL, devad);
> +
> +       /* Write the desired MMD register address */
> +       phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA, regnum);
> +
> +       /* Select the Function : DATA with no post increment */
> +       phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_CTRL,
> +                 (devad | MII_MMD_CTRL_NOINCR));
> +}
> +
> +/**
> + * phy_read_mmd - Convenience function for reading a register
> + * from an MMD on a given PHY.
> + * @phydev: The phy_device struct
> + * @devad: The MMD to read from
> + * @regnum: The register on the MMD to read
> + * @return: Value for success or negative errno for failure
> + */
> +int phy_read_mmd(struct phy_device *phydev, int devad, int regnum)
> +{
> +       struct phy_driver *drv = phydev->drv;
> +
> +       if (regnum > (u16)~0 || devad > 32)
> +               return -EINVAL;
> +
> +       /* driver-specific access */
> +       if (drv->read_mmd)
> +               return drv->read_mmd(phydev, devad, regnum);
> +
> +       /* direct C45 / C22 access */
> +       if ((drv->features & PHY_10G_FEATURES) == PHY_10G_FEATURES ||
> +           devad == MDIO_DEVAD_NONE || !devad)
> +               return phy_read(phydev, devad, regnum);
> +
> +       /* indirect C22 access */
> +       phy_mmd_start_indirect(phydev, devad, regnum);
> +
> +       /* Read the content of the MMD's selected register */
> +       return phy_read(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA);
> +}
> +
> +/**
> + * phy_write_mmd - Convenience function for writing a register
> + * on an MMD on a given PHY.
> + * @phydev: The phy_device struct
> + * @devad: The MMD to read from
> + * @regnum: The register on the MMD to read
> + * @val: value to write to @regnum
> + * @return: 0 for success or negative errno for failure
> + */
> +int phy_write_mmd(struct phy_device *phydev, int devad, int regnum, u16
> val)
> +{
> +       struct phy_driver *drv = phydev->drv;
> +
> +       if (regnum > (u16)~0 || devad > 32)
> +               return -EINVAL;
> +
> +       /* driver-specific access */
> +       if (drv->write_mmd)
> +               return drv->write_mmd(phydev, devad, regnum, val);
> +
> +       /* direct C45 / C22 access */
> +       if ((drv->features & PHY_10G_FEATURES) == PHY_10G_FEATURES ||
> +           devad == MDIO_DEVAD_NONE || !devad)
> +               return phy_write(phydev, devad, regnum, val);
> +
> +       /* indirect C22 access */
> +       phy_mmd_start_indirect(phydev, devad, regnum);
> +
> +       /* Write the data into MMD's selected register */
> +       return phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA, val);
> +}
> +
> +/**
> + * phy_set_bits_mmd - Convenience function for setting bits in a register
> + * on MMD
> + * @phydev: the phy_device struct
> + * @devad: the MMD containing register to modify
> + * @regnum: register number to modify
> + * @val: bits to set
> + * @return: 0 for success or negative errno for failure
> + */
> +int phy_set_bits_mmd(struct phy_device *phydev, int devad, u32 regnum,
> u16 val)
> +{
> +       int value, ret;
> +
> +       value = phy_read_mmd(phydev, devad, regnum);
> +       if (value < 0)
> +               return value;
> +
> +       value |= val;
> +
> +       ret = phy_write_mmd(phydev, devad, regnum, value);
> +       if (ret < 0)
> +               return ret;
> +
> +       return 0;
> +}
> +
> +/**
> + * phy_clear_bits_mmd - Convenience function for clearing bits in a
> register
> + * on MMD
> + * @phydev: the phy_device struct
> + * @devad: the MMD containing register to modify
> + * @regnum: register number to modify
> + * @val: bits to clear
> + * @return: 0 for success or negative errno for failure
> + */
> +int phy_clear_bits_mmd(struct phy_device *phydev, int devad, u32 regnum,
> u16 val)
> +{
> +       int value, ret;
> +
> +       value = phy_read_mmd(phydev, devad, regnum);
> +       if (value < 0)
> +               return value;
> +
> +       value &= ~val;
> +
> +       ret = phy_write_mmd(phydev, devad, regnum, value);
> +       if (ret < 0)
> +               return ret;
> +
> +       return 0;
> +}
> diff --git a/include/phy.h b/include/phy.h
> index b329595710..ad2096ca84 100644
> --- a/include/phy.h
> +++ b/include/phy.h
> @@ -177,186 +177,6 @@ struct fixed_link {
>         int asym_pause;
>  };
>
> -/**
> - * phy_read - Convenience function for reading a given PHY register
> - * @phydev: the phy_device struct
> - * @devad: The MMD to read from
> - * @regnum: register number to read
> - * @return: value for success or negative errno for failure
> - */
> -static inline int phy_read(struct phy_device *phydev, int devad, int
> regnum)
> -{
> -       struct mii_dev *bus = phydev->bus;
> -
> -       if (!bus || !bus->read) {
> -               debug("%s: No bus configured\n", __func__);
> -               return -1;
> -       }
> -
> -       return bus->read(bus, phydev->addr, devad, regnum);
> -}
> -
> -/**
> - * phy_write - Convenience function for writing a given PHY register
> - * @phydev: the phy_device struct
> - * @devad: The MMD to read from
> - * @regnum: register number to write
> - * @val: value to write to @regnum
> - * @return: 0 for success or negative errno for failure
> - */
> -static inline int phy_write(struct phy_device *phydev, int devad, int
> regnum,
> -                       u16 val)
> -{
> -       struct mii_dev *bus = phydev->bus;
> -
> -       if (!bus || !bus->write) {
> -               debug("%s: No bus configured\n", __func__);
> -               return -1;
> -       }
> -
> -       return bus->write(bus, phydev->addr, devad, regnum, val);
> -}
> -
> -/**
> - * phy_mmd_start_indirect - Convenience function for writing MMD registers
> - * @phydev: the phy_device struct
> - * @devad: The MMD to read from
> - * @regnum: register number to write
> - * @return: None
> - */
> -static inline void phy_mmd_start_indirect(struct phy_device *phydev, int
> devad,
> -                                         int regnum)
> -{
> -       /* Write the desired MMD Devad */
> -       phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_CTRL, devad);
> -
> -       /* Write the desired MMD register address */
> -       phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA, regnum);
> -
> -       /* Select the Function : DATA with no post increment */
> -       phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_CTRL,
> -                 (devad | MII_MMD_CTRL_NOINCR));
> -}
> -
> -/**
> - * phy_read_mmd - Convenience function for reading a register
> - * from an MMD on a given PHY.
> - * @phydev: The phy_device struct
> - * @devad: The MMD to read from
> - * @regnum: The register on the MMD to read
> - * @return: Value for success or negative errno for failure
> - */
> -static inline int phy_read_mmd(struct phy_device *phydev, int devad,
> -                              int regnum)
> -{
> -       struct phy_driver *drv = phydev->drv;
> -
> -       if (regnum > (u16)~0 || devad > 32)
> -               return -EINVAL;
> -
> -       /* driver-specific access */
> -       if (drv->read_mmd)
> -               return drv->read_mmd(phydev, devad, regnum);
> -
> -       /* direct C45 / C22 access */
> -       if ((drv->features & PHY_10G_FEATURES) == PHY_10G_FEATURES ||
> -           devad == MDIO_DEVAD_NONE || !devad)
> -               return phy_read(phydev, devad, regnum);
> -
> -       /* indirect C22 access */
> -       phy_mmd_start_indirect(phydev, devad, regnum);
> -
> -       /* Read the content of the MMD's selected register */
> -       return phy_read(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA);
> -}
> -
> -/**
> - * phy_write_mmd - Convenience function for writing a register
> - * on an MMD on a given PHY.
> - * @phydev: The phy_device struct
> - * @devad: The MMD to read from
> - * @regnum: The register on the MMD to read
> - * @val: value to write to @regnum
> - * @return: 0 for success or negative errno for failure
> - */
> -static inline int phy_write_mmd(struct phy_device *phydev, int devad,
> -                               int regnum, u16 val)
> -{
> -       struct phy_driver *drv = phydev->drv;
> -
> -       if (regnum > (u16)~0 || devad > 32)
> -               return -EINVAL;
> -
> -       /* driver-specific access */
> -       if (drv->write_mmd)
> -               return drv->write_mmd(phydev, devad, regnum, val);
> -
> -       /* direct C45 / C22 access */
> -       if ((drv->features & PHY_10G_FEATURES) == PHY_10G_FEATURES ||
> -           devad == MDIO_DEVAD_NONE || !devad)
> -               return phy_write(phydev, devad, regnum, val);
> -
> -       /* indirect C22 access */
> -       phy_mmd_start_indirect(phydev, devad, regnum);
> -
> -       /* Write the data into MMD's selected register */
> -       return phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA, val);
> -}
> -
> -/**
> - * phy_set_bits_mmd - Convenience function for setting bits in a register
> - * on MMD
> - * @phydev: the phy_device struct
> - * @devad: the MMD containing register to modify
> - * @regnum: register number to modify
> - * @val: bits to set
> - * @return: 0 for success or negative errno for failure
> - */
> -static inline int phy_set_bits_mmd(struct phy_device *phydev, int devad,
> -                                  u32 regnum, u16 val)
> -{
> -       int value, ret;
> -
> -       value = phy_read_mmd(phydev, devad, regnum);
> -       if (value < 0)
> -               return value;
> -
> -       value |= val;
> -
> -       ret = phy_write_mmd(phydev, devad, regnum, value);
> -       if (ret < 0)
> -               return ret;
> -
> -       return 0;
> -}
> -
> -/**
> - * phy_clear_bits_mmd - Convenience function for clearing bits in a
> register
> - * on MMD
> - * @phydev: the phy_device struct
> - * @devad: the MMD containing register to modify
> - * @regnum: register number to modify
> - * @val: bits to clear
> - * @return: 0 for success or negative errno for failure
> - */
> -static inline int phy_clear_bits_mmd(struct phy_device *phydev, int devad,
> -                                    u32 regnum, u16 val)
> -{
> -       int value, ret;
> -
> -       value = phy_read_mmd(phydev, devad, regnum);
> -       if (value < 0)
> -               return value;
> -
> -       value &= ~val;
> -
> -       ret = phy_write_mmd(phydev, devad, regnum, value);
> -       if (ret < 0)
> -               return ret;
> -
> -       return 0;
> -}
> -
>  #ifdef CONFIG_PHYLIB_10G
>  extern struct phy_driver gen10g_driver;
>  #endif
> @@ -508,6 +328,15 @@ static inline ofnode phy_get_ofnode(struct phy_device
> *phydev)
>         return ofnode_null();
>  }
>  #endif
> +
> +int phy_read(struct phy_device *phydev, int devad, int regnum);
> +int phy_write(struct phy_device *phydev, int devad, int regnum, u16 val);
> +void phy_mmd_start_indirect(struct phy_device *phydev, int devad, int
> regnum);
> +int phy_read_mmd(struct phy_device *phydev, int devad, int regnum);
> +int phy_write_mmd(struct phy_device *phydev, int devad, int regnum, u16
> val);
> +int phy_set_bits_mmd(struct phy_device *phydev, int devad, u32 regnum,
> u16 val);
> +int phy_clear_bits_mmd(struct phy_device *phydev, int devad, u32 regnum,
> u16 val);
> +
>  int phy_startup(struct phy_device *phydev);
>  int phy_config(struct phy_device *phydev);
>  int phy_shutdown(struct phy_device *phydev);
> --
> 2.30.2
>
>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] net: phy: Remove inline definitions from convinience functions
  2022-06-05  0:44 [PATCH] net: phy: Remove inline definitions from convinience functions Ramon Fried
  2022-06-05  6:59 ` Michael Nazzareno Trimarchi
@ 2022-06-05 13:02 ` Marek Behún
  2022-06-08 23:14 ` Vladimir Oltean
  2022-08-08 19:08 ` Tom Rini
  3 siblings, 0 replies; 6+ messages in thread
From: Marek Behún @ 2022-06-05 13:02 UTC (permalink / raw)
  To: Ramon Fried
  Cc: vladimir.oltean, t.karthik.reddy, michal.simek,
	ariel.dalessandro, michael, wd, nate.d, radu-nicolae.pirea,
	u-boot, rasmus.villemoes

On Sun,  5 Jun 2022 03:44:15 +0300
Ramon Fried <rfried.dev@gmail.com> wrote:

> The convinience functions are not that small and they caused
> bloated text segments because of their usage.
> There was no need to inline them in the first place, as
> they're not part of a fastpath.

Reviewed-by: Marek Behún <kabel@kernel.org>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] net: phy: Remove inline definitions from convinience functions
  2022-06-05  6:59 ` Michael Nazzareno Trimarchi
@ 2022-06-06  8:46   ` Ramon Fried
  0 siblings, 0 replies; 6+ messages in thread
From: Ramon Fried @ 2022-06-06  8:46 UTC (permalink / raw)
  To: Michael Nazzareno Trimarchi
  Cc: Marek Behún, Vladimir Oltean, T Karthik Reddy, michal.simek,
	Ariel D'Alessandro, Wolfgang Denk, Nate Drude,
	Radu Pirea (NXP OSS),
	U-Boot-Denx, Rasmus Villemoes

On Sun, Jun 5, 2022 at 9:59 AM Michael Nazzareno Trimarchi
<michael@amarulasolutions.com> wrote:
>
> Hi Ramon
>
> Il dom 5 giu 2022, 02:44 Ramon Fried <rfried.dev@gmail.com> ha scritto:
>>
>> The convinience functions are not that small and they caused
>> bloated text segments because of their usage.
>> There was no need to inline them in the first place, as
>> they're not part of a fastpath.
>
>
>
> Please give numbers here in commit message ;)
You can see some numbers in the patch phy: dp83867: add
dp83867_{read,write}_mmd helpers"
Thanks,
Ramon
>
> Otherwise
>
> Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
>
> Michael
>>
>>
>> Signed-off-by: Ramon Fried <rfried.dev@gmail.com>
>> ---
>>  drivers/net/phy/phy.c | 174 ++++++++++++++++++++++++++++++++++++++
>>  include/phy.h         | 189 ++----------------------------------------
>>  2 files changed, 183 insertions(+), 180 deletions(-)
>>
>> diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c
>> index 1121b99abf..e6e1755518 100644
>> --- a/drivers/net/phy/phy.c
>> +++ b/drivers/net/phy/phy.c
>> @@ -1101,3 +1101,177 @@ int phy_modify(struct phy_device *phydev, int devad, int regnum, u16 mask,
>>
>>         return phy_write(phydev, devad, regnum, (ret & ~mask) | set);
>>  }
>> +
>> +/**
>> + * phy_read - Convenience function for reading a given PHY register
>> + * @phydev: the phy_device struct
>> + * @devad: The MMD to read from
>> + * @regnum: register number to read
>> + * @return: value for success or negative errno for failure
>> + */
>> +int phy_read(struct phy_device *phydev, int devad, int regnum)
>> +{
>> +       struct mii_dev *bus = phydev->bus;
>> +
>> +       if (!bus || !bus->read) {
>> +               debug("%s: No bus configured\n", __func__);
>> +               return -1;
>> +       }
>> +
>> +       return bus->read(bus, phydev->addr, devad, regnum);
>> +}
>> +
>> +/**
>> + * phy_write - Convenience function for writing a given PHY register
>> + * @phydev: the phy_device struct
>> + * @devad: The MMD to read from
>> + * @regnum: register number to write
>> + * @val: value to write to @regnum
>> + * @return: 0 for success or negative errno for failure
>> + */
>> +int phy_write(struct phy_device *phydev, int devad, int regnum, u16 val)
>> +{
>> +       struct mii_dev *bus = phydev->bus;
>> +
>> +       if (!bus || !bus->write) {
>> +               debug("%s: No bus configured\n", __func__);
>> +               return -1;
>> +       }
>> +
>> +       return bus->write(bus, phydev->addr, devad, regnum, val);
>> +}
>> +
>> +/**
>> + * phy_mmd_start_indirect - Convenience function for writing MMD registers
>> + * @phydev: the phy_device struct
>> + * @devad: The MMD to read from
>> + * @regnum: register number to write
>> + * @return: None
>> + */
>> +void phy_mmd_start_indirect(struct phy_device *phydev, int devad, int regnum)
>> +{
>> +       /* Write the desired MMD Devad */
>> +       phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_CTRL, devad);
>> +
>> +       /* Write the desired MMD register address */
>> +       phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA, regnum);
>> +
>> +       /* Select the Function : DATA with no post increment */
>> +       phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_CTRL,
>> +                 (devad | MII_MMD_CTRL_NOINCR));
>> +}
>> +
>> +/**
>> + * phy_read_mmd - Convenience function for reading a register
>> + * from an MMD on a given PHY.
>> + * @phydev: The phy_device struct
>> + * @devad: The MMD to read from
>> + * @regnum: The register on the MMD to read
>> + * @return: Value for success or negative errno for failure
>> + */
>> +int phy_read_mmd(struct phy_device *phydev, int devad, int regnum)
>> +{
>> +       struct phy_driver *drv = phydev->drv;
>> +
>> +       if (regnum > (u16)~0 || devad > 32)
>> +               return -EINVAL;
>> +
>> +       /* driver-specific access */
>> +       if (drv->read_mmd)
>> +               return drv->read_mmd(phydev, devad, regnum);
>> +
>> +       /* direct C45 / C22 access */
>> +       if ((drv->features & PHY_10G_FEATURES) == PHY_10G_FEATURES ||
>> +           devad == MDIO_DEVAD_NONE || !devad)
>> +               return phy_read(phydev, devad, regnum);
>> +
>> +       /* indirect C22 access */
>> +       phy_mmd_start_indirect(phydev, devad, regnum);
>> +
>> +       /* Read the content of the MMD's selected register */
>> +       return phy_read(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA);
>> +}
>> +
>> +/**
>> + * phy_write_mmd - Convenience function for writing a register
>> + * on an MMD on a given PHY.
>> + * @phydev: The phy_device struct
>> + * @devad: The MMD to read from
>> + * @regnum: The register on the MMD to read
>> + * @val: value to write to @regnum
>> + * @return: 0 for success or negative errno for failure
>> + */
>> +int phy_write_mmd(struct phy_device *phydev, int devad, int regnum, u16 val)
>> +{
>> +       struct phy_driver *drv = phydev->drv;
>> +
>> +       if (regnum > (u16)~0 || devad > 32)
>> +               return -EINVAL;
>> +
>> +       /* driver-specific access */
>> +       if (drv->write_mmd)
>> +               return drv->write_mmd(phydev, devad, regnum, val);
>> +
>> +       /* direct C45 / C22 access */
>> +       if ((drv->features & PHY_10G_FEATURES) == PHY_10G_FEATURES ||
>> +           devad == MDIO_DEVAD_NONE || !devad)
>> +               return phy_write(phydev, devad, regnum, val);
>> +
>> +       /* indirect C22 access */
>> +       phy_mmd_start_indirect(phydev, devad, regnum);
>> +
>> +       /* Write the data into MMD's selected register */
>> +       return phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA, val);
>> +}
>> +
>> +/**
>> + * phy_set_bits_mmd - Convenience function for setting bits in a register
>> + * on MMD
>> + * @phydev: the phy_device struct
>> + * @devad: the MMD containing register to modify
>> + * @regnum: register number to modify
>> + * @val: bits to set
>> + * @return: 0 for success or negative errno for failure
>> + */
>> +int phy_set_bits_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val)
>> +{
>> +       int value, ret;
>> +
>> +       value = phy_read_mmd(phydev, devad, regnum);
>> +       if (value < 0)
>> +               return value;
>> +
>> +       value |= val;
>> +
>> +       ret = phy_write_mmd(phydev, devad, regnum, value);
>> +       if (ret < 0)
>> +               return ret;
>> +
>> +       return 0;
>> +}
>> +
>> +/**
>> + * phy_clear_bits_mmd - Convenience function for clearing bits in a register
>> + * on MMD
>> + * @phydev: the phy_device struct
>> + * @devad: the MMD containing register to modify
>> + * @regnum: register number to modify
>> + * @val: bits to clear
>> + * @return: 0 for success or negative errno for failure
>> + */
>> +int phy_clear_bits_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val)
>> +{
>> +       int value, ret;
>> +
>> +       value = phy_read_mmd(phydev, devad, regnum);
>> +       if (value < 0)
>> +               return value;
>> +
>> +       value &= ~val;
>> +
>> +       ret = phy_write_mmd(phydev, devad, regnum, value);
>> +       if (ret < 0)
>> +               return ret;
>> +
>> +       return 0;
>> +}
>> diff --git a/include/phy.h b/include/phy.h
>> index b329595710..ad2096ca84 100644
>> --- a/include/phy.h
>> +++ b/include/phy.h
>> @@ -177,186 +177,6 @@ struct fixed_link {
>>         int asym_pause;
>>  };
>>
>> -/**
>> - * phy_read - Convenience function for reading a given PHY register
>> - * @phydev: the phy_device struct
>> - * @devad: The MMD to read from
>> - * @regnum: register number to read
>> - * @return: value for success or negative errno for failure
>> - */
>> -static inline int phy_read(struct phy_device *phydev, int devad, int regnum)
>> -{
>> -       struct mii_dev *bus = phydev->bus;
>> -
>> -       if (!bus || !bus->read) {
>> -               debug("%s: No bus configured\n", __func__);
>> -               return -1;
>> -       }
>> -
>> -       return bus->read(bus, phydev->addr, devad, regnum);
>> -}
>> -
>> -/**
>> - * phy_write - Convenience function for writing a given PHY register
>> - * @phydev: the phy_device struct
>> - * @devad: The MMD to read from
>> - * @regnum: register number to write
>> - * @val: value to write to @regnum
>> - * @return: 0 for success or negative errno for failure
>> - */
>> -static inline int phy_write(struct phy_device *phydev, int devad, int regnum,
>> -                       u16 val)
>> -{
>> -       struct mii_dev *bus = phydev->bus;
>> -
>> -       if (!bus || !bus->write) {
>> -               debug("%s: No bus configured\n", __func__);
>> -               return -1;
>> -       }
>> -
>> -       return bus->write(bus, phydev->addr, devad, regnum, val);
>> -}
>> -
>> -/**
>> - * phy_mmd_start_indirect - Convenience function for writing MMD registers
>> - * @phydev: the phy_device struct
>> - * @devad: The MMD to read from
>> - * @regnum: register number to write
>> - * @return: None
>> - */
>> -static inline void phy_mmd_start_indirect(struct phy_device *phydev, int devad,
>> -                                         int regnum)
>> -{
>> -       /* Write the desired MMD Devad */
>> -       phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_CTRL, devad);
>> -
>> -       /* Write the desired MMD register address */
>> -       phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA, regnum);
>> -
>> -       /* Select the Function : DATA with no post increment */
>> -       phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_CTRL,
>> -                 (devad | MII_MMD_CTRL_NOINCR));
>> -}
>> -
>> -/**
>> - * phy_read_mmd - Convenience function for reading a register
>> - * from an MMD on a given PHY.
>> - * @phydev: The phy_device struct
>> - * @devad: The MMD to read from
>> - * @regnum: The register on the MMD to read
>> - * @return: Value for success or negative errno for failure
>> - */
>> -static inline int phy_read_mmd(struct phy_device *phydev, int devad,
>> -                              int regnum)
>> -{
>> -       struct phy_driver *drv = phydev->drv;
>> -
>> -       if (regnum > (u16)~0 || devad > 32)
>> -               return -EINVAL;
>> -
>> -       /* driver-specific access */
>> -       if (drv->read_mmd)
>> -               return drv->read_mmd(phydev, devad, regnum);
>> -
>> -       /* direct C45 / C22 access */
>> -       if ((drv->features & PHY_10G_FEATURES) == PHY_10G_FEATURES ||
>> -           devad == MDIO_DEVAD_NONE || !devad)
>> -               return phy_read(phydev, devad, regnum);
>> -
>> -       /* indirect C22 access */
>> -       phy_mmd_start_indirect(phydev, devad, regnum);
>> -
>> -       /* Read the content of the MMD's selected register */
>> -       return phy_read(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA);
>> -}
>> -
>> -/**
>> - * phy_write_mmd - Convenience function for writing a register
>> - * on an MMD on a given PHY.
>> - * @phydev: The phy_device struct
>> - * @devad: The MMD to read from
>> - * @regnum: The register on the MMD to read
>> - * @val: value to write to @regnum
>> - * @return: 0 for success or negative errno for failure
>> - */
>> -static inline int phy_write_mmd(struct phy_device *phydev, int devad,
>> -                               int regnum, u16 val)
>> -{
>> -       struct phy_driver *drv = phydev->drv;
>> -
>> -       if (regnum > (u16)~0 || devad > 32)
>> -               return -EINVAL;
>> -
>> -       /* driver-specific access */
>> -       if (drv->write_mmd)
>> -               return drv->write_mmd(phydev, devad, regnum, val);
>> -
>> -       /* direct C45 / C22 access */
>> -       if ((drv->features & PHY_10G_FEATURES) == PHY_10G_FEATURES ||
>> -           devad == MDIO_DEVAD_NONE || !devad)
>> -               return phy_write(phydev, devad, regnum, val);
>> -
>> -       /* indirect C22 access */
>> -       phy_mmd_start_indirect(phydev, devad, regnum);
>> -
>> -       /* Write the data into MMD's selected register */
>> -       return phy_write(phydev, MDIO_DEVAD_NONE, MII_MMD_DATA, val);
>> -}
>> -
>> -/**
>> - * phy_set_bits_mmd - Convenience function for setting bits in a register
>> - * on MMD
>> - * @phydev: the phy_device struct
>> - * @devad: the MMD containing register to modify
>> - * @regnum: register number to modify
>> - * @val: bits to set
>> - * @return: 0 for success or negative errno for failure
>> - */
>> -static inline int phy_set_bits_mmd(struct phy_device *phydev, int devad,
>> -                                  u32 regnum, u16 val)
>> -{
>> -       int value, ret;
>> -
>> -       value = phy_read_mmd(phydev, devad, regnum);
>> -       if (value < 0)
>> -               return value;
>> -
>> -       value |= val;
>> -
>> -       ret = phy_write_mmd(phydev, devad, regnum, value);
>> -       if (ret < 0)
>> -               return ret;
>> -
>> -       return 0;
>> -}
>> -
>> -/**
>> - * phy_clear_bits_mmd - Convenience function for clearing bits in a register
>> - * on MMD
>> - * @phydev: the phy_device struct
>> - * @devad: the MMD containing register to modify
>> - * @regnum: register number to modify
>> - * @val: bits to clear
>> - * @return: 0 for success or negative errno for failure
>> - */
>> -static inline int phy_clear_bits_mmd(struct phy_device *phydev, int devad,
>> -                                    u32 regnum, u16 val)
>> -{
>> -       int value, ret;
>> -
>> -       value = phy_read_mmd(phydev, devad, regnum);
>> -       if (value < 0)
>> -               return value;
>> -
>> -       value &= ~val;
>> -
>> -       ret = phy_write_mmd(phydev, devad, regnum, value);
>> -       if (ret < 0)
>> -               return ret;
>> -
>> -       return 0;
>> -}
>> -
>>  #ifdef CONFIG_PHYLIB_10G
>>  extern struct phy_driver gen10g_driver;
>>  #endif
>> @@ -508,6 +328,15 @@ static inline ofnode phy_get_ofnode(struct phy_device *phydev)
>>         return ofnode_null();
>>  }
>>  #endif
>> +
>> +int phy_read(struct phy_device *phydev, int devad, int regnum);
>> +int phy_write(struct phy_device *phydev, int devad, int regnum, u16 val);
>> +void phy_mmd_start_indirect(struct phy_device *phydev, int devad, int regnum);
>> +int phy_read_mmd(struct phy_device *phydev, int devad, int regnum);
>> +int phy_write_mmd(struct phy_device *phydev, int devad, int regnum, u16 val);
>> +int phy_set_bits_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val);
>> +int phy_clear_bits_mmd(struct phy_device *phydev, int devad, u32 regnum, u16 val);
>> +
>>  int phy_startup(struct phy_device *phydev);
>>  int phy_config(struct phy_device *phydev);
>>  int phy_shutdown(struct phy_device *phydev);
>> --
>> 2.30.2
>>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] net: phy: Remove inline definitions from convinience functions
  2022-06-05  0:44 [PATCH] net: phy: Remove inline definitions from convinience functions Ramon Fried
  2022-06-05  6:59 ` Michael Nazzareno Trimarchi
  2022-06-05 13:02 ` Marek Behún
@ 2022-06-08 23:14 ` Vladimir Oltean
  2022-08-08 19:08 ` Tom Rini
  3 siblings, 0 replies; 6+ messages in thread
From: Vladimir Oltean @ 2022-06-08 23:14 UTC (permalink / raw)
  To: Ramon Fried
  Cc: marek.behun, t.karthik.reddy, michal.simek, ariel.dalessandro,
	michael, wd, Nate Drude, Radu-nicolae Pirea (OSS),
	u-boot, rasmus.villemoes

On Sun, Jun 05, 2022 at 03:44:15AM +0300, Ramon Fried wrote:
> The convinience functions are not that small and they caused

convenience

> bloated text segments because of their usage.
> There was no need to inline them in the first place, as
> they're not part of a fastpath.
> 
> Signed-off-by: Ramon Fried <rfried.dev@gmail.com>
> ---

Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH] net: phy: Remove inline definitions from convinience functions
  2022-06-05  0:44 [PATCH] net: phy: Remove inline definitions from convinience functions Ramon Fried
                   ` (2 preceding siblings ...)
  2022-06-08 23:14 ` Vladimir Oltean
@ 2022-08-08 19:08 ` Tom Rini
  3 siblings, 0 replies; 6+ messages in thread
From: Tom Rini @ 2022-08-08 19:08 UTC (permalink / raw)
  To: Ramon Fried
  Cc: marek.behun, vladimir.oltean, t.karthik.reddy, michal.simek,
	ariel.dalessandro, michael, wd, nate.d, radu-nicolae.pirea,
	u-boot, rasmus.villemoes

[-- Attachment #1: Type: text/plain, Size: 547 bytes --]

On Sun, Jun 05, 2022 at 03:44:15AM +0300, Ramon Fried wrote:

> The convinience functions are not that small and they caused
> bloated text segments because of their usage.
> There was no need to inline them in the first place, as
> they're not part of a fastpath.
> 
> Signed-off-by: Ramon Fried <rfried.dev@gmail.com>
> Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
> Reviewed-by: Marek Behún <kabel@kernel.org>
> Reviewed-by: Vladimir Oltean <vladimir.oltean@nxp.com>

Applied to u-boot/master, thanks!

-- 
Tom

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 659 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-08-08 19:09 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-05  0:44 [PATCH] net: phy: Remove inline definitions from convinience functions Ramon Fried
2022-06-05  6:59 ` Michael Nazzareno Trimarchi
2022-06-06  8:46   ` Ramon Fried
2022-06-05 13:02 ` Marek Behún
2022-06-08 23:14 ` Vladimir Oltean
2022-08-08 19:08 ` Tom Rini

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.