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

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

mac80211: update to wireless-testing 2011-11-15

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

    a b static const struct file_operations fops 
    16161616}; 
    16171617 
    16181618 
     1619static ssize_t read_file_eeprom(struct file *file, char __user *user_buf, 
     1620                             size_t count, loff_t *ppos) 
     1621{ 
     1622        struct ath_softc *sc = file->private_data; 
     1623        struct ath_hw *ah = sc->sc_ah; 
     1624        struct ath_common *common = ath9k_hw_common(ah); 
     1625        int bytes = 0; 
     1626        int pos = *ppos; 
     1627        int size = 4096; 
     1628        u16 val; 
     1629        int i; 
     1630 
     1631        if (AR_SREV_9300_20_OR_LATER(ah)) 
     1632                size = 16384; 
     1633 
     1634        if (*ppos < 0) 
     1635                return -EINVAL; 
     1636 
     1637        if (count > size - *ppos) 
     1638                count = size - *ppos; 
     1639 
     1640        for (i = *ppos / 2; count > 0; count -= bytes, *ppos += bytes, i++) { 
     1641                void *from = &val; 
     1642 
     1643                if (!common->bus_ops->eeprom_read(common, i, &val)) 
     1644                        val = 0xffff; 
     1645 
     1646                if (*ppos % 2) { 
     1647                        from++; 
     1648                        bytes = 1; 
     1649                } else if (count == 1) { 
     1650                        bytes = 1; 
     1651                } else { 
     1652                        bytes = 2; 
     1653                } 
     1654                copy_to_user(user_buf, from, bytes); 
     1655                user_buf += bytes; 
     1656        } 
     1657        return *ppos - pos; 
     1658} 
     1659 
     1660static const struct file_operations fops_eeprom = { 
     1661        .read = read_file_eeprom, 
     1662        .open = ath9k_debugfs_open, 
     1663        .owner = THIS_MODULE 
     1664}; 
     1665 
    16191666int ath9k_init_debug(struct ath_hw *ah) 
    16201667{ 
    16211668        struct ath_common *common = ath9k_hw_common(ah); 
    int ath9k_init_debug(struct ath_hw *ah) 
    16741721        debugfs_create_u32("gpio_val", S_IRUSR | S_IWUSR, 
    16751722                           sc->debug.debugfs_phy, &sc->sc_ah->gpio_val); 
    16761723 
     1724        debugfs_create_file("eeprom", S_IRUSR, sc->debug.debugfs_phy, sc, 
     1725                            &fops_eeprom); 
     1726 
    16771727        sc->debug.regidx = 0; 
    16781728        memset(&sc->debug.bb_mac_samp, 0, sizeof(sc->debug.bb_mac_samp)); 
    16791729        sc->debug.sampidx = 0; 
Note: See TracBrowser for help on using the repository browser.