Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge tag 'm68knommu-for-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu

Pull m68knommu updates from Greg Ungerer:
"A few changes, most of them related to fixing warnings when compiling
with "W=1". These follow up Geert's recent changes for M68K for this
too. These ones complete the fixes for the nommu and ColdFire specific
code.

Also a couple of other fixes to improve ROM default addressing and
compiling for the Cleopatra boards.

Summary:

- improve default Kconfig ROM section settings

- fix compilation for some Cleopatra boards

- fixes and cleanups for warnings compiling with 'W=1'"

* tag 'm68knommu-for-v6.7' of git://git.kernel.org/pub/scm/linux/kernel/git/gerg/m68knommu:
m68k: 68000: fix warning in timer code
m68k: 68000: fix warnings in 68000 interrupt handling
m68k: coldfire: remove unused variable in MMU code
m68k: coldfire: fix warnings in uboot argument processing
m68k: coldfire: make mcf_maskimr() static
m68k: coldfire: ensure gpio prototypes visible
m68k: coldfire: add and use "vectors.h"
m68knommu: fix compilation for ColdFire/Cleopatra boards
m68knommu: improve config ROM setting defaults

+37 -19
+4 -1
arch/m68k/68000/ints.c
··· 14 14 #include <linux/init.h> 15 15 #include <linux/interrupt.h> 16 16 #include <linux/irq.h> 17 + #include <linux/cpu.h> 17 18 #include <asm/traps.h> 18 19 #include <asm/io.h> 19 20 #include <asm/machdep.h> ··· 26 25 #else 27 26 #include <asm/MC68328.h> 28 27 #endif 28 + 29 + #include "ints.h" 29 30 30 31 /* assembler routines */ 31 32 asmlinkage void system_call(void); ··· 77 74 * into one vector and look in the blasted mask register... 78 75 * This code is designed to be fast, almost constant time, not clean! 79 76 */ 80 - void process_int(int vec, struct pt_regs *fp) 77 + asmlinkage void process_int(int vec, struct pt_regs *fp) 81 78 { 82 79 int irq; 83 80 int mask;
+7
arch/m68k/68000/ints.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0-only */ 2 + 3 + #include <linux/linkage.h> 4 + 5 + struct pt_regs; 6 + 7 + asmlinkage void process_int(int vec, struct pt_regs *fp);
+2
arch/m68k/68000/timers.c
··· 25 25 #include <asm/machdep.h> 26 26 #include <asm/MC68VZ328.h> 27 27 28 + #include "m68328.h" 29 + 28 30 /***************************************************************************/ 29 31 30 32 #if defined(CONFIG_DRAGEN2)
+2 -2
arch/m68k/Kconfig.machine
··· 441 441 442 442 config ROMVEC 443 443 hex "Address of the base of the ROM vectors" 444 - default "0" 444 + default "0x10c10000" 445 445 depends on ROM 446 446 help 447 447 This is almost always the same as the base of the ROM. Since on all ··· 450 450 451 451 config ROMSTART 452 452 hex "Address of the base of system image in ROM" 453 - default "0x400" 453 + default "0x10c10400" 454 454 depends on ROM 455 455 help 456 456 Define the start address of the system image in ROM. Commonly this
+2 -2
arch/m68k/coldfire/intc.c
··· 56 56 __raw_writew(imr & ~(0x1 << index), MCFSIM_IMR); 57 57 } 58 58 59 - void mcf_maskimr(unsigned int mask) 59 + static void mcf_maskimr(unsigned int mask) 60 60 { 61 61 u16 imr; 62 62 imr = __raw_readw(MCFSIM_IMR); ··· 80 80 __raw_writel(imr & ~(0x1 << index), MCFSIM_IMR); 81 81 } 82 82 83 - void mcf_maskimr(unsigned int mask) 83 + static void mcf_maskimr(unsigned int mask) 84 84 { 85 85 u32 imr; 86 86 imr = __raw_readl(MCFSIM_IMR);
+2
arch/m68k/coldfire/vectors.c
··· 18 18 #include <asm/mcfsim.h> 19 19 #include <asm/mcfwdebug.h> 20 20 21 + #include "vectors.h" 22 + 21 23 /***************************************************************************/ 22 24 23 25 #ifdef TRAP_DBG_INTERRUPT
+3
arch/m68k/coldfire/vectors.h
··· 1 + /* SPDX-License-Identifier: GPL-2.0-only */ 2 + 3 + void trap_init(void);
+4 -4
arch/m68k/include/asm/mcfgpio.h
··· 8 8 #ifndef mcfgpio_h 9 9 #define mcfgpio_h 10 10 11 - #ifdef CONFIG_GPIOLIB 12 - #include <linux/gpio.h> 13 - #else 14 - 15 11 int __mcfgpio_get_value(unsigned gpio); 16 12 void __mcfgpio_set_value(unsigned gpio, int value); 17 13 int __mcfgpio_direction_input(unsigned gpio); 18 14 int __mcfgpio_direction_output(unsigned gpio, int value); 19 15 int __mcfgpio_request(unsigned gpio); 20 16 void __mcfgpio_free(unsigned gpio); 17 + 18 + #ifdef CONFIG_GPIOLIB 19 + #include <linux/gpio.h> 20 + #else 21 21 22 22 /* our alternate 'gpiolib' functions */ 23 23 static inline int __gpio_get_value(unsigned gpio)
+2 -3
arch/m68k/include/asm/nettel.h
··· 14 14 #define nettel_h 15 15 /****************************************************************************/ 16 16 17 - 18 17 /****************************************************************************/ 19 - #ifdef CONFIG_NETtel 18 + #if defined(CONFIG_NETtel) || defined(CONFIG_CLEOPATRA) 20 19 /****************************************************************************/ 21 20 22 21 #ifdef CONFIG_COLDFIRE ··· 25 26 #endif 26 27 27 28 /*---------------------------------------------------------------------------*/ 28 - #if defined(CONFIG_M5307) 29 + #if defined(CONFIG_M5307) || defined(CONFIG_M5407) 29 30 /* 30 31 * NETtel/5307 based hardware first. DTR/DCD lines are wired to 31 32 * GPIO lines. Most of the LED's are driver through a latch
+8 -5
arch/m68k/kernel/uboot.c
··· 27 27 #include <asm/irq.h> 28 28 #include <asm/machdep.h> 29 29 #include <asm/sections.h> 30 + #include <asm/bootinfo.h> 30 31 31 32 /* 32 33 * parse_uboot_commandline ··· 64 63 { 65 64 extern unsigned long _init_sp; 66 65 unsigned long *sp; 67 - unsigned long uboot_kbd; 68 - unsigned long uboot_initrd_start, uboot_initrd_end; 69 66 unsigned long uboot_cmd_start, uboot_cmd_end; 67 + #if defined(CONFIG_BLK_DEV_INITRD) 68 + unsigned long uboot_initrd_start, uboot_initrd_end; 69 + #endif /* if defined(CONFIG_BLK_DEV_INITRD) */ 70 70 71 71 sp = (unsigned long *)_init_sp; 72 - uboot_kbd = sp[1]; 73 - uboot_initrd_start = sp[2]; 74 - uboot_initrd_end = sp[3]; 75 72 uboot_cmd_start = sp[4]; 76 73 uboot_cmd_end = sp[5]; 77 74 78 75 if (uboot_cmd_start && uboot_cmd_end) 79 76 strncpy(commandp, (const char *)uboot_cmd_start, size); 77 + 80 78 #if defined(CONFIG_BLK_DEV_INITRD) 79 + uboot_initrd_start = sp[2]; 80 + uboot_initrd_end = sp[3]; 81 + 81 82 if (uboot_initrd_start && uboot_initrd_end && 82 83 (uboot_initrd_end > uboot_initrd_start)) { 83 84 initrd_start = uboot_initrd_start;
+1 -2
arch/m68k/mm/mcfmmu.c
··· 38 38 pgd_t *pg_dir; 39 39 pte_t *pg_table; 40 40 unsigned long address, size; 41 - unsigned long next_pgtable, bootmem_end; 41 + unsigned long next_pgtable; 42 42 unsigned long max_zone_pfn[MAX_NR_ZONES] = { 0 }; 43 43 int i; 44 44 ··· 57 57 panic("%s: Failed to allocate %lu bytes align=0x%lx\n", 58 58 __func__, size, PAGE_SIZE); 59 59 60 - bootmem_end = (next_pgtable + size + PAGE_SIZE) & PAGE_MASK; 61 60 pg_dir += PAGE_OFFSET >> PGDIR_SHIFT; 62 61 63 62 address = PAGE_OFFSET;