[packages/kernel] Up to 7.2.0; drop ATM patches (upstream started to drop ATM, too)

arekm arekm at pld-linux.org
Mon Aug 17 18:04:42 CEST 2026


commit 0f97beb8f741ca228c6db2aa2e9234d0097362d6
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Mon Aug 17 18:03:49 2026 +0200

    Up to 7.2.0; drop ATM patches (upstream started to drop ATM, too)

 android-enable-building-binder-as-module.patch |   6 +-
 kernel-atm-vbr.patch                           | 154 ----
 kernel-atmdd.patch                             | 949 -------------------------
 kernel-aufs.patch                              |   3 +-
 kernel-multiarch.config                        | 196 +++--
 kernel-patches.config                          |   5 -
 kernel.spec                                    |  17 +-
 7 files changed, 142 insertions(+), 1188 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index 7c50c59e..7d7ced6c 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -51,9 +51,9 @@
 %define		have_drm	0
 %endif
 
-%define		rel		1
-%define		basever		7.1
-%define		postver		.8
+%define		rel			1
+%define		basever		7.2
+%define		postver		.0
 
 # define this to '-%{basever}' for longterm branch
 %define		versuffix	%{nil}
@@ -104,7 +104,7 @@ Epoch:		3
 License:	GPL v2
 Group:		Base/Kernel
 Source0:	https://www.kernel.org/pub/linux/kernel/v7.x/linux-%{basever}.tar.xz
-# Source0-md5:	b6b169bbd9c9c19857ad16db2ddf8def
+# Source0-md5:	381ae4b20294dcf4b8f63f1fd1bb7017
 %if "%{postver}" != ".0"
 Patch0:		https://www.kernel.org/pub/linux/kernel/v7.x/patch-%{version}.xz
 # Patch0-md5:	b1ce8f709f38bb0844f2e15828710c5f
@@ -146,11 +146,6 @@ Patch10:	kernel-pom-ng-IPV4OPTSSTRIP.patch
 
 ### End netfilter
 
-# by Baggins request:
-# derived from ftp://ftp.cmf.nrl.navy.mil/pub/chas/linux-atm/vbr/vbr-kernel-diffs
-Patch55:	kernel-atm-vbr.patch
-Patch56:	kernel-atmdd.patch
-
 # http://synce.svn.sourceforge.net/svnroot/synce/trunk/patches/linux-2.6.22-rndis_host-wm5.patch
 Patch59:	kernel-rndis_host-wm5.patch
 
@@ -558,9 +553,6 @@ cd linux-%{basever}
 ##
 # end of netfilter
 
-%patch -P55 -p1
-%patch -P56 -p1
-
 # kernel-rndis_host-wm5.patch
 %patch -P59 -p1
 
@@ -613,6 +605,7 @@ find -name '*.py' -print0 | \
 	scripts/bloat-o-meter \
 	scripts/container \
 	scripts/diffconfig \
+	scripts/dtc/dt-check-style \
 	scripts/dtc/dt-extract-compatibles \
 	scripts/jobserver-exec \
 	scripts/kernel-doc \
diff --git a/android-enable-building-binder-as-module.patch b/android-enable-building-binder-as-module.patch
index d142c4dd..77fc36cf 100644
--- a/android-enable-building-binder-as-module.patch
+++ b/android-enable-building-binder-as-module.patch
@@ -141,9 +141,9 @@
   * zap_special_vma_range - zap all page table entries in a special vma range
 --- linux-6.14/mm/list_lru.c.orig	2025-03-24 15:02:41.000000000 +0100
 +++ linux-6.14/mm/list_lru.c	2025-04-04 15:00:26.574714908 +0200
-@@ -212,6 +213,7 @@
- 	unlock_list_lru(l, false);
- 	return false;
+@@ -273,6 +273,7 @@
+ 	list_lru_unlock(l);
+ 	return ret;
  }
 +EXPORT_SYMBOL_GPL(list_lru_del);
  
