~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/mips/lantiq/prom.c

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/mips/lantiq/prom.c (Version linux-6.12-rc7) and /arch/sparc64/lantiq/prom.c (Version linux-4.19.323)


  1 // SPDX-License-Identifier: GPL-2.0-only            1 
  2 /*                                                
  3  *                                                
  4  * Copyright (C) 2010 John Crispin <john@phroz    
  5  */                                               
  6                                                   
  7 #include <linux/export.h>                         
  8 #include <linux/clk.h>                            
  9 #include <linux/memblock.h>                       
 10 #include <linux/of_fdt.h>                         
 11                                                   
 12 #include <asm/bootinfo.h>                         
 13 #include <asm/time.h>                             
 14 #include <asm/prom.h>                             
 15                                                   
 16 #include <lantiq.h>                               
 17                                                   
 18 #include "prom.h"                                 
 19 #include "clk.h"                                  
 20                                                   
 21 /* access to the ebu needs to be locked betwee    
 22 DEFINE_SPINLOCK(ebu_lock);                        
 23 EXPORT_SYMBOL_GPL(ebu_lock);                      
 24                                                   
 25 /*                                                
 26  * this struct is filled by the soc specific d    
 27  * information about the specific soc type, re    
 28  */                                               
 29 static struct ltq_soc_info soc_info;              
 30                                                   
 31 /*                                                
 32  * These structs are used to override vsmp_ini    
 33  */                                               
 34 #if defined(CONFIG_MIPS_MT_SMP)                   
 35 extern const struct plat_smp_ops vsmp_smp_ops;    
 36 static struct plat_smp_ops lantiq_smp_ops;        
 37 #endif                                            
 38                                                   
 39 const char *get_system_type(void)                 
 40 {                                                 
 41         return soc_info.sys_type;                 
 42 }                                                 
 43                                                   
 44 int ltq_soc_type(void)                            
 45 {                                                 
 46         return soc_info.type;                     
 47 }                                                 
 48                                                   
 49 static void __init prom_init_cmdline(void)        
 50 {                                                 
 51         int argc = fw_arg0;                       
 52         char **argv = (char **) KSEG1ADDR(fw_a    
 53         int i;                                    
 54                                                   
 55         arcs_cmdline[0] = '\0';                   
 56                                                   
 57         for (i = 0; i < argc; i++) {              
 58                 char *p = (char *) KSEG1ADDR(a    
 59                                                   
 60                 if (CPHYSADDR(p) && *p) {         
 61                         strlcat(arcs_cmdline,     
 62                         strlcat(arcs_cmdline,     
 63                 }                                 
 64         }                                         
 65 }                                                 
 66                                                   
 67 void __init plat_mem_setup(void)                  
 68 {                                                 
 69         void *dtb;                                
 70                                                   
 71         ioport_resource.start = IOPORT_RESOURC    
 72         ioport_resource.end = IOPORT_RESOURCE_    
 73         iomem_resource.start = IOMEM_RESOURCE_    
 74         iomem_resource.end = IOMEM_RESOURCE_EN    
 75                                                   
 76         set_io_port_base((unsigned long) KSEG1    
 77                                                   
 78         dtb = get_fdt();                          
 79         if (dtb == NULL)                          
 80                 panic("no dtb found");            
 81                                                   
 82         /*                                        
 83          * Load the devicetree. This causes th    
 84          * parsed resulting in our memory appe    
 85          */                                       
 86         __dt_setup_arch(dtb);                     
 87 }                                                 
 88                                                   
 89 #if defined(CONFIG_MIPS_MT_SMP)                   
 90 static void lantiq_init_secondary(void)           
 91 {                                                 
 92         /*                                        
 93          * MIPS CPU startup function vsmp_init    
 94          * enable some of the interrupts for t    
 95          */                                       
 96         set_c0_status(ST0_IM);                    
 97 }                                                 
 98 #endif                                            
 99                                                   
100 void __init prom_init(void)                       
101 {                                                 
102         /* call the soc specific detetcion cod    
103         ltq_soc_detect(&soc_info);                
104         snprintf(soc_info.sys_type, LTQ_SYS_TY    
105                 soc_info.name, soc_info.rev_ty    
106         soc_info.sys_type[LTQ_SYS_TYPE_LEN - 1    
107         pr_info("SoC: %s\n", soc_info.sys_type    
108         prom_init_cmdline();                      
109                                                   
110 #if defined(CONFIG_MIPS_MT_SMP)                   
111         lantiq_smp_ops = vsmp_smp_ops;            
112         if (cpu_has_mipsmt)                       
113                 lantiq_smp_ops.init_secondary     
114         register_smp_ops(&lantiq_smp_ops);        
115 #endif                                            
116 }                                                 
117                                                   

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php