Explorar o código

kernel: bump 6.6 to 6.6.80

Changelog: https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.80

Removed upstreamed:
	generic/backport-6.6/819-v6.8-0002-nvmem-Create-a-header-for-internal-sharing.patch[1]
	generic/backport-6.6/819-v6.8-0003-nvmem-Simplify-the-add_cells-hook.patch[2]
	generic/backport-6.6/819-v6.8-0004-nvmem-Move-and-rename-fixup_cell_info.patch[3]

All other patches automatically rebased.

1. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.80&id=39dfc17a38f77b14f7cb2619bd3488a18d797d5d
2. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.80&id=276dae17ad9757c3813d9e736a0210f05ccdf8b7
3. https://web.git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=v6.6.80&id=a0ee898a5024f12572e4ce45202df9b149dadc05

Build system: x86/64
Build-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3
Run-tested: bcm27xx/bcm2712, flogic/xiaomi_redmi-router-ax6000-ubootmod, ramips/tplink_archer-a6-v3

Signed-off-by: John Audia <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/18140
Signed-off-by: Robert Marko <[email protected]>
(cherry picked from commit 86fd00b0fb83300ed7bd39af137a495c61253713)
Link: https://github.com/openwrt/openwrt/pull/18208
Signed-off-by: Hauke Mehrtens <[email protected]>
John Audia hai 10 meses
pai
achega
41613c0f7b
Modificáronse 23 ficheiros con 50 adicións e 389 borrados
  1. 2 2
      include/kernel-6.6
  2. 1 1
      target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch
  3. 1 1
      target/linux/bcm27xx/patches-6.6/950-0025-drm-atomic-helpers-remove-legacy_cursor_update-hacks.patch
  4. 3 3
      target/linux/generic/backport-6.6/600-v6.10-net-Remove-conditional-threaded-NAPI-wakeup-based-on.patch
  5. 11 11
      target/linux/generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch
  6. 2 2
      target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch
  7. 9 9
      target/linux/generic/backport-6.6/603-v6.10-net-Rename-rps_lock-to-backlog_lock.patch
  8. 3 3
      target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch
  9. 1 1
      target/linux/generic/backport-6.6/612-v6.9-net-get-stats64-if-device-if-driver-is-configured.patch
  10. 4 4
      target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch
  11. 1 1
      target/linux/generic/backport-6.6/770-net-introduce-napi_is_scheduled-helper.patch
  12. 3 3
      target/linux/generic/backport-6.6/816-v6.7-0004-Revert-nvmem-add-new-config-option.patch
  13. 2 2
      target/linux/generic/backport-6.6/819-v6.8-0001-nvmem-Move-of_nvmem_layout_get_container-in-another-.patch
  14. 0 91
      target/linux/generic/backport-6.6/819-v6.8-0002-nvmem-Create-a-header-for-internal-sharing.patch
  15. 0 79
      target/linux/generic/backport-6.6/819-v6.8-0003-nvmem-Simplify-the-add_cells-hook.patch
  16. 0 169
      target/linux/generic/backport-6.6/819-v6.8-0004-nvmem-Move-and-rename-fixup_cell_info.patch
  17. 1 1
      target/linux/generic/backport-6.6/823-v6.12-0001-nvmem-imx-ocotp-ele-support-i.MX95.patch
  18. 1 1
      target/linux/generic/backport-6.6/900-v6.11-net-free_netdev-exit-earlier-if-dummy.patch
  19. 1 1
      target/linux/generic/hack-6.6/721-net-add-packet-mangeling.patch
  20. 1 1
      target/linux/generic/pending-6.6/680-net-add-TCP-fraglist-GRO-support.patch
  21. 1 1
      target/linux/ipq40xx/patches-6.6/004-v6.7-firmware-qcom_scm-disable-SDI-if-required.patch
  22. 1 1
      target/linux/ipq40xx/patches-6.6/910-Revert-firmware-qcom_scm-Clear-download-bit-during-r.patch
  23. 1 1
      target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch

+ 2 - 2
include/kernel-6.6

@@ -1,2 +1,2 @@
-LINUX_VERSION-6.6 = .79
-LINUX_KERNEL_HASH-6.6.79 = 07a6f904470da1a099aa1683e3025a999dd82f2438f78b006b80c6ae2e9dfe8d
+LINUX_VERSION-6.6 = .80
+LINUX_KERNEL_HASH-6.6.80 = 6cf911d01324f45c9dd2f44cf06f55bda0ecf383bc498f132a0c549768531327

+ 1 - 1
target/linux/ath79/patches-6.6/900-unaligned_access_hacks.patch

@@ -751,7 +751,7 @@ SVN-Revision: 35130
  EXPORT_SYMBOL(xfrm_parse_spi);
 --- a/net/ipv4/tcp_input.c
 +++ b/net/ipv4/tcp_input.c
