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

Last change on this file since 25425 was 25425, checked in by nbd, 6 years ago

mac80211: update to wireless-testing 2010-02-07

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

    a b static const struct file_operations fops 
    10271027        .llseek = default_llseek, 
    10281028}; 
    10291029 
     1030static ssize_t read_file_eeprom(struct file *file, char __user *user_buf, 
     1031                             size_t count, loff_t *ppos) 
     1032{ 
     1033        struct ath_softc *sc = file->private_data; 
     1034        struct ath_hw *ah = sc->sc_ah; 
     1035        struct ath_common *common = ath9k_hw_common(ah); 
     1036        int bytes = 0; 
     1037        int pos = *ppos; 
     1038        int size = 4096; 
     1039        u16 val; 
     1040        int i; 
     1041 
     1042        if (AR_SREV_9300_20_OR_LATER(ah)) 
     1043                size = 16384; 
     1044 
     1045        if (*ppos < 0) 
     1046                return -EINVAL; 
     1047 
     1048        if (count > size - *ppos) 
     1049                count = size - *ppos; 
     1050 
     1051        for (i = *ppos / 2; count > 0; count -= bytes, *ppos += bytes, i++) { 
     1052                void *from = &val; 
     1053 
     1054                if (!common->bus_ops->eeprom_read(common, i, &val)) 
     1055                        val = 0xffff; 
     1056 
     1057                if (*ppos % 2) { 
     1058                        from++; 
     1059                        bytes = 1; 
     1060                } else if (count == 1) { 
     1061                        bytes = 1; 
     1062                } else { 
     1063                        bytes = 2; 
     1064                } 
     1065                copy_to_user(user_buf, from, bytes); 
     1066                user_buf += bytes; 
     1067        } 
     1068        return *ppos - pos; 
     1069} 
     1070 
     1071static const struct file_operations fops_eeprom = { 
     1072        .read = read_file_eeprom, 
     1073        .open = ath9k_debugfs_open, 
     1074        .owner = THIS_MODULE 
     1075}; 
     1076 
    10301077int ath9k_init_debug(struct ath_hw *ah) 
    10311078{ 
    10321079        struct ath_common *common = ath9k_hw_common(ah); 
    int ath9k_init_debug(struct ath_hw *ah) 
    10971144        debugfs_create_u32("gpio_val", S_IRUSR | S_IWUSR, 
    10981145                           sc->debug.debugfs_phy, &sc->sc_ah->gpio_val); 
    10991146 
     1147        if (!debugfs_create_file("eeprom", S_IRUSR, 
     1148                        sc->debug.debugfs_phy, sc, &fops_eeprom)) 
     1149                goto err; 
     1150 
    11001151        sc->debug.regidx = 0; 
    11011152        return 0; 
    11021153err: 
Note: See TracBrowser for help on using the repository browser.