aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/files/drivers/net/dsa/mv88e6063.c
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2015-02-15 19:45:29 +0000
committerJohn Crispin <blogic@openwrt.org>2015-02-15 19:45:29 +0000
commitc77c54e6845c201483a75dfc931f7065d3d35c84 (patch)
treeba56f28512a840dcad307d78c1c063637a014f36 /target/linux/ar71xx/files/drivers/net/dsa/mv88e6063.c
parentbeb7f2ac7b5c617cd3e1b0060c15b1e71f8faa5c (diff)
downloadupstream-c77c54e6845c201483a75dfc931f7065d3d35c84.tar.gz
upstream-c77c54e6845c201483a75dfc931f7065d3d35c84.tar.bz2
upstream-c77c54e6845c201483a75dfc931f7065d3d35c84.zip
ar71xx: add v3.18 support
Signed-off-by: John Crispin <blogic@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44456 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/ar71xx/files/drivers/net/dsa/mv88e6063.c')
-rw-r--r--target/linux/ar71xx/files/drivers/net/dsa/mv88e6063.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/target/linux/ar71xx/files/drivers/net/dsa/mv88e6063.c b/target/linux/ar71xx/files/drivers/net/dsa/mv88e6063.c
index b41eb5481a..224b4913c6 100644
--- a/target/linux/ar71xx/files/drivers/net/dsa/mv88e6063.c
+++ b/target/linux/ar71xx/files/drivers/net/dsa/mv88e6063.c
@@ -12,6 +12,7 @@
* (at your option) any later version.
*/
+#include <linux/version.h>
#include <linux/list.h>
#include <linux/netdevice.h>
#include <linux/phy.h>
@@ -25,7 +26,12 @@
static int reg_read(struct dsa_switch *ds, int addr, int reg)
{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)
return mdiobus_read(ds->master_mii_bus, addr, reg);
+#else
+ struct mii_bus *bus = dsa_host_dev_to_mii_bus(ds->master_dev);
+ return mdiobus_read(bus, addr, reg);
+#endif
}
#define REG_READ(addr, reg) \
@@ -41,7 +47,12 @@ static int reg_read(struct dsa_switch *ds, int addr, int reg)
static int reg_write(struct dsa_switch *ds, int addr, int reg, u16 val)
{
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)
return mdiobus_write(ds->master_mii_bus, addr, reg, val);
+#else
+ struct mii_bus *bus = dsa_host_dev_to_mii_bus(ds->master_dev);
+ return mdiobus_write(bus, addr, reg, val);
+#endif
}
#define REG_WRITE(addr, reg, val) \
@@ -53,8 +64,13 @@ static int reg_write(struct dsa_switch *ds, int addr, int reg, u16 val)
return __ret; \
})
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)
static char *mv88e6063_probe(struct mii_bus *bus, int sw_addr)
+#else
+static char *mv88e6063_probe(struct device *host_dev, int sw_addr)
+#endif
{
+ struct mii_bus *bus = dsa_host_dev_to_mii_bus(host_dev);
int ret;
ret = mdiobus_read(bus, REG_PORT(0), 0x03);