[openwrt/openwrt] ath25: 5.15: enable 5.15 testing kernel

LEDE Commits lede-commits at lists.infradead.org
Fri May 12 04:14:04 PDT 2023


ansuel pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/975b436cdf05e53e4792f14f9f601759416761fb

commit 975b436cdf05e53e4792f14f9f601759416761fb
Author: Nick Hainke <vincent at systemli.org>
AuthorDate: Wed Sep 28 11:23:24 2022 +0200

    ath25: 5.15: enable 5.15 testing kernel
    
    Manually refreshed:
    - 140-redboot_boardconfig.patch
    - 141-redboot_partition_scan.patch
    - 142-redboot_various_erase_size_fix.patch
    
    Automatically refreshed:
    - 107-ar5312_gpio.patch
    - 108-ar2315_gpio.patch
    - 110-ar2313_ethernet.patch
    - 120-spiflash.patch
    - 130-watchdog.patch
    - 330-board_leds.patch
    
    Use "make kernel_oldconfig" to refresh the new kernel config.
    
    The Ubiquiti Nanostation 2 (XS2) and Ubiquiti Nanostation 5 (XS5) should
    be marked as broken when switching to 5.15 by default. The new kernel
    does not fit anymore into the partition.
    
    Signed-off-by: Nick Hainke <vincent at systemli.org>
---
 target/linux/ath25/Makefile                        |  2 +-
 target/linux/ath25/config-5.15                     |  6 +++++-
 .../linux/ath25/patches-5.15/107-ar5312_gpio.patch |  8 ++++----
 .../linux/ath25/patches-5.15/108-ar2315_gpio.patch |  2 +-
 .../ath25/patches-5.15/110-ar2313_ethernet.patch   | 12 +++++------
 target/linux/ath25/patches-5.15/120-spiflash.patch |  6 +++---
 target/linux/ath25/patches-5.15/130-watchdog.patch |  6 +++---
 .../patches-5.15/140-redboot_boardconfig.patch     | 18 ++++++++---------
 .../patches-5.15/141-redboot_partition_scan.patch  | 20 +++++++++----------
 .../142-redboot_various_erase_size_fix.patch       | 23 ++++++++++++++++------
 .../linux/ath25/patches-5.15/330-board_leds.patch  |  4 ++--
 11 files changed, 61 insertions(+), 46 deletions(-)

diff --git a/target/linux/ath25/Makefile b/target/linux/ath25/Makefile
index 76dd346628..ea90c803fd 100644
--- a/target/linux/ath25/Makefile
+++ b/target/linux/ath25/Makefile
@@ -11,7 +11,7 @@ FEATURES:=squashfs low_mem small_flash source-only
 SUBTARGETS:=generic
 
 KERNEL_PATCHVER:=5.10
-KERNEL_TESTING_PATCHVER:=5.10
+KERNEL_TESTING_PATCHVER:=5.15
 
 define Target/Description
 	Build firmware images for Atheros SoC boards
diff --git a/target/linux/ath25/config-5.15 b/target/linux/ath25/config-5.15
index ef764820e4..a27ad4980f 100644
--- a/target/linux/ath25/config-5.15
+++ b/target/linux/ath25/config-5.15
@@ -3,6 +3,7 @@ CONFIG_AR2315_WDT=y
 CONFIG_AR8216_PHY=y
 CONFIG_ARCH_32BIT_OFF_T=y
 CONFIG_ARCH_HIBERNATION_POSSIBLE=y
+CONFIG_ARCH_KEEP_MEMBLOCK=y
 CONFIG_ARCH_MMAP_RND_BITS_MAX=15
 CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=15
 CONFIG_ARCH_SUSPEND_POSSIBLE=y
@@ -26,7 +27,6 @@ CONFIG_CPU_NEEDS_NO_SMARTMIPS_OR_MICROMIPS=y
 CONFIG_CPU_R4K_CACHE_TLB=y
 CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
 CONFIG_CPU_SUPPORTS_HIGHMEM=y
