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

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

Version: ~ [ linux-6.11-rc3 ] ~ [ linux-6.10.4 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.45 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.104 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.164 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.223 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.281 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.319 ] ~ [ 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.9 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/mips/ath79/prom.c (Version linux-6.11-rc3) and /arch/mips/ath79/prom.c (Version linux-3.10.108)


  1 // SPDX-License-Identifier: GPL-2.0-only       << 
  2 /*                                                  1 /*
  3  *  Atheros AR71XX/AR724X/AR913X specific prom      2  *  Atheros AR71XX/AR724X/AR913X specific prom routines
  4  *                                                  3  *
  5  *  Copyright (C) 2015 Laurent Fasnacht <l@lib << 
  6  *  Copyright (C) 2008-2010 Gabor Juhos <juhos      4  *  Copyright (C) 2008-2010 Gabor Juhos <juhosg@openwrt.org>
  7  *  Copyright (C) 2008 Imre Kaloz <kaloz@openw      5  *  Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
                                                   >>   6  *
                                                   >>   7  *  This program is free software; you can redistribute it and/or modify it
                                                   >>   8  *  under the terms of the GNU General Public License version 2 as published
                                                   >>   9  *  by the Free Software Foundation.
  8  */                                                10  */
  9                                                    11 
 10 #include <linux/kernel.h>                          12 #include <linux/kernel.h>
 11 #include <linux/init.h>                            13 #include <linux/init.h>
 12 #include <linux/io.h>                              14 #include <linux/io.h>
 13 #include <linux/string.h>                          15 #include <linux/string.h>
 14 #include <linux/initrd.h>                      << 
 15                                                    16 
 16 #include <asm/bootinfo.h>                          17 #include <asm/bootinfo.h>
 17 #include <asm/addrspace.h>                         18 #include <asm/addrspace.h>
 18 #include <asm/fw/fw.h>                         << 
 19                                                    19 
 20 #include "common.h"                                20 #include "common.h"
 21                                                    21 
                                                   >>  22 static inline int is_valid_ram_addr(void *addr)
                                                   >>  23 {
                                                   >>  24         if (((u32) addr > KSEG0) &&
                                                   >>  25             ((u32) addr < (KSEG0 + ATH79_MEM_SIZE_MAX)))
                                                   >>  26                 return 1;
                                                   >>  27 
                                                   >>  28         if (((u32) addr > KSEG1) &&
                                                   >>  29             ((u32) addr < (KSEG1 + ATH79_MEM_SIZE_MAX)))
                                                   >>  30                 return 1;
                                                   >>  31 
                                                   >>  32         return 0;
                                                   >>  33 }
                                                   >>  34 
                                                   >>  35 static __init void ath79_prom_init_cmdline(int argc, char **argv)
                                                   >>  36 {
                                                   >>  37         int i;
                                                   >>  38 
                                                   >>  39         if (!is_valid_ram_addr(argv))
                                                   >>  40                 return;
                                                   >>  41 
                                                   >>  42         for (i = 0; i < argc; i++)
                                                   >>  43                 if (is_valid_ram_addr(argv[i])) {
                                                   >>  44                         strlcat(arcs_cmdline, " ", sizeof(arcs_cmdline));
                                                   >>  45                         strlcat(arcs_cmdline, argv[i], sizeof(arcs_cmdline));
                                                   >>  46                 }
                                                   >>  47 }
                                                   >>  48 
 22 void __init prom_init(void)                        49 void __init prom_init(void)
 23 {                                                  50 {
 24         fw_init_cmdline();                     !!  51         ath79_prom_init_cmdline(fw_arg0, (char **)fw_arg1);
                                                   >>  52 }
 25                                                    53 
 26 #ifdef CONFIG_BLK_DEV_INITRD                   !!  54 void __init prom_free_prom_memory(void)
 27         /* Read the initrd address from the fi !!  55 {
 28         initrd_start = fw_getenvl("initrd_star !!  56         /* We do not have to prom memory to free */
 29         if (initrd_start) {                    << 
 30                 initrd_start = KSEG0ADDR(initr << 
 31                 initrd_end = initrd_start + fw << 
 32         }                                      << 
 33 #endif                                         << 
 34 }                                                  57 }
 35                                                    58 

~ [ 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