Patchwork [U-Boot] miiphy: Note that miiphy_* API is deprecated

login
register
mail settings
Submitter Andy Fleming
Date Oct. 31, 2011, 2:46 p.m.
Message ID <1320072373-367-1-git-send-email-afleming@freescale.com>
Download mbox | patch
Permalink /patch/122830/
State Accepted
Commit 1cdabc4bc78f98155a51890a3077473d7a4d3426
Headers show

Comments

Andy Fleming - Oct. 31, 2011, 2:46 p.m.
We want to move everything to phylib, and we definitely don't want
new drivers using the miiphy infrastructure.

Signed-off-by: Andy Fleming <afleming@freescale.com>
---
 common/miiphyutil.c              |   10 ++++++++++
 doc/feature-removal-schedule.txt |   11 +++++++++++
 2 files changed, 21 insertions(+), 0 deletions(-)
Tabi Timur-B04825 - Oct. 31, 2011, 3:08 p.m.
On Mon, Oct 31, 2011 at 9:46 AM, Andy Fleming <afleming@freescale.com> wrote:
> We want to move everything to phylib, and we definitely don't want
> new drivers using the miiphy infrastructure.

How about using gcc's deprecated function feature?  Or is that too aggressive?

http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html
Andy Fleming - Oct. 31, 2011, 3:12 p.m.
On Oct 31, 2011, at 10:08 AM, Tabi Timur-B04825 wrote:

> On Mon, Oct 31, 2011 at 9:46 AM, Andy Fleming <afleming@freescale.com> wrote:
>> We want to move everything to phylib, and we definitely don't want
>> new drivers using the miiphy infrastructure.
> 
> How about using gcc's deprecated function feature?  Or is that too aggressive?


I don't think we want every net driver prior to the last release to create a warning. We may switch to that after we get some momentum on switching drivers over. The first goal is just to provide information that a new driver-writer may see so that the old API doesn't expand.

Andy
Mike Frysinger - Oct. 31, 2011, 5:21 p.m.
On Monday 31 October 2011 10:46:13 Andy Fleming wrote:
> +What:	Users of the legacy miiphy_* code
> +When:	undetermined
> +
> +Why:	We now have a PHY library, which allows everyone to share PHY
> +	drivers. All new drivers should use this infrastructure, and
> +	all old drivers should get converted to use it.

could you explicitly mention the defines which are considered "old" and the 
ones that are considered "new" here ?

and update the top level README as well (if the old defines are mentioned) ?
-mike
Mike Frysinger - Oct. 31, 2011, 6:24 p.m.
On Monday 31 October 2011 11:12:12 Andy Fleming wrote:
> On Oct 31, 2011, at 10:08 AM, Tabi Timur-B04825 wrote:
> > On Mon, Oct 31, 2011 at 9:46 AM, Andy Fleming wrote:
> >> We want to move everything to phylib, and we definitely don't want
> >> new drivers using the miiphy infrastructure.
> > 
> > How about using gcc's deprecated function feature?  Or is that too
> > aggressive?
> 
> I don't think we want every net driver prior to the last release to create
> a warning. We may switch to that after we get some momentum on switching
> drivers over. The first goal is just to provide information that a new
> driver-writer may see so that the old API doesn't expand.

right, this is why i didn't suggest a #warning or __deprecated before.  i'm 
pretty sure way more code is using the old phy layer than the new phy layer 
atm.

i also want to say that the new phy layer doesn't have all the support that 
the old one did ... if you look in include/miiphy.h, there are a few defines at 
the end there which are not in linux/mii.h.
-mike
Wolfgang Denk - Dec. 5, 2011, 9:17 p.m.
Dear Andy Fleming,

In message <1320072373-367-1-git-send-email-afleming@freescale.com> you wrote:
> We want to move everything to phylib, and we definitely don't want
> new drivers using the miiphy infrastructure.
> 
> Signed-off-by: Andy Fleming <afleming@freescale.com>
> ---
>  common/miiphyutil.c              |   10 ++++++++++
>  doc/feature-removal-schedule.txt |   11 +++++++++++
>  2 files changed, 21 insertions(+), 0 deletions(-)

Applied, thanks.

Best regards,

Wolfgang Denk

Patch

diff --git a/common/miiphyutil.c b/common/miiphyutil.c
index 35ad357..2cc23b4 100644
--- a/common/miiphyutil.c
+++ b/common/miiphyutil.c
@@ -102,6 +102,7 @@  static int legacy_miiphy_write(struct mii_dev *bus, int addr, int devad,
 /*****************************************************************************
  *
  * Register read and write MII access routines for the device <name>.
+ * This API is now deprecated. Please use mdio_alloc and mdio_register, instead.
  */
 void miiphy_register(const char *name,
 		      int (*read)(const char *devname, unsigned char addr,
@@ -281,6 +282,8 @@  static struct mii_dev *miiphy_get_active_dev(const char *devname)
  * Read to variable <value> from the PHY attached to device <devname>,
  * use PHY address <addr> and register <reg>.
  *
+ * This API is deprecated. Use phy_read on a phy_device found via phy_connect
+ *
  * Returns:
  *   0 on success
  */
@@ -307,6 +310,8 @@  int miiphy_read(const char *devname, unsigned char addr, unsigned char reg,
  * Write <value> to the PHY attached to device <devname>,
  * use PHY address <addr> and register <reg>.
  *
+ * This API is deprecated. Use phy_write on a phy_device found by phy_connect
+ *
  * Returns:
  *   0 on success
  */
@@ -350,6 +355,8 @@  void miiphy_listdev(void)
  * Model:    6 bits (unsigned char)
  * Revision: 4 bits (unsigned char)
  *
+ * This API is deprecated.
+ *
  * Returns:
  *   0 on success
  */
@@ -389,6 +396,9 @@  int miiphy_info(const char *devname, unsigned char addr, unsigned int *oui,
 /*****************************************************************************
  *
  * Reset the PHY.
+ *
+ * This API is deprecated. Use PHYLIB.
+ *
  * Returns:
  *   0 on success
  */
diff --git a/doc/feature-removal-schedule.txt b/doc/feature-removal-schedule.txt
index 00d87e4..e04ba2d 100644
--- a/doc/feature-removal-schedule.txt
+++ b/doc/feature-removal-schedule.txt
@@ -7,6 +7,17 @@  file.
 
 ---------------------------
 
+What:	Users of the legacy miiphy_* code
+When:	undetermined
+
+Why:	We now have a PHY library, which allows everyone to share PHY
+	drivers. All new drivers should use this infrastructure, and
+	all old drivers should get converted to use it.
+
+Who:	Andy Fleming <afleming@freescale.com> and driver maintainers
+
+---------------------------
+
 What:	boards with xxx_config targets in top level Makefile
 When:	Release v2012.03