Author: adrian
Date: Sat Dec 26 02:31:39 2015
New Revision: 292738
URL: https://svnweb.freebsd.org/changeset/base/292738

Log:
  [mdio] migrate mdiobus out of etherswitch and into a top-level device of its 
own.
  
  The mdio driver interface is generally useful for devices that require
  MDIO without the full MII bus interface. This lifts the driver/interface
  out of etherswitch(4), and adds a mdio(4) man page.
  
  Submitted by: Landon Fuller <[email protected]>
  Differential Revision:        https://reviews.freebsd.org/D4606

Added:
  head/share/man/man4/mdio.4   (contents, props changed)
  head/sys/dev/mdio/
  head/sys/dev/mdio/mdio.c
     - copied, changed from r292734, head/sys/dev/etherswitch/mdio.c
  head/sys/dev/mdio/mdio.h
     - copied, changed from r292734, head/sys/dev/etherswitch/mdio.h
  head/sys/dev/mdio/mdio_if.m
     - copied unchanged from r292734, head/sys/dev/etherswitch/mdio_if.m
  head/sys/modules/mdio/
  head/sys/modules/mdio/Makefile   (contents, props changed)
Deleted:
  head/sys/dev/etherswitch/mdio.c
  head/sys/dev/etherswitch/mdio.h
  head/sys/dev/etherswitch/mdio_if.m
Modified:
  head/share/man/man4/Makefile
  head/sys/conf/files
  head/sys/dev/etherswitch/arswitch/arswitch.c
  head/sys/dev/etherswitch/arswitch/arswitch_7240.c
  head/sys/dev/etherswitch/arswitch/arswitch_8216.c
  head/sys/dev/etherswitch/arswitch/arswitch_8226.c
  head/sys/dev/etherswitch/arswitch/arswitch_8316.c
  head/sys/dev/etherswitch/arswitch/arswitch_8327.c
  head/sys/dev/etherswitch/arswitch/arswitch_9340.c
  head/sys/dev/etherswitch/arswitch/arswitch_phy.c
  head/sys/dev/etherswitch/arswitch/arswitch_reg.c
  head/sys/dev/etherswitch/e6000sw/e6000sw.c
  head/sys/dev/etherswitch/ip17x/ip17x.c
  head/sys/dev/etherswitch/ukswitch/ukswitch.c
  head/sys/dev/mge/if_mge.c
  head/sys/modules/Makefile

Modified: head/share/man/man4/Makefile
==============================================================================
--- head/share/man/man4/Makefile        Sat Dec 26 00:31:19 2015        
(r292737)
+++ head/share/man/man4/Makefile        Sat Dec 26 02:31:39 2015        
(r292738)
@@ -266,6 +266,7 @@ MAN=        aac.4 \
        malo.4 \
        mcd.4 \
        md.4 \
+       mdio.4 \
        me.4 \
        mem.4 \
        meteor.4 \

Added: head/share/man/man4/mdio.4
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/share/man/man4/mdio.4  Sat Dec 26 02:31:39 2015        (r292738)
@@ -0,0 +1,53 @@
+.\" Written by Landon Fuller for the FreeBSD Project.
+.\" Based on the miibus(4) manual page written by Tom Rhodes.
+.\" Please see the /usr/src/COPYRIGHT file for copyright information.
+.\"
+.\" $FreeBSD$
+.\"
+.Dd December 17, 2015
+.Dt MDIO 4
+.Os
+.Sh NAME
+.Nm mdio
+.Nd IEEE 802.3 Management Data Input/Output interface
+.Sh SYNOPSIS
+To compile this driver into the kernel,
+place the following line in your
+kernel configuration file:
+.Bd -ragged -offset indent
+.Cd "device mdio"
+.Ed
+.Sh DESCRIPTION
+The
+.Nm
+driver provides an interconnection between the Media Access Control (MAC)
+sublayer and Physical Layer (PHY) entities' control and status registers,
+as defined by the IEEE 802.3 Standard.
+.Pp
+The
+.Nm
+layer allows device drivers to share common support code for various
+external PHY devices.
+.Pp
+.Tn MDIO
+is one of two signal interfaces that comprise the
+Media Independent Interface (MII) defined by the IEEE 802.3
+Standard. The
+.Xr miibus 4
+driver provides support for devices that require full
+.Tn MII
+support.
+.Sh SEE ALSO
+.Xr miibus 4
+.Sh STANDARDS
+More information on
+.Tn MDIO
+can be found in the IEEE 802.3 Standard.
+.Sh HISTORY
+The
+.Nm
+driver first appeared in
+.Fx 10.0 .
+.Sh AUTHORS
+The driver was written by
+.An Stefan Bethke Aq Mt [email protected] .

Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files Sat Dec 26 00:31:19 2015        (r292737)
+++ head/sys/conf/files Sat Dec 26 02:31:39 2015        (r292738)
@@ -1404,8 +1404,6 @@ dev/etherswitch/ip17x/ip175c.c            optional
 dev/etherswitch/ip17x/ip175d.c         optional ip17x
 dev/etherswitch/ip17x/ip17x_phy.c      optional ip17x
 dev/etherswitch/ip17x/ip17x_vlans.c    optional ip17x
