Changeset 33338


Ignore:
Timestamp:
2012-09-08T19:51:56+02:00 (5 years ago)
Author:
juhosg
Message:

ar71xx: use the RLE library for RB751

Location:
trunk/target/linux/ar71xx
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/target/linux/ar71xx/config-3.3

    r33337 r33338  
    189189CONFIG_PHYLIB=y 
    190190# CONFIG_PREEMPT_RCU is not set 
    191 # CONFIG_RLE_DECOMPRESS is not set 
     191CONFIG_RLE_DECOMPRESS=y 
    192192CONFIG_RTL8306_PHY=y 
    193193CONFIG_RTL8366RB_PHY=y 
  • trunk/target/linux/ar71xx/files/arch/mips/ath79/mach-rb750.c

    r32455 r33338  
    1515#include <linux/phy.h> 
    1616#include <linux/ar8216_platform.h> 
     17#include <linux/rle.h> 
    1718 
    1819#include <asm/mach-ath79/ar71xx_regs.h> 
     
    277278             rb750gr3_setup); 
    278279 
    279 static int decode_rle(char *output, int len, char *in) 
    280 { 
    281         char *ptr = output; 
    282         char *end = output + len; 
    283  
    284         if (!output || !in) 
    285                 return -EINVAL; 
    286  
    287         while (*in) { 
    288                 if (*in < 0) { 
    289                         int i = -*in++; 
    290                         while (i-- > 0) { 
    291                                 if (ptr >= end) 
    292                                         return -EINVAL; 
    293                                 *ptr++ = *in++; 
    294                         } 
    295                 } else if (*in > 0) { 
    296                         int i = *in++; 
    297                         while (i-- > 0) { 
    298                                 if (ptr >= end) 
    299                                         return -EINVAL; 
    300                                 *ptr++ = *in; 
    301                         } 
    302                         in++; 
    303                 } 
    304         } 
    305  
    306         return ptr - output; 
    307 } 
    308  
    309280#define RB751_HARDCONFIG 0x1f00b000 
    310281#define RB751_MAC_ADDRESS_OFFSET 0xE80 
    311282#define RB751_CALDATA_OFFSET 0x27C 
     283#define RB751_CALDATA_SIZE      0xc00 
    312284 
    313285static void __init rb751_wlan_setup(void) 
     
    315287        u8 *hardconfig = (u8 *) KSEG1ADDR(RB751_HARDCONFIG); 
    316288        struct ath9k_platform_data *wmac_data; 
    317         int dec_size; 
     289        int err; 
    318290 
    319291        wmac_data = ap9x_pci_get_wmac_data(0); 
     
    325297        ap9x_pci_setup_wmac_led_pin(0, 9); 
    326298 
    327         dec_size = decode_rle((char *) wmac_data->eeprom_data, 
    328                               sizeof(wmac_data->eeprom_data), 
    329                               hardconfig + RB751_CALDATA_OFFSET); 
    330         if (dec_size != sizeof(wmac_data->eeprom_data)) { 
     299        err = rle_decode(hardconfig + RB751_CALDATA_OFFSET, 
     300                         RB751_CALDATA_SIZE, 
     301                         (unsigned char *) wmac_data->eeprom_data, 
     302                         sizeof(wmac_data->eeprom_data), 
     303                         NULL, NULL); 
     304        if (err) { 
    331305                pr_err("rb75x: unable to decode wlan eeprom data\n"); 
    332306                return; 
  • trunk/target/linux/ar71xx/patches-3.3/610-MIPS-ath79-openwrt-machines.patch

    r33334 r33338  
    190190        bool "Atheros PB44 reference board" 
    191191        select SOC_AR71XX 
    192 @@ -66,6 +137,427 @@ config ATH79_MACH_PB44 
     192@@ -66,6 +137,428 @@ config ATH79_MACH_PB44 
    193193          Say 'Y' here if you want your kernel to support the 
    194194          Atheros PB44 reference board. 
     
    380380+       select ATH79_DEV_AP9X_PCI if PCI 
    381381+       select ATH79_DEV_USB 
     382+       select RLE_DECOMPRESS 
    382383+ 
    383384+config ATH79_MACH_WNDR3700 
     
    618619        bool "Ubiquiti Networks XM (rev 1.0) board" 
    619620        select SOC_AR724X 
    620 @@ -79,6 +571,24 @@ config ATH79_MACH_UBNT_XM 
     621@@ -79,6 +572,24 @@ config ATH79_MACH_UBNT_XM 
    621622          Say 'Y' here if you want your kernel to support the 
    622623          Ubiquiti Networks XM (rev 1.0) board. 
     
    643644  
    644645 config SOC_AR71XX 
    645 @@ -114,10 +624,6 @@ config SOC_QCA955X 
     646@@ -114,10 +625,6 @@ config SOC_QCA955X 
    646647        select PCI_AR724X if PCI 
    647648        def_bool n 
     
    654655        select ATH79_PCI_ATH9K_FIXUP 
    655656        def_bool n 
    656 @@ -128,7 +634,14 @@ config ATH79_DEV_DSA 
     657@@ -128,7 +635,14 @@ config ATH79_DEV_DSA 
    657658 config ATH79_DEV_ETH 
    658659        def_bool n 
     
    670671  
    671672 config ATH79_DEV_GPIO_BUTTONS 
    672 @@ -153,4 +666,7 @@ config ATH79_NVRAM 
     673@@ -153,4 +667,7 @@ config ATH79_NVRAM 
    673674 config ATH79_PCI_ATH9K_FIXUP 
    674675        def_bool n 
  • trunk/target/linux/ar71xx/patches-3.3/611-TEW-712BR-support.patch

    r33231 r33338  
    11--- a/arch/mips/ath79/Kconfig 
    22+++ b/arch/mips/ath79/Kconfig 
    3 @@ -549,6 +549,16 @@ config ATH79_MACH_TEW_673GRU 
     3@@ -550,6 +550,16 @@ config ATH79_MACH_TEW_673GRU 
    44        select ATH79_DEV_USB 
    55        select ATH79_NVRAM 
Note: See TracChangeset for help on using the changeset viewer.