mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
ar71xx: merge the ar7240 switch driver from r22675
git-svn-id: svn://svn.openwrt.org/openwrt/branches/backfire@22678 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -44,9 +44,13 @@ static void ag71xx_phy_link_adjust(struct net_device *dev)
|
||||
|
||||
void ag71xx_phy_start(struct ag71xx *ag)
|
||||
{
|
||||
struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag);
|
||||
|
||||
if (ag->phy_dev) {
|
||||
phy_start(ag->phy_dev);
|
||||
} else {
|
||||
if (pdata->has_ar7240_switch)
|
||||
ag71xx_ar7240_start(ag);
|
||||
ag->link = 1;
|
||||
ag71xx_link_adjust(ag);
|
||||
}
|
||||
@@ -54,9 +58,13 @@ void ag71xx_phy_start(struct ag71xx *ag)
|
||||
|
||||
void ag71xx_phy_stop(struct ag71xx *ag)
|
||||
{
|
||||
struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag);
|
||||
|
||||
if (ag->phy_dev) {
|
||||
phy_stop(ag->phy_dev);
|
||||
} else {
|
||||
if (pdata->has_ar7240_switch)
|
||||
ag71xx_ar7240_stop(ag);
|
||||
ag->link = 0;
|
||||
ag71xx_link_adjust(ag);
|
||||
}
|
||||
@@ -200,6 +208,9 @@ int ag71xx_phy_connect(struct ag71xx *ag)
|
||||
mutex_unlock(&ag->mii_bus->mdio_lock);
|
||||
}
|
||||
|
||||
if (pdata->has_ar7240_switch)
|
||||
return ag71xx_ar7240_init(ag);
|
||||
|
||||
if (pdata->phy_mask)
|
||||
return ag71xx_phy_connect_multi(ag);
|
||||
|
||||
@@ -208,6 +219,10 @@ int ag71xx_phy_connect(struct ag71xx *ag)
|
||||
|
||||
void ag71xx_phy_disconnect(struct ag71xx *ag)
|
||||
{
|
||||
if (ag->phy_dev)
|
||||
struct ag71xx_platform_data *pdata = ag71xx_get_pdata(ag);
|
||||
|
||||
if (pdata->has_ar7240_switch)
|
||||
ag71xx_ar7240_cleanup(ag);
|
||||
else if (ag->phy_dev)
|
||||
phy_disconnect(ag->phy_dev);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user