The following commit has been merged in the master branch:
commit b261d2222063a9a8b9ec284244c285f2998ee01e
Author: Eric Biggers <[email protected]>
Date:   Tue Apr 1 15:16:00 2025 -0700

    lib/crc: remove CONFIG_LIBCRC32C
    
    Now that LIBCRC32C does nothing besides select CRC32, make every option
    that selects LIBCRC32C instead select CRC32 directly.  Then remove
    LIBCRC32C.
    
    Reviewed-by: Christoph Hellwig <[email protected]>
    Reviewed-by: "Martin K. Petersen" <[email protected]>
    Acked-by: Ard Biesheuvel <[email protected]>
    Link: https://lore.kernel.org/r/[email protected]
    Signed-off-by: Eric Biggers <[email protected]>

diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
index a97f2c40c640d..2551ebf88dda1 100644
--- a/drivers/block/Kconfig
+++ b/drivers/block/Kconfig
@@ -367,7 +367,7 @@ config BLK_DEV_RBD
        tristate "Rados block device (RBD)"
        depends on INET && BLOCK
        select CEPH_LIB
-       select LIBCRC32C
+       select CRC32
        select CRYPTO_AES
        select CRYPTO
        help
diff --git a/drivers/block/drbd/Kconfig b/drivers/block/drbd/Kconfig
index 6fb4e38fca88c..495a72da04c6c 100644
--- a/drivers/block/drbd/Kconfig
+++ b/drivers/block/drbd/Kconfig
@@ -10,7 +10,7 @@ config BLK_DEV_DRBD
        tristate "DRBD Distributed Replicated Block Device support"
        depends on PROC_FS && INET
        select LRU_CACHE
-       select LIBCRC32C
+       select CRC32
        help
 
          NOTE: In order to authenticate connections you have to select
diff --git a/drivers/md/Kconfig b/drivers/md/Kconfig
index 0b1870a09e1fd..2c26a02391cde 100644
--- a/drivers/md/Kconfig
+++ b/drivers/md/Kconfig
@@ -139,7 +139,7 @@ config MD_RAID456
        tristate "RAID-4/RAID-5/RAID-6 mode"
        depends on BLK_DEV_MD
        select RAID6_PQ
-       select LIBCRC32C
+       select CRC32
        select ASYNC_MEMCPY
        select ASYNC_XOR
        select ASYNC_PQ
diff --git a/drivers/md/persistent-data/Kconfig 
b/drivers/md/persistent-data/Kconfig
index f4f948b0e1731..dbb97a7233ab9 100644
--- a/drivers/md/persistent-data/Kconfig
+++ b/drivers/md/persistent-data/Kconfig
@@ -2,7 +2,7 @@
 config DM_PERSISTENT_DATA
        tristate
        depends on BLK_DEV_DM
-       select LIBCRC32C
+       select CRC32
        select DM_BUFIO
        help
         Library providing immutable on-disk data structure support for
diff --git a/drivers/net/ethernet/broadcom/Kconfig 
b/drivers/net/ethernet/broadcom/Kconfig
index eeec8bf17cf45..1bd4313215d71 100644
--- a/drivers/net/ethernet/broadcom/Kconfig
+++ b/drivers/net/ethernet/broadcom/Kconfig
@@ -143,7 +143,7 @@ config BNX2X
        depends on PTP_1588_CLOCK_OPTIONAL
        select FW_LOADER
        select ZLIB_INFLATE
-       select LIBCRC32C
+       select CRC32
        select MDIO
        help
          This driver supports Broadcom NetXtremeII 10 gigabit Ethernet cards.
@@ -207,7 +207,7 @@ config BNXT
        depends on PCI
        depends on PTP_1588_CLOCK_OPTIONAL
        select FW_LOADER
-       select LIBCRC32C
+       select CRC32
        select NET_DEVLINK
        select PAGE_POOL
        select DIMLIB
diff --git a/drivers/net/ethernet/cavium/Kconfig 
b/drivers/net/ethernet/cavium/Kconfig
index ca742cc146d79..7dae5aad3689d 100644
--- a/drivers/net/ethernet/cavium/Kconfig
+++ b/drivers/net/ethernet/cavium/Kconfig
@@ -70,8 +70,8 @@ config LIQUIDIO
        depends on 64BIT && PCI
        depends on PCI
        depends on PTP_1588_CLOCK_OPTIONAL
