diff options
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/altera_tse.c | 2 | ||||
-rw-r--r-- | drivers/net/davinci_emac.c | 2 | ||||
-rw-r--r-- | drivers/net/designware.c | 2 | ||||
-rw-r--r-- | drivers/net/dm9k.c | 2 | ||||
-rw-r--r-- | drivers/net/ep93xx.c | 2 | ||||
-rw-r--r-- | drivers/net/fec_imx.c | 2 | ||||
-rw-r--r-- | drivers/net/fec_imx.h | 2 | ||||
-rw-r--r-- | drivers/net/fec_mpc5200.c | 2 | ||||
-rw-r--r-- | drivers/net/ksz8864rmn.c | 2 | ||||
-rw-r--r-- | drivers/net/phy/phy.c | 49 | ||||
-rw-r--r-- | drivers/net/smc91111.c | 2 | ||||
-rw-r--r-- | drivers/net/smc911x.c | 2 | ||||
-rw-r--r-- | drivers/net/smc911x.h | 2 |
13 files changed, 53 insertions, 20 deletions
diff --git a/drivers/net/altera_tse.c b/drivers/net/altera_tse.c index 1e67c7a8e7..316b971742 100644 --- a/drivers/net/altera_tse.c +++ b/drivers/net/altera_tse.c @@ -533,7 +533,7 @@ static int tse_probe(struct device_d *dev) } #endif - memset(rx_desc, 0, (sizeof *rx_desc) * (PKTBUFSRX + 1)); + memset(rx_desc, 0, (sizeof *rx_desc) * (PKTBUFSRX + 1)); memset(tx_desc, 0, (sizeof *tx_desc) * 2); iores = dev_request_mem_resource(dev, 0); diff --git a/drivers/net/davinci_emac.c b/drivers/net/davinci_emac.c index 3dc4b16b67..75a917a76d 100644 --- a/drivers/net/davinci_emac.c +++ b/drivers/net/davinci_emac.c @@ -49,7 +49,7 @@ #include <asm/system.h> #include <linux/phy.h> #include <mach/emac_defs.h> -#include <net/davinci_emac.h> +#include <platform_data/eth-davinci-emac.h> #include "davinci_emac.h" struct davinci_emac_priv { diff --git a/drivers/net/designware.c b/drivers/net/designware.c index 3b21244478..1d662a71d9 100644 --- a/drivers/net/designware.c +++ b/drivers/net/designware.c @@ -27,7 +27,7 @@ #include <io.h> #include <net.h> #include <of_net.h> -#include <net/designware.h> +#include <platform_data/eth-designware.h> #include <linux/phy.h> #include <linux/err.h> #include "designware.h" diff --git a/drivers/net/dm9k.c b/drivers/net/dm9k.c index ad402e3efc..acc0abbc48 100644 --- a/drivers/net/dm9k.c +++ b/drivers/net/dm9k.c @@ -29,7 +29,7 @@ #include <net.h> #include <io.h> #include <xfuncs.h> -#include <dm9000.h> +#include <platform_data/eth-dm9000.h> #include <errno.h> #include <linux/phy.h> diff --git a/drivers/net/ep93xx.c b/drivers/net/ep93xx.c index 0acb9b692f..fd725a56ee 100644 --- a/drivers/net/ep93xx.c +++ b/drivers/net/ep93xx.c @@ -38,7 +38,7 @@ #include <linux/types.h> #include <mach/ep93xx-regs.h> #include <linux/phy.h> -#include <net/ep93xx_eth.h> +#include <platform_data/eth-ep93xx.h> #include "ep93xx.h" #define EP93XX_MAX_PKT_SIZE 1536 diff --git a/drivers/net/fec_imx.c b/drivers/net/fec_imx.c index 83fdec66d7..8bc7c2993a 100644 --- a/drivers/net/fec_imx.c +++ b/drivers/net/fec_imx.c @@ -20,7 +20,7 @@ #include <net.h> #include <init.h> #include <driver.h> -#include <fec.h> +#include <platform_data/eth-fec.h> #include <io.h> #include <clock.h> #include <xfuncs.h> diff --git a/drivers/net/fec_imx.h b/drivers/net/fec_imx.h index 0921b52bae..1947e60f69 100644 --- a/drivers/net/fec_imx.h +++ b/drivers/net/fec_imx.h @@ -193,7 +193,7 @@ static inline int fec_is_imx6(struct fec_priv *priv) #define FEC_RBD_SH 0x0008 /**< Receive BD status: Short frame */ #define FEC_RBD_CR 0x0004 /**< Receive BD status: CRC error */ #define FEC_RBD_OV 0x0002 /**< Receive BD status: Receive FIFO overrun */ -#define FEC_RBD_TR 0x0001 /**< Receive BD status: Frame is truncated */ +#define FEC_RBD_TR 0x0001 /**< Receive BD status: Frame is truncated */ #define FEC_RBD_ERR (FEC_RBD_LG | FEC_RBD_NO | FEC_RBD_CR | \ FEC_RBD_OV | FEC_RBD_TR) diff --git a/drivers/net/fec_mpc5200.c b/drivers/net/fec_mpc5200.c index bb57c34502..b99c23f7d4 100644 --- a/drivers/net/fec_mpc5200.c +++ b/drivers/net/fec_mpc5200.c @@ -10,7 +10,7 @@ #include <mach/mpc5xxx.h> #include <malloc.h> #include <net.h> -#include <fec.h> +#include <platform_data/eth-fec.h> #include <init.h> #include <driver.h> #include <mach/sdma.h> diff --git a/drivers/net/ksz8864rmn.c b/drivers/net/ksz8864rmn.c index 3ca85fb3f3..860af448ea 100644 --- a/drivers/net/ksz8864rmn.c +++ b/drivers/net/ksz8864rmn.c @@ -149,7 +149,7 @@ static int micrel_switch_probe(struct device_d *dev) return -ENODEV; } - priv->cdev.name = asprintf("switch%d", dev->id); + priv->cdev.name = basprintf("switch%d", dev->id); priv->cdev.size = 256; priv->cdev.ops = &micrel_switch_ops; priv->cdev.priv = priv; diff --git a/drivers/net/phy/phy.c b/drivers/net/phy/phy.c index be2c68bf68..73176fbc04 100644 --- a/drivers/net/phy/phy.c +++ b/drivers/net/phy/phy.c @@ -52,9 +52,11 @@ int phy_update_status(struct phy_device *phydev) int ret; int oldspeed = phydev->speed, oldduplex = phydev->duplex; - ret = drv->read_status(phydev); - if (ret) - return ret; + if (drv) { + ret = drv->read_status(phydev); + if (ret) + return ret; + } if (phydev->speed == oldspeed && phydev->duplex == oldduplex) return 0; @@ -173,10 +175,15 @@ struct phy_device *phy_device_create(struct mii_bus *bus, int addr, int phy_id) phydev->bus = bus; phydev->dev.bus = &mdio_bus_type; - sprintf(phydev->dev.name, "mdio%d-phy%02x", + if (bus) { + sprintf(phydev->dev.name, "mdio%d-phy%02x", phydev->bus->dev.id, phydev->addr); - phydev->dev.id = DEVICE_ID_SINGLE; + phydev->dev.id = DEVICE_ID_SINGLE; + } else { + sprintf(phydev->dev.name, "fixed-phy"); + phydev->dev.id = DEVICE_ID_DYNAMIC; + } return phydev; } @@ -245,7 +252,9 @@ static void phy_config_aneg(struct phy_device *phydev) struct phy_driver *drv; drv = to_phy_driver(phydev->dev.driver); - drv->config_aneg(phydev); + + if (drv) + drv->config_aneg(phydev); } int phy_register_device(struct phy_device *phydev) @@ -255,13 +264,15 @@ int phy_register_device(struct phy_device *phydev) if (phydev->registered) return -EBUSY; - phydev->dev.parent = &phydev->bus->dev; + if (!phydev->dev.parent) + phydev->dev.parent = &phydev->bus->dev; ret = register_device(&phydev->dev); if (ret) return ret; - phydev->bus->phy_map[phydev->addr] = phydev; + if (phydev->bus) + phydev->bus->phy_map[phydev->addr] = phydev; phydev->registered = 1; @@ -289,6 +300,22 @@ void phy_unregister_device(struct phy_device *phydev) phydev->registered = 0; } +struct phy_device *of_phy_register_fixed_link(struct device_node *np, struct eth_device *edev) +{ + struct phy_device *phydev; + + phydev = phy_device_create(NULL, 0, 0); + + phydev->dev.parent = &edev->dev; + phydev->registered = 1; + phydev->speed = 1000; + phydev->duplex = 1; + phydev->pause = phydev->asym_pause = 0; + phydev->link = 1; + + return phydev; +} + static struct phy_device *of_mdio_find_phy(struct eth_device *edev) { struct device_d *dev; @@ -305,6 +332,12 @@ static struct phy_device *of_mdio_find_phy(struct eth_device *edev) phy_node = of_parse_phandle(edev->parent->device_node, "phy", 0); if (!phy_node) phy_node = of_parse_phandle(edev->parent->device_node, "phy-device", 0); + if (!phy_node) { + phy_node = of_get_child_by_name(edev->parent->device_node, "fixed-link"); + if (phy_node) + return of_phy_register_fixed_link(phy_node, edev); + } + if (!phy_node) return NULL; diff --git a/drivers/net/smc91111.c b/drivers/net/smc91111.c index b7055910eb..e08e3dd1b5 100644 --- a/drivers/net/smc91111.c +++ b/drivers/net/smc91111.c @@ -67,7 +67,7 @@ #include <io.h> #include <linux/phy.h> #include <linux/err.h> -#include <net/smc91111.h> +#include <platform_data/eth-smc91111.h> /*--------------------------------------------------------------- . diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c index 9b1a38ae21..fe9d1df502 100644 --- a/drivers/net/smc911x.c +++ b/drivers/net/smc911x.c @@ -28,7 +28,7 @@ #include <errno.h> #include <clock.h> #include <io.h> -#include <smc911x.h> +#include <platform_data/eth-smc911x.h> #include <linux/phy.h> #include "smc911x.h" diff --git a/drivers/net/smc911x.h b/drivers/net/smc911x.h index 8540a84344..3bf2af9c35 100644 --- a/drivers/net/smc911x.h +++ b/drivers/net/smc911x.h @@ -186,7 +186,7 @@ #define RX_DP_CTRL_RX_FFWD 0x80000000 /* R/W */ #define RX_DP_CTRL_FFWD_BUSY 0x80000000 /* RO */ -#define RX_FIFO_INF 0x7C +#define RX_FIFO_INF 0x7C #define RX_FIFO_INF_RXSUSED 0x00FF0000 /* RO */ #define RX_FIFO_INF_RXDUSED 0x0000FFFF /* RO */ |