-dev/etherswitch/mdio_if.m              optional miiproxy | mdio
-dev/etherswitch/mdio.c                 optional miiproxy | mdio
 dev/etherswitch/miiproxy.c             optional miiproxy
 dev/etherswitch/rtl8366/rtl8366rb.c    optional rtl8366rb
 dev/etherswitch/ukswitch/ukswitch.c    optional ukswitch
@@ -1908,6 +1906,8 @@ dev/mca/mca_bus.c         optional mca
 dev/mcd/mcd.c                  optional mcd isa nowerror
 dev/mcd/mcd_isa.c              optional mcd isa nowerror
 dev/md/md.c                    optional md
+dev/mdio/mdio_if.m             optional miiproxy | mdio
+dev/mdio/mdio.c                        optional miiproxy | mdio
 dev/mem/memdev.c               optional mem
 dev/mem/memutil.c              optional mem
 dev/mfi/mfi.c                  optional mfi

Modified: head/sys/dev/etherswitch/arswitch/arswitch.c
==============================================================================
--- head/sys/dev/etherswitch/arswitch/arswitch.c        Sat Dec 26 00:31:19 
2015        (r292737)
+++ head/sys/dev/etherswitch/arswitch/arswitch.c        Sat Dec 26 02:31:39 
2015        (r292738)
@@ -52,7 +52,7 @@
 #include <dev/iicbus/iicbus.h>
 #include <dev/mii/mii.h>
 #include <dev/mii/miivar.h>
-#include <dev/etherswitch/mdio.h>
+#include <dev/mdio/mdio.h>
 
 #include <dev/etherswitch/etherswitch.h>
 

Modified: head/sys/dev/etherswitch/arswitch/arswitch_7240.c
==============================================================================
--- head/sys/dev/etherswitch/arswitch/arswitch_7240.c   Sat Dec 26 00:31:19 
2015        (r292737)
+++ head/sys/dev/etherswitch/arswitch/arswitch_7240.c   Sat Dec 26 02:31:39 
2015        (r292738)
@@ -50,7 +50,7 @@
 #include <dev/iicbus/iicbus.h>
 #include <dev/mii/mii.h>
 #include <dev/mii/miivar.h>
-#include <dev/etherswitch/mdio.h>
+#include <dev/mdio/mdio.h>
 
 #include <dev/etherswitch/etherswitch.h>
 

Modified: head/sys/dev/etherswitch/arswitch/arswitch_8216.c
==============================================================================
--- head/sys/dev/etherswitch/arswitch/arswitch_8216.c   Sat Dec 26 00:31:19 
2015        (r292737)
+++ head/sys/dev/etherswitch/arswitch/arswitch_8216.c   Sat Dec 26 02:31:39 
2015        (r292738)
@@ -50,7 +50,7 @@
 #include <dev/iicbus/iicbus.h>
 #include <dev/mii/mii.h>
 #include <dev/mii/miivar.h>
-#include <dev/etherswitch/mdio.h>
+#include <dev/mdio/mdio.h>
 
 #include <dev/etherswitch/etherswitch.h>
 

Modified: head/sys/dev/etherswitch/arswitch/arswitch_8226.c
==============================================================================
--- head/sys/dev/etherswitch/arswitch/arswitch_8226.c   Sat Dec 26 00:31:19 
2015        (r292737)
+++ head/sys/dev/etherswitch/arswitch/arswitch_8226.c   Sat Dec 26 02:31:39 
2015        (r292738)
@@ -50,7 +50,7 @@
 #include <dev/iicbus/iicbus.h>
 #include <dev/mii/mii.h>
 #include <dev/mii/miivar.h>
-#include <dev/etherswitch/mdio.h>
+#include <dev/mdio/mdio.h>
 
 #include <dev/etherswitch/etherswitch.h>
 

Modified: head/sys/dev/etherswitch/arswitch/arswitch_8316.c
==============================================================================
--- head/sys/dev/etherswitch/arswitch/arswitch_8316.c   Sat Dec 26 00:31:19 
2015        (r292737)
+++ head/sys/dev/etherswitch/arswitch/arswitch_8316.c   Sat Dec 26 02:31:39 
2015        (r292738)
@@ -50,7 +50,7 @@
 #include <dev/iicbus/iicbus.h>
 #include <dev/mii/mii.h>
 #include <dev/mii/miivar.h>