+       select CRC32
        select FW_LOADER
-       select LIBCRC32C
        select LIQUIDIO_CORE
        select NET_DEVLINK
        help
diff --git a/fs/bcachefs/Kconfig b/fs/bcachefs/Kconfig
index c9798750202d3..ea668dedb2608 100644
--- a/fs/bcachefs/Kconfig
+++ b/fs/bcachefs/Kconfig
@@ -4,7 +4,7 @@ config BCACHEFS_FS
        depends on BLOCK
        select EXPORTFS
        select CLOSURES
-       select LIBCRC32C
+       select CRC32
        select CRC64
        select FS_POSIX_ACL
        select LZ4_COMPRESS
diff --git a/fs/btrfs/Kconfig b/fs/btrfs/Kconfig
index fa8515598341e..73a2dfb854c55 100644
--- a/fs/btrfs/Kconfig
+++ b/fs/btrfs/Kconfig
@@ -3,9 +3,9 @@
 config BTRFS_FS
        tristate "Btrfs filesystem support"
        select BLK_CGROUP_PUNT_BIO
+       select CRC32
        select CRYPTO
        select CRYPTO_CRC32C
-       select LIBCRC32C
        select CRYPTO_XXHASH
        select CRYPTO_SHA256
        select CRYPTO_BLAKE2B
diff --git a/fs/ceph/Kconfig b/fs/ceph/Kconfig
index 7249d70e1a43f..3e7def3d31c16 100644
--- a/fs/ceph/Kconfig
+++ b/fs/ceph/Kconfig
@@ -3,7 +3,7 @@ config CEPH_FS
        tristate "Ceph distributed file system"
        depends on INET
        select CEPH_LIB
-       select LIBCRC32C
+       select CRC32
        select CRYPTO_AES
        select CRYPTO
        select NETFS_SUPPORT
diff --git a/fs/erofs/Kconfig b/fs/erofs/Kconfig
index 331e49cd1b8d9..8f68ec49ad897 100644
--- a/fs/erofs/Kconfig
+++ b/fs/erofs/Kconfig
@@ -3,8 +3,8 @@
 config EROFS_FS
        tristate "EROFS filesystem support"
        depends on BLOCK
+       select CRC32
        select FS_IOMAP
