stmmac: perform hw bus configuration
authorGiuseppe CAVALLARO <peppe.cavallaro@st.com>
Wed, 6 Jan 2010 23:07:15 +0000 (23:07 +0000)
committerDavid S. Miller <davem@davemloft.net>
Fri, 8 Jan 2010 01:06:07 +0000 (17:06 -0800)
On some platforms it can be required a different
configuration of the bus. This can be done
by invoking the bus_setup. It is defined
for all the platforms that needs this kind of
configuration.

Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/stmmac/gmac.c
drivers/net/stmmac/stmmac_main.c

index 982875646725beb34cd9cdc6b432e328bdad31b9..c1278876ef252b054a41fd6a84cdf7ad301a7def 100644 (file)
@@ -400,9 +400,6 @@ static void gmac_core_init(unsigned long ioaddr)
        value |= GMAC_CORE_INIT;
        writel(value, ioaddr + GMAC_CONTROL);
 
-       /* STBus Bridge Configuration */
-       /*writel(0xc5608, ioaddr + 0x00007000);*/
-
        /* Freeze MMC counters */
        writel(0x8, ioaddr + GMAC_MMC_CTRL);
        /* Mask GMAC interrupts */
index d50fe6f171ef57aafdd0f30e54f21c7bcfdf0241..a02006d57a598f5373ae691fc34f3c0118cca221 100644 (file)
@@ -1067,6 +1067,9 @@ static int stmmac_open(struct net_device *dev)
 
        /* Copy the MAC addr into the HW  */
        priv->mac_type->ops->set_umac_addr(ioaddr, dev->dev_addr, 0);
+       /* If required, perform hw setup of the bus. */
+       if (priv->bus_setup)
+               priv->bus_setup(ioaddr);
        /* Initialize the MAC Core */
        priv->mac_type->ops->core_init(ioaddr);