diff --git a/kernel-atm-vbr.patch b/kernel-atm-vbr.patch
deleted file mode 100644
index a9e921ff..00000000
--- a/kernel-atm-vbr.patch
+++ /dev/null
@@ -1,154 +0,0 @@
-diff -urN linux-5.9/net.org/atm/common.c linux-5.9/net/atm/common.c
---- linux-5.9/net.org/atm/common.c	2020-10-11 23:15:50.000000000 +0200
-+++ linux-5.9/net/atm/common.c	2020-11-03 13:27:25.545142305 +0100
-@@ -756,6 +756,43 @@
- 
- 	vcc = ATM_SD(sock);
- 	switch (optname) {
-+		case SO_ATMQOS_COMPAT:
-+			{
-+				struct atm_qos_compat qos_compat;
-+				struct atm_qos qos;
-+
-+				if (copy_from_sockptr(&qos_compat,optval,sizeof(qos_compat)))
-+					return -EFAULT;
-+
-+				/* convert old atm_qos to new atm_qos */
-+				qos.aal = qos_compat.aal;
-+				qos.rxtp.traffic_class = qos_compat.rxtp.traffic_class;
-+				qos.rxtp.max_pcr = qos_compat.rxtp.max_pcr;
-+				qos.rxtp.pcr = qos_compat.rxtp.pcr;
-+				qos.rxtp.min_pcr = qos_compat.rxtp.min_pcr;
-+				qos.rxtp.max_cdv = qos_compat.rxtp.max_cdv;
-+				qos.rxtp.max_sdu = qos_compat.rxtp.max_sdu;
-+				qos.rxtp.scr = 0;
-+				qos.rxtp.mbs = 0;
-+				qos.txtp.traffic_class = qos_compat.txtp.traffic_class;
-+				qos.txtp.max_pcr = qos_compat.txtp.max_pcr;
-+				qos.txtp.pcr = qos_compat.txtp.pcr;
-+				qos.txtp.min_pcr = qos_compat.txtp.min_pcr;
-+				qos.txtp.max_cdv = qos_compat.txtp.max_cdv;
-+				qos.txtp.max_sdu = qos_compat.txtp.max_sdu;
-+				qos.txtp.scr = 0;
-+				qos.txtp.mbs = 0;
-+
-+				error = check_qos(&qos);
-+				if (error) return error;
-+				if (sock->state == SS_CONNECTED)
-+					return atm_change_qos(vcc,&qos);
-+				if (sock->state != SS_UNCONNECTED)
-+					return -EBADFD;
-+				vcc->qos = qos;
-+				set_bit(ATM_VF_HASQOS,&vcc->flags);
-+				return 0;
-+			}
- 	case SO_ATMQOS:
- 	{
- 		struct atm_qos qos;
-@@ -799,6 +836,31 @@
- 
- 	vcc = ATM_SD(sock);
- 	switch (optname) {
-+		case SO_ATMQOS_COMPAT:
-+			{
-+				struct atm_qos_compat qos_compat;
-+
-+				if (!test_bit(ATM_VF_HASQOS,&vcc->flags))
-+					return -EINVAL;
-+
-+				/* convert new atm_qos to old atm_qos */
-+				qos_compat.aal = vcc->qos.aal;
-+				qos_compat.rxtp.traffic_class = vcc->qos.rxtp.traffic_class;
-+				qos_compat.rxtp.max_pcr = vcc->qos.rxtp.max_pcr;
-+				qos_compat.rxtp.pcr = vcc->qos.rxtp.pcr;
-+				qos_compat.rxtp.min_pcr = vcc->qos.rxtp.min_pcr;
-+				qos_compat.rxtp.max_cdv = vcc->qos.rxtp.max_cdv;
-+				qos_compat.rxtp.max_sdu = vcc->qos.rxtp.max_sdu;
-+				qos_compat.txtp.traffic_class = vcc->qos.txtp.traffic_class;
-+				qos_compat.txtp.max_pcr = vcc->qos.txtp.max_pcr;
-+				qos_compat.txtp.pcr = vcc->qos.txtp.pcr;
-+				qos_compat.txtp.min_pcr = vcc->qos.txtp.min_pcr;
-+				qos_compat.txtp.max_cdv = vcc->qos.txtp.max_cdv;
-+				qos_compat.txtp.max_sdu = vcc->qos.txtp.max_sdu;
-+
-+				return copy_to_user(optval,&qos_compat,sizeof(qos_compat)) ?
-+				    -EFAULT : 0;
-+			}
- 	case SO_ATMQOS:
- 		if (!test_bit(ATM_VF_HASQOS, &vcc->flags))
- 			return -EINVAL;
-diff -urN linux-5.9/include.org/uapi/linux/atm.h linux-5.9/include/uapi/linux/atm.h
---- linux-5.9/include.org/uapi/linux/atm.h	2020-10-11 23:15:50.000000000 +0200
-+++ linux-5.9/include/uapi/linux/atm.h	2020-11-03 13:27:25.545142305 +0100
-@@ -71,7 +71,7 @@
- 			    /* connection identifier range; socket must be
- 			       bound or connected */
- #define SO_ATMQOS	__SO_ENCODE(SOL_ATM,2,struct atm_qos)
--			    /* Quality of Service setting */
-+			    /* Quality of Service setting (with vbr support) */
- #define SO_ATMSAP	__SO_ENCODE(SOL_ATM,3,struct atm_sap)
- 			    /* Service Access Point */
- #define SO_ATMPVC	__SO_ENCODE(SOL_ATM,4,struct sockaddr_atmpvc)
-@@ -127,9 +127,11 @@
- #define ATM_NONE	0		/* no traffic */
- #define ATM_UBR		1
- #define ATM_CBR		2
--#define ATM_VBR		3
-+#define ATM_VBR_NRT	3
-+#define ATM_VBR		ATM_VBR_NRT	/* for backward compatibility */
- #define ATM_ABR		4
- #define ATM_ANYCLASS	5		/* compatible with everything */
-+#define ATM_VBR_RT	6
- 
- #define ATM_MAX_PCR	-1		/* maximum available PCR */
- 
-@@ -140,6 +142,11 @@
- 	int		min_pcr;	/* minimum PCR in cells per second */
- 	int		max_cdv;	/* maximum CDV in microseconds */
- 	int		max_sdu;	/* maximum SDU in bytes */
-+
-+	/* extra params for VBR */
-+	int		scr;		/* sustained rate in cells per second */
-+	int		mbs;		/* maximum burst size (MBS) in cells */
-+
-         /* extra params for ABR */
-         unsigned int 	icr;         	/* Initial Cell Rate (24-bit) */
-         unsigned int	tbe;		/* Transient Buffer Exposure (24-bit) */ 
-@@ -239,4 +246,37 @@
- 
- 
- typedef unsigned short atm_backend_t;
-+struct atm_trafprm_compat {
-+	unsigned char	traffic_class;	/* traffic class (ATM_UBR, ...) */
-+	int		max_pcr;	/* maximum PCR in cells per second */
-+	int		pcr;		/* desired PCR in cells per second */
-+	int		min_pcr;	/* minimum PCR in cells per second */
-+	int		max_cdv;	/* maximum CDV in microseconds */
-+	int		max_sdu;	/* maximum SDU in bytes */
-+        /* extra params for ABR */
-+        unsigned int 	icr;         	/* Initial Cell Rate (24-bit) */
-+        unsigned int	tbe;		/* Transient Buffer Exposure (24-bit) */ 
-+        unsigned int 	frtt : 24;	/* Fixed Round Trip Time (24-bit) */
-+        unsigned int 	rif  : 4;       /* Rate Increment Factor (4-bit) */
-+        unsigned int 	rdf  : 4;       /* Rate Decrease Factor (4-bit) */
-+        unsigned int nrm_pres  :1;      /* nrm present bit */
-+        unsigned int trm_pres  :1;     	/* rm present bit */
-+        unsigned int adtf_pres :1;     	/* adtf present bit */
-+        unsigned int cdf_pres  :1;    	/* cdf present bit*/
-+        unsigned int nrm       :3;     	/* Max # of Cells for each forward RM cell (3-bit) */
-+        unsigned int trm       :3;    	/* Time between forward RM cells (3-bit) */    
-+	unsigned int adtf      :10;     /* ACR Decrease Time Factor (10-bit) */
-+	unsigned int cdf       :3;      /* Cutoff Decrease Factor (3-bit) */
-+        unsigned int spare     :9;      /* spare bits */ 
-+};
-+
-+struct atm_qos_compat {
-+	struct atm_trafprm_compat txtp;	/* parameters in TX direction */
-+	struct atm_trafprm_compat rxtp __ATM_API_ALIGN;
-+					/* parameters in RX direction */
-+	unsigned char aal __ATM_API_ALIGN;
-+};
-+
-+#define SO_ATMQOS_COMPAT __SO_ENCODE(SOL_ATM,2,struct atm_qos_compat)
-+			    /* Quality of Service setting (no vbr support) */
- #endif /* _UAPI_LINUX_ATM_H */
diff --git a/kernel-atmdd.patch b/kernel-atmdd.patch
deleted file mode 100644
index 562c6c2a..00000000
--- a/kernel-atmdd.patch
+++ /dev/null
@@ -1,949 +0,0 @@
-diff -urN linux-5.9/drivers.org/atm/atmdd.c linux-5.9/drivers/atm/atmdd.c
---- linux-5.9/drivers.org/atm/atmdd.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux-5.9/drivers/atm/atmdd.c	2020-11-03 13:31:48.120071319 +0100
-@@ -0,0 +1,920 @@
-+/*
-+#######################################################################
-+#
-+# (C) Copyright 2001
-+# Alex Zeffertt, Cambridge Broadband Ltd, ajz at cambridgebroadband.com
-+#
-+# This program is free software; you can redistribute it and/or
-+# modify it under the terms of the GNU General Public License as
-+# published by the Free Software Foundation; either version 2 of
-+# the License, or (at your option) any later version.
-+#
-+# This program is distributed in the hope that it will be useful,
-+# but WITHOUT ANY WARRANTY; without even the implied warranty of
-+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-+# GNU General Public License for more details.
-+#
-+# You should have received a copy of the GNU General Public License
-+# along with this program; if not, write to the Free Software
-+# Foundation, Inc., 59 Temple Place, Suite 330, Boston,
-+# MA 02111-1307 USA
-+#######################################################################
-+# Notes:
-+# 
-+# This is an example atm driver.  It does not require any actual ATM
-+# hardware.  It supports AAL5 and AAL0.  frames are merely looped back
-+# to the sender on the same VC they were sent.
-+# 
-+#######################################################################
-+*/
-+
-+/*############ Includes ###############################################*/
-+
-+#include <linux/module.h>
-+#include <linux/kernel.h>
-+#include <linux/errno.h>
-+#include <linux/atm.h>
-+#include <linux/atmdev.h>
-+#include <linux/skbuff.h>
-+#include <linux/init.h>
-+#include <linux/netdevice.h>
-+#include <linux/sched.h> /* for xtime */
-+
-+/*############ Defines ################################################*/
-+
-+#define MYATMDD "atmdd"
-+#define KLOG_PREAMBLE MYATMDD ": "
-+#define MYATMDD_VPI_BITS 1     /* Allow ?.1.? but not ?.2.? */
-+#define MYATMDD_VCI_BITS 11    /* Allow ?.?.2047 but not ?.?.2048 */
-+#define MYATMDD_PCR 100000
-+#define RXQ_SZ 16
-+#define TXQ_SZ 16
-+#define AAL5_MTU (1510+8) /* Default AAL5 Maximum Transmission Unit (and length of AAL5 buffers) */
-+#define AAL5_BUFLEN (((AAL5_MTU + 47)/48)*48) /* Round up to n*48 bytes */
-+#if 0
-+# define DEBUG(format,args...) printk(format,##args)
-+#else
-+# define DEBUG(format,args...)
-+#endif
-+/*############ Types ##################################################*/
-+
-+/* status flags shared between s/w and emulated h/w */
-+typedef enum {
-+    RX_EMPTY, /* No sk_buff present */
-+    RX_FULL,  /* sk_buff present and awaiting data */
-+    RX_RECVD, /* sk_buff present and contains valid data */
-+} myatmdd_rxstatus_e;
-+
-+/* status flags shared between s/w and emulated h/w */
-+typedef enum {
-+    TX_EMPTY, /* No sk_buff present */
-+    TX_FULL,  /* sk_buff present and awaiting transmission */
-+    TX_SENT,  /* sk_buff present and has been sent */
-+} myatmdd_txstatus_e;
-+
-+typedef struct {
-+    struct sk_buff **start;
-+    struct sk_buff **end;
-+    struct sk_buff **head;
-+    struct sk_buff **tail;
-+
-+    /* everything below this line emulates h/w */
-+    myatmdd_rxstatus_e *status;
-+    struct sk_buff **hw_ptr;
-+    int *pkt_len;
-+
-+} myatmdd_rxq_t;
-+
-+typedef struct {
-+    struct sk_buff **start;
-+    struct sk_buff **end;
-+    struct sk_buff **head;
-+    struct sk_buff **tail;
-+
-+    /* everything below this line emulates h/w */
-+    myatmdd_txstatus_e *status;
-+    struct sk_buff **hw_ptr;
-+    int *pkt_len;
-+
-+} myatmdd_txq_t;
-+
-+typedef struct {
-+} myatmdd_devdata_t;
-+
-+typedef struct {
-+    myatmdd_rxq_t rxqueue;
-+    myatmdd_txq_t txqueue;
-+} myatmdd_vccdata_t;
-+
-+/*############ Module paramters #######################################*/
-+
-+MODULE_AUTHOR("Alex Zeffertt, ajz at cambridgebroadband.com");
-+MODULE_DESCRIPTION("Example ATM device driver (loopback)");
-+#ifdef MODULE_LICENSE
-+MODULE_LICENSE("GPL");
-+#endif
-+/*#################### Forward declarations ###########################*/
-+
-+static void myatmdd_emulate_loopback_hardware(struct atm_vcc *vcc);
-+
-+static void myatmdd_free_tx_skb(struct sk_buff *skb);
-+
-+/* these functions will need modifying in a real ATM driver */
-+static void myatmdd_rx_interrupt(struct atm_vcc *vcc);
-+static void myatmdd_tx_interrupt(struct atm_vcc *vcc);
-+
-+/* functions for manipulating circular bufs */
-+static int myatmdd_init_rxq(myatmdd_rxq_t *queue, int size);
-+static int myatmdd_init_txq(myatmdd_txq_t *queue, int size);
-+static int myatmdd_release_rxq(myatmdd_rxq_t *queue);
-+static int myatmdd_release_txq(myatmdd_txq_t *queue);
-+static int myatmdd_txq_enqueue(myatmdd_txq_t *queue, struct sk_buff *skb);
-+static int myatmdd_rxq_enqueue(myatmdd_rxq_t *queue, struct sk_buff *skb /* empty buffer */);
-+static struct sk_buff *myatmdd_txq_dequeue(myatmdd_txq_t *queue);
-+static struct sk_buff *myatmdd_rxq_dequeue(myatmdd_rxq_t *queue, int *pkt_len);
-+
-+/* myatmdd_ops registered by ATM device */
-+static int myatmdd_open(struct atm_vcc *vcc);
-+static void myatmdd_close(struct atm_vcc *vcc);
-+static int myatmdd_ioctl(struct atm_dev *dev, unsigned int cmd,void *arg);
-+
-+
-+static int myatmdd_send(struct atm_vcc *vcc,struct sk_buff *skb);
-+static int myatmdd_change_qos(struct atm_vcc *vcc,struct atm_qos *qos,int flgs);
-+static int myatmdd_proc_read(struct atm_dev *dev,loff_t *pos,char *page);
-+
-+/* myatmdd_phy_ops registered by phy driver */
-+static void myatmdd_phy_int(struct atm_dev *dev);
-+static int myatmdd_phy_start(struct atm_dev *dev); /* <-- This is the only thing exported by PHY driver */
-+static int myatmdd_phy_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg);
-+
-+/*#################### Global scope variables #########################*/
-+
-+/* operations registered by the atm device */
-+static const struct atmdev_ops myatmdd_ops =
-+{
-+	open:        myatmdd_open,
-+	close:       myatmdd_close,
-+	ioctl:       myatmdd_ioctl,
-+
-+
-+	send:        myatmdd_send,
-+	change_qos:  myatmdd_change_qos,
-+	proc_read:   myatmdd_proc_read,
-+    owner:       THIS_MODULE,
-+};
-+
-+/* operations registered by the phy driver */
-+static const struct atmphy_ops myatmdd_phy_ops = {
-+	start:      myatmdd_phy_start,
-+	ioctl:      myatmdd_phy_ioctl,
-+	interrupt:  myatmdd_phy_int,
-+};
-+
-+struct atm_dev *myatmdd_dev;
-+
-+/*#################### Function definitions ###########################*/
-+
-+
-+/*
-+#########################################################
-+#
-+#  Function : myatmdd_rx_interrupt, and myatmdd_tx_interrupt
-+#             
-+#  Purpose  : handle interrupt from hardware.  In first 
-+#             case this means extract recvd buffers and pass
-+#             it up protocol stack.  In 2nd case this means
-+#             free the sent buffers.
-+#             
-+#  Args     : pointer to private data of the VCC concerned
-+#             
-+#  Returns  : nowt
-+#             
-+#  Notes    : 
-+#             
-+##########################################################
-+#  Edit history:
-+#  Who     When    What
-+#  AJZ     10Apr03 Created
-+##########################################################
-+*/
-+
-+static void myatmdd_rx_interrupt(struct atm_vcc *vcc)
-+{
-+    struct sk_buff *skb;
-+    myatmdd_vccdata_t *priv = vcc->dev_data;
-+    int pkt_len;
-+
-+    DEBUG("%s\n", __FUNCTION__);
-+
-+    while ((skb = myatmdd_rxq_dequeue(&priv->rxqueue, &pkt_len)))
-+    {
-+        struct sk_buff *newskb;
-+
-+        /* Get a new skb to replace the one just consumed */
-+        if (!(newskb = dev_alloc_skb(AAL5_BUFLEN)))
-+        {
-+            atomic_inc(&vcc->stats->rx_err);
-+            printk(KERN_ERR KLOG_PREAMBLE "cannot receive packet - out of memory\n");
-+            /* put skb back in rx queue) */
-+            myatmdd_rxq_enqueue(&priv->rxqueue, skb);
-+            return;
-+        }
-+        myatmdd_rxq_enqueue(&priv->rxqueue, newskb);
-+
-+        if (!atm_charge (vcc, skb->truesize))
-+        {
-+            /* Exceeded memory quota for this vcc
-+             * NOTE: if atm_charge succeeds you must then push or accounting will screw up
-+             */
-+            dev_kfree_skb(skb);
-+            /* &vcc->stats->drop stats incremented in atm_charge */
-+        }
-+        else
-+        {
-+            /* sk_buff passed all sanity checks! */
-+            
-+            /* Add received length to socket buffer */
-+            skb_put(skb, pkt_len);
-+        
-+            /* update device stats */
-+            atomic_inc(&vcc->stats->rx);
-+
-+            /* add timestamp for upper layers to use */
-+            ktime_t kt = ktime_get_real();
-+            skb->tstamp = kt;
-+        
-+            /* Point socket buffer at the right VCC before giving to socket layer */
-+            ATM_SKB(skb)->vcc = vcc;
-+        
-+            /* push socket buffer up to ATM layer */
-+            vcc->push(vcc, skb);
-+        }
-+    }
-+}
-+
-+static void myatmdd_tx_interrupt(struct atm_vcc *vcc)
-+{
-+    struct sk_buff *skb;
-+    myatmdd_vccdata_t *priv = vcc->dev_data;
-+
-+    DEBUG("%s\n", __FUNCTION__);
-+
-+    while ((skb = myatmdd_txq_dequeue(&priv->txqueue)))
-+    {
-+        // Update channel stats and free the memory
-+        atomic_inc(&vcc->stats->tx);
-+        myatmdd_free_tx_skb(skb);
-+    }
-+}
-+
-+/*
-+#########################################################
-+#
-+#  Function : myatmdd_emulate_loopback_hardware
-+#             
-+#  Purpose  : emulate things normally done by hardware
-+#             i.e. copying tx bufs to rx bufs (we're modelling
-+#             a loopback system here), calling the tx done
-+#             interrupt, and calling the rx done interrupt.
-+#
-+#  Args     : priv = data private to VCC
-+#             
-+#  Returns  : nowt
-+#             
-+#  Notes    : 
-+#             
-+##########################################################
-+#  Edit history:
-+#  Who     When    What
-+#  AJZ     10Apr03 Created
-+##########################################################
-+*/
-+static void myatmdd_emulate_loopback_hardware(struct atm_vcc *vcc)
-+{
-+    myatmdd_vccdata_t *priv = vcc->dev_data;
-+    struct sk_buff **ptxskb;
-+    struct sk_buff **prxskb;
-+
-+    DEBUG("%s\n", __FUNCTION__);
-+
-+    ptxskb = priv->txqueue.hw_ptr;
-+    prxskb = priv->rxqueue.hw_ptr;
-+
-+    /* Send each tx buff waiting to go */
-+    while (priv->txqueue.status[ptxskb - priv->txqueue.start] == TX_FULL)
-+    {
-+        struct sk_buff *txskb = *ptxskb;
-+        struct sk_buff *rxskb = *prxskb;
-+        int pkt_len = priv->txqueue.pkt_len[ptxskb - priv->txqueue.start];
-+        
-+        /* Is there an rx buffer? */
-+        if (priv->rxqueue.status[prxskb - priv->rxqueue.start] == RX_FULL)
-+        {
-+            /* Yes - Is the length in range? */
-+            if (pkt_len <= AAL5_BUFLEN)
-+            {
-+                /* Yes - do the copy */
-+                memcpy(rxskb->data, txskb->data,pkt_len);
-+                priv->rxqueue.pkt_len[prxskb - priv->rxqueue.start] = pkt_len;
-+                
-+                /* Indicate rx buffer recvd */
-+                priv->rxqueue.status[prxskb - priv->rxqueue.start] = RX_RECVD;
-+                
-+                /* increment and maybe wrap rx pointer */
-+                if (++prxskb == priv->rxqueue.end)
-+                    prxskb = priv->rxqueue.start;
-+                priv->rxqueue.hw_ptr = prxskb;
-+            }
-+            else
-+            {
-+                /* No - then h/w cannot do a recv */
-+                printk(KERN_ERR KLOG_PREAMBLE "recvd frame too long - discarded\n");
-+            }
-+        }
-+        else
-+        {
-+            /* No - then h/w cannot do a recv */
-+            printk(KERN_ERR KLOG_PREAMBLE "no rx buffers available\n");
-+        }
-+        
-+        /* Indicate tx buffer sent */
-+        priv->txqueue.status[ptxskb - priv->txqueue.start] = TX_SENT;
-+
-+        /* increment and maybe wrap tx pointer */
-+        if (++ptxskb == priv->txqueue.end)
-+            ptxskb = priv->txqueue.start;
-+        priv->txqueue.hw_ptr = ptxskb;
-+        
-+        /* Call tx ring interrupt handler */
-+        myatmdd_tx_interrupt(vcc);
-+           
-+        /* Call tx ring interrupt handler */
-+        myatmdd_rx_interrupt(vcc);
-+    }
-+}
-+
-+/*
-+#########################################################
-+#
-+#  Function : functions for manipulating circular buffs
-+#             
-+#  Purpose  : 
-+#             
-+#  Args     : 
-+#             
-+#  Returns  : 
-+#             
-+#  Notes    : 
-+#             
-+##########################################################
-+#  Edit history:
-+#  Who     When    What
-+#  AJZ     10Apr03 Created
-+##########################################################
-+*/
-+
-+static int myatmdd_init_rxq(myatmdd_rxq_t *queue, int size)
-+{
-+    /* TODO - cope with kmalloc failure */
-+    struct sk_buff **pskb;
-+    int i;
-+
-+    DEBUG("%s\n", __FUNCTION__);
-+    queue->hw_ptr = queue->head = queue->tail = 
-+        queue->start = kmalloc(size * sizeof(struct sk_buff *), GFP_KERNEL);
-+    queue->end = &queue->start[size];
-+    for (pskb = queue->start; pskb < queue->end; pskb++)
-+        *pskb = NULL;
-+
-+    queue->status = kmalloc(size * sizeof(myatmdd_rxstatus_e),GFP_KERNEL);
-+    for (i = 0; i < size; i++)
-+        queue->status[i] = RX_EMPTY;
-+
-+    queue->pkt_len = kmalloc(size * sizeof(int),GFP_KERNEL);
-+    for (i = 0; i < size; i++)
-+        queue->pkt_len[i] = 0;
-+
-+    return 0;
-+}
-+
-+static int myatmdd_init_txq(myatmdd_txq_t *queue, int size)
-+{
-+    /* TODO - cope with kmalloc failure */
-+    struct sk_buff **pskb;
-+    int i;
-+
-+    DEBUG("%s\n", __FUNCTION__);
-+    queue->hw_ptr = queue->head = queue->tail = 
-+        queue->start = kmalloc(size * sizeof(struct sk_buff *), GFP_KERNEL);
-+    queue->end = &queue->start[size];
-+    for (pskb = queue->start; pskb < queue->end; pskb++)
-+        *pskb = NULL;
-+
-+    queue->status = kmalloc(size * sizeof(myatmdd_rxstatus_e),GFP_KERNEL);
-+    for (i = 0; i < size; i++)
-+        queue->status[i] = TX_EMPTY;
-+
-+    queue->pkt_len = kmalloc(size * sizeof(int),GFP_KERNEL);
-+    for (i = 0; i < size; i++)
-+        queue->pkt_len[i] = 0;
-+
-+    return 0;
-+}
-+
-+static int myatmdd_release_rxq(myatmdd_rxq_t *queue)
-+{
-+    struct sk_buff **pskb;
-+
-+    DEBUG("%s\n", __FUNCTION__);
-+    for (pskb = queue->start; pskb < queue->end; pskb++)
-+    {
-+        /* Is there an skb here */
-+        if (*pskb == NULL)
-+            continue;   /* No, so skip this entry in ring */
-+
-+        /* Yes - free it */
-+        dev_kfree_skb(*pskb);
-+    }
-+    kfree(queue->start);
-+    kfree(queue->status);
-+    kfree(queue->pkt_len);
-+
-+    return 0;
-+}
-+
-+static int myatmdd_release_txq(myatmdd_txq_t *queue)
-+{
-+    struct sk_buff **pskb;
-+
-+    DEBUG("%s\n", __FUNCTION__);
-+    /* Scan through all TX bd's and cleanup */
-+    for (pskb = queue->start; pskb < queue->end; pskb++)
-+    {  
-+        /* Is this buffer currently unused - i.e. no skb */
-+        if (*pskb == NULL)
-+            continue;             /* Yes, so ignore it */
-+
-+        /* If we reach here, we have found a socket buffer that
-+         * exists in the TX ring and is waiting to be released.
-+         */
-+        printk(KERN_WARNING KLOG_PREAMBLE "discarding unsent tx sk_buff\n");
-+        atomic_inc(&ATM_SKB(*pskb)->vcc->stats->tx_err);
-+        myatmdd_free_tx_skb(*pskb);
-+    }
-+    kfree(queue->start);
-+    kfree(queue->status);
-+    kfree(queue->pkt_len);
-+
-+    return 0;
-+}
-+
-+/* returns non-zero for "out of space" */
-+static int myatmdd_txq_enqueue(myatmdd_txq_t *queue, struct sk_buff *skb)
-+{
-+    /* increment head and wrap */
-+    struct sk_buff **newhead = queue->head + 1;
-+    if (newhead == queue->end)
-+        newhead = queue->start;
-+
-+    DEBUG("%s\n", __FUNCTION__);
-+
-+    /* abort if tx ring full */
-+    if (newhead == queue->tail)
-+        return -1;
-+    
-+    /* all is okay if we're here */
-+    *queue->head = skb;
-+    /* Tell hardware there's a buffer to send */
-+    queue->status[queue->head - queue->start] = TX_FULL;
-+    queue->pkt_len[queue->head - queue->start] = skb->len;
-+    queue->head = newhead;
-+    return 0;
-+}
-+
-+/* returns non-zero for "out of space" */
-+static int myatmdd_rxq_enqueue(myatmdd_rxq_t *queue, struct sk_buff *skb /* empty buffer */)
-+{
-+    /* increment head and wrap */
-+    struct sk_buff **newhead = queue->head + 1;
-+    if (newhead == queue->end)
-+        newhead = queue->start;
-+
-+    DEBUG("%s\n", __FUNCTION__);
-+
-+    /* abort if rx ring full */
-+    if (newhead == queue->tail)
-+        return -1;
-+    
-+    /* all is okay if we're here */
-+    *queue->head = skb;
-+    /* Tell hardware there's a buffer to send */
-+    queue->status[queue->head - queue->start] = RX_FULL;
-+    queue->head = newhead;
-+    return 0;
-+}
-+
-+static struct sk_buff *myatmdd_txq_dequeue(myatmdd_txq_t *queue)
-+{
-+    DEBUG("%s\n", __FUNCTION__);
-+    if (queue->tail != queue->head && queue->status[queue->tail - queue->start] == TX_SENT)
-+    {
-+        struct sk_buff *skb = *queue->tail;
-+
-+        /* increment tail and wrap */
-+        struct sk_buff **newtail = queue->tail + 1;
-+        if (newtail == queue->end)
-+            newtail = queue->start;
-+        *queue->tail = NULL;
-+        queue->status[queue->tail - queue->start] = TX_EMPTY;
-+        queue->tail = newtail;
-+        return skb;
-+    }
-+    return NULL;
-+}
-+
-+/* returns NULL for "no new recvd frames" */
-+static struct sk_buff *myatmdd_rxq_dequeue(myatmdd_rxq_t *queue, int *pkt_len)
-+{
-+    DEBUG("%s\n", __FUNCTION__);
-+    if (queue->tail != queue->head && queue->status[queue->tail - queue->start] == RX_RECVD)
-+    {
-+        struct sk_buff *skb = *queue->tail;
-+
-+        /* increment tail and wrap */
-+        struct sk_buff **newtail = queue->tail + 1;
-+        if (newtail == queue->end)
-+            newtail = queue->start;
-+        *queue->tail = NULL;
-+        queue->status[queue->tail - queue->start] = RX_EMPTY;
-+        *pkt_len = queue->pkt_len[queue->tail - queue->start];
-+        queue->tail = newtail;
-+        return skb;
-+    }
-+    return NULL;
-+}
-+
-+/*
-+#########################################################
-+#
-+#  Functions : 	Implementations of function ptrs in
-+#               myatmdd_phy_ops.  This is the phy driver
-+#	start:      myatmdd_phy_start,
-+#	ioctl:      myatmdd_phy_ioctl,
-+#	interrupt:  myatmdd_phy_int,
-+#             
-+#  Purpose  : See ATM device driver interface v0.1
-+#             
-+#  Notes    : Conforming to Linux ATM device driver i/f
-+#             interface.  Draft version 0.1
-+#             
-+#             Designed to work with multiple devices
-+##########################################################
-+#  Edit history:
-+#  Who     When    What
-+#  AJZ     10Apr03 Created
-+##########################################################
-+*/
-+static int myatmdd_phy_start(struct atm_dev *dev)
-+{
-+    /* Provide ATM driver with a pointer via which it
-+     * may invoke PHY driver's IOCTL or interrupt 
-+     * handlers.
-+     */
-+    dev->phy = &myatmdd_phy_ops;
-+
-+    /* If required allocate phy private data and save
-+     * pointer in dev->phy_data;
-+     */
-+    
-+    /* TODO Initialise PHY hardware... */
-+
-+    return 0;
-+}
-+
-+/* Should be called by SAR driver when it needs to handle an interrupt
-+ * triggered by PHY.
-+ */
-+static void myatmdd_phy_int(struct atm_dev *dev)
-+{
-+    /* Handle interrupt triggered by PHY */
-+}
-+
-+/* Gets called by SAR driver IOCTL handler for IOCTLS it doesn't recognise */
-+static int myatmdd_phy_ioctl(struct atm_dev *dev,unsigned int cmd,void *arg)
-+{
-+	switch (cmd)
-+    {
-+//		case SONET_GETSTATZ:
-+        default:
-+            return -EINVAL;
-+    }
-+}
-+
-+/*
-+#########################################################
-+#
-+#  Function : myatmdd_free_tx_skb
-+#             
-+#  Purpose  : frees an sk_buff.
-+#             
-+#  Args     : skb=pointer to socket buffer
-+#             
-+#  Notes    : Tries to use the upper layer pop() function
-+#             but uses dev_kfree_skb() if this doesn't exist
-+##########################################################
-+#  Edit history:
-+#  Who     When    What
-+#  AJZ     10Apr03 Created
-+##########################################################
-+*/
-+static void myatmdd_free_tx_skb(struct sk_buff *skb)
-+{  
-+    struct atm_vcc *vcc;
-+
-+    DEBUG("%s\n", __FUNCTION__);
-+
-+    /* See if we can use the VCC pop function */
-+    if (((vcc = ATM_SKB(skb)->vcc) != NULL) && (vcc->pop != NULL))
-+    {
-+        /* Yes, so use ATM socket layer pop function */
-+        vcc->pop(vcc, skb);
-+    }
-+    else
-+    {  
-+        printk(KERN_WARNING KLOG_PREAMBLE "unable to call skb free function\n");
-+        /* No, so free socket buffer */
-+        dev_kfree_skb(skb);
-+    }
-+}
-+
-+/*
-+#########################################################
-+#
-+#  Functions : 	Implementations of function ptrs in
-+#               myatmdd_ops.
-+#   myatmdd_open(),
-+#	myatmdd_close(),
-+#	myatmdd_ioctl(),
-+
-+
-+#	myatmdd_send(),
-+#	myatmdd_sg_send(),
-+#	myatmdd_change_qos(),
-+#	myatmdd_proc_read()
-+# 
-+#             
-+#  Purpose  : See ATM device driver interface v0.1
-+#             
-+#  Notes    : Conforming to Linux ATM device driver i/f
-+#             interface.  Draft version 0.1
-+#             
-+#             Designed to work with multiple devices
-+##########################################################
-+#  Edit history:
-+#  Who     When    What
-+#  AJZ     10Apr03 Created
-+##########################################################
-+*/
-+static int myatmdd_open(struct atm_vcc *vcc)
-+{
-+    myatmdd_vccdata_t *priv;
-+    int i;
-+
-+    DEBUG("%s\n", __FUNCTION__);
-+
-+    /* Make sure we are opening a AAL0 or AAL5 connection */
-+    if ((vcc->qos.aal != ATM_AAL5) && (vcc->qos.aal != ATM_AAL0))
-+    {
-+        printk(KERN_WARNING KLOG_PREAMBLE "invalid AAL\n");
-+        return -EINVAL;
-+    }
-+
-+    /* Address is in use */
-+    set_bit(ATM_VF_ADDR, &vcc->flags);
-+
-+    /* Allocate some vcc-private memory */
-+    vcc->dev_data = kmalloc(sizeof(myatmdd_vccdata_t), GFP_KERNEL);
-+    if (vcc->dev_data == NULL)
-+        return -ENOMEM;
-+    priv = vcc->dev_data;
-+
-+    /* Setup the hardware for new VC... */
-+
-+    /* Do not allow half open VCs - otherwise the example driver will not be able
-+     * to loop back frames sent !
-+     */
-+    if (vcc->qos.rxtp.traffic_class == ATM_NONE || vcc->qos.txtp.traffic_class == ATM_NONE)
-+    {
-+        kfree(vcc->dev_data);
-+        return -EPERM;
-+    }
-+
-+    /* Create rx/tx queues for this VC */
-+    myatmdd_init_txq(&priv->txqueue, TXQ_SZ);
-+    myatmdd_init_rxq(&priv->rxqueue, RXQ_SZ);
-+    
-+    /* Fill rx queue with empty skbuffs */
-+    for (i = 0 ; i < RXQ_SZ - 1; i++)
-+    {
-+        struct sk_buff *skb = dev_alloc_skb(AAL5_BUFLEN);
-+        myatmdd_rxq_enqueue(&priv->rxqueue,skb);
-+    }
-+   
-+    /* Connection is now ready to receive data */
-+    set_bit(ATM_VF_READY, &vcc->flags);
-+
-+    return 0;
-+}
-+
-+static void myatmdd_close(struct atm_vcc *vcc)
-+{
-+    myatmdd_vccdata_t *priv = vcc->dev_data;
-+
-+    DEBUG("%s\n", __FUNCTION__);
-+
-+    /* Indicate channel closed */
-+    clear_bit(ATM_VF_READY, &vcc->flags);
-+
-+    /* TODO Uninitialise the hardware for this VC... */
-+    
-+    /* empty the rx and tx queues */
-+    myatmdd_release_txq(&priv->txqueue);
-+    myatmdd_release_rxq(&priv->rxqueue);
-+
-+    /* Free the vcc-private memory */
-+    kfree(vcc->dev_data);
-+}
-+  
-+static int myatmdd_ioctl(struct atm_dev *dev, unsigned int cmd,void *arg)
-+{
-+    /* myatmdd does not currently have an ioctl interface so pass ioctl onto PHY */
-+    if (dev->phy && dev->phy->ioctl) {
-+        return dev->phy->ioctl(dev, cmd, arg);
-+    }
-+    return -EINVAL;
-+}
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+
-+/* Note may be called in either process or interrupt context! */
-+static int myatmdd_send(struct atm_vcc *vcc,struct sk_buff *skb)
-+{
-+    myatmdd_vccdata_t *priv = vcc->dev_data;
-+
-+    DEBUG("%s\n", __FUNCTION__);
-+
-+    /* Assign VCC to socket buffer
-+     * Note: this must be done before attempting to call
-+     * myatmdd_free_tx_skb() as this may use ATM_SKB(skb)->vcc->pop()
-+     */
-+    ATM_SKB(skb)->vcc = vcc;
-+
-+    /* Setup hardware to send and arrange callback of myatmdd_send_complete... */
-+
-+    /* In this example ATM device driver all VCs are looped back.
-+     * So copy to the rxq and emulate an rx interrupt
-+     */
-+
-+    /* Can we accept another skb to send ? */
-+    if (myatmdd_txq_enqueue(&priv->txqueue, skb))
-+    {
-+        /* No - free socket buffer */
-+        myatmdd_free_tx_skb(skb);
-+        
-+        /* Update tx channel stats */
-+        atomic_inc(&vcc->stats->tx_err);
-+        
-+        /* Tell protocol layer to back off */
-+        return(-EBUSY);
-+    }
-+
-+    /* This is the bit which copies the tx ring to the rx ring,
-+     * and triggers emulated rx and tx interrupts
-+     */
-+    myatmdd_emulate_loopback_hardware(vcc);
-+    
-+    return 0;
-+}
-+
-+static int myatmdd_change_qos(struct atm_vcc *vcc,struct atm_qos *qos,int flgs)
-+{
-+    return 0;
-+}
-+
-+static int myatmdd_proc_read(struct atm_dev *dev,loff_t *pos,char *page)
-+{
-+    int left = (int) *pos;
-+    
-+    if (!left--)
-+        return sprintf(page, "1st line of stats\n");
-+    if (!left--)
-+        return sprintf(page, "2nd line of stats\n");
-+    if (!left--)
-+        return sprintf(page, "3rd line of stats\n");
-+
-+    return 0;
-+}
-+
-+/*
-+#########################################################
-+#
-+#  Function : myatmdd_init
-+#             
-+#  Purpose  : init the module, init and register the ATM device
-+#             
-+#  Args     : none
-+#             
-+#  Returns  : return code
-+#             
-+#  Notes    : 
-+#             
-+##########################################################
-+#  Edit history:
-+#  Who     When    What
-+#  AJZ     10Apr03 Created
-+##########################################################
-+*/
-+int __init myatmdd_init(void)
-+{
-+    myatmdd_devdata_t *priv = kmalloc(sizeof(myatmdd_devdata_t),GFP_KERNEL);
-+
-+    if (priv == NULL)
-+        return -ENOMEM;
-+
-+    /* Register the new device */
-+    myatmdd_dev = atm_dev_register(MYATMDD,NULL,&myatmdd_ops,-1,NULL);
-+    
-+    /* Were we able to register this device? */
-+    if (myatmdd_dev == NULL)
-+    {
-+        printk(KERN_ERR KLOG_PREAMBLE "failed to register CPM ATM device\n");
-+        return -EPERM;
-+    }
-+
-+    /* Save pointer to device private data */
-+    myatmdd_dev->dev_data = priv;
-+
-+    /* Initialise device parameters */
-+    myatmdd_dev->ci_range.vpi_bits = MYATMDD_VPI_BITS;
-+    myatmdd_dev->ci_range.vci_bits = MYATMDD_VCI_BITS;
-+    myatmdd_dev->link_rate = MYATMDD_PCR;
-+    
-+    /* Set up phy device */
-+    myatmdd_phy_start(myatmdd_dev);
-+    
-+    /* TODO Initialise SAR hardware... */
-+
-+    /* Console output */
-+    printk(KERN_INFO KLOG_PREAMBLE "Initialised\n");
-+
-+    return 0;
-+}
-+
-+/* NOTE:
-+ * module_init() is called by insmod, if built as module, 
-+ * or by do_initcalls(), if built as a resident driver.
-+ */
-+module_init(myatmdd_init);
-+
-+/*
-+#########################################################
-+#
-+#  Function : myatmdd_exit
-+#             
-+#  Purpose  : delete module, uninit and dereg ATM device
-+#             
-+#  Args     : none
-+#             
-+#  Returns  : none
-+#             
-+#  Notes    : 
-+#             
-+##########################################################
-+#  Edit history:
-+#  Who     When    What
-+#  AJZ     10Apr03 Created
-+##########################################################
-+*/
-+
-+#ifdef MODULE
-+static void __exit myatmdd_exit(void)
-+{
-+    /* Disable SAR hardware... */
-+
-+    /* Console output */
-+    printk(KERN_ERR KLOG_PREAMBLE "Uninitialised\n");
-+    kfree(myatmdd_dev->dev_data);
-+    atm_dev_deregister(myatmdd_dev);
-+}
-+module_exit(myatmdd_exit);
-+
-+#endif /* MODULE */
-diff -urN linux-5.9/drivers.org/atm/Kconfig linux-5.9/drivers/atm/Kconfig
---- linux-5.9/drivers.org/atm/Kconfig	2020-10-11 23:15:50.000000000 +0200
-+++ linux-5.9/drivers/atm/Kconfig	2020-11-03 13:31:48.120071319 +0100
-@@ -15,6 +15,14 @@
- 
- if ATM_DRIVERS && NETDEVICES && ATM
- 
-+config ATM_DD
-+	tristate "ATM loopback"
-+	depends on INET && ATM
-+	help
-+	  This is an example atm driver.  It does not require any actual ATM
-+	  hardware.  It supports AAL5 and AAL0.  Frames are merely looped back
-+	  to the sender on the same VC they were sent.
-+
- config ATM_SOLOS
- 	tristate "Solos ADSL2+ PCI Multiport card driver"
- 	depends on PCI
---- linux-7.1/drivers/atm/Makefile.orig	2026-06-14 16:58:38.000000000 +0200
-+++ linux-7.1/drivers/atm/Makefile	2026-06-19 12:13:50.344836302 +0200
-@@ -1,3 +1,4 @@
- # SPDX-License-Identifier: GPL-2.0
- 
-+obj-$(CONFIG_ATM_DD)		+= atmdd.o
- obj-$(CONFIG_ATM_SOLOS)		+= solos-pci.o
diff --git a/kernel-aufs.patch b/kernel-aufs.patch
index f6e652b0..08aeecda 100644
--- a/kernel-aufs.patch
+++ b/kernel-aufs.patch
@@ -38825,12 +38825,13 @@ index f016a310ca460..403de57f05174 100644
  	/* This is safe: open() is still holding a reference. */
  	module_put(THIS_MODULE);
  	return error;
-@@ -1141,11 +1177,13 @@ static void __loop_clr_fd(struct loop_device *lo)
+@@ -1141,12 +1177,14 @@ static void __loop_clr_fd(struct loop_device *lo)
  {
  	struct queue_limits lim;
  	struct file *filp;
 +	struct file *virt_filp = lo->lo_backing_virt_file;
  	gfp_t gfp = lo->old_gfp_mask;
+ 	int err;
  
  	spin_lock_irq(&lo->lo_lock);
  	filp = lo->lo_backing_file;
diff --git a/kernel-multiarch.config b/kernel-multiarch.config
index dacd166d..63154a34 100644
--- a/kernel-multiarch.config
+++ b/kernel-multiarch.config
@@ -124,6 +124,7 @@ BLK_SED_OPAL all=y
 BLK_INLINE_ENCRYPTION all=y
 BLK_INLINE_ENCRYPTION_FALLBACK all=y
 #- file block/partitions/Kconfig goes here
+BLK_ERROR_INJECTION all=n
 #- file block/Kconfig.iosched goes here
 
 #-
@@ -217,7 +218,6 @@ CRYPTO_CAMELLIA all=m
 CRYPTO_CAST5 all=m
 CRYPTO_CAST6 all=m
 CRYPTO_DES all=m
-CRYPTO_FCRYPT all=m
 CRYPTO_KHAZAD all=m
 CRYPTO_SEED all=m
 CRYPTO_SERPENT all=m
@@ -234,7 +234,6 @@ CRYPTO_CTS all=m
 CRYPTO_ECB all=y
 CRYPTO_HCTR2 all=m
 CRYPTO_LRW all=m
-CRYPTO_PCBC all=m
 CRYPTO_XTS all=m
 CRYPTO_AEGIS128 all=m
 CRYPTO_AEGIS128_SIMD arm=y arm64=y
@@ -267,9 +266,7 @@ CRYPTO_842 all=y
 CRYPTO_LZ4 all=y
 CRYPTO_LZ4HC all=m
 CRYPTO_ZSTD all=y
-CRYPTO_DRBG_MENU all=y
-CRYPTO_DRBG_HASH all=y
-CRYPTO_DRBG_CTR all=y
+CRYPTO_DRBG all=y
 CRYPTO_JITTERENTROPY all=y
 CRYPTO_JITTERENTROPY_TESTINTERFACE all=n
 CRYPTO_USER_API_HASH all=y
@@ -280,8 +277,6 @@ CRYPTO_USER_API_AEAD all=m
 CRYPTO_USER_API_ENABLE_OBSOLETE all=y
 #- file arch/arm/crypto/Kconfig goes here
 #- file arch/arm64/crypto/Kconfig goes here
-#- file arch/loongarch/crypto/Kconfig goes here
-#- file arch/mips/crypto/Kconfig goes here
 #- file arch/powerpc/crypto/Kconfig goes here
 #- file arch/riscv/crypto/Kconfig goes here
 #- file arch/s390/crypto/Kconfig goes here
@@ -905,9 +900,6 @@ BT_HCIBCM203X all=m
 BT_HCIBCM4377 all=m
 BT_HCIBPA10X all=m
 BT_HCIBFUSB all=m
-BT_HCIDTL1 all=m
-BT_HCIBT3C all=m
-BT_HCIBLUECARD all=m
 BT_HCIVHCI all=m
 BT_MRVL all=m
 BT_MRVL_SDIO all=m
@@ -969,8 +961,6 @@ VIRTIO_CONSOLE all=m
 IBM_BSR ppc64=m
 #- file drivers/char/ipmi/Kconfig goes here
 #- file drivers/char/hw_random/Kconfig goes here
-DTLK all=m
-APPLICOM all=m
 SONYPI i386=m
 SCx200_GPIO i386=m
 PC8736x_GPIO i386=m x86_64=m
@@ -1523,7 +1513,6 @@ CRYPTO_DEV_HISI_SEC arm64=m
 CRYPTO_DEV_HISI_SEC2 arm64=m
 CRYPTO_DEV_HISI_ZIP arm64=m
 CRYPTO_DEV_HISI_HPRE arm64=m
-CRYPTO_DEV_HISI_TRNG arm64=m
 
 #-
 #- *** FILE: drivers/crypto/intel/iaa/Kconfig ***
@@ -1612,7 +1601,6 @@ SYNC_FILE all=y
 SW_SYNC all=y
 UDMABUF all=y
 DMABUF_DEBUG all=n
-DMABUF_SELFTESTS all=m
 DMABUF_HEAPS all=y
 #- file drivers/dma-buf/heaps/Kconfig goes here
 
@@ -1620,6 +1608,7 @@ DMABUF_HEAPS all=y
 #- *** FILE: drivers/dma-buf/heaps/Kconfig ***
 #-
 DMABUF_HEAPS_SYSTEM all=y
+DMABUF_HEAPS_SYSTEM_CC_SHARED all=n
 DMABUF_HEAPS_CMA all=y
 
 #-
@@ -1959,6 +1948,7 @@ FPGA_DFL_PCI all=m
 FPGA_M10_BMC_SEC_UPDATE all=m
 FPGA_MGR_MICROCHIP_SPI all=m
 FPGA_MGR_LATTICE_SYSCONFIG_SPI all=m
+FPGA_MGR_EFINIX_SPI all=m
 #- file drivers/fpga/tests/Kconfig goes here
 
 #-
@@ -2044,6 +2034,7 @@ GPIO_SAMA5D2_PIOBU arm=m arm64=m
 GPIO_SIFIVE all=m
 GPIO_SIOX all=m
 GPIO_SYSCON all=m
+GPIO_WAVESHARE_DSI_TOUCH all=m
 GPIO_WCD934X all=m
 GPIO_XGENE arm64=y
 GPIO_XILINX all=m
@@ -2059,7 +2050,6 @@ GPIO_IT87 all=m
 GPIO_SCH all=m
 GPIO_NOVALAKE x86=m
 GPIO_SCH311X all=m
-GPIO_TS5500 all=m
 GPIO_WINBOND all=m
 GPIO_WS16C48 all=m
 GPIO_ADNP all=m
@@ -2110,6 +2100,7 @@ GPIO_TWL4030 powerpc=m
 GPIO_WHISKEY_COVE all=m
 GPIO_WM831X all=m
 GPIO_WM8994 all=m
+GPIO_LTC4283 all=m
 GPIO_AMD8111 all=m
 GPIO_BT8XX all=m
 GPIO_MLXBF arm64=m
@@ -2543,6 +2534,7 @@ DRM_PANEL_EBBG_FT8719 all=m
 DRM_PANEL_ELIDA_KD35T133 all=m
 DRM_PANEL_FEIXIN_K101_IM2BA02 all=m
 DRM_PANEL_FEIYANG_FY07024DI26A30D all=m
+DRM_PANEL_FOCALTECH_OTA7290B all=m
 DRM_PANEL_DSI_CM all=m
 DRM_PANEL_LVDS all=m
 DRM_PANEL_HIMAX_HX8279 arm=m arm64=m
@@ -2943,6 +2935,7 @@ HID_MAGICMOUSE all=m
 HID_MALTRON all=m
 HID_MAYFLASH all=m
 HID_MEGAWORLD_FF all=m
+HID_RAKK all=m
 HID_REDRAGON all=m
 HID_MICROSOFT all=m
 HID_MONTEREY all=m
@@ -2954,6 +2947,7 @@ HID_NTRIG all=m
 HID_NVIDIA_SHIELD all=m
 NVIDIA_SHIELD_FF all=y
 HID_ORTEK all=m
+HID_OXP all=m
 HID_PANTHERLORD all=m
 PANTHERLORD_FF all=y
 HID_PENMOUNT all=m
@@ -3131,6 +3125,7 @@ SENSORS_KBATT all=m
 SENSORS_KFAN all=m
 SENSORS_FAM15H_POWER all=m
 SENSORS_APPLESMC all=m
+SENSORS_ARCTIC_FAN_CONTROLLER all=m
 SENSORS_ARM_SCMI arm=m arm64=m
 SENSORS_ARM_SCPI all=m
 SENSORS_ASB100 all=m
@@ -3176,6 +3171,7 @@ SENSORS_IT87 all=m
 SENSORS_JC42 all=m
 SENSORS_POWERZ all=m
 SENSORS_POWR1220 all=m
+SENSORS_PROM21_XHCI all=m
 SENSORS_LATTEPANDA_SIGMA_EC x86=m
 SENSORS_LENOVO_EC all=m
 SENSORS_LINEAGE all=m
@@ -3192,6 +3188,7 @@ SENSORS_LTC4245 all=m
 SENSORS_LTC4260 all=m
 SENSORS_LTC4261 all=m
 SENSORS_LTC4282 all=m
+SENSORS_LTC4283 all=m
 SENSORS_MAX1111 all=m
 SENSORS_MAX127 all=m
 SENSORS_MAX16065 all=m
@@ -3267,6 +3264,7 @@ SENSORS_SIS5595 all=m
 SENSORS_SY7636A all=m
 SENSORS_DME1737 all=m
 SENSORS_EMC1403 all=m
+SENSORS_EMC1812 all=m
 SENSORS_EMC2103 all=m
 SENSORS_EMC2305 all=m
 SENSORS_EMC6W201 all=m
@@ -3353,11 +3351,13 @@ SENSORS_APS_379 all=m
 SENSORS_BEL_PFE all=m
 SENSORS_BPA_RS600 all=m
 SENSORS_CRPS all=m
+SENSORS_D1U74T all=m
 SENSORS_DELTA_AHE50DC_FAN all=m
 SENSORS_FSP_3Y all=m
 SENSORS_HAC300S all=m
 SENSORS_IBM_CFFPS all=m
 SENSORS_DPS920AB=m
+SENSORS_E50SN12051 all=m
 SENSORS_INA233 all=m
 SENSORS_INSPUR_IPSPS all=m
 SENSORS_IR35221 all=m
@@ -3375,12 +3375,16 @@ SENSORS_LTC2978 all=m
 SENSORS_LTC2978_REGULATOR all=y
 SENSORS_LTC3815 all=m
 SENSORS_LTC4286 all=y
+SENSORS_LX1308 all=m
 SENSORS_MAX15301 all=m
 SENSORS_MAX16064 all=m
 SENSORS_MAX16601 all=m
 SENSORS_MAX17616 all=m
 SENSORS_MAX20730 all=m
 SENSORS_MAX20751 all=m
+SENSORS_MAX20830 all=m
+SENSORS_MAX20860A all=m
+SENSORS_MAX20860A_REGULATOR all=y
 SENSORS_MAX31785 all=m
 SENSORS_MAX34440 all=m
 SENSORS_MAX8688 all=m
@@ -3391,6 +3395,7 @@ SENSORS_MP2891 all=m
 SENSORS_MP2925 all=m
 SENSORS_MP29502 all=m
 SENSORS_MP2975 all=m
+SENSORS_MP2985 all=m
 SENSORS_MP2993 all=m
 SENSORS_MP2975_REGULATOR all=y
 SENSORS_MP5023 all=m
@@ -3716,6 +3721,7 @@ AD4080 all=m
 AD4130 all=m
 AD4134 all=m
 AD4170_4 all=m
+AD4691 all=m
 AD4695 all=m
 AD4851 all=m
 AD7091R5 all=m
@@ -3926,6 +3932,7 @@ AD5592R all=m
 AD5593R all=m
 AD5504 all=m
 AD5624R_SPI all=m
+AD5706R all=m
 AD9739A all=m
 ADI_AXI_DAC all=m
 LTC2688 all=m
@@ -4131,6 +4138,7 @@ APDS9160 all=m
 APDS9300 all=m
 APDS9306 all=m
 APDS9960 all=m
+APDS9999 all=m
 AS73211 all=m
 BH1745 all=m
 BH1750 all=m
@@ -4180,6 +4188,7 @@ US5182D all=m
 VCNL4000 all=m
 VCNL4035 all=m
 VEML3235 all=m
+VEML3328 all=m
 VEML6030 all=m
 VEML6040 all=m
 VEML6046X00 all=m
@@ -4202,6 +4211,7 @@ MAG3110 all=m
 HID_SENSOR_MAGNETOMETER_3D all=m
 MMC35240 all=m
 MMC5633 all=m
+MMC5983 all=m
 IIO_ST_MAGN_3AXIS all=m
 IIO_ST_MAGN_I2C_3AXIS arm=m arm64=m
 IIO_ST_MAGN_SPI_3AXIS arm=m arm64=m
@@ -4341,7 +4351,6 @@ MCP9600 all=m
 #- *** FILE: drivers/iio/trigger/Kconfig ***
 #-
 IIO_HRTIMER_TRIGGER all=m
-IIO_INTERRUPT_TRIGGER all=m
 IIO_TIGHTLOOP_TRIGGER all=m
 IIO_SYSFS_TRIGGER all=m
 
@@ -4699,7 +4708,6 @@ INPUT_DA7280_HAPTICS all=m
 INPUT_DA9052_ONKEY all=m
 INPUT_DA9063_ONKEY all=m
 INPUT_WM831X_ON all=m
-INPUT_PCAP all=m
 INPUT_ADXL34X all=m
 INPUT_ADXL34X_I2C all=m
 INPUT_ADXL34X_SPI all=m
@@ -4775,7 +4783,6 @@ SERIO_AMBAKMI arm=m arm64=m
 SERIO_PCIPS2 all=m
 SERIO_LIBPS2 all=y sparc=m sparc64=m
 SERIO_RAW all=m
-SERIO_XILINX_XPS_PS2 all=m
 SERIO_ALTERA_PS2 all=m
 SERIO_PS2MULT all=m
 SERIO_ARC_PS2 all=m
@@ -4846,6 +4853,7 @@ TOUCHSCREEN_ELAN all=m
 TOUCHSCREEN_ELO all=m
 TOUCHSCREEN_WACOM_W8001 all=m
 TOUCHSCREEN_WACOM_I2C all=m
+TOUCHSCREEN_WACOM_W9000 all=m
 TOUCHSCREEN_MAX11801 all=m
 TOUCHSCREEN_MMS114 all=m
 TOUCHSCREEN_MELFAS_MIP4 all=m
@@ -4893,7 +4901,6 @@ TOUCHSCREEN_TSC2004 all=m
 TOUCHSCREEN_TSC2005 all=m
 TOUCHSCREEN_TSC2007 all=m
 TOUCHSCREEN_TSC2007_IIO all=y
-TOUCHSCREEN_PCAP all=m
 TOUCHSCREEN_RM_TS all=m
 TOUCHSCREEN_SILEAD all=m
 TOUCHSCREEN_SIS_I2C all=m
@@ -4941,7 +4948,6 @@ IOMMU_DEFAULT_PASSTHROUGH all=y
 #- file drivers/iommu/riscv/Kconfig goes here
 IRQ_REMAP all=y
 ROCKCHIP_IOMMU arm64=y
-HYPERV_IOMMU all=y
 VIRTIO_IOMMU=m
 #- file drivers/iommu/generic_pt/Kconfig goes here
 
@@ -5247,6 +5253,7 @@ DM_DEBUG_BLOCK_STACK_TRACING all=n
 #- file drivers/md/persistent-data/Kconfig goes here
 DM_UNSTRIPED all=m
 DM_CRYPT all=m
+DM_INLINECRYPT all=m
 DM_SNAPSHOT all=m
 DM_THIN_PROVISIONING all=m
 DM_CACHE all=m
@@ -5593,6 +5600,7 @@ VIDEO_SAA7127 all=m
 VIDEO_SAA7185 all=m
 VIDEO_UPD64031A all=m
 VIDEO_UPD64083 all=m
+#- file drivers/media/i2c/cvs/Kconfig goes here
 VIDEO_DS90UB913 all=m
 VIDEO_DS90UB953 all=m
 VIDEO_DS90UB960 all=m
@@ -5630,6 +5638,7 @@ SMS_SDIO_DRV all=m
 #-
 MEDIA_PCI_SUPPORT all=y
 #- Media capture support
+#- file drivers/media/pci/hws/Kconfig goes here
 #- file drivers/media/pci/mgb4/Kconfig goes here
 #- file drivers/media/pci/solo6x10/Kconfig goes here
 #- file drivers/media/pci/tw5864/Kconfig goes here
@@ -5724,6 +5733,11 @@ DVB_DM1105 all=m
 #-
 VIDEO_DT3155 all=m
 
+#-
+#- *** FILE: drivers/media/pci/hws/Kconfig ***
+#-
+VIDEO_HWS all=m
+
 #-
 #- *** FILE: drivers/media/pci/intel/Kconfig ***
 #-
@@ -5869,6 +5883,7 @@ V4L_MEM2MEM_DRIVERS all=y
 VIDEO_MEM2MEM_DEINTERLACE all=m
 VIDEO_MUX all=m
 #- file drivers/media/platform/allegro-dvt/Kconfig goes here
+#- file drivers/media/platform/amd/Kconfig goes here
 #- file drivers/media/platform/amlogic/Kconfig goes here
 #- file drivers/media/platform/amphion/Kconfig goes here
 #- file drivers/media/platform/arm/Kconfig goes here
@@ -5898,6 +5913,11 @@ VIDEO_MUX all=m
 #- file drivers/media/platform/via/Kconfig goes here
 #- file drivers/media/platform/xilinx/Kconfig goes here
 
+#-
+#- *** FILE: drivers/media/platform/amd/isp4/Kconfig ***
+#-
+VIDEO_AMD_ISP4_CAPTURE all=m
+
 #-
 #- *** FILE: drivers/media/platform/amlogic/c3/isp/Kconfig ***
 #-
@@ -6556,7 +6576,6 @@ MFD_MT6397 all=m
 MFD_MENF21BMC all=m
 MFD_NCT6694 all=m
 MFD_OCELOT all=m
-EZX_PCAP all=y
 MFD_CPCAP all=m
 MFD_VIPERBOARD all=m
 MFD_NTXEC all=m
@@ -6660,7 +6679,6 @@ ISL29003 all=m
 ISL29020 all=m
 SENSORS_TSL2550 all=m
 SENSORS_BH1770 all=m
-SENSORS_APDS990X all=m
 HMC6352 all=m
 DS1682 all=m
 VMWARE_BALLOON all=m
@@ -7014,9 +7032,6 @@ MTD_PHYSMAP_GEMINI all=y
 MTD_PHYSMAP_IXP4XX arm=n
 MTD_PHYSMAP_GPIO_ADDR all=y
 MTD_SUN_UFLASH sparc=n sparc64=m
-MTD_SC520CDP i386=m x86_64=m
-MTD_NETSC520 i386=m x86_64=m
-MTD_TS5500 i386=m x86_64=m
 MTD_SBC_GXX i386=m x86_64=m
 MTD_SCx200_DOCFLASH i386=m
 MTD_AMD76XROM i386=m x86_64=m
@@ -7024,9 +7039,7 @@ MTD_ICHXROM i386=m x86_64=m
 MTD_ESB2ROM i386=m x86_64=m
 MTD_CK804XROM i386=m x86_64=m
 MTD_SCB2_FLASH i386=m x86_64=m
-MTD_NETtel i386=m x86_64=m
 MTD_L440GX i386=m x86_64=m
-MTD_IMPA7 arm=m
 MTD_PCI all=m
 MTD_PCMCIA all=m
 MTD_PCMCIA_ANONYMOUS all=y
@@ -7220,13 +7233,8 @@ ARCNET_1201 all=m
 ARCNET_1051 all=m
 ARCNET_RAW all=m
 ARCNET_CAP all=m
-ARCNET_COM90xx all=m
-ARCNET_COM90xxIO all=m
-ARCNET_RIM_I all=m
 ARCNET_COM20020 all=m
-ARCNET_COM20020_ISA alpha=m i386=m
 ARCNET_COM20020_PCI all=m
-ARCNET_COM20020_CS all=m
 
 #-
 #- *** FILE: drivers/net/can/Kconfig ***
@@ -7244,6 +7252,7 @@ CAN_JANZ_ICAN3 all=m
 CAN_KVASER_PCIEFD all=m
 CAN_SLCAN all=m
 CAN_TI_HECC arm=m
+CAN_VIRTIO_CAN all=m
 CAN_XILINXCAN arm64=m
 #- file drivers/net/can/c_can/Kconfig goes here
 #- file drivers/net/can/cc770/Kconfig goes here
@@ -7380,6 +7389,7 @@ NET_DSA_MV88E6060 all=m
 #- file drivers/net/dsa/microchip/Kconfig goes here
 #- file drivers/net/dsa/mv88e6xxx/Kconfig goes here
 #- file drivers/net/dsa/mxl862xx/Kconfig goes here
+#- file drivers/net/dsa/netc/Kconfig goes here
 #- file drivers/net/dsa/ocelot/Kconfig goes here
 #- file drivers/net/dsa/qca/Kconfig goes here
 #- file drivers/net/dsa/sja1105/Kconfig goes here
@@ -7500,6 +7510,7 @@ ETHERNET all=y
 #- file drivers/net/ethernet/agere/Kconfig goes here
 #- file drivers/net/ethernet/airoha/Kconfig goes here
 #- file drivers/net/ethernet/alacritech/Kconfig goes here
+#- file drivers/net/ethernet/alibaba/Kconfig goes here
 #- file drivers/net/ethernet/allwinner/Kconfig goes here
 #- file drivers/net/ethernet/altera/Kconfig goes here
 #- file drivers/net/ethernet/amazon/Kconfig goes here
@@ -7616,6 +7627,12 @@ ET131X all=m
 NET_VENDOR_ALACRITECH all=y
 SLICOSS all=m
 
+#-
+#- *** FILE: drivers/net/ethernet/alibaba/Kconfig ***
+#-
+NET_VENDOR_ALIBABA all=y
+ALIBABA_EEA all=m
+
 #-
 #- *** FILE: drivers/net/ethernet/altera/Kconfig ***
 #-
@@ -7752,7 +7769,6 @@ CHELSIO_T4VF all=m
 #- *** FILE: drivers/net/ethernet/chelsio/inline_crypto/Kconfig ***
 #-
 CHELSIO_INLINE_CRYPTO all=y
-CRYPTO_DEV_CHELSIO_TLS all=m
 CHELSIO_IPSEC_INLINE all=m
 CHELSIO_TLS_DEVICE all=m
 
@@ -7760,7 +7776,6 @@ CHELSIO_TLS_DEVICE all=m
 #- *** FILE: drivers/net/ethernet/cirrus/Kconfig ***
 #-
 NET_VENDOR_CIRRUS all=y
-CS89x0_ISA all=m
 CS89x0_PLATFORM arm=m
 
 #-
@@ -8417,11 +8432,6 @@ NGBEVF all=m
 #-
 NET_VENDOR_WIZNET all=y
 WIZNET_W5100 all=m
-WIZNET_W5300 all=m
-WIZNET_BUS_DIRECT all=n
-WIZNET_BUS_INDIRECT all=n
-WIZNET_BUS_ANY all=y
-WIZNET_W5100_SPI all=m
 
 #-
 #- *** FILE: drivers/net/ethernet/xilinx/Kconfig ***
@@ -8506,6 +8516,7 @@ FIXED_PHY all=y
 SFP all=m
 #- MII PHY device drivers
 AS21XXX_PHY all=m
+AIR_AN8801_PHY all=m
 AIR_EN8811H_PHY all=m
 AMD_PHY all=m
 MESON_GXL_PHY arm64=m
@@ -9200,6 +9211,7 @@ RTW89_8852BTE all=m
 RTW89_8852CE all=m
 RTW89_8852CU all=m
 RTW89_8922AE all=m
+RTW89_8922AU all=m
 RTW89_DEBUGMSG all=y
 RTW89_DEBUGFS all=y
 
@@ -9743,10 +9755,12 @@ PHY_CAN_TRANSCEIVER=m
 PHY_GOOGLE_USB all=m
 USB_LGM_PHY all=m
 PHY_NXP_PTN3222 all=m
+PHY_NXP_TJA1145 all=m
 PHY_XGENE arm64=m
 #- file drivers/phy/allwinner/Kconfig goes here
 #- file drivers/phy/amlogic/Kconfig goes here
 #- file drivers/phy/apple/Kconfig goes here
+#- file drivers/phy/axiado/Kconfig goes here
 #- file drivers/phy/broadcom/Kconfig goes here
 #- file drivers/phy/cadence/Kconfig goes here
 #- file drivers/phy/canaan/Kconfig goes here
@@ -9911,6 +9925,7 @@ PINCTRL_UPBOARD all=m
 PINCTRL_MLXBF3 arm64=m
 PINCTRL_RP1 arm=m arm64=m
 #- file drivers/pinctrl/actions/Kconfig goes here
+#- file drivers/pinctrl/airoha/Kconfig goes here
 #- file drivers/pinctrl/aspeed/Kconfig goes here
 #- file drivers/pinctrl/bcm/Kconfig goes here
 #- file drivers/pinctrl/berlin/Kconfig goes here
@@ -9940,6 +9955,7 @@ PINCTRL_RP1 arm=m arm64=m
 #- file drivers/pinctrl/sunxi/Kconfig goes here
 #- file drivers/pinctrl/tegra/Kconfig goes here
 #- file drivers/pinctrl/ti/Kconfig goes here
+#- file drivers/pinctrl/ultrarisc/Kconfig goes here
 #- file drivers/pinctrl/uniphier/Kconfig goes here
 #- file drivers/pinctrl/visconti/Kconfig goes here
 #- file drivers/pinctrl/vt8500/Kconfig goes here
@@ -10264,6 +10280,7 @@ DELL_WMI_AIO all=m
 DELL_WMI_DDV all=m
 DELL_WMI_LED all=m
 DELL_WMI_SYSMAN all=m
+DELL_DW5826E_RESET all=m
 
 #-
 #- *** FILE: drivers/platform/x86/hp/Kconfig ***
@@ -10581,6 +10598,7 @@ RN5T618_POWER all=m
 BATTERY_SURFACE all=m
 CHARGER_SURFACE all=m
 BATTERY_UG3105 all=m
+BATTERY_CHARGER_SURFACE_RT all=n arm=m
 FUEL_GAUGE_MM8013 all=m
 
 #-
@@ -10802,7 +10820,6 @@ REGULATOR_MT6370 all=m
 REGULATOR_MT6397 all=m
 REGULATOR_PCA9450 all=m
 REGULATOR_PF9453 all=m
-REGULATOR_PCAP all=m
 REGULATOR_PF0900 all=m
 REGULATOR_PF530X arm=m arm64=m
 REGULATOR_PF8X00 all=m
@@ -11037,7 +11054,6 @@ RTC_DRV_ARMADA38X arm=m
 RTC_DRV_CADENCE all=m
 RTC_DRV_FTRTC010 all=m
 RTC_DRV_PS3 ppc64=m
-RTC_DRV_PCAP all=m
 RTC_DRV_MC13XXX all=m
 RTC_DRV_PM8XXX arm=m
 RTC_DRV_SNVS arm64=m
@@ -11641,7 +11657,6 @@ STAGING_MEDIA all=y
 #- file drivers/staging/media/sunxi/Kconfig goes here
 #- file drivers/staging/media/tegra-video/Kconfig goes here
 STAGING_MEDIA_DEPRECATED all=n
-#- file drivers/staging/media/deprecated/atmel/Kconfig goes here
 
 #-
 #- *** FILE: drivers/staging/media/atomisp/Kconfig ***
@@ -11840,6 +11855,7 @@ AMLOGIC_THERMAL arm64=m
 #- file drivers/thermal/samsung/Kconfig goes here
 #- file drivers/thermal/st/Kconfig goes here
 #- file drivers/thermal/renesas/Kconfig goes here
+#- file drivers/thermal/spacemit/Kconfig goes here
 #- file drivers/thermal/tegra/Kconfig goes here
 GENERIC_ADC_THERMAL all=m
 #- file drivers/thermal/qcom/Kconfig goes here
@@ -11876,6 +11892,7 @@ INT3406_THERMAL all=m
 USB4 all=m
 USB4_DEBUGFS_WRITE all=n
 USB4_DMA_TEST all=m
+USB4_STREAM all=m
 
 #-
 #- *** FILE: drivers/tty/Kconfig ***
@@ -11893,7 +11910,6 @@ LDISC_AUTOLOAD all=y
 SERIAL_NONSTANDARD all=y
 MOXA_INTELLIO all=m
 MOXA_SMARTIO all=m
-SYNCLINK_GT all=m
 N_HDLC all=m
 GOLDFISH_TTY all=m
 IPWIRELESS all=m
@@ -12106,12 +12122,11 @@ USB_XUSBATM all=m
 #-
 USB_CDNS_SUPPORT all=m
 USB_CDNS3 all=m
-USB_CDNS3_GADGET all=y
 USB_CDNS3_HOST all=y
+USB_CDNS3_GADGET all=y
+#- Platform glue driver support
 USB_CDNS3_PCI_WRAP all=m
 USB_CDNSP_PCI all=m
-USB_CDNSP_GADGET all=y
-USB_CDNSP_HOST all=y
 
 #-
 #- *** FILE: drivers/usb/chipidea/Kconfig ***
@@ -12730,6 +12745,7 @@ BACKLIGHT_PWM all=m
 BACKLIGHT_CGBC x86=y
 BACKLIGHT_DA903X all=m
 BACKLIGHT_DA9052 all=m
+BACKLIGHT_MAX25014 all=m
 BACKLIGHT_MT6370 all=m
 BACKLIGHT_APPLE all=m
 BACKLIGHT_QCOM_WLED all=m
@@ -12756,7 +12772,6 @@ BACKLIGHT_LED all=m
 #- *** FILE: drivers/video/console/Kconfig ***
 #-
 VGA_CONSOLE all=y
-MDA_CONSOLE alpha=m i386=m
 DUMMY_CONSOLE_COLUMNS all=80
 DUMMY_CONSOLE_ROWS all=25
 FRAMEBUFFER_CONSOLE all=y
@@ -12788,7 +12803,6 @@ FB_UVESA all=m
 FB_VESA i386=n x86_64=n
 FB_EFI all=y
 FB_N411 all=m
-FB_HGA i386=m x86_64=m
 FB_SBUS sparc=y sparc64=y
 FB_BW2 sparc=n sparc64=n
 FB_CG3 sparc=y sparc64=n
@@ -13086,7 +13100,6 @@ EXAR_WDT all=m
 F71808E_WDT all=m
 SP5100_TCO all=m
 GEODE_WDT all=m
-SC520_WDT i386=m x86_64=m
 SBC_FITPC2_WATCHDOG all=m
 EUROTECH_WDT i386=m x86_64=m
 IB700_WDT i386=m x86_64=m
@@ -13115,7 +13128,6 @@ VIA_WDT all=m
 W83627HF_WDT i386=m x86_64=m
 W83877F_WDT i386=m x86_64=m
 W83977F_WDT i386=m x86_64=m
-MACHZ_WDT i386=m x86_64=m
 SBC_EPX_C3_WATCHDOG i386=m x86_64=m
 INTEL_MEI_WDT all=m
 NI903X_WDT all=m
@@ -13399,7 +13411,6 @@ EROFS_FS_ZIP_LZMA_DEFAULT_MAX_STREAMS all=16
 EROFS_FS_ZIP_DEFLATE all=y
 EROFS_FS_ZIP_ZSTD all=y
 EROFS_FS_ZIP_ACCEL all=y
-EROFS_FS_ONDEMAND all=y
 EROFS_FS_PCPU_KTHREAD all=y
 EROFS_FS_PCPU_KTHREAD_HIPRI all=y
 EROFS_FS_PAGE_CACHE_SHARE all=y
@@ -13917,6 +13928,7 @@ PRINTK_INDEX all=y
 UCLAMP_TASK all=y
 UCLAMP_BUCKETS_COUNT all=5
 NUMA_BALANCING all=y
+SCHED_CACHE all=y
 NUMA_BALANCING_DEFAULT_ENABLED all=y
 CGROUPS all=y
 CGROUP_FAVOR_DYNMODS all=n
@@ -13984,6 +13996,7 @@ KALLSYMS_ALL all=y
 PERF_EVENTS all=y
 DEBUG_PERF_USE_VMALLOC all=n
 PROFILING all=y
+#- file rust/kernel/Kconfig.test goes here
 #- file kernel/Kconfig.kexec goes here
 #- file kernel/liveupdate/Kconfig goes here
 #- file arch/Kconfig goes here
@@ -14041,6 +14054,7 @@ SWIOTLB_DYNAMIC all=y
 DMA_RESTRICTED_POOL all=n
 DMA_CMA all=y
 DMA_NUMA_CMA all=y
+CMA_SIZE_PERNUMA all=y
 #- Default contiguous memory area size:
 CMA_SIZE_MBYTES all=64
 CMA_SIZE_SEL_MBYTES all=y
@@ -14217,6 +14231,7 @@ FTRACE_STARTUP_TEST all=n
 FTRACE_SORT_STARTUP_TEST all=n
 RING_BUFFER_STARTUP_TEST all=n
 RING_BUFFER_VALIDATE_TIME_DELTAS all=n
+RING_BUFFER_PERSISTENT_INJECT all=n
 PREEMPTIRQ_DELAY_TEST all=m
 SYNTH_EVENT_GEN_TEST all=m
 KPROBE_EVENT_GEN_TEST all=m
@@ -14292,7 +14307,6 @@ RV_MON_WWNR all=y
 #-
 #- *** FILE: lib/Kconfig ***
 #-
-RAID6_PQ_BENCHMARK all=y
 PACKING arm=y arm64=y
 #- file lib/math/Kconfig goes here
 INDIRECT_PIO arm64=n
@@ -14578,6 +14592,11 @@ KUNIT_EXAMPLE_TEST all=n
 CORDIC all=m
 PRIME_NUMBERS all=m
 
+#-
+#- *** FILE: lib/raid/Kconfig ***
+#-
+RAID6_PQ_BENCHMARK all=y
+
 #-
 #- *** FILE: lib/xz/Kconfig ***
 #-
@@ -14612,7 +14631,8 @@ SLAB_FREELIST_RANDOM all=y
 SLAB_FREELIST_HARDENED all=y
 SLAB_BUCKETS all=y
 SLUB_STATS all=n
-RANDOM_KMALLOC_CACHES all=y
+KMALLOC_PARTITION_CACHES all=y
+KMALLOC_PARTITION_RANDOM all=y
 SHUFFLE_PAGE_ALLOCATOR all=y
 COMPAT_BRK all=n
 FLATMEM_MANUAL all=n alpha=y arm=y arm64=n ppc=y sparc=y sparc64=n
@@ -14647,7 +14667,6 @@ TRANSPARENT_HUGEPAGE_TMPFS_HUGE_NEVER all=y
 TRANSPARENT_HUGEPAGE_TMPFS_HUGE_ALWAYS all=n
 TRANSPARENT_HUGEPAGE_TMPFS_HUGE_WITHIN_SIZE all=n
 TRANSPARENT_HUGEPAGE_TMPFS_HUGE_ADVISE all=n
-READ_ONLY_THP_FOR_FS all=n
 NO_PAGE_MAPCOUNT all=n
 CMA all=y
 CMA_DEBUGFS all=n
@@ -14777,7 +14796,6 @@ BRIDGE_NETFILTER all=m
 #- file net/dsa/Kconfig goes here
 #- file net/8021q/Kconfig goes here
 #- file net/llc/Kconfig goes here
-#- file net/appletalk/Kconfig goes here
 #- file net/x25/Kconfig goes here
 #- file net/lapb/Kconfig goes here
 #- file net/phonet/Kconfig goes here
@@ -14837,11 +14855,6 @@ NET_NS_REFCNT_TRACKER all=n
 DEBUG_NET all=n
 DEBUG_NET_SMALL_RTNL all=n
 
-#-
-#- *** FILE: net/appletalk/Kconfig ***
-#-
-ATALK all=m
-
 #-
 #- *** FILE: net/atm/Kconfig ***
 #-
@@ -14986,6 +14999,7 @@ NET_DSA_TAG_MTK all=m
 NET_DSA_TAG_MXL_862XX all=m
 NET_DSA_TAG_MXL_GSW1XX all=m
 NET_DSA_TAG_KSZ all=m
+NET_DSA_TAG_NETC all=m
 NET_DSA_TAG_OCELOT all=m
 NET_DSA_TAG_OCELOT_8021Q all=m
 NET_DSA_TAG_QCA all=m
@@ -15670,9 +15684,6 @@ SMC_HS_CTRL_BPF all=y
 #- *** FILE: net/sunrpc/Kconfig ***
 #-
 RPCSEC_GSS_KRB5 all=m
-RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1 all=y
-RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA all=y
-RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 all=y
 SUNRPC_DEBUG all=y
 SUNRPC_DEBUG_TRACE all=n
 SUNRPC_XPRT_RDMA all=m
@@ -15696,7 +15707,6 @@ TIPC_DIAG all=m
 #-
 TLS all=m
 TLS_DEVICE all=y
-TLS_TOE all=n
 
 #-
 #- *** FILE: net/unix/Kconfig ***
@@ -15883,6 +15893,7 @@ KEY_NOTIFICATIONS all=y
 #-
 #- *** FILE: security/keys/trusted-keys/Kconfig ***
 #-
+TRUSTED_KEYS_DEBUG all=n
 TRUSTED_KEYS_TPM all=y
 TRUSTED_KEYS_TEE all=y
 #- No trust source selected!
@@ -16368,6 +16379,7 @@ SND_SOC_AMD_ACP63_TOPLEVEL all=m
 SND_SOC_AMD_SOUNDWIRE all=m
 SND_SOC_AMD_PS all=m
 SND_SOC_AMD_PS_MACH all=m
+SND_SOC_AMD_ACP7X x86=m
 
 #-
 #- *** FILE: sound/soc/amd/acp/Kconfig ***
@@ -16464,6 +16476,7 @@ SND_SOC_CS4265 all=m
 SND_SOC_CS4270 all=m
 SND_SOC_CS4271_I2C all=m
 SND_SOC_CS4271_SPI all=m
+SND_SOC_CS42XX8_SPI all=m
 SND_SOC_CS42XX8_I2C all=m
 SND_SOC_CS43130 all=m
 SND_SOC_CS4341 all=m
@@ -16570,6 +16583,7 @@ SND_SOC_SSM4567 all=m
 SND_SOC_STA32X all=m
 SND_SOC_STA350 all=m
 SND_SOC_STI_SAS all=m
+SND_SOC_TAC5XX2_SDW all=m
 SND_SOC_TAS2552 all=m
 SND_SOC_TAS2562 all=m
 SND_SOC_TAS2764 all=m
@@ -16582,6 +16596,7 @@ SND_SOC_TAS571X all=m
 SND_SOC_TAS5720 all=m
 SND_SOC_TAS5805M all=m
 SND_SOC_TAS6424 all=m
+SND_SOC_TAS675X all=m
 SND_SOC_TDA7419 all=m
 SND_SOC_TFA9879 all=m
 SND_SOC_TFA989X=m
@@ -16994,6 +17009,13 @@ RD_ZSTD all=y
 #-
 #- *** PROBABLY REMOVED OPTIONS ***
 #-
+APPLICOM all=m
+ARCNET_COM20020_CS all=m
+ARCNET_COM20020_ISA alpha=m i386=m
+ARCNET_COM90xx all=m
+ARCNET_COM90xxIO all=m
+ARCNET_RIM_I all=m
+ATALK all=m
 BATMAN_ADV_NC all=y
 BCACHEFS_ASYNC_OBJECT_LISTS all=n
 BCACHEFS_DEBUG all=n
@@ -17009,6 +17031,9 @@ BCACHEFS_TESTS all=y
 BCACHEFS_TRANS_KMALLOC_TRACE all=n
 BOUNCE all=y
 BTRFS_FS_REF_VERIFY all=n
+BT_HCIBLUECARD all=m
+BT_HCIBT3C all=m
+BT_HCIDTL1 all=m
 CRYPTO_ANSI_CPRNG all=m
 CRYPTO_BLAKE2B_NEON arm=m
 CRYPTO_BLAKE2S_ARM arm=y
@@ -17016,34 +17041,77 @@ CRYPTO_BLAKE2S_X86 x86_64=y
 CRYPTO_CURVE25519 all=m
 CRYPTO_CURVE25519_NEON arm=m
 CRYPTO_CURVE25519_X86 all=m
+CRYPTO_DEV_CHELSIO_TLS all=m
+CRYPTO_DEV_HISI_TRNG arm64=m
+CRYPTO_DRBG_CTR all=y
+CRYPTO_DRBG_HASH all=y
+CRYPTO_DRBG_MENU all=y
+CRYPTO_FCRYPT all=m
+CRYPTO_PCBC all=m
 CRYPTO_POLYVAL_ARM64_CE arm64=m
 CRYPTO_POLYVAL_CLMUL_NI all=m
 CRYPTO_SHA3_ARM64 arm64=m
+CS89x0_ISA all=m
 DEBUG_FS_DISALLOW_MOUNT all=n
 DMABUF_HEAPS_CMA_LEGACY all=y
+DMABUF_SELFTESTS all=m
 DRM_NOUVEAU_GSP_DEFAULT all=n
+DTLK all=m
 DVB_C8SECTPFE arm=m
 EDAC_LEGACY_SYSFS all=y
+EROFS_FS_ONDEMAND all=y
 EXT3_FS all=n
 EXT3_FS_POSIX_ACL all=y
 EXT3_FS_SECURITY all=y
+EZX_PCAP all=y
+FB_HGA i386=m x86_64=m
+GPIO_TS5500 all=m
+HYPERV_IOMMU all=y
+IIO_INTERRUPT_TRIGGER all=m
+INPUT_PCAP all=m
 IOMMU_IO_PGTABLE_LPAE_SELFTEST arm=n arm64=n
 KEYBOARD_TCA6416 all=m
+MACHZ_WDT i386=m x86_64=m
+MDA_CONSOLE alpha=m i386=m
 MFD_WL1273_CORE all=m
 MICREL_KS8995MA all=m
 MOST_I2C all=m
+MTD_IMPA7 arm=m
+MTD_NETSC520 i386=m x86_64=m
+MTD_NETtel i386=m x86_64=m
+MTD_SC520CDP i386=m x86_64=m
+MTD_TS5500 i386=m x86_64=m
 RADIO_WL1273 all=m
+READ_ONLY_THP_FOR_FS all=n
+REGULATOR_PCAP all=m
+RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1 all=y
+RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 all=y
+RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA all=y
+RTC_DRV_PCAP all=m
+SC520_WDT i386=m x86_64=m
 SCTP_COOKIE_HMAC_SHA1 all=y
 SCTP_DEFAULT_COOKIE_HMAC_MD5 all=n
 SCTP_DEFAULT_COOKIE_HMAC_SHA1 all=n
+SENSORS_APDS990X all=m
 SERIAL_8250_DEPRECATED_OPTIONS all=y
+SERIO_XILINX_XPS_PS2 all=m
 SLIM_QCOM_CTRL all=m
 SMC_LO all=y
 SND_BCM2708_SOC_HIFIBERRY_DAC arm=m arm64=m
 SND_RPI_SIMPLE_SOUNDCARD arm=m arm64=m
 SND_RPI_WM8804_SOUNDCARD arm=m arm64=m
 SPI_MICROCHIP_CORE all=m
+SYNCLINK_GT all=m
+TLS_TOE all=n
+TOUCHSCREEN_PCAP all=m
+USB_CDNSP_GADGET all=y
+USB_CDNSP_HOST all=y
 VIDEO_ATOMISP_GC0310 all=m
 VIDEO_BCM2835 arm=m arm64=m
 VIDEO_OV6650 all=m
+WIZNET_BUS_ANY all=y
+WIZNET_BUS_DIRECT all=n
+WIZNET_BUS_INDIRECT all=n
+WIZNET_W5100_SPI all=m
+WIZNET_W5300 all=m
 ZSWAP_ZPOOL_DEFAULT_ZSMALLOC all=y
diff --git a/kernel-patches.config b/kernel-patches.config
index 6edb40c7..25a882f2 100644
--- a/kernel-patches.config
+++ b/kernel-patches.config
@@ -1,9 +1,4 @@
 
-#-
-#- *** FILE: drivers/atm/Kconfig ***
-#-
-ATM_DD all=m
-
 #-
 #- *** FILE: fs/aufs/Kconfig ***
 #-
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/0f97beb8f741ca228c6db2aa2e9234d0097362d6



More information about the pld-cvs-commit mailing list