diff options
Diffstat (limited to 'drivers/net/sungem.c')
-rw-r--r-- | drivers/net/sungem.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/net/sungem.c b/drivers/net/sungem.c index d6f4faf5bbcb..b571a1babab9 100644 --- a/drivers/net/sungem.c +++ b/drivers/net/sungem.c | |||
@@ -38,6 +38,7 @@ | |||
38 | #include <linux/interrupt.h> | 38 | #include <linux/interrupt.h> |
39 | #include <linux/ioport.h> | 39 | #include <linux/ioport.h> |
40 | #include <linux/in.h> | 40 | #include <linux/in.h> |
41 | #include <linux/sched.h> | ||
41 | #include <linux/slab.h> | 42 | #include <linux/slab.h> |
42 | #include <linux/string.h> | 43 | #include <linux/string.h> |
43 | #include <linux/delay.h> | 44 | #include <linux/delay.h> |
@@ -2060,7 +2061,15 @@ static int gem_check_invariants(struct gem *gp) | |||
2060 | mif_cfg &= ~MIF_CFG_PSELECT; | 2061 | mif_cfg &= ~MIF_CFG_PSELECT; |
2061 | writel(mif_cfg, gp->regs + MIF_CFG); | 2062 | writel(mif_cfg, gp->regs + MIF_CFG); |
2062 | } else { | 2063 | } else { |
2063 | gp->phy_type = phy_serialink; | 2064 | #ifdef CONFIG_SPARC |
2065 | const char *p; | ||
2066 | |||
2067 | p = of_get_property(gp->of_node, "shared-pins", NULL); | ||
2068 | if (p && !strcmp(p, "serdes")) | ||
2069 | gp->phy_type = phy_serdes; | ||
2070 | else | ||
2071 | #endif | ||
2072 | gp->phy_type = phy_serialink; | ||
2064 | } | 2073 | } |
2065 | if (gp->phy_type == phy_mii_mdio1 || | 2074 | if (gp->phy_type == phy_mii_mdio1 || |
2066 | gp->phy_type == phy_mii_mdio0) { | 2075 | gp->phy_type == phy_mii_mdio0) { |