-#include <dev/etherswitch/mdio.h>
+#include <dev/mdio/mdio.h>
 
 #include <dev/etherswitch/etherswitch.h>
 

Modified: head/sys/dev/etherswitch/arswitch/arswitch_8327.c
==============================================================================
--- head/sys/dev/etherswitch/arswitch/arswitch_8327.c   Sat Dec 26 00:31:19 
2015        (r292737)
+++ head/sys/dev/etherswitch/arswitch/arswitch_8327.c   Sat Dec 26 02:31:39 
2015        (r292738)
@@ -50,7 +50,7 @@
 #include <dev/iicbus/iicbus.h>
 #include <dev/mii/mii.h>
 #include <dev/mii/miivar.h>
-#include <dev/etherswitch/mdio.h>
+#include <dev/mdio/mdio.h>
 
 #include <dev/etherswitch/etherswitch.h>
 

Modified: head/sys/dev/etherswitch/arswitch/arswitch_9340.c
==============================================================================
--- head/sys/dev/etherswitch/arswitch/arswitch_9340.c   Sat Dec 26 00:31:19 
2015        (r292737)
+++ head/sys/dev/etherswitch/arswitch/arswitch_9340.c   Sat Dec 26 02:31:39 
2015        (r292738)
@@ -50,7 +50,7 @@
 #include <dev/iicbus/iicbus.h>
 #include <dev/mii/mii.h>
 #include <dev/mii/miivar.h>
-#include <dev/etherswitch/mdio.h>
+#include <dev/mdio/mdio.h>
 
 #include <dev/etherswitch/etherswitch.h>
 

Modified: head/sys/dev/etherswitch/arswitch/arswitch_phy.c
==============================================================================
--- head/sys/dev/etherswitch/arswitch/arswitch_phy.c    Sat Dec 26 00:31:19 
2015        (r292737)
+++ head/sys/dev/etherswitch/arswitch/arswitch_phy.c    Sat Dec 26 02:31:39 
2015        (r292738)
@@ -48,7 +48,7 @@
 #include <dev/iicbus/iicbus.h>
 #include <dev/mii/mii.h>
 #include <dev/mii/miivar.h>
-#include <dev/etherswitch/mdio.h>
+#include <dev/mdio/mdio.h>
 
 #include <dev/etherswitch/etherswitch.h>
 

Modified: head/sys/dev/etherswitch/arswitch/arswitch_reg.c
==============================================================================
--- head/sys/dev/etherswitch/arswitch/arswitch_reg.c    Sat Dec 26 00:31:19 
2015        (r292737)
+++ head/sys/dev/etherswitch/arswitch/arswitch_reg.c    Sat Dec 26 02:31:39 
2015        (r292738)
@@ -49,7 +49,7 @@
 #include <dev/iicbus/iicbus.h>
 #include <dev/mii/mii.h>
 #include <dev/mii/miivar.h>
-#include <dev/etherswitch/mdio.h>
+#include <dev/mdio/mdio.h>
 
 #include <dev/etherswitch/etherswitch.h>
 

Modified: head/sys/dev/etherswitch/e6000sw/e6000sw.c
==============================================================================
--- head/sys/dev/etherswitch/e6000sw/e6000sw.c  Sat Dec 26 00:31:19 2015        
(r292737)
+++ head/sys/dev/etherswitch/e6000sw/e6000sw.c  Sat Dec 26 02:31:39 2015        
(r292738)
@@ -54,7 +54,7 @@ __FBSDID("$FreeBSD$");
 #include <arm/mv/mvvar.h>
 
 #include <dev/etherswitch/etherswitch.h>
-#include <dev/etherswitch/mdio.h>
+#include <dev/mdio/mdio.h>
 #include <dev/mii/mii.h>
 #include <dev/mii/miivar.h>
 #include <dev/mge/if_mgevar.h>

Modified: head/sys/dev/etherswitch/ip17x/ip17x.c
==============================================================================
--- head/sys/dev/etherswitch/ip17x/ip17x.c      Sat Dec 26 00:31:19 2015        
(r292737)
+++ head/sys/dev/etherswitch/ip17x/ip17x.c      Sat Dec 26 02:31:39 2015        
(r292738)
@@ -51,7 +51,7 @@
 #include <machine/bus.h>
 #include <dev/mii/mii.h>
 #include <dev/mii/miivar.h>
-#include <dev/etherswitch/mdio.h>
+#include <dev/mdio/mdio.h>
 
 #include <dev/etherswitch/etherswitch.h>
 #include <dev/etherswitch/ip17x/ip17x_phy.h>

Modified: head/sys/dev/etherswitch/ukswitch/ukswitch.c
==============================================================================
--- head/sys/dev/etherswitch/ukswitch/ukswitch.c        Sat Dec 26 00:31:19 
2015        (r292737)
+++ head/sys/dev/etherswitch/ukswitch/ukswitch.c        Sat Dec 26 02:31:39 
2015        (r292738)
@@ -50,7 +50,7 @@
 #include <machine/bus.h>
 #include <dev/mii/mii.h>
 #include <dev/mii/miivar.h>
