Changeset 35543


Ignore:
Timestamp:
2013-02-10T19:42:04+01:00 (5 years ago)
Author:
juhosg
Message:

generic: ar8216: add ar8xxx_create{,mii} helpers

Signed-off-by: Gabor Juhos <juhosg@…>

File:
1 edited

Legend:

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

    r35542 r35543  
    17431743                return -ENOMEM; 
    17441744 
     1745        return 0; 
     1746} 
     1747 
     1748static void 
     1749ar8xxx_mib_start(struct ar8216_priv *priv) 
     1750{ 
     1751        if (!ar8xxx_has_mib_counters(priv)) 
     1752                return; 
     1753 
     1754        schedule_delayed_work(&priv->mib_work, 
     1755                              msecs_to_jiffies(AR8XXX_MIB_WORK_DELAY)); 
     1756} 
     1757 
     1758static void 
     1759ar8xxx_mib_cleanup(struct ar8216_priv *priv) 
     1760{ 
     1761        if (!ar8xxx_has_mib_counters(priv)) 
     1762                return; 
     1763 
     1764        cancel_delayed_work(&priv->mib_work); 
     1765        kfree(priv->mib_stats); 
     1766} 
     1767 
     1768static struct ar8216_priv * 
     1769ar8xxx_create(void) 
     1770{ 
     1771        struct ar8216_priv *priv; 
     1772 
     1773        priv = kzalloc(sizeof(struct ar8216_priv), GFP_KERNEL); 
     1774        if (priv == NULL) 
     1775                return NULL; 
     1776 
     1777        mutex_init(&priv->reg_mutex); 
    17451778        mutex_init(&priv->mib_lock); 
    17461779        INIT_DELAYED_WORK(&priv->mib_work, ar8xxx_mib_work_func); 
    17471780 
    1748         return 0; 
    1749 } 
    1750  
    1751 static void 
    1752 ar8xxx_mib_start(struct ar8216_priv *priv) 
    1753 { 
    1754         if (!ar8xxx_has_mib_counters(priv)) 
    1755                 return; 
    1756  
    1757         schedule_delayed_work(&priv->mib_work, 
    1758                               msecs_to_jiffies(AR8XXX_MIB_WORK_DELAY)); 
    1759 } 
    1760  
    1761 static void 
    1762 ar8xxx_mib_cleanup(struct ar8216_priv *priv) 
    1763 { 
    1764         if (!ar8xxx_has_mib_counters(priv)) 
    1765                 return; 
    1766  
    1767         cancel_delayed_work(&priv->mib_work); 
    1768         kfree(priv->mib_stats); 
     1781        return priv; 
     1782} 
     1783 
     1784static struct ar8216_priv * 
     1785ar8xxx_create_mii(struct mii_bus *bus) 
     1786{ 
     1787        struct ar8216_priv *priv; 
     1788 
     1789        priv = ar8xxx_create(); 
     1790        if (priv) { 
     1791                priv->mii_bus = bus; 
     1792                priv->read = ar8216_mii_read; 
     1793                priv->write = ar8216_mii_write; 
     1794        } 
     1795 
     1796        return priv; 
    17691797} 
    17701798 
     
    17781806 
    17791807        if (!priv) { 
    1780                 priv = kzalloc(sizeof(struct ar8216_priv), GFP_KERNEL); 
     1808                priv = ar8xxx_create_mii(pdev->bus); 
    17811809                if (priv == NULL) 
    17821810                        return -ENOMEM; 
    1783  
    1784                 priv->mii_bus = pdev->bus; 
    1785                 priv->read = ar8216_mii_read; 
    1786                 priv->write = ar8216_mii_write; 
    17871811 
    17881812                ret = ar8216_id_chip(priv); 
     
    18291853                return 0; 
    18301854        } 
    1831  
    1832         mutex_init(&priv->reg_mutex); 
    18331855 
    18341856        pdev->priv = priv; 
     
    20072029                return -ENODEV; 
    20082030 
    2009         priv = kzalloc(sizeof(struct ar8216_priv), GFP_KERNEL); 
     2031        priv = ar8xxx_create_mii(pdev->bus); 
    20102032        if (priv == NULL) 
    20112033                return -ENOMEM; 
    20122034 
    2013         priv->mii_bus = pdev->bus; 
    2014         priv->read = ar8216_mii_read; 
    2015         priv->write = ar8216_mii_write; 
    20162035        priv->phy = pdev; 
    20172036 
Note: See TracChangeset for help on using the changeset viewer.