Changeset 30854


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

generic: ar8216: set chip type directly in ar8216_id_chip

File:
1 edited

Legend:

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

    r30853 r30854  
    138138        int i; 
    139139 
     140        priv->chip = UNKNOWN; 
     141 
    140142        val = ar8216_mii_read(priv, AR8216_REG_CTRL); 
    141143        if (val == ~0) 
    142                 return UNKNOWN; 
     144                return -ENODEV; 
    143145 
    144146        id = val & (AR8216_CTRL_REVISION | AR8216_CTRL_VERSION); 
     
    148150                val = ar8216_mii_read(priv, AR8216_REG_CTRL); 
    149151                if (val == ~0) 
    150                         return UNKNOWN; 
     152                        return -ENODEV; 
    151153 
    152154                t = val & (AR8216_CTRL_REVISION | AR8216_CTRL_VERSION); 
    153155                if (t != id) 
    154                         return UNKNOWN; 
     156                        return -ENODEV; 
    155157        } 
    156158 
    157159        switch (id) { 
    158160        case 0x0101: 
    159                 return AR8216; 
     161                priv->chip = AR8216; 
     162                break; 
    160163        case 0x0301: 
    161                 return AR8236; 
     164                priv->chip = AR8236; 
     165                break; 
    162166        case 0x1000: 
    163167        case 0x1001: 
    164                 return AR8316; 
     168                priv->chip = AR8316; 
     169                break; 
    165170        default: 
    166171                printk(KERN_DEBUG 
     
    171176                        mdiobus_read(priv->phy->bus, priv->phy->addr, 3)); 
    172177 
    173                 return UNKNOWN; 
    174         } 
     178                return -ENODEV; 
     179        } 
     180 
     181        return 0; 
    175182} 
    176183 
     
    822829        priv->phy = pdev; 
    823830 
    824         priv->chip = ar8216_id_chip(priv); 
     831        ret = ar8216_id_chip(priv); 
     832        if (ret) 
     833                goto err_free_priv; 
    825834 
    826835        if (pdev->addr != 0) { 
     
    9911000{ 
    9921001        struct ar8216_priv priv; 
    993         u16 chip; 
    9941002 
    9951003        priv.phy = pdev; 
    996         chip = ar8216_id_chip(&priv); 
    997         if (chip == UNKNOWN) 
    998                 return -ENODEV; 
    999  
    1000         return 0; 
     1004        return ar8216_id_chip(&priv); 
    10011005} 
    10021006 
Note: See TracChangeset for help on using the changeset viewer.