-#include <dev/etherswitch/mdio.h>
+#include <dev/mdio/mdio.h>
 
 #include <dev/etherswitch/etherswitch.h>
 

Copied and modified: head/sys/dev/mdio/mdio.c (from r292734, 
head/sys/dev/etherswitch/mdio.c)
==============================================================================
--- head/sys/dev/etherswitch/mdio.c     Fri Dec 25 18:11:40 2015        
(r292734, copy source)
+++ head/sys/dev/mdio/mdio.c    Sat Dec 26 02:31:39 2015        (r292738)
@@ -29,8 +29,9 @@
 #include <sys/param.h>
 #include <sys/bus.h>
 #include <sys/systm.h>
+#include <sys/module.h>
 
-#include <dev/etherswitch/mdio.h>
+#include <dev/mdio/mdio.h>
 
 #include "mdio_if.h"
 
@@ -115,3 +116,5 @@ driver_t mdio_driver = {
 };
 
 devclass_t mdio_devclass;
+
+MODULE_VERSION(mdio, 1);

Copied and modified: head/sys/dev/mdio/mdio.h (from r292734, 
head/sys/dev/etherswitch/mdio.h)
==============================================================================
--- head/sys/dev/etherswitch/mdio.h     Fri Dec 25 18:11:40 2015        
(r292734, copy source)
+++ head/sys/dev/mdio/mdio.h    Sat Dec 26 02:31:39 2015        (r292738)
@@ -26,10 +26,10 @@
  * $FreeBSD$
  */
 
-#ifndef        __DEV_ETHERSWITCH_MDIO_H__
-#define        __DEV_ETHERSWITCH_MDIO_H__
+#ifndef        __DEV_MDIO_MDIO_H__
+#define        __DEV_MDIO_MDIO_H__
 
 extern driver_t mdio_driver;
 extern devclass_t mdio_devclass;
 
-#endif /* __DEV_ETHERSWITCH_MDIO_H__ */
+#endif /* __DEV_MDIO_MDIO_H__ */

Copied: head/sys/dev/mdio/mdio_if.m (from r292734, 
head/sys/dev/etherswitch/mdio_if.m)
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/dev/mdio/mdio_if.m Sat Dec 26 02:31:39 2015        (r292738, copy 
of r292734, head/sys/dev/etherswitch/mdio_if.m)
@@ -0,0 +1,24 @@
+# $FreeBSD$
+
+#include <sys/bus.h>
+
+INTERFACE mdio;
+
+#
+# Read register from device on MDIO bus
+#
+METHOD int readreg {
+       device_t                dev;
+       int                     phy;
+       int                     reg;
+};
+
+#
+# Write register to device on MDIO bus
+#
+METHOD int writereg {
+       device_t                dev;
+       int                     phy;
+       int                     reg;
+       int                     val;
+};

Modified: head/sys/dev/mge/if_mge.c
==============================================================================
--- head/sys/dev/mge/if_mge.c   Sat Dec 26 00:31:19 2015        (r292737)
+++ head/sys/dev/mge/if_mge.c   Sat Dec 26 02:31:39 2015        (r292738)
@@ -74,7 +74,7 @@ __FBSDID("$FreeBSD$");
 #include <dev/fdt/fdt_common.h>
 #include <dev/ofw/ofw_bus.h>
 #include <dev/ofw/ofw_bus_subr.h>
-#include <dev/etherswitch/mdio.h>
+#include <dev/mdio/mdio.h>
 
 #include <dev/mge/if_mgevar.h>
 #include <arm/mv/mvreg.h>

Modified: head/sys/modules/Makefile
==============================================================================
--- head/sys/modules/Makefile   Sat Dec 26 00:31:19 2015        (r292737)
+++ head/sys/modules/Makefile   Sat Dec 26 02:31:39 2015        (r292738)
@@ -220,6 +220,7 @@ SUBDIR=     \
        malo \
        mcd \
        md \
+       mdio \
        mem \
        mfi \
        mii \

Added: head/sys/modules/mdio/Makefile
==============================================================================
--- /dev/null   00:00:00 1970   (empty, because file is newly added)
+++ head/sys/modules/mdio/Makefile      Sat Dec 26 02:31:39 2015        
(r292738)
@@ -0,0 +1,10 @@
+# $FreeBSD$
+
+.PATH: ${.CURDIR}/../../dev/mdio
+
+KMOD=  mdio
+SRCS=  mdio.c
+SRCS+= mdio_if.c mdio_if.h
+SRCS+= device_if.h bus_if.h
+
+.include <bsd.kmod.mk>
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "[email protected]"

Reply via email to