Ignore:
Timestamp:
2011-08-04T22:07:58+02:00 (5 years ago)
Author:
hauke
Message:

switch: update for brcm47xx target

  • remove suport for 2.4 kernel
  • add support for bcma bus
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/switch/src/switch-adm.c

    r22320 r27904  
    3838#include "gpio.h" 
    3939 
     40#ifdef CONFIG_BCM47XX 
     41#include <nvram.h> 
     42#endif 
     43 
    4044#define DRIVER_NAME "adm6996" 
    4145#define DRIVER_VERSION "0.01" 
     
    4953MODULE_AUTHOR("Felix Fietkau <openwrt@nbd.name>"); 
    5054MODULE_LICENSE("GPL"); 
    51 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,52) 
    5255module_param(eecs, int, 0); 
    5356module_param(eesk, int, 0); 
     
    5558module_param(eerc, int, 0); 
    5659module_param(force, int, 0); 
    57 #else 
    58 MODULE_PARM(eecs, "i"); 
    59 MODULE_PARM(eesk, "i"); 
    60 MODULE_PARM(eedi, "i"); 
    61 MODULE_PARM(eerc, "i"); 
    62 MODULE_PARM(force, "i"); 
    63 #endif 
    6460 
    6561/* Minimum timing constants */ 
     
    7571#define atoi(str) simple_strtoul(((str != NULL) ? str : ""), NULL, 0) 
    7672 
    77 #ifdef BROADCOM 
    78 extern char *nvram_get(char *name); 
     73#ifdef CONFIG_BCM47XX 
    7974 
    8075/* Return gpio pin number assigned to the named pin */ 
     
    8984{ 
    9085        char name[] = "gpioXXXX"; 
    91         char *val; 
     86        char val[10]; 
    9287        unsigned int pin; 
    9388 
     
    9590        for (pin = 0; pin < 16; pin ++) { 
    9691                sprintf(name, "gpio%d", pin); 
    97                 val = nvram_get(name); 
    98                 if (val && !strcmp(val, pin_name)) 
    99                         return pin; 
     92                if (nvram_getenv(name, val, sizeof(val)) >= 0) { 
     93                        if (!strcmp(val, pin_name)) 
     94                                return pin; 
     95                } 
    10096        } 
    10197        return def_pin; 
     
    496492        int ret = 0; 
    497493 
    498 #ifdef BROADCOM 
    499         int boardflags = atoi(nvram_get("boardflags")); 
    500         int boardnum = atoi(nvram_get("boardnum")); 
     494#ifdef CONFIG_BCM47XX 
     495        char buf[20]; 
     496        int boardflags = 0; 
     497        int boardnum = 0; 
     498                 
     499        if (nvram_getenv("boardflags", buf, sizeof(buf)) >= 0) 
     500                boardflags = simple_strtoul(buf, NULL, 0); 
     501 
     502        if (nvram_getenv("boardnum", buf, sizeof(buf)) >= 0) 
     503                boardnum = simple_strtoul(buf, NULL, 0); 
    501504 
    502505        if ((boardnum == 44) && (boardflags == 0x0388)) {  /* Trendware TEW-411BRP+ */ 
     
    516519                eerc = get_gpiopin("adm_rc", 0); 
    517520 
    518         } else if ((strcmp(nvram_get("boardtype") ?: "", "bcm94710dev") == 0) && 
    519                         (strncmp(nvram_get("boardnum") ?: "", "42", 2) == 0)) { 
    520                 /* WRT54G v1.1 hack */ 
    521                 eecs = 2; 
    522                 eesk = 3; 
    523                 eedi = 5; 
    524  
    525                 ret = 1; 
     521        } else if (nvram_getenv("boardtype", buf, sizeof(buf)) >= 0) { 
     522                if (strcmp(buf, "bcm94710dev") == 0) { 
     523                        if (nvram_getenv("boardnum", buf, sizeof(buf)) >= 0) { 
     524                                if (strncmp(buf, "42", 2) == 0) { 
     525                                        /* WRT54G v1.1 hack */ 
     526                                        eecs = 2; 
     527                                        eesk = 3; 
     528                                        eedi = 5; 
     529 
     530                                        ret = 1; 
     531                                } 
     532                        } 
     533                } 
    526534        } 
    527535 
Note: See TracChangeset for help on using the changeset viewer.