-@@ -4262,14 +4262,16 @@ static bool tcp_parse_aligned_timestamp(
+@@ -4268,14 +4268,16 @@ static bool tcp_parse_aligned_timestamp(
  {
  	const __be32 *ptr = (const __be32 *)(th + 1);
  

+ 1 - 1
target/linux/bcm27xx/patches-6.6/950-0025-drm-atomic-helpers-remove-legacy_cursor_update-hacks.patch

@@ -89,7 +89,7 @@ Signed-off-by: Maxime Ripard <[email protected]>
  			commit->event = kzalloc(sizeof(*commit->event),
 --- a/drivers/gpu/drm/i915/display/intel_display.c
 +++ b/drivers/gpu/drm/i915/display/intel_display.c
-@@ -7280,6 +7280,19 @@ int intel_atomic_commit(struct drm_devic
+@@ -7298,6 +7298,19 @@ int intel_atomic_commit(struct drm_devic
  				state->base.legacy_cursor_update = false;
  	}
  

+ 3 - 3
target/linux/generic/backport-6.6/600-v6.10-net-Remove-conditional-threaded-NAPI-wakeup-based-on.patch

@@ -32,7 +32,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -4483,13 +4483,7 @@ static inline void ____napi_schedule(str
+@@ -4514,13 +4514,7 @@ static inline void ____napi_schedule(str
  		 */
  		thread = READ_ONCE(napi->thread);
  		if (thread) {
@@ -47,7 +47,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  			wake_up_process(thread);
  			return;
  		}
-@@ -6645,8 +6639,6 @@ static int napi_poll(struct napi_struct
+@@ -6676,8 +6670,6 @@ static int napi_poll(struct napi_struct
  
  static int napi_thread_wait(struct napi_struct *napi)
  {
@@ -56,7 +56,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  	set_current_state(TASK_INTERRUPTIBLE);
  
  	while (!kthread_should_stop()) {
-@@ -6655,15 +6647,13 @@ static int napi_thread_wait(struct napi_
+@@ -6686,15 +6678,13 @@ static int napi_thread_wait(struct napi_
  		 * Testing SCHED bit is not enough because SCHED bit might be
  		 * set by some other busy poll thread or by napi_disable().
  		 */

+ 11 - 11
target/linux/generic/backport-6.6/601-v6.10-net-Allow-to-use-SMP-threads-for-backlog-NAPI.patch

@@ -108,7 +108,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  static inline void rps_lock_irqsave(struct softnet_data *sd,
  				    unsigned long *flags)
  {
-@@ -4451,6 +4477,7 @@ EXPORT_SYMBOL(__dev_direct_xmit);
+@@ -4482,6 +4508,7 @@ EXPORT_SYMBOL(__dev_direct_xmit);
  /*************************************************************************
   *			Receiver routines
   *************************************************************************/
@@ -116,7 +116,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  
  int netdev_max_backlog __read_mostly = 1000;
  EXPORT_SYMBOL(netdev_max_backlog);
-@@ -4483,12 +4510,16 @@ static inline void ____napi_schedule(str
+@@ -4514,12 +4541,16 @@ static inline void ____napi_schedule(str
  		 */
  		thread = READ_ONCE(napi->thread);
  		if (thread) {
@@ -133,7 +133,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  	list_add_tail(&napi->poll_list, &sd->poll_list);
  	WRITE_ONCE(napi->list_owner, smp_processor_id());
  	/* If not called from net_rx_action()
-@@ -4734,6 +4765,11 @@ static void napi_schedule_rps(struct sof
+@@ -4765,6 +4796,11 @@ static void napi_schedule_rps(struct sof
  
  #ifdef CONFIG_RPS
  	if (sd != mysd) {
@@ -145,7 +145,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  		sd->rps_ipi_next = mysd->rps_ipi_list;
  		mysd->rps_ipi_list = sd;
  
-@@ -5957,7 +5993,7 @@ static void net_rps_action_and_irq_enabl
+@@ -5988,7 +6024,7 @@ static void net_rps_action_and_irq_enabl
  #ifdef CONFIG_RPS
  	struct softnet_data *remsd = sd->rps_ipi_list;
  
@@ -154,7 +154,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  		sd->rps_ipi_list = NULL;
  
  		local_irq_enable();
-@@ -5972,7 +6008,7 @@ static void net_rps_action_and_irq_enabl
+@@ -6003,7 +6039,7 @@ static void net_rps_action_and_irq_enabl
  static bool sd_has_rps_ipi_waiting(struct softnet_data *sd)
  {
  #ifdef CONFIG_RPS
@@ -163,7 +163,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  #else
  	return false;
  #endif
-@@ -6016,7 +6052,7 @@ static int process_backlog(struct napi_s
+@@ -6047,7 +6083,7 @@ static int process_backlog(struct napi_s
  			 * We can use a plain write instead of clear_bit(),
  			 * and we dont need an smp_mb() memory barrier.
  			 */
@@ -172,7 +172,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  			again = false;
  		} else {
  			skb_queue_splice_tail_init(&sd->input_pkt_queue,
-@@ -6682,43 +6718,48 @@ static void skb_defer_free_flush(struct
+@@ -6713,43 +6749,48 @@ static void skb_defer_free_flush(struct
  	}
  }
  
@@ -250,7 +250,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  	return 0;
  }
  
-@@ -11303,7 +11344,7 @@ static int dev_cpu_dead(unsigned int old
+@@ -11334,7 +11375,7 @@ static int dev_cpu_dead(unsigned int old
  
  		list_del_init(&napi->poll_list);
  		if (napi->poll == process_backlog)
@@ -259,7 +259,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  		else
  			____napi_schedule(sd, napi);
  	}
-@@ -11311,12 +11352,14 @@ static int dev_cpu_dead(unsigned int old
+@@ -11342,12 +11383,14 @@ static int dev_cpu_dead(unsigned int old
  	raise_softirq_irqoff(NET_TX_SOFTIRQ);
  	local_irq_enable();
  
@@ -278,7 +278,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  
  	/* Process offline CPU's input_pkt_queue */
  	while ((skb = __skb_dequeue(&oldsd->process_queue))) {
-@@ -11579,6 +11622,38 @@ static struct pernet_operations __net_in
+@@ -11610,6 +11653,38 @@ static struct pernet_operations __net_in
   *
   */
  
@@ -317,7 +317,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  /*
   *       This is called single threaded during boot, so no need
   *       to take the rtnl semaphore.
-@@ -11629,7 +11704,10 @@ static int __init net_dev_init(void)
+@@ -11660,7 +11735,10 @@ static int __init net_dev_init(void)
  		init_gro_hash(&sd->backlog);
  		sd->backlog.poll = process_backlog;
  		sd->backlog.weight = weight_p;

+ 2 - 2
target/linux/generic/backport-6.6/602-v6.10-net-Use-backlog-NAPI-to-clean-up-the-defer_list.patch

@@ -36,7 +36,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -3306,6 +3306,7 @@ static inline void dev_xmit_recursion_de
+@@ -3308,6 +3308,7 @@ static inline void dev_xmit_recursion_de
  	__this_cpu_dec(softnet_data.xmit.recursion);
  }
  
@@ -82,7 +82,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  		spin_unlock_irq(&sd->input_pkt_queue.lock);
  	else if (!IS_ENABLED(CONFIG_PREEMPT_RT))
  		local_irq_enable();
-@@ -4784,6 +4784,23 @@ static void napi_schedule_rps(struct sof
+@@ -4815,6 +4815,23 @@ static void napi_schedule_rps(struct sof
  	__napi_schedule_irqoff(&mysd->backlog);
  }
  

+ 9 - 9
target/linux/generic/backport-6.6/603-v6.10-net-Rename-rps_lock-to-backlog_lock.patch

@@ -67,7 +67,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  {
  	if (IS_ENABLED(CONFIG_RPS) || use_backlog_threads())
  		spin_unlock_irq(&sd->input_pkt_queue.lock);
-@@ -4789,12 +4789,12 @@ void kick_defer_list_purge(struct softne
+@@ -4820,12 +4820,12 @@ void kick_defer_list_purge(struct softne
  	unsigned long flags;
  
  	if (use_backlog_threads()) {
@@ -82,7 +82,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  
  	} else if (!cmpxchg(&sd->defer_ipi_scheduled, 0, 1)) {
  		smp_call_function_single_async(cpu, &sd->defer_csd);
-@@ -4856,7 +4856,7 @@ static int enqueue_to_backlog(struct sk_
+@@ -4887,7 +4887,7 @@ static int enqueue_to_backlog(struct sk_
  	reason = SKB_DROP_REASON_NOT_SPECIFIED;
  	sd = &per_cpu(softnet_data, cpu);
  
@@ -91,7 +91,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  	if (!netif_running(skb->dev))
  		goto drop;
  	qlen = skb_queue_len(&sd->input_pkt_queue);
-@@ -4865,7 +4865,7 @@ static int enqueue_to_backlog(struct sk_
+@@ -4896,7 +4896,7 @@ static int enqueue_to_backlog(struct sk_
  enqueue:
  			__skb_queue_tail(&sd->input_pkt_queue, skb);
  			input_queue_tail_incr_save(sd, qtail);
@@ -100,7 +100,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  			return NET_RX_SUCCESS;
  		}
  
-@@ -4880,7 +4880,7 @@ enqueue:
+@@ -4911,7 +4911,7 @@ enqueue:
  
  drop:
  	sd->dropped++;
@@ -109,7 +109,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  
  	dev_core_stats_rx_dropped_inc(skb->dev);
  	kfree_skb_reason(skb, reason);
-@@ -5911,7 +5911,7 @@ static void flush_backlog(struct work_st
+@@ -5942,7 +5942,7 @@ static void flush_backlog(struct work_st
  	local_bh_disable();
  	sd = this_cpu_ptr(&softnet_data);
  
@@ -118,7 +118,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  	skb_queue_walk_safe(&sd->input_pkt_queue, skb, tmp) {
  		if (skb->dev->reg_state == NETREG_UNREGISTERING) {
  			__skb_unlink(skb, &sd->input_pkt_queue);
-@@ -5919,7 +5919,7 @@ static void flush_backlog(struct work_st
+@@ -5950,7 +5950,7 @@ static void flush_backlog(struct work_st
  			input_queue_head_incr(sd);
  		}
  	}
@@ -127,7 +127,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  
  	skb_queue_walk_safe(&sd->process_queue, skb, tmp) {
  		if (skb->dev->reg_state == NETREG_UNREGISTERING) {
-@@ -5937,14 +5937,14 @@ static bool flush_required(int cpu)
+@@ -5968,14 +5968,14 @@ static bool flush_required(int cpu)
  	struct softnet_data *sd = &per_cpu(softnet_data, cpu);
  	bool do_flush;
  
@@ -144,7 +144,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  
  	return do_flush;
  #endif
-@@ -6059,7 +6059,7 @@ static int process_backlog(struct napi_s
+@@ -6090,7 +6090,7 @@ static int process_backlog(struct napi_s
  
  		}
  
@@ -153,7 +153,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  		if (skb_queue_empty(&sd->input_pkt_queue)) {
  			/*
  			 * Inline a custom version of __napi_complete().
-@@ -6075,7 +6075,7 @@ static int process_backlog(struct napi_s
+@@ -6106,7 +6106,7 @@ static int process_backlog(struct napi_s
  			skb_queue_splice_tail_init(&sd->input_pkt_queue,
  						   &sd->process_queue);
  		}

+ 3 - 3
target/linux/generic/backport-6.6/611-02-v6.11-net-Make-USO-depend-on-CSUM-offload.patch

@@ -20,7 +20,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -9765,6 +9765,15 @@ static void netdev_sync_lower_features(s
+@@ -9796,6 +9796,15 @@ static void netdev_sync_lower_features(s
  	}
  }
  
@@ -36,7 +36,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  static netdev_features_t netdev_fix_features(struct net_device *dev,
  	netdev_features_t features)
  {
-@@ -9846,15 +9855,9 @@ static netdev_features_t netdev_fix_feat
+@@ -9877,15 +9886,9 @@ static netdev_features_t netdev_fix_feat
  		features &= ~NETIF_F_LRO;
  	}
  
@@ -55,7 +55,7 @@ Signed-off-by: Jakub Kicinski <[email protected]>
  	}
  
  	if ((features & NETIF_F_HW_TLS_RX) && !(features & NETIF_F_RXCSUM)) {
-@@ -9862,6 +9865,11 @@ static netdev_features_t netdev_fix_feat
+@@ -9893,6 +9896,11 @@ static netdev_features_t netdev_fix_feat
  		features &= ~NETIF_F_HW_TLS_RX;
  	}
  

+ 1 - 1
target/linux/generic/backport-6.6/612-v6.9-net-get-stats64-if-device-if-driver-is-configured.patch

@@ -18,7 +18,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -10672,6 +10672,8 @@ struct rtnl_link_stats64 *dev_get_stats(
+@@ -10703,6 +10703,8 @@ struct rtnl_link_stats64 *dev_get_stats(
  		ops->ndo_get_stats64(dev, storage);
  	} else if (ops->ndo_get_stats) {
  		netdev_stats_to_stats64(storage, ops->ndo_get_stats(dev));

+ 4 - 4
target/linux/generic/backport-6.6/700-v6.10-net-create-a-dummy-net_device-allocator.patch

@@ -37,7 +37,7 @@ Signed-off-by: David S. Miller <[email protected]>
 
 --- a/include/linux/netdevice.h
 +++ b/include/linux/netdevice.h
-@@ -4567,6 +4567,9 @@ static inline void netif_addr_unlock_bh(
+@@ -4569,6 +4569,9 @@ static inline void netif_addr_unlock_bh(
  
  void ether_setup(struct net_device *dev);
  
@@ -49,7 +49,7 @@ Signed-off-by: David S. Miller <[email protected]>
  				    unsigned char name_assign_type,
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -10359,25 +10359,12 @@ err_free_name:
+@@ -10390,25 +10390,12 @@ err_free_name:
  }
  EXPORT_SYMBOL(register_netdevice);
  
@@ -79,7 +79,7 @@ Signed-off-by: David S. Miller <[email protected]>
  	/* make sure we BUG if trying to hit standard
  	 * register/unregister code path
  	 */
-@@ -10397,12 +10384,32 @@ int init_dummy_netdev(struct net_device
+@@ -10428,12 +10415,32 @@ int init_dummy_netdev(struct net_device
  	 * because users of this 'device' dont need to change
  	 * its refcount.
  	 */
@@ -113,7 +113,7 @@ Signed-off-by: David S. Miller <[email protected]>
  /**
   *	register_netdev	- register a network device
   *	@dev: device to register
-@@ -10996,6 +11003,19 @@ void free_netdev(struct net_device *dev)
+@@ -11027,6 +11034,19 @@ void free_netdev(struct net_device *dev)
  EXPORT_SYMBOL(free_netdev);
  
  /**

+ 1 - 1
target/linux/generic/backport-6.6/770-net-introduce-napi_is_scheduled-helper.patch

@@ -85,7 +85,7 @@ Signed-off-by: Paolo Abeni <[email protected]>
  /**
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -6612,7 +6612,7 @@ static int __napi_poll(struct napi_struc
+@@ -6643,7 +6643,7 @@ static int __napi_poll(struct napi_struc
  	 * accidentally calling ->poll() when NAPI is not scheduled.
  	 */
  	work = 0;

+ 3 - 3
target/linux/generic/backport-6.6/816-v6.7-0004-Revert-nvmem-add-new-config-option.patch

@@ -48,7 +48,7 @@ Signed-off-by: Greg Kroah-Hartman <[email protected]>
  	mtd->nvmem = nvmem_register(&config);
 --- a/drivers/nvmem/core.c
 +++ b/drivers/nvmem/core.c
-@@ -940,7 +940,7 @@ struct nvmem_device *nvmem_register(cons
+@@ -918,7 +918,7 @@ struct nvmem_device *nvmem_register(cons
  	nvmem->nkeepout = config->nkeepout;
  	if (config->of_node)
  		nvmem->dev.of_node = config->of_node;
@@ -59,7 +59,7 @@ Signed-off-by: Greg Kroah-Hartman <[email protected]>
  	switch (config->id) {
 --- a/include/linux/nvmem-provider.h
 +++ b/include/linux/nvmem-provider.h
-@@ -89,7 +89,6 @@ struct nvmem_cell_info {
+@@ -91,7 +91,6 @@ struct nvmem_cell_info {
   * @read_only:	Device is read-only.
   * @root_only:	Device is accessibly to root only.
   * @of_node:	If given, this will be used instead of the parent's of_node.
@@ -67,7 +67,7 @@ Signed-off-by: Greg Kroah-Hartman <[email protected]>
   * @reg_read:	Callback to read data.
   * @reg_write:	Callback to write data.
   * @size:	Device size.
-@@ -122,7 +121,6 @@ struct nvmem_config {
+@@ -126,7 +125,6 @@ struct nvmem_config {
  	bool			ignore_wp;
  	struct nvmem_layout	*layout;
  	struct device_node	*of_node;

+ 2 - 2
target/linux/generic/backport-6.6/819-v6.8-0001-nvmem-Move-of_nvmem_layout_get_container-in-another-.patch

@@ -25,7 +25,7 @@ Signed-off-by: Greg Kroah-Hartman <[email protected]>
 
 --- a/drivers/nvmem/core.c
 +++ b/drivers/nvmem/core.c
-@@ -846,14 +846,6 @@ static int nvmem_add_cells_from_layout(s
+@@ -823,14 +823,6 @@ static int nvmem_add_cells_from_layout(s
  }
  
  #if IS_ENABLED(CONFIG_OF)
@@ -65,7 +65,7 @@ Signed-off-by: Greg Kroah-Hartman <[email protected]>
  #endif  /* ifndef _LINUX_NVMEM_CONSUMER_H */
 --- a/include/linux/nvmem-provider.h
 +++ b/include/linux/nvmem-provider.h
-@@ -244,6 +244,27 @@ nvmem_layout_get_match_data(struct nvmem
+@@ -241,6 +241,27 @@ nvmem_layout_get_match_data(struct nvmem
  
  #endif /* CONFIG_NVMEM */
  

+ 0 - 91
target/linux/generic/backport-6.6/819-v6.8-0002-nvmem-Create-a-header-for-internal-sharing.patch

@@ -1,91 +0,0 @@
-From ec9c08a1cb8dc5e8e003f95f5f62de41dde235bb Mon Sep 17 00:00:00 2001
-From: Miquel Raynal <[email protected]>
-Date: Fri, 15 Dec 2023 11:15:29 +0000
-Subject: [PATCH] nvmem: Create a header for internal sharing
-
-Before adding all the NVMEM layout bus infrastructure to the core, let's
-move the main nvmem_device structure in an internal header, only
-available to the core. This way all the additional code can be added in
-a dedicated file in order to keep the current core file tidy.
-
-Signed-off-by: Miquel Raynal <[email protected]>
-Signed-off-by: Srinivas Kandagatla <[email protected]>
-Link: https://lore.kernel.org/r/[email protected]
-Signed-off-by: Greg Kroah-Hartman <[email protected]>
----
- drivers/nvmem/core.c      | 24 +-----------------------
- drivers/nvmem/internals.h | 35 +++++++++++++++++++++++++++++++++++
- 2 files changed, 36 insertions(+), 23 deletions(-)
- create mode 100644 drivers/nvmem/internals.h
-
---- a/drivers/nvmem/core.c
-+++ b/drivers/nvmem/core.c
-@@ -19,29 +19,7 @@
- #include <linux/of.h>
- #include <linux/slab.h>
- 
--struct nvmem_device {
--	struct module		*owner;
--	struct device		dev;
--	int			stride;
--	int			word_size;
--	int			id;
--	struct kref		refcnt;
--	size_t			size;
--	bool			read_only;
--	bool			root_only;
--	int			flags;
--	enum nvmem_type		type;
--	struct bin_attribute	eeprom;
--	struct device		*base_dev;
--	struct list_head	cells;
--	const struct nvmem_keepout *keepout;
--	unsigned int		nkeepout;
--	nvmem_reg_read_t	reg_read;
--	nvmem_reg_write_t	reg_write;
--	struct gpio_desc	*wp_gpio;
--	struct nvmem_layout	*layout;
--	void *priv;
--};
-+#include "internals.h"
- 
- #define to_nvmem_device(d) container_of(d, struct nvmem_device, dev)
- 
---- /dev/null
-+++ b/drivers/nvmem/internals.h
-@@ -0,0 +1,35 @@
-+/* SPDX-License-Identifier: GPL-2.0 */
-+
-+#ifndef _LINUX_NVMEM_INTERNALS_H
-+#define _LINUX_NVMEM_INTERNALS_H
-+
-+#include <linux/device.h>
-+#include <linux/nvmem-consumer.h>
-+#include <linux/nvmem-provider.h>
-+
-+struct nvmem_device {
-+	struct module		*owner;
-+	struct device		dev;
-+	struct list_head	node;
-+	int			stride;
-+	int			word_size;
-+	int			id;
-+	struct kref		refcnt;
-+	size_t			size;
-+	bool			read_only;
-+	bool			root_only;
-+	int			flags;
-+	enum nvmem_type		type;
-+	struct bin_attribute	eeprom;
-+	struct device		*base_dev;
-+	struct list_head	cells;
-+	const struct nvmem_keepout *keepout;
-+	unsigned int		nkeepout;
-+	nvmem_reg_read_t	reg_read;
-+	nvmem_reg_write_t	reg_write;
-+	struct gpio_desc	*wp_gpio;
-+	struct nvmem_layout	*layout;
-+	void *priv;
-+};
-+
-+#endif  /* ifndef _LINUX_NVMEM_INTERNALS_H */

+ 0 - 79
target/linux/generic/backport-6.6/819-v6.8-0003-nvmem-Simplify-the-add_cells-hook.patch

@@ -1,79 +0,0 @@
-From 1b7c298a4ecbc28cc6ee94005734bff55eb83d22 Mon Sep 17 00:00:00 2001
-From: Miquel Raynal <[email protected]>
-Date: Fri, 15 Dec 2023 11:15:30 +0000
-Subject: [PATCH] nvmem: Simplify the ->add_cells() hook
-
-The layout entry is not used and will anyway be made useless by the new
-layout bus infrastructure coming next, so drop it. While at it, clarify
-the kdoc entry.
-
-Signed-off-by: Miquel Raynal <[email protected]>
-Signed-off-by: Srinivas Kandagatla <[email protected]>
-Link: https://lore.kernel.org/r/[email protected]
-Signed-off-by: Greg Kroah-Hartman <[email protected]>
----
- drivers/nvmem/core.c             | 2 +-
- drivers/nvmem/layouts/onie-tlv.c | 3 +--
- drivers/nvmem/layouts/sl28vpd.c  | 3 +--
- include/linux/nvmem-provider.h   | 8 +++-----
- 4 files changed, 6 insertions(+), 10 deletions(-)
-
---- a/drivers/nvmem/core.c
-+++ b/drivers/nvmem/core.c
-@@ -815,7 +815,7 @@ static int nvmem_add_cells_from_layout(s
- 	int ret;
- 
- 	if (layout && layout->add_cells) {
--		ret = layout->add_cells(&nvmem->dev, nvmem, layout);
-+		ret = layout->add_cells(&nvmem->dev, nvmem);
- 		if (ret)
- 			return ret;
- 	}
---- a/drivers/nvmem/layouts/onie-tlv.c
-+++ b/drivers/nvmem/layouts/onie-tlv.c
-@@ -182,8 +182,7 @@ static bool onie_tlv_crc_is_valid(struct
- 	return true;
- }
- 
--static int onie_tlv_parse_table(struct device *dev, struct nvmem_device *nvmem,
--				struct nvmem_layout *layout)
-+static int onie_tlv_parse_table(struct device *dev, struct nvmem_device *nvmem)
- {
- 	struct onie_tlv_hdr hdr;
- 	size_t table_len, data_len, hdr_len;
---- a/drivers/nvmem/layouts/sl28vpd.c
-+++ b/drivers/nvmem/layouts/sl28vpd.c
-@@ -80,8 +80,7 @@ static int sl28vpd_v1_check_crc(struct d
- 	return 0;
- }
- 
--static int sl28vpd_add_cells(struct device *dev, struct nvmem_device *nvmem,
--			     struct nvmem_layout *layout)
-+static int sl28vpd_add_cells(struct device *dev, struct nvmem_device *nvmem)
- {
- 	const struct nvmem_cell_info *pinfo;
- 	struct nvmem_cell_info info = {0};
---- a/include/linux/nvmem-provider.h
-+++ b/include/linux/nvmem-provider.h
-@@ -156,9 +156,8 @@ struct nvmem_cell_table {
-  *
-  * @name:		Layout name.
-  * @of_match_table:	Open firmware match table.
-- * @add_cells:		Will be called if a nvmem device is found which
-- *			has this layout. The function will add layout
-- *			specific cells with nvmem_add_one_cell().
-+ * @add_cells:		Called to populate the layout using
-+ *			nvmem_add_one_cell().
-  * @fixup_cell_info:	Will be called before a cell is added. Can be
-  *			used to modify the nvmem_cell_info.
-  * @owner:		Pointer to struct module.
-@@ -172,8 +171,7 @@ struct nvmem_cell_table {
- struct nvmem_layout {
- 	const char *name;
- 	const struct of_device_id *of_match_table;
--	int (*add_cells)(struct device *dev, struct nvmem_device *nvmem,
--			 struct nvmem_layout *layout);
-+	int (*add_cells)(struct device *dev, struct nvmem_device *nvmem);
- 	void (*fixup_cell_info)(struct nvmem_device *nvmem,
- 				struct nvmem_layout *layout,
- 				struct nvmem_cell_info *cell);

+ 0 - 169
target/linux/generic/backport-6.6/819-v6.8-0004-nvmem-Move-and-rename-fixup_cell_info.patch

@@ -1,169 +0,0 @@
-From 1172460e716784ac7e1049a537bdca8edbf97360 Mon Sep 17 00:00:00 2001
-From: Miquel Raynal <[email protected]>
-Date: Fri, 15 Dec 2023 11:15:31 +0000
-Subject: [PATCH] nvmem: Move and rename ->fixup_cell_info()
-
-This hook is meant to be used by any provider and instantiating a layout
-just for this is useless. Let's instead move this hook to the nvmem
-device and add it to the config structure to be easily shared by the
-providers.
-
-While at moving this hook, rename it ->fixup_dt_cell_info() to clarify
-its main intended purpose.
-
-Signed-off-by: Miquel Raynal <[email protected]>
-Signed-off-by: Srinivas Kandagatla <[email protected]>
-Link: https://lore.kernel.org/r/[email protected]
-Signed-off-by: Greg Kroah-Hartman <[email protected]>
----
- drivers/nvmem/core.c           |  6 +++---
- drivers/nvmem/imx-ocotp.c      | 11 +++--------
- drivers/nvmem/internals.h      |  2 ++
- drivers/nvmem/mtk-efuse.c      | 11 +++--------
- include/linux/nvmem-provider.h |  9 ++++-----
- 5 files changed, 15 insertions(+), 24 deletions(-)
-
---- a/drivers/nvmem/core.c
-+++ b/drivers/nvmem/core.c
-@@ -674,7 +674,6 @@ static int nvmem_validate_keepouts(struc
- 
- static int nvmem_add_cells_from_dt(struct nvmem_device *nvmem, struct device_node *np)
- {
--	struct nvmem_layout *layout = nvmem->layout;
- 	struct device *dev = &nvmem->dev;
- 	struct device_node *child;
- 	const __be32 *addr;
-@@ -704,8 +703,8 @@ static int nvmem_add_cells_from_dt(struc
- 
- 		info.np = of_node_get(child);
- 
--		if (layout && layout->fixup_cell_info)
--			layout->fixup_cell_info(nvmem, layout, &info);
-+		if (nvmem->fixup_dt_cell_info)
-+			nvmem->fixup_dt_cell_info(nvmem, &info);
- 
- 		ret = nvmem_add_one_cell(nvmem, &info);
- 		kfree(info.name);
-@@ -894,6 +893,7 @@ struct nvmem_device *nvmem_register(cons
- 
- 	kref_init(&nvmem->refcnt);
- 	INIT_LIST_HEAD(&nvmem->cells);
-+	nvmem->fixup_dt_cell_info = config->fixup_dt_cell_info;
- 
- 	nvmem->owner = config->owner;
- 	if (!nvmem->owner && config->dev->driver)
---- a/drivers/nvmem/imx-ocotp.c
-+++ b/drivers/nvmem/imx-ocotp.c
-@@ -583,17 +583,12 @@ static const struct of_device_id imx_oco
- };
- MODULE_DEVICE_TABLE(of, imx_ocotp_dt_ids);
- 
--static void imx_ocotp_fixup_cell_info(struct nvmem_device *nvmem,
--				      struct nvmem_layout *layout,
--				      struct nvmem_cell_info *cell)
-+static void imx_ocotp_fixup_dt_cell_info(struct nvmem_device *nvmem,
-+					 struct nvmem_cell_info *cell)
- {
- 	cell->read_post_process = imx_ocotp_cell_pp;
- }
- 
--static struct nvmem_layout imx_ocotp_layout = {
--	.fixup_cell_info = imx_ocotp_fixup_cell_info,
--};
--
- static int imx_ocotp_probe(struct platform_device *pdev)
- {
- 	struct device *dev = &pdev->dev;
-@@ -619,7 +614,7 @@ static int imx_ocotp_probe(struct platfo
- 	imx_ocotp_nvmem_config.size = 4 * priv->params->nregs;
- 	imx_ocotp_nvmem_config.dev = dev;
- 	imx_ocotp_nvmem_config.priv = priv;
--	imx_ocotp_nvmem_config.layout = &imx_ocotp_layout;
-+	imx_ocotp_nvmem_config.fixup_dt_cell_info = &imx_ocotp_fixup_dt_cell_info;
- 
- 	priv->config = &imx_ocotp_nvmem_config;
- 
---- a/drivers/nvmem/internals.h
-+++ b/drivers/nvmem/internals.h
-@@ -23,6 +23,8 @@ struct nvmem_device {
- 	struct bin_attribute	eeprom;
- 	struct device		*base_dev;
- 	struct list_head	cells;
-+	void (*fixup_dt_cell_info)(struct nvmem_device *nvmem,
-+				   struct nvmem_cell_info *cell);
- 	const struct nvmem_keepout *keepout;
- 	unsigned int		nkeepout;
- 	nvmem_reg_read_t	reg_read;
---- a/drivers/nvmem/mtk-efuse.c
-+++ b/drivers/nvmem/mtk-efuse.c
-@@ -45,9 +45,8 @@ static int mtk_efuse_gpu_speedbin_pp(voi
- 	return 0;
- }
- 
--static void mtk_efuse_fixup_cell_info(struct nvmem_device *nvmem,
--				      struct nvmem_layout *layout,
--				      struct nvmem_cell_info *cell)
-+static void mtk_efuse_fixup_dt_cell_info(struct nvmem_device *nvmem,
-+					 struct nvmem_cell_info *cell)
- {
- 	size_t sz = strlen(cell->name);
- 
-@@ -61,10 +60,6 @@ static void mtk_efuse_fixup_cell_info(st
- 		cell->read_post_process = mtk_efuse_gpu_speedbin_pp;
- }
- 
--static struct nvmem_layout mtk_efuse_layout = {
--	.fixup_cell_info = mtk_efuse_fixup_cell_info,
--};
--
- static int mtk_efuse_probe(struct platform_device *pdev)
- {
- 	struct device *dev = &pdev->dev;
-@@ -91,7 +86,7 @@ static int mtk_efuse_probe(struct platfo
- 	econfig.priv = priv;
- 	econfig.dev = dev;
- 	if (pdata->uses_post_processing)
--		econfig.layout = &mtk_efuse_layout;
-+		econfig.fixup_dt_cell_info = &mtk_efuse_fixup_dt_cell_info;
- 	nvmem = devm_nvmem_register(dev, &econfig);
- 
- 	return PTR_ERR_OR_ZERO(nvmem);
---- a/include/linux/nvmem-provider.h
-+++ b/include/linux/nvmem-provider.h
-@@ -83,6 +83,8 @@ struct nvmem_cell_info {
-  * @cells:	Optional array of pre-defined NVMEM cells.
-  * @ncells:	Number of elements in cells.
-  * @add_legacy_fixed_of_cells:	Read fixed NVMEM cells from old OF syntax.
-+ * @fixup_dt_cell_info: Will be called before a cell is added. Can be
-+ *		used to modify the nvmem_cell_info.
-  * @keepout:	Optional array of keepout ranges (sorted ascending by start).
-  * @nkeepout:	Number of elements in the keepout array.
-  * @type:	Type of the nvmem storage
-@@ -113,6 +115,8 @@ struct nvmem_config {
- 	const struct nvmem_cell_info	*cells;
- 	int			ncells;
- 	bool			add_legacy_fixed_of_cells;
-+	void (*fixup_dt_cell_info)(struct nvmem_device *nvmem,
-+				   struct nvmem_cell_info *cell);
- 	const struct nvmem_keepout *keepout;
- 	unsigned int		nkeepout;
- 	enum nvmem_type		type;
-@@ -158,8 +162,6 @@ struct nvmem_cell_table {
-  * @of_match_table:	Open firmware match table.
-  * @add_cells:		Called to populate the layout using
-  *			nvmem_add_one_cell().
-- * @fixup_cell_info:	Will be called before a cell is added. Can be
-- *			used to modify the nvmem_cell_info.
-  * @owner:		Pointer to struct module.
-  * @node:		List node.
-  *
-@@ -172,9 +174,6 @@ struct nvmem_layout {
- 	const char *name;
- 	const struct of_device_id *of_match_table;
- 	int (*add_cells)(struct device *dev, struct nvmem_device *nvmem);
--	void (*fixup_cell_info)(struct nvmem_device *nvmem,
--				struct nvmem_layout *layout,
--				struct nvmem_cell_info *cell);
- 
- 	/* private */
- 	struct module *owner;

+ 1 - 1
target/linux/generic/backport-6.6/823-v6.12-0001-nvmem-imx-ocotp-ele-support-i.MX95.patch

@@ -40,7 +40,7 @@ Signed-off-by: Greg Kroah-Hartman <[email protected]>
  	}
  
  	memcpy(val, ((u8 *)p) + skipbytes, bytes);
-@@ -157,8 +161,30 @@ static const struct ocotp_devtype_data i
+@@ -179,8 +183,30 @@ static const struct ocotp_devtype_data i
  	},
  };
  

+ 1 - 1
target/linux/generic/backport-6.6/900-v6.11-net-free_netdev-exit-earlier-if-dummy.patch

@@ -23,7 +23,7 @@ Signed-off-by: David S. Miller <[email protected]>
 
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -10989,7 +10989,8 @@ void free_netdev(struct net_device *dev)
+@@ -11020,7 +11020,8 @@ void free_netdev(struct net_device *dev)
  	dev->xdp_bulkq = NULL;
  
  	/*  Compatibility with error handling in drivers */

+ 1 - 1
target/linux/generic/hack-6.6/721-net-add-packet-mangeling.patch

@@ -105,7 +105,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  	help
 --- a/net/core/dev.c
 +++ b/net/core/dev.c
-@@ -3597,6 +3597,11 @@ static int xmit_one(struct sk_buff *skb,
+@@ -3628,6 +3628,11 @@ static int xmit_one(struct sk_buff *skb,
  	if (dev_nit_active(dev))
  		dev_queue_xmit_nit(skb, dev);
  

+ 1 - 1
target/linux/generic/pending-6.6/680-net-add-TCP-fraglist-GRO-support.patch

@@ -31,7 +31,7 @@ Signe-off-by: Felix Fietkau <[email protected]>
  static inline void gro_normal_list(struct napi_struct *napi)
 --- a/include/net/tcp.h
 +++ b/include/net/tcp.h
-@@ -2084,7 +2084,10 @@ void tcp_v4_destroy_sock(struct sock *sk
+@@ -2101,7 +2101,10 @@ void tcp_v4_destroy_sock(struct sock *sk
  
  struct sk_buff *tcp_gso_segment(struct sk_buff *skb,
  				netdev_features_t features);

+ 1 - 1
target/linux/ipq40xx/patches-6.6/004-v6.7-firmware-qcom_scm-disable-SDI-if-required.patch

@@ -57,7 +57,7 @@ Signed-off-by: Bjorn Andersson <[email protected]>
  static int __qcom_scm_set_dload_mode(struct device *dev, bool enable)
  {
  	struct qcom_scm_desc desc = {
-@@ -1473,6 +1496,13 @@ static int qcom_scm_probe(struct platfor
+@@ -1474,6 +1497,13 @@ static int qcom_scm_probe(struct platfor
  
  	__get_convention();
  

+ 1 - 1
target/linux/ipq40xx/patches-6.6/910-Revert-firmware-qcom_scm-Clear-download-bit-during-r.patch

@@ -15,7 +15,7 @@ Signed-off-by: Robert Marko <[email protected]>
 
 --- a/drivers/firmware/qcom_scm.c
 +++ b/drivers/firmware/qcom_scm.c
-@@ -1528,7 +1528,8 @@ static int qcom_scm_probe(struct platfor
+@@ -1529,7 +1529,8 @@ static int qcom_scm_probe(struct platfor
  static void qcom_scm_shutdown(struct platform_device *pdev)
  {
  	/* Clean shutdown, disable download mode to allow normal restart */

+ 1 - 1
target/linux/ramips/patches-6.6/810-uvc-add-iPassion-iP2970-support.patch

@@ -234,7 +234,7 @@ Signed-off-by: John Crispin <[email protected]>
  
  /* Format flags */
  #define UVC_FMT_FLAG_COMPRESSED		0x00000001
-@@ -587,6 +589,7 @@ struct uvc_device {
+@@ -591,6 +593,7 @@ struct uvc_device {
  
  	struct input_dev *input;
  	char input_phys[64];