source: trunk/package/mac80211/patches/500-ath9k_eeprom_debugfs.patch @ 28245

Last change on this file since 28245 was 28245, checked in by nbd, 5 years ago

mac80211: update to wireless-testing 2011-09-14

File size: 1.6 KB
  • drivers/net/wireless/ath/ath9k/debug.c

    a b static const struct file_operations fops 
    15851585}; 
    15861586 
    15871587 
     1588static ssize_t read_file_eeprom(struct file *file, char __user *user_buf, 
     1589                             size_t count, loff_t *ppos) 
     1590{ 
     1591        struct ath_softc *sc = file->private_data; 
     1592        struct ath_hw *ah = sc->sc_ah; 
     1593        struct ath_common *common = ath9k_hw_common(ah); 
     1594        int bytes = 0; 
     1595        int pos = *ppos; 
     1596        int size = 4096; 
     1597        u16 val; 
     1598        int i; 
     1599 
     1600        if (AR_SREV_9300_20_OR_LATER(ah)) 
     1601                size = 16384; 
     1602 
     1603        if (*ppos < 0) 
     1604                return -EINVAL; 
     1605 
     1606        if (count > size - *ppos) 
     1607                count = size - *ppos; 
     1608 
     1609        for (i = *ppos / 2; count > 0; count -= bytes, *ppos += bytes, i++) { 
     1610                void *from = &val; 
     1611 
     1612                if (!common->bus_ops->eeprom_read(common, i, &val)) 
     1613                        val = 0xffff; 
     1614 
     1615                if (*ppos % 2) { 
     1616                        from++; 
     1617                        bytes = 1; 
     1618                } else if (count == 1) { 
     1619                        bytes = 1; 
     1620                } else { 
     1621                        bytes = 2; 
     1622                } 
     1623                copy_to_user(user_buf, from, bytes); 
     1624                user_buf += bytes; 
     1625        } 
     1626        return *ppos - pos; 
     1627} 
     1628 
     1629static const struct file_operations fops_eeprom = { 
     1630        .read = read_file_eeprom, 
     1631        .open = ath9k_debugfs_open, 
     1632        .owner = THIS_MODULE 
     1633}; 
     1634 
    15881635int ath9k_init_debug(struct ath_hw *ah) 
    15891636{ 
    15901637        struct ath_common *common = ath9k_hw_common(ah); 
    int ath9k_init_debug(struct ath_hw *ah) 
    16431690        debugfs_create_u32("gpio_val", S_IRUSR | S_IWUSR, 
    16441691                           sc->debug.debugfs_phy, &sc->sc_ah->gpio_val); 
    16451692 
     1693        debugfs_create_file("eeprom", S_IRUSR, sc->debug.debugfs_phy, sc, 
     1694                            &fops_eeprom); 
     1695 
    16461696        sc->debug.regidx = 0; 
    16471697        memset(&sc->debug.bb_mac_samp, 0, sizeof(sc->debug.bb_mac_samp)); 
    16481698        sc->debug.sampidx = 0; 
Note: See TracBrowser for help on using the repository browser.