-CONFIG_CRYPTO_BLAKE2S=y
 CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y
 CONFIG_CRYPTO_LIB_POLY1305_RSIZE=2
 CONFIG_CRYPTO_RNG2=y
@@ -40,6 +40,7 @@ CONFIG_GENERIC_ATOMIC64=y
 CONFIG_GENERIC_CLOCKEVENTS=y
 CONFIG_GENERIC_CMOS_UPDATE=y
 CONFIG_GENERIC_CPU_AUTOPROBE=y
+CONFIG_GENERIC_FIND_FIRST_BIT=y
 CONFIG_GENERIC_GETTIMEOFDAY=y
 CONFIG_GENERIC_IOMAP=y
 CONFIG_GENERIC_IRQ_CHIP=y
@@ -56,6 +57,7 @@ CONFIG_GENERIC_SMP_IDLE_THREAD=y
 CONFIG_GENERIC_TIME_VSYSCALL=y
 CONFIG_GPIO_AR2315=y
 CONFIG_GPIO_AR5312=y
+CONFIG_GPIO_CDEV=y
 CONFIG_HANDLE_DOMAIN_IRQ=y
 CONFIG_HARDWARE_WATCHPOINTS=y
 CONFIG_HAS_DMA=y
@@ -98,6 +100,7 @@ CONFIG_MVSWITCH_PHY=y
 CONFIG_NEED_DMA_MAP_STATE=y
 CONFIG_NEED_PER_CPU_KM=y
 CONFIG_NET_AR231X=y
+CONFIG_NET_SELFTESTS=y
 CONFIG_NO_GENERIC_PCI_IOPORT_MAP=y
 # CONFIG_OF is not set
 CONFIG_PCI=y
@@ -108,6 +111,7 @@ CONFIG_PCI_DRIVERS_LEGACY=y
 CONFIG_PERF_USE_VMALLOC=y
 CONFIG_PGTABLE_LEVELS=2
 CONFIG_PHYLIB=y
+CONFIG_PTP_1588_CLOCK_OPTIONAL=y
 CONFIG_SERIAL_8250_NR_UARTS=1
 CONFIG_SERIAL_8250_RUNTIME_UARTS=1
 CONFIG_SERIAL_MCTRL_GPIO=y
diff --git a/target/linux/ath25/patches-5.15/107-ar5312_gpio.patch b/target/linux/ath25/patches-5.15/107-ar5312_gpio.patch
index a1efdbeeae..4ad1d40fac 100644
--- a/target/linux/ath25/patches-5.15/107-ar5312_gpio.patch
+++ b/target/linux/ath25/patches-5.15/107-ar5312_gpio.patch
@@ -18,7 +18,7 @@
  #include <asm/bootinfo.h>
  #include <asm/reboot.h>
  #include <asm/time.h>
-@@ -178,6 +179,22 @@ static struct platform_device ar5312_phy
+@@ -177,6 +178,22 @@ static struct platform_device ar5312_phy
  	.num_resources = 1,
  };
  
