bcm47xx: 6.6: refresh patches
authorMieczyslaw Nalewaj <namiltd@yahoo.com>
Fri, 29 Mar 2024 10:40:13 +0000 (11:40 +0100)
committerRobert Marko <robimarko@gmail.com>
Mon, 3 Jun 2024 15:57:54 +0000 (17:57 +0200)
Refresh kernel patches. Remove patches already included in the kernel.

Signed-off-by: Mieczyslaw Nalewaj <namiltd@yahoo.com>
Link: https://github.com/openwrt/openwrt/pull/15010
Signed-off-by: Robert Marko <robimarko@gmail.com>
target/linux/bcm47xx/patches-6.6/030-v6.3-MIPS-BCM47XX-Add-support-for-Linksys-E2500-V3.patch [deleted file]
target/linux/bcm47xx/patches-6.6/130-MIPS-BCM47XX-Add-support-for-Huawei-B593u-12.patch [deleted file]
target/linux/bcm47xx/patches-6.6/159-cpu_fixes.patch
target/linux/bcm47xx/patches-6.6/160-kmap_coherent.patch
target/linux/bcm47xx/patches-6.6/209-b44-register-adm-switch.patch
target/linux/bcm47xx/patches-6.6/210-b44_phy_fix.patch
target/linux/bcm47xx/patches-6.6/310-no_highpage.patch
target/linux/bcm47xx/patches-6.6/830-huawei_e970_support.patch
target/linux/bcm47xx/patches-6.6/831-old_gpio_wdt.patch
target/linux/bcm47xx/patches-6.6/999-wl_exports.patch