-       select LIBCRC32C
        help
          EROFS (Enhanced Read-Only File System) is a lightweight read-only
          file system with modern designs (e.g. no buffer heads, inline
diff --git a/fs/gfs2/Kconfig b/fs/gfs2/Kconfig
index be7f87a8e11ae..7bd231d16d4a0 100644
--- a/fs/gfs2/Kconfig
+++ b/fs/gfs2/Kconfig
@@ -4,7 +4,6 @@ config GFS2_FS
        select BUFFER_HEAD
        select FS_POSIX_ACL
        select CRC32
-       select LIBCRC32C
        select QUOTACTL
        select FS_IOMAP
        help
diff --git a/fs/xfs/Kconfig b/fs/xfs/Kconfig
index fffd6fffdce0f..ae0ca68584963 100644
--- a/fs/xfs/Kconfig
+++ b/fs/xfs/Kconfig
@@ -3,7 +3,7 @@ config XFS_FS
        tristate "XFS filesystem support"
        depends on BLOCK
        select EXPORTFS
-       select LIBCRC32C
+       select CRC32
        select FS_IOMAP
        help
          XFS is a high performance journaling filesystem which originated
diff --git a/lib/Kconfig b/lib/Kconfig
index 4e796eaea2f4f..6c1b8f1842678 100644
--- a/lib/Kconfig
+++ b/lib/Kconfig
@@ -208,13 +208,6 @@ config CRC7
          The CRC7 library functions.  Select this if your module uses any of
          the functions from <linux/crc7.h>.
 
-config LIBCRC32C
-       tristate
-       select CRC32
-       help
-         This option just selects CRC32 and is provided for compatibility
-         purposes until the users are updated to select CRC32 directly.
-
 config CRC8
        tristate
        help
diff --git a/net/batman-adv/Kconfig b/net/batman-adv/Kconfig
index 860a0786bc1e4..20b316207f9aa 100644
--- a/net/batman-adv/Kconfig
+++ b/net/batman-adv/Kconfig
@@ -9,7 +9,7 @@
 
 config BATMAN_ADV
        tristate "B.A.T.M.A.N. Advanced Meshing Protocol"
-       select LIBCRC32C
+       select CRC32
        help
          B.A.T.M.A.N. (better approach to mobile ad-hoc networking) is
          a routing protocol for multi-hop ad-hoc mesh networks. The
diff --git a/net/ceph/Kconfig b/net/ceph/Kconfig
index c5c4eef3a9ff1..0aa21fcbf6ece 100644
--- a/net/ceph/Kconfig
+++ b/net/ceph/Kconfig
@@ -2,7 +2,7 @@
 config CEPH_LIB
        tristate "Ceph core library"
        depends on INET
-       select LIBCRC32C
+       select CRC32
        select CRYPTO_AES
        select CRYPTO_CBC
        select CRYPTO_GCM
diff --git a/net/netfilter/Kconfig b/net/netfilter/Kconfig
index df2dc21304efb..047ba81865edf 100644
--- a/net/netfilter/Kconfig
+++ b/net/netfilter/Kconfig
@@ -212,7 +212,7 @@ config NF_CT_PROTO_SCTP
        bool 'SCTP protocol connection tracking support'
        depends on NETFILTER_ADVANCED
        default y
-       select LIBCRC32C
+       select CRC32
        help
          With this option enabled, the layer 3 independent connection
          tracking code will be able to do state tracking on SCTP connections.
@@ -475,7 +475,7 @@ endif # NF_CONNTRACK
 
 config NF_TABLES
        select NETFILTER_NETLINK
-       select LIBCRC32C
+       select CRC32
        tristate "Netfilter nf_tables support"
        help
          nftables is the new packet classification framework that intends to
diff --git a/net/netfilter/ipvs/Kconfig b/net/netfilter/ipvs/Kconfig
index 2a3017b9c001b..8c5b1fe12d078 100644
--- a/net/netfilter/ipvs/Kconfig
+++ b/net/netfilter/ipvs/Kconfig
@@ -105,7 +105,7 @@ config      IP_VS_PROTO_AH
 
 config  IP_VS_PROTO_SCTP
        bool "SCTP load balancing support"
-       select LIBCRC32C
+       select CRC32
        help
          This option enables support for load balancing SCTP transport
          protocol. Say Y if unsure.
diff --git a/net/openvswitch/Kconfig b/net/openvswitch/Kconfig
index 2535f3f9f4623..5481bd561eb41 100644
--- a/net/openvswitch/Kconfig
+++ b/net/openvswitch/Kconfig
@@ -11,7 +11,7 @@ config OPENVSWITCH
                                     (!NF_NAT || NF_NAT) && \
                                     (!NETFILTER_CONNCOUNT || 
NETFILTER_CONNCOUNT)))
        depends on PSAMPLE || !PSAMPLE
-       select LIBCRC32C
+       select CRC32
        select MPLS
        select NET_MPLS_GSO
        select DST_CACHE
diff --git a/net/sched/Kconfig b/net/sched/Kconfig
index 8180d0c12fcea..a800127effcd7 100644
--- a/net/sched/Kconfig
+++ b/net/sched/Kconfig
@@ -784,7 +784,7 @@ config NET_ACT_SKBEDIT
 config NET_ACT_CSUM
        tristate "Checksum Updating"
        depends on NET_CLS_ACT && INET
-       select LIBCRC32C
+       select CRC32
        help
          Say Y here to update some common checksum after some direct
          packet alterations.
diff --git a/net/sctp/Kconfig b/net/sctp/Kconfig
index 5da599ff84a90..d18a72df3654e 100644
--- a/net/sctp/Kconfig
+++ b/net/sctp/Kconfig
@@ -7,10 +7,10 @@ menuconfig IP_SCTP
        tristate "The SCTP Protocol"
        depends on INET
        depends on IPV6 || IPV6=n
+       select CRC32
        select CRYPTO
        select CRYPTO_HMAC
        select CRYPTO_SHA1
-       select LIBCRC32C
        select NET_UDP_TUNNEL
        help
          Stream Control Transmission Protocol

-- 
LinuxNextTracking

Reply via email to