@@ -41,7 +41,7 @@
  static void __init ar5312_flash_init(void)
  {
  	void __iomem *flashctl_base;
-@@ -245,6 +262,8 @@ void __init ar5312_init_devices(void)
+@@ -244,6 +261,8 @@ void __init ar5312_init_devices(void)
  
  	platform_device_register(&ar5312_physmap_flash);
  
@@ -52,7 +52,7 @@
  		if (!ath25_board.radio)
 --- a/drivers/gpio/Kconfig
 +++ b/drivers/gpio/Kconfig
-@@ -142,6 +142,13 @@ config GPIO_AMDPT
+@@ -143,6 +143,13 @@ config GPIO_AMDPT
  	  driver for GPIO functionality on Promontory IOHub
  	  Require ACPI ASL code to enumerate as a platform device.
  
@@ -202,7 +202,7 @@
 +subsys_initcall(ar5312_gpio_init);
 --- a/arch/mips/Kconfig
 +++ b/arch/mips/Kconfig
-@@ -219,6 +219,7 @@ config ATH25
+@@ -230,6 +230,7 @@ config ATH25
  	select CEVT_R4K
  	select CSRC_R4K
  	select DMA_NONCOHERENT
diff --git a/target/linux/ath25/patches-5.15/108-ar2315_gpio.patch b/target/linux/ath25/patches-5.15/108-ar2315_gpio.patch
index 10289086e8..f2e1e4a9a3 100644
--- a/target/linux/ath25/patches-5.15/108-ar2315_gpio.patch
+++ b/target/linux/ath25/patches-5.15/108-ar2315_gpio.patch
@@ -75,7 +75,7 @@
  	 * workaround. Attempt to jump to the mips reset location -
 --- a/drivers/gpio/Kconfig
 +++ b/drivers/gpio/Kconfig
-@@ -142,6 +142,13 @@ config GPIO_AMDPT
+@@ -143,6 +143,13 @@ config GPIO_AMDPT
  	  driver for GPIO functionality on Promontory IOHub
  	  Require ACPI ASL code to enumerate as a platform device.
  
diff --git a/target/linux/ath25/patches-5.15/110-ar2313_ethernet.patch b/target/linux/ath25/patches-5.15/110-ar2313_ethernet.patch
index 72b8660baa..bd998b1427 100644
--- a/target/linux/ath25/patches-5.15/110-ar2313_ethernet.patch
+++ b/target/linux/ath25/patches-5.15/110-ar2313_ethernet.patch
@@ -16,7 +16,7 @@
  	help
  	  If you have a network (Ethernet) card belonging to this class, say Y.
  
-@@ -87,4 +87,10 @@ config ALX
+@@ -88,4 +88,10 @@ config ALX
  	  To compile this driver as a module, choose M here.  The module
  	  will be called alx.
  
@@ -1518,7 +1518,7 @@
  
 --- a/arch/mips/ath25/ar5312.c
 +++ b/arch/mips/ath25/ar5312.c
-@@ -128,6 +128,10 @@ static void ar5312_irq_dispatch(void)
+@@ -127,6 +127,10 @@ static void ar5312_irq_dispatch(void)
  
  	if (pending & CAUSEF_IP2)
  		do_IRQ(AR5312_IRQ_WLAN0);
@@ -1529,7 +1529,7 @@
  	else if (pending & CAUSEF_IP5)
  		do_IRQ(AR5312_IRQ_WLAN1);
  	else if (pending & CAUSEF_IP6)
-@@ -161,6 +165,36 @@ void __init ar5312_arch_init_irq(void)
+@@ -160,6 +164,36 @@ void __init ar5312_arch_init_irq(void)
  	ar5312_misc_irq_domain = domain;
  }
  
@@ -1566,7 +1566,7 @@
  static struct physmap_flash_data ar5312_flash_data = {
  	.width = 2,
  };
