source: trunk/target/linux/brcm47xx/patches-3.0/400-arch-bcm47xx.patch @ 27301

Last change on this file since 27301 was 27301, checked in by hauke, 5 years ago

brcm47xx: add initial support for devices with bcma bus.

Ethernet and wifi are not working and this is highly experimental.

File size: 1.3 KB
  • arch/mips/bcm47xx/nvram.c

    a b int nvram_getenv(char *name, char *val, 
    114114        return NVRAM_ERR_ENVNOTFOUND; 
    115115} 
    116116EXPORT_SYMBOL(nvram_getenv); 
     117 
     118char *nvram_get(const char *name) 
     119{ 
     120        char *var, *value, *end, *eq; 
     121 
     122        if (!name) 
     123                return NULL; 
     124 
     125        if (!nvram_buf[0]) 
     126                early_nvram_init(); 
     127 
     128        /* Look for name=value and return value */ 
     129        var = &nvram_buf[sizeof(struct nvram_header)]; 
     130        end = nvram_buf + sizeof(nvram_buf) - 2; 
     131        end[0] = end[1] = '\0'; 
     132        for (; *var; var = value + strlen(value) + 1) { 
     133                eq = strchr(var, '='); 
     134                if (!eq) 
     135                        break; 
     136                value = eq + 1; 
     137                if ((eq - var) == strlen(name) && strncmp(var, name, (eq - var)) == 0) 
     138                        return value; 
     139        } 
     140 
     141        return NULL; 
     142} 
     143EXPORT_SYMBOL(nvram_get); 
  • arch/mips/bcm47xx/setup.c

    a b static int __init bcm47xx_register_bus_c 
    388388        return 0; 
    389389} 
    390390device_initcall(bcm47xx_register_bus_complete); 
     391 
     392static int __init bcm47xx_register_gpiodev(void) 
     393{ 
     394        static struct resource res = { 
     395                .start = 0xFFFFFFFF, 
     396        }; 
     397        struct platform_device *pdev; 
     398 
     399        pdev = platform_device_register_simple("GPIODEV", 0, &res, 1); 
     400        if (!pdev) { 
     401                printk(KERN_ERR "bcm47xx: GPIODEV init failed\n"); 
     402                return -ENODEV; 
     403        } 
     404 
     405        return 0; 
     406} 
     407device_initcall(bcm47xx_register_gpiodev); 
Note: See TracBrowser for help on using the repository browser.