Changeset 30853


Ignore:
Timestamp:
2012-03-08T11:21:08+01:00 (6 years ago)
Author:
juhosg
Message:

generic: ar8216: simplify ar8216_config_init

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/generic/files/drivers/net/phy/ar8216.c

    r30848 r30853  
    893893        } 
    894894 
    895         if ((ret = register_switch(&priv->dev, pdev->attached_dev)) < 0) { 
    896                 kfree(priv); 
    897                 goto done; 
    898         } 
     895        ret = register_switch(&priv->dev, pdev->attached_dev); 
     896        if (ret) 
     897                goto err_free_priv; 
    899898 
    900899        priv->init = true; 
    901900 
    902         if (priv->chip == AR8316) { 
     901        ret = 0; 
     902        if (priv->chip == AR8236) 
     903                ret = ar8236_hw_init(priv); 
     904        else if (priv->chip == AR8316) 
    903905                ret = ar8316_hw_init(priv); 
    904                 if (ret) { 
    905                         kfree(priv); 
    906                         goto done; 
    907                 } 
    908         } 
    909  
    910         if (priv->chip == AR8236) { 
    911                 ret = ar8236_hw_init(priv); 
    912                 if (ret) { 
    913                         kfree(priv); 
    914                         goto done; 
    915                 } 
    916         } 
     906 
     907        if (ret) 
     908                goto err_free_priv; 
    917909 
    918910        ret = ar8216_reset_switch(&priv->dev); 
    919         if (ret) { 
    920                 kfree(priv); 
    921                 goto done; 
    922         } 
     911        if (ret) 
     912                goto err_free_priv; 
    923913 
    924914        dev->phy_ptr = priv; 
     
    937927        priv->init = false; 
    938928 
    939 done: 
     929        return 0; 
     930 
     931err_free_priv: 
     932        kfree(priv); 
    940933        return ret; 
    941934} 
Note: See TracChangeset for help on using the changeset viewer.