source: trunk/target/linux/ar71xx/patches-3.2/507-MIPS-ath79-prom-add-myloader-support.patch @ 30902

Last change on this file since 30902 was 30902, checked in by juhosg, 4 years ago

ar71xx: fix Compex WPE72 detection

File size: 1.2 KB
  • arch/mips/ath79/prom.c

    a b  
    1616 
    1717#include <asm/bootinfo.h> 
    1818#include <asm/addrspace.h> 
     19#include <asm/fw/myloader/myloader.h> 
    1920 
    2021#include "common.h" 
    2122 
    static const char * __init ath79_prom_fi 
    6970        return ret; 
    7071} 
    7172 
     73static int __init ath79_prom_init_myloader(void) 
     74{ 
     75        struct myloader_info *mylo; 
     76        char mac_buf[32]; 
     77        unsigned char *mac; 
     78 
     79        mylo = myloader_get_info(); 
     80        if (!mylo) 
     81                return 0; 
     82 
     83        switch (mylo->did) { 
     84        case DEVID_COMPEX_WP543: 
     85                ath79_prom_append_cmdline("board", "WP543"); 
     86                break; 
     87        case DEVID_COMPEX_WPE72: 
     88                ath79_prom_append_cmdline("board", "WPE72"); 
     89                break; 
     90        default: 
     91                pr_warn("prom: unknown device id: %x\n", mylo->did); 
     92                return 0; 
     93        } 
     94 
     95        mac = mylo->macs[0]; 
     96        snprintf(mac_buf, sizeof(mac_buf), "%02x:%02x:%02x:%02x:%02x:%02x", 
     97                 mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]); 
     98 
     99        ath79_prom_append_cmdline("ethaddr", mac_buf); 
     100 
     101        return 1; 
     102} 
     103 
    72104static __init void ath79_prom_init_cmdline(int argc, char **argv) 
    73105{ 
    74106        int i; 
    void __init prom_init(void) 
    88120        const char *env; 
    89121        char **envp; 
    90122 
     123        if (ath79_prom_init_myloader()) 
     124                return; 
     125 
    91126        ath79_prom_init_cmdline(fw_arg0, (char **)fw_arg1); 
    92127 
    93128        envp = (char **)fw_arg2; 
Note: See TracBrowser for help on using the repository browser.