-@@ -241,6 +275,7 @@ static void __init ar5312_flash_init(voi
+@@ -240,6 +274,7 @@ static void __init ar5312_flash_init(voi
  void __init ar5312_init_devices(void)
  {
  	struct ath25_boarddata *config;
@@ -1574,7 +1574,7 @@
  
  	ar5312_flash_init();
  
-@@ -264,8 +299,30 @@ void __init ar5312_init_devices(void)
+@@ -263,8 +298,30 @@ void __init ar5312_init_devices(void)
  
  	platform_device_register(&ar5312_gpio);
  
@@ -1605,7 +1605,7 @@
  		if (!ath25_board.radio)
  			return;
  
-@@ -274,8 +331,18 @@ void __init ar5312_init_devices(void)
+@@ -273,8 +330,18 @@ void __init ar5312_init_devices(void)
  
  		ath25_add_wmac(0, AR5312_WLAN0_BASE, AR5312_IRQ_WLAN0);
  		break;
diff --git a/target/linux/ath25/patches-5.15/120-spiflash.patch b/target/linux/ath25/patches-5.15/120-spiflash.patch
index 6b869d9fcd..c0f4fa6204 100644
--- a/target/linux/ath25/patches-5.15/120-spiflash.patch
+++ b/target/linux/ath25/patches-5.15/120-spiflash.patch
@@ -1,6 +1,6 @@
 --- a/drivers/mtd/devices/Kconfig
 +++ b/drivers/mtd/devices/Kconfig
-@@ -114,6 +114,10 @@ config MTD_BCM47XXSFLASH
+@@ -120,6 +120,10 @@ config MTD_BCM47XXSFLASH
  	  registered by bcma as platform devices. This enables driver for
  	  serial flash memories.
  
@@ -13,8 +13,8 @@
  	help
 --- a/drivers/mtd/devices/Makefile
 +++ b/drivers/mtd/devices/Makefile
-@@ -15,6 +15,7 @@ obj-$(CONFIG_MTD_DATAFLASH)	+= mtd_dataf
- obj-$(CONFIG_MTD_MCHP23K256)	+= mchp23k256.o
+@@ -16,6 +16,7 @@ obj-$(CONFIG_MTD_MCHP23K256)	+= mchp23k2
+ obj-$(CONFIG_MTD_MCHP48L640)	+= mchp48l640.o
  obj-$(CONFIG_MTD_SPEAR_SMI)	+= spear_smi.o
  obj-$(CONFIG_MTD_SST25L)	+= sst25l.o
 +obj-$(CONFIG_MTD_AR2315)	+= ar2315.o
diff --git a/target/linux/ath25/patches-5.15/130-watchdog.patch b/target/linux/ath25/patches-5.15/130-watchdog.patch
index 1c8c9a9677..eb0bc5630d 100644
--- a/target/linux/ath25/patches-5.15/130-watchdog.patch
+++ b/target/linux/ath25/patches-5.15/130-watchdog.patch
@@ -212,7 +212,7 @@
 +MODULE_ALIAS("platform:" DRIVER_NAME);
 --- a/drivers/watchdog/Kconfig
 +++ b/drivers/watchdog/Kconfig
-@@ -1873,6 +1873,13 @@ config PIC32_DMT
+@@ -1829,6 +1829,13 @@ config PIC32_DMT
  	  To compile this driver as a loadable module, choose M here.
  	  The module will be called pic32-dmt.
  
@@ -228,8 +228,8 @@
  # POWERPC Architecture
 --- a/drivers/watchdog/Makefile
 +++ b/drivers/watchdog/Makefile
-@@ -164,6 +164,7 @@ obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o
- obj-$(CONFIG_PNX833X_WDT) += pnx833x_wdt.o
+@@ -161,6 +161,7 @@ obj-$(CONFIG_JZ4740_WDT) += jz4740_wdt.o
+ obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o
  obj-$(CONFIG_SIBYTE_WDOG) += sb_wdog.o
  obj-$(CONFIG_AR7_WDT) += ar7_wdt.o
 +obj-$(CONFIG_AR2315_WDT) += ar2315-wtd.o
diff --git a/target/linux/ath25/patches-5.15/140-redboot_boardconfig.patch b/target/linux/ath25/patches-5.15/140-redboot_boardconfig.patch
index 07d75b9fba..5f506aaa3a 100644
--- a/target/linux/ath25/patches-5.15/140-redboot_boardconfig.patch
+++ b/target/linux/ath25/patches-5.15/140-redboot_boardconfig.patch
@@ -7,8 +7,8 @@
 +#define BOARD_CONFIG_PART		"boardconfig"
 +
  struct fis_image_desc {
-     unsigned char name[16];      // Null terminated name
-     uint32_t	  flash_base;    // Address within FLASH of image
+ 	unsigned char name[16];      // Null terminated name
+ 	u32	  flash_base;    // Address within FLASH of image
 @@ -73,6 +75,7 @@ static int parse_redboot_partitions(stru
  				    const struct mtd_partition **pparts,
  				    struct mtd_part_parser_data *data)
@@ -17,11 +17,11 @@
  	int nrparts = 0;
  	struct fis_image_desc *buf;
  	struct mtd_partition *parts;
-@@ -240,14 +243,15 @@ static int parse_redboot_partitions(stru
+@@ -239,14 +242,15 @@ nogood:
  		}
  	}
  #endif
--	parts = kzalloc(sizeof(*parts)*nrparts + nulllen + namelen, GFP_KERNEL);
+-	parts = kzalloc(sizeof(*parts) * nrparts + nulllen + namelen, GFP_KERNEL);
 +	parts = kzalloc(sizeof(*parts) * (nrparts + 1) + nulllen + namelen +
 +			sizeof(BOARD_CONFIG_PART), GFP_KERNEL);
  
@@ -33,18 +33,18 @@
 -	nullname = (char *)&parts[nrparts];
 +	nullname = (char *)&parts[nrparts + 1];
  #ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
- 	if (nulllen > 0) {
+ 	if (nulllen > 0)
  		strcpy(nullname, nullstring);
-@@ -266,6 +270,8 @@ static int parse_redboot_partitions(stru
+@@ -264,6 +268,8 @@ nogood:
  	}
  #endif
- 	for ( ; i<nrparts; i++) {
+ 	for ( ; i < nrparts; i++) {
 +		if (max_offset < buf[i].flash_base + buf[i].size)
-+			max_offset = buf[i].flash_base + buf[i].size;
++				max_offset = buf[i].flash_base + buf[i].size;
  		parts[i].size = fl->img->size;
  		parts[i].offset = fl->img->flash_base;
  		parts[i].name = names;
-@@ -299,6 +305,13 @@ static int parse_redboot_partitions(stru
+@@ -297,6 +303,13 @@ nogood:
  		fl = fl->next;
  		kfree(tmp_fl);
  	}
diff --git a/target/linux/ath25/patches-5.15/141-redboot_partition_scan.patch b/target/linux/ath25/patches-5.15/141-redboot_partition_scan.patch
index 68019f90ea..f9c98c9a37 100644
--- a/target/linux/ath25/patches-5.15/141-redboot_partition_scan.patch
+++ b/target/linux/ath25/patches-5.15/141-redboot_partition_scan.patch
@@ -8,18 +8,18 @@
 +	if (!buf)
 +		return -ENOMEM;
 +
-+ restart:
- 	if ( directory < 0 ) {
++restart:
+ 	if (directory < 0) {
  		offset = master->size + directory * master->erasesize;
  		while (mtd_block_isbad(master, offset)) {
  			if (!offset) {
- 			nogood:
- 				printk(KERN_NOTICE "Failed to find a non-bad block to check for RedBoot partition table\n");
+ nogood:
+ 				pr_notice("Failed to find a non-bad block to check for RedBoot partition table\n");
 +				vfree(buf);
  				return -EIO;
  			}
  			offset -= master->erasesize;
-@@ -112,10 +118,6 @@ static int parse_redboot_partitions(stru
+@@ -112,10 +118,6 @@ nogood:
  				goto nogood;
  		}
  	}
@@ -28,9 +28,9 @@
 -	if (!buf)
 -		return -ENOMEM;
  
- 	printk(KERN_NOTICE "Searching for RedBoot partition table in %s at offset 0x%lx\n",
- 	       master->name, offset);
-@@ -188,6 +190,11 @@ static int parse_redboot_partitions(stru
+ 	pr_notice("Searching for RedBoot partition table in %s at offset 0x%lx\n",
+ 		  master->name, offset);
+@@ -187,6 +189,11 @@ nogood:
  	}
  	if (i == numslots) {
  		/* Didn't find it */
@@ -39,6 +39,6 @@
 +			directory++;
 +			goto restart;
 +		}
- 		printk(KERN_NOTICE "No RedBoot partition table detected in %s\n",
- 		       master->name);
+ 		pr_notice("No RedBoot partition table detected in %s\n",
+ 			  master->name);
  		ret = 0;
diff --git a/target/linux/ath25/patches-5.15/142-redboot_various_erase_size_fix.patch b/target/linux/ath25/patches-5.15/142-redboot_various_erase_size_fix.patch
index c3b73eabe9..ca9e686177 100644
--- a/target/linux/ath25/patches-5.15/142-redboot_various_erase_size_fix.patch
+++ b/target/linux/ath25/patches-5.15/142-redboot_various_erase_size_fix.patch
@@ -31,7 +31,18 @@
  	unsigned long offset;
  #ifdef CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED
  	static char nullstring[] = "unallocated";
-@@ -201,7 +218,10 @@ static int parse_redboot_partitions(stru
+@@ -134,7 +151,9 @@ nogood:
+ 	}
+ 
+ 	numslots = (master->erasesize / sizeof(struct fis_image_desc));
+-	for (i = 0; i < numslots; i++) {
++	first_slot = (buf[i].flash_base & (master->erasesize - 1)) /
++				  sizeof(struct fis_image_desc);
++	for (i = first_slot; i < first_slot + numslots; i++) {
+ 		if (!memcmp(buf[i].name, "FIS directory", 14)) {
+ 			/* This is apparently the FIS directory entry for the
+ 			 * FIS directory itself.  The FIS directory size is
+@@ -200,7 +219,10 @@ nogood:
  		goto out;
  	}
  
@@ -43,23 +54,23 @@
  		struct fis_list *new_fl, **prev;
  
  		if (buf[i].name[0] == 0xff) {
-@@ -277,12 +297,13 @@ static int parse_redboot_partitions(stru
+@@ -275,12 +297,13 @@ nogood:
  	}
  #endif
- 	for ( ; i<nrparts; i++) {
+ 	for ( ; i < nrparts; i++) {
 -		if (max_offset < buf[i].flash_base + buf[i].size)
--			max_offset = buf[i].flash_base + buf[i].size;
+-				max_offset = buf[i].flash_base + buf[i].size;
  		parts[i].size = fl->img->size;
  		parts[i].offset = fl->img->flash_base;
  		parts[i].name = names;
  
 +		if (max_offset < parts[i].offset + parts[i].size)
-+			max_offset = parts[i].offset + parts[i].size;
++				max_offset = parts[i].offset + parts[i].size;
 +
  		strcpy(names, fl->img->name);
  #ifdef CONFIG_MTD_REDBOOT_PARTS_READONLY
  		if (!memcmp(names, "RedBoot", 8) ||
-@@ -312,7 +333,9 @@ static int parse_redboot_partitions(stru
+@@ -310,7 +333,9 @@ nogood:
  		fl = fl->next;
  		kfree(tmp_fl);
  	}
diff --git a/target/linux/ath25/patches-5.15/330-board_leds.patch b/target/linux/ath25/patches-5.15/330-board_leds.patch
index a683d01111..3d762db80e 100644
--- a/target/linux/ath25/patches-5.15/330-board_leds.patch
+++ b/target/linux/ath25/patches-5.15/330-board_leds.patch
@@ -78,7 +78,7 @@
  #include <asm/bootinfo.h>
  #include <asm/reboot.h>
  #include <asm/time.h>
-@@ -229,6 +230,23 @@ static struct platform_device ar5312_gpi
+@@ -228,6 +229,23 @@ static struct platform_device ar5312_gpi
  	.num_resources = ARRAY_SIZE(ar5312_gpio_res),
  };
  
@@ -102,7 +102,7 @@
  static void __init ar5312_flash_init(void)
  {
  	void __iomem *flashctl_base;
-@@ -299,6 +317,11 @@ void __init ar5312_init_devices(void)
+@@ -298,6 +316,11 @@ void __init ar5312_init_devices(void)
  
  	platform_device_register(&ar5312_gpio);
  




More information about the lede-commits mailing list