diff --git a/target/linux/bcm47xx/patches-6.6/030-v6.3-MIPS-BCM47XX-Add-support-for-Linksys-E2500-V3.patch b/target/linux/bcm47xx/patches-6.6/030-v6.3-MIPS-BCM47XX-Add-support-for-Linksys-E2500-V3.patch
deleted file mode 100644 (file)
index 4faecdc..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-From fc605b914167de75432c3b5aae239fb191e84a31 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
-Date: Wed, 8 Feb 2023 08:03:01 +0100
-Subject: [PATCH] MIPS: BCM47XX: Add support for Linksys E2500 V3
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It's a BCM5358 based home WiFi router. 16 MiB flash, 64 MiB RAM, BCM5325
-switch, on-SoC 802.11n radio.
-
-Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
-Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
-Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
----
- arch/mips/bcm47xx/board.c                          | 1 +
- arch/mips/bcm47xx/buttons.c                        | 9 +++++++++
- arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 1 +
- 3 files changed, 11 insertions(+)
-
---- a/arch/mips/bcm47xx/board.c
-+++ b/arch/mips/bcm47xx/board.c
-@@ -130,6 +130,7 @@ struct bcm47xx_board_type_list2 bcm47xx_
-       {{BCM47XX_BOARD_LINKSYS_E1000V21, "Linksys E1000 V2.1"}, "E1000", "2.1"},
-       {{BCM47XX_BOARD_LINKSYS_E1200V2, "Linksys E1200 V2"}, "E1200", "2.0"},
-       {{BCM47XX_BOARD_LINKSYS_E2000V1, "Linksys E2000 V1"}, "Linksys E2000", "1.0"},
-+      {{BCM47XX_BOARD_LINKSYS_E2500V3, "Linksys E2500 V3"}, "E2500", "1.0"},
-       /* like WRT610N v2.0 */
-       {{BCM47XX_BOARD_LINKSYS_E3000V1, "Linksys E3000 V1"}, "E300", "1.0"},
-       {{BCM47XX_BOARD_LINKSYS_E3200V1, "Linksys E3200 V1"}, "E3200", "1.0"},
---- a/arch/mips/bcm47xx/buttons.c
-+++ b/arch/mips/bcm47xx/buttons.c
-@@ -223,6 +223,12 @@ bcm47xx_buttons_linksys_e2000v1[] __init
- };
- static const struct gpio_keys_button
-+bcm47xx_buttons_linksys_e2500v3[] __initconst = {
-+      BCM47XX_GPIO_KEY(9, KEY_WPS_BUTTON),
-+      BCM47XX_GPIO_KEY(10, KEY_RESTART),
-+};
-+
-+static const struct gpio_keys_button
- bcm47xx_buttons_linksys_e3000v1[] __initconst = {
-       BCM47XX_GPIO_KEY(4, KEY_WPS_BUTTON),
-       BCM47XX_GPIO_KEY(6, KEY_RESTART),
-@@ -617,6 +623,9 @@ int __init bcm47xx_buttons_register(void
-       case BCM47XX_BOARD_LINKSYS_E2000V1:
-               err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_e2000v1);
-               break;
-+      case BCM47XX_BOARD_LINKSYS_E2500V3:
-+              err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_e2500v3);
-+              break;
-       case BCM47XX_BOARD_LINKSYS_E3000V1:
-               err = bcm47xx_copy_bdata(bcm47xx_buttons_linksys_e3000v1);
-               break;
---- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
-+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
-@@ -61,6 +61,7 @@ enum bcm47xx_board {
-       BCM47XX_BOARD_LINKSYS_E1000V21,
-       BCM47XX_BOARD_LINKSYS_E1200V2,
-       BCM47XX_BOARD_LINKSYS_E2000V1,
-+      BCM47XX_BOARD_LINKSYS_E2500V3,
-       BCM47XX_BOARD_LINKSYS_E3000V1,
-       BCM47XX_BOARD_LINKSYS_E3200V1,
-       BCM47XX_BOARD_LINKSYS_E4200V1,
diff --git a/target/linux/bcm47xx/patches-6.6/130-MIPS-BCM47XX-Add-support-for-Huawei-B593u-12.patch b/target/linux/bcm47xx/patches-6.6/130-MIPS-BCM47XX-Add-support-for-Huawei-B593u-12.patch
deleted file mode 100644 (file)
index 333c3d7..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= <rafal@milecki.pl>
-Date: Mon, 27 Feb 2023 07:44:38 +0100
-Subject: [PATCH] MIPS: BCM47XX: Add support for Huawei B593u-12
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-It's a BCM5358 based home router. One of very few bcm47xx devices with
-cellular modems (here: LTE).
-
-Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
----
- arch/mips/bcm47xx/board.c                          | 1 +
- arch/mips/bcm47xx/leds.c                           | 8 ++++++++
- arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h | 1 +
- 3 files changed, 10 insertions(+)
-
---- a/arch/mips/bcm47xx/board.c
-+++ b/arch/mips/bcm47xx/board.c
-@@ -193,6 +193,7 @@ struct bcm47xx_board_type_list1 bcm47xx_
- /* boardtype, boardnum, boardrev */
- static const
- struct bcm47xx_board_type_list3 bcm47xx_board_list_board[] __initconst = {
-+      {{BCM47XX_BOARD_HUAWEI_B593U_12, "Huawei B593u-12"}, "0x053d", "1234", "0x1301"},
-       {{BCM47XX_BOARD_HUAWEI_E970, "Huawei E970"}, "0x048e", "0x5347", "0x11"},
-       {{BCM47XX_BOARD_PHICOMM_M1, "Phicomm M1"}, "0x0590", "80", "0x1104"},
-       {{BCM47XX_BOARD_ZTE_H218N, "ZTE H218N"}, "0x053d", "1234", "0x1305"},
---- a/arch/mips/bcm47xx/leds.c
-+++ b/arch/mips/bcm47xx/leds.c
-@@ -223,6 +223,11 @@ bcm47xx_leds_dlink_dir330[] __initconst
- /* Huawei */
- static const struct gpio_led
-+bcm47xx_leds_huawei_b593u_12[] __initconst = {
-+      BCM47XX_GPIO_LED(5, "blue", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
-+};
-+
-+static const struct gpio_led
- bcm47xx_leds_huawei_e970[] __initconst = {
-       BCM47XX_GPIO_LED(0, "unk", "wlan", 0, LEDS_GPIO_DEFSTATE_OFF),
- };
-@@ -672,6 +677,9 @@ void __init bcm47xx_leds_register(void)
-               bcm47xx_set_pdata(bcm47xx_leds_dlink_dir330);
-               break;
-+      case BCM47XX_BOARD_HUAWEI_B593U_12:
-+              bcm47xx_set_pdata(bcm47xx_leds_huawei_b593u_12);
-+              break;
-       case BCM47XX_BOARD_HUAWEI_E970:
-               bcm47xx_set_pdata(bcm47xx_leds_huawei_e970);
-               break;
---- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
-+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx_board.h
-@@ -53,6 +53,7 @@ enum bcm47xx_board {
-       BCM47XX_BOARD_DLINK_DIR130,
-       BCM47XX_BOARD_DLINK_DIR330,
-+      BCM47XX_BOARD_HUAWEI_B593U_12,
-       BCM47XX_BOARD_HUAWEI_E970,
-       BCM47XX_BOARD_LINKSYS_E900V1,
index f51ed83d93dd3c011f44d37a2f77bf8224821021..f4360664c5371bc018e365c4b4b464c5211788e3 100644 (file)
  /*
   * Bits describing what cache ops an SMP callback function may perform.
   *
-@@ -189,6 +192,9 @@ static void r4k_blast_dcache_user_page_s
+@@ -144,6 +147,9 @@ static void r4k_blast_dcache_page_setup(
  {
        unsigned long  dc_lsize = cpu_dcache_line_size();
  
 +      if (bcm4710)
 +              r4k_blast_dcache_page = blast_dcache_page;
 +      else
-       if (dc_lsize == 0)
-               r4k_blast_dcache_user_page = (void *)cache_noop;
-       else if (dc_lsize == 16)
-@@ -207,6 +213,9 @@ static void r4k_blast_dcache_page_indexe
+       switch (dc_lsize) {
+       case 0:
+               r4k_blast_dcache_page = (void *)cache_noop;
+@@ -175,6 +181,9 @@ static void r4k_blast_dcache_user_page_s
  {
-       unsigned long dc_lsize = cpu_dcache_line_size();
+       unsigned long  dc_lsize = cpu_dcache_line_size();
  
 +      if (bcm4710)
-+              r4k_blast_dcache_page_indexed = blast_dcache_page_indexed;
++              r4k_blast_dcache_user_page = blast_dcache_user_page;
 +      else
        if (dc_lsize == 0)
-               r4k_blast_dcache_page_indexed = (void *)cache_noop;
+               r4k_blast_dcache_user_page = (void *)cache_noop;
        else if (dc_lsize == 16)
-@@ -226,6 +235,9 @@ static void r4k_blast_dcache_setup(void)
+@@ -194,6 +203,9 @@ static void r4k_blast_dcache_setup(void)
  {
        unsigned long dc_lsize = cpu_dcache_line_size();
  
        if (dc_lsize == 0)
                r4k_blast_dcache = (void *)cache_noop;
        else if (dc_lsize == 16)
-@@ -1779,6 +1791,17 @@ static void coherency_setup(void)
+@@ -1669,6 +1681,17 @@ static void coherency_setup(void)
         * silly idea of putting something else there ...
         */
        switch (current_cpu_type()) {
        case CPU_R4000PC:
        case CPU_R4000SC:
        case CPU_R4000MC:
-@@ -1825,6 +1848,15 @@ void r4k_cache_init(void)
+@@ -1715,6 +1738,15 @@ void r4k_cache_init(void)
        extern void build_copy_page(void);
        struct cpuinfo_mips *c = &current_cpu_data;
  
        probe_pcache();
        probe_vcache();
        setup_scache();
-@@ -1897,7 +1929,15 @@ void r4k_cache_init(void)
+@@ -1777,7 +1809,15 @@ void r4k_cache_init(void)
         */
        local_r4k___flush_cache_all(NULL);
  
index 2af9d42fe55b28499891ee141d952c0f51200011..19ab8df7c412ce94cc1d18f60a473360c4d4355c 100644 (file)
@@ -29,16 +29,7 @@ This fixes OpenWrt ticket #1485: https://dev.openwrt.org/ticket/1485
  #endif /* __ASM_MACH_BCM47XX_CPU_FEATURE_OVERRIDES_H */
 --- a/arch/mips/mm/c-r4k.c
 +++ b/arch/mips/mm/c-r4k.c
-@@ -701,7 +701,7 @@ static inline void local_r4k_flush_cache
-               map_coherent = (cpu_has_dc_aliases &&
-                               page_mapcount(page) &&
-                               !Page_dcache_dirty(page));
--              if (map_coherent)
-+              if (map_coherent && cpu_use_kmap_coherent)
-                       vaddr = kmap_coherent(page, addr);
-               else
-                       vaddr = kmap_atomic(page);
-@@ -728,7 +728,7 @@ static inline void local_r4k_flush_cache
+@@ -618,7 +618,7 @@ static inline void local_r4k_flush_cache
        }
  
        if (vaddr) {
@@ -49,30 +40,30 @@ This fixes OpenWrt ticket #1485: https://dev.openwrt.org/ticket/1485
                        kunmap_atomic(vaddr);
 --- a/arch/mips/mm/init.c
 +++ b/arch/mips/mm/init.c
-@@ -172,7 +172,7 @@ void copy_user_highpage(struct page *to,
+@@ -173,7 +173,7 @@ void copy_user_highpage(struct page *to,
        void *vfrom, *vto;
  
        vto = kmap_atomic(to);
 -      if (cpu_has_dc_aliases &&
 +      if (cpu_has_dc_aliases && cpu_use_kmap_coherent &&
-           page_mapcount(from) && !Page_dcache_dirty(from)) {
+           folio_mapped(src) && !folio_test_dcache_dirty(src)) {
                vfrom = kmap_coherent(from, vaddr);
                copy_page(vto, vfrom);
-@@ -194,7 +194,7 @@ void copy_to_user_page(struct vm_area_st
-       struct page *page, unsigned long vaddr, void *dst, const void *src,
-       unsigned long len)
+@@ -197,7 +197,7 @@ void copy_to_user_page(struct vm_area_st
  {
+       struct folio *folio = page_folio(page);
 -      if (cpu_has_dc_aliases &&
 +      if (cpu_has_dc_aliases && cpu_use_kmap_coherent &&
-           page_mapcount(page) && !Page_dcache_dirty(page)) {
+           folio_mapped(folio) && !folio_test_dcache_dirty(folio)) {
                void *vto = kmap_coherent(page, vaddr) + (vaddr & ~PAGE_MASK);
                memcpy(vto, src, len);
-@@ -212,7 +212,7 @@ void copy_from_user_page(struct vm_area_
-       struct page *page, unsigned long vaddr, void *dst, const void *src,
-       unsigned long len)
+@@ -217,7 +217,7 @@ void copy_from_user_page(struct vm_area_
  {
+       struct folio *folio = page_folio(page);
 -      if (cpu_has_dc_aliases &&
 +      if (cpu_has_dc_aliases && cpu_use_kmap_coherent &&
-           page_mapcount(page) && !Page_dcache_dirty(page)) {
+           folio_mapped(folio) && !folio_test_dcache_dirty(folio)) {
                void *vfrom = kmap_coherent(page, vaddr) + (vaddr & ~PAGE_MASK);
                memcpy(dst, vfrom, len);
index af4e218f9ec2da8f4b049c208d0ea476df5fe793..a18f582969d6113491a20350a404a8092a8c0a62 100644 (file)
@@ -19,7 +19,7 @@ Subject: [PATCH 210/210] b44: register adm switch
  
  #include <linux/uaccess.h>
  #include <asm/io.h>
-@@ -2249,6 +2251,69 @@ static void b44_adjust_link(struct net_d
+@@ -2225,6 +2227,69 @@ static void b44_adjust_link(struct net_d
        }
  }
  
@@ -89,7 +89,7 @@ Subject: [PATCH 210/210] b44: register adm switch
  static int b44_register_phy_one(struct b44 *bp)
  {
        __ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, };
-@@ -2285,6 +2350,9 @@ static int b44_register_phy_one(struct b
+@@ -2261,6 +2326,9 @@ static int b44_register_phy_one(struct b
        if (!mdiobus_is_registered_device(bp->mii_bus, bp->phy_addr) &&
            (sprom->boardflags_lo & (B44_BOARDFLAG_ROBO | B44_BOARDFLAG_ADM))) {
  
@@ -99,7 +99,7 @@ Subject: [PATCH 210/210] b44: register adm switch
                dev_info(sdev->dev,
                         "could not find PHY at %i, use fixed one\n",
                         bp->phy_addr);
-@@ -2479,6 +2547,7 @@ static void b44_remove_one(struct ssb_de
+@@ -2455,6 +2523,7 @@ static void b44_remove_one(struct ssb_de
        unregister_netdev(dev);
        if (bp->flags & B44_FLAG_EXTERNAL_PHY)
                b44_unregister_phy_one(bp);
index ffe029b9fe784a42bee6c42a61e0b5948fc93909..eeb66d9501faeb764e19647647266074e35f3d05 100644 (file)
@@ -1,6 +1,6 @@
 --- a/drivers/net/ethernet/broadcom/b44.c
 +++ b/drivers/net/ethernet/broadcom/b44.c
-@@ -430,10 +430,34 @@ static void b44_wap54g10_workaround(stru
+@@ -408,10 +408,34 @@ static void b44_wap54g10_workaround(stru
  error:
        pr_warn("PHY: cannot reset MII transceiver isolate bit\n");
  }
@@ -35,7 +35,7 @@
  #endif
  
  static int b44_setup_phy(struct b44 *bp)
-@@ -442,6 +466,7 @@ static int b44_setup_phy(struct b44 *bp)
+@@ -420,6 +444,7 @@ static int b44_setup_phy(struct b44 *bp)
        int err;
  
        b44_wap54g10_workaround(bp);
@@ -43,7 +43,7 @@
  
        if (bp->flags & B44_FLAG_EXTERNAL_PHY)
                return 0;
-@@ -2179,6 +2204,8 @@ static int b44_get_invariants(struct b44
+@@ -2155,6 +2180,8 @@ static int b44_get_invariants(struct b44
         * valid PHY address. */
        bp->phy_addr &= 0x1F;
  
index 8f368e3e9eab5c08bd26712e38dc60f9d8a8d5ec..7a4cd6ed9011f183213b675f4a920ff40a791355 100644 (file)
@@ -41,18 +41,19 @@ For details see OpenWrt ticket #2035 https://dev.openwrt.org/ticket/2035
   * These are used to make use of C type-checking..
 --- a/arch/mips/mm/init.c
 +++ b/arch/mips/mm/init.c
-@@ -166,30 +166,6 @@ void kunmap_coherent(void)
+@@ -166,31 +166,6 @@ void kunmap_coherent(void)
        preempt_enable();
  }
  
 -void copy_user_highpage(struct page *to, struct page *from,
 -      unsigned long vaddr, struct vm_area_struct *vma)
 -{
+-      struct folio *src = page_folio(from);
 -      void *vfrom, *vto;
 -
 -      vto = kmap_atomic(to);
 -      if (cpu_has_dc_aliases && cpu_use_kmap_coherent &&
--          page_mapcount(from) && !Page_dcache_dirty(from)) {
+-          folio_mapped(src) && !folio_test_dcache_dirty(src)) {
 -              vfrom = kmap_coherent(from, vaddr);
 -              copy_page(vto, vfrom);
 -              kunmap_coherent();
index 1746fee592cc301fa5c0ffd39e23e26c61b7449a..21ab40206fbee39e6bcbf85b9530859688004349 100644 (file)
@@ -52,7 +52,7 @@
  device_initcall(bcm47xx_register_bus_complete);
 --- a/arch/mips/configs/bcm47xx_defconfig
 +++ b/arch/mips/configs/bcm47xx_defconfig
-@@ -63,6 +63,7 @@ CONFIG_HW_RANDOM=y
+@@ -62,6 +62,7 @@ CONFIG_HW_RANDOM=y
  CONFIG_GPIO_SYSFS=y
  CONFIG_WATCHDOG=y
  CONFIG_BCM47XX_WDT=y
index 55639c6d2e2c89dcae2310eae0ba9d01a3e1ff18..6c76cbeee7fb656ec30c7d180fe69cb4a84c3b89 100644 (file)
@@ -4,7 +4,7 @@ Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>
 
 --- a/drivers/watchdog/Kconfig
 +++ b/drivers/watchdog/Kconfig
-@@ -1728,6 +1728,15 @@ config WDT_MTX1
+@@ -1755,6 +1755,15 @@ config WDT_MTX1
          Hardware driver for the MTX-1 boards. This is a watchdog timer that
          will reboot the machine after a 100 seconds timer expired.
  
@@ -22,7 +22,7 @@ Signed-off-by: Mathias Adam <m.adam--openwrt@adamis.de>
        depends on CPU_SB1
 --- a/drivers/watchdog/Makefile
 +++ b/drivers/watchdog/Makefile
-@@ -164,6 +164,7 @@ obj-$(CONFIG_RC32434_WDT) += rc32434_wdt
+@@ -167,6 +167,7 @@ obj-$(CONFIG_RC32434_WDT) += rc32434_wdt
  obj-$(CONFIG_INDYDOG) += indydog.o
  obj-$(CONFIG_JZ4740_WDT) += jz4740_wdt.o
  obj-$(CONFIG_WDT_MTX1) += mtx-1_wdt.o
index b47913af70eef5edb56369c5ecb934e1ac3b5de4..72be49877694032d64f3b1eeda82c2b3a3ea3de6 100644 (file)
@@ -12,7 +12,7 @@
  static int cfe_env;
 --- a/arch/mips/mm/cache.c
 +++ b/arch/mips/mm/cache.c
-@@ -63,6 +63,9 @@ void (*_dma_cache_wback_inv)(unsigned lo
+@@ -80,6 +80,9 @@ void (*_dma_cache_wback_inv)(unsigned lo
  void (*_dma_cache_wback)(unsigned long start, unsigned long size);
  void (*_dma_cache_inv)(unsigned long start, unsigned long size);