lib/crc/Kconfig

Source file repositories/reference/linux-study-clean/lib/crc/Kconfig

File Facts

System
Linux kernel
Corpus path
lib/crc/Kconfig
Extension
[no extension]
Size
3494 bytes
Lines
131
Domain
Kernel Services
Bucket
lib
Inferred role
Kernel Services: build/configuration rule
Status
atlas-only

Why This File Exists

Shared kernel service surface used by multiple subsystems, including helpers, cryptography, virtualization support, and async I/O infrastructure.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0-only

# Kconfig for the kernel's cyclic redundancy check (CRC) library code

config CRC4
	tristate
	help
	  The CRC4 library functions.  Select this if your module uses any of
	  the functions from <linux/crc4.h>.

config CRC7
	tristate
	help
	  The CRC7 library functions.  Select this if your module uses any of
	  the functions from <linux/crc7.h>.

config CRC8
	tristate
	help
	  The CRC8 library functions.  Select this if your module uses any of
	  the functions from <linux/crc8.h>.

config CRC16
	tristate
	help
	  The CRC16 library functions.  Select this if your module uses any of
	  the functions from <linux/crc16.h>.

config CRC_CCITT
	tristate
	help
	  The CRC-CCITT library functions.  Select this if your module uses any
	  of the functions from <linux/crc-ccitt.h>.

config CRC_ITU_T
	tristate
	help
	  The CRC-ITU-T library functions.  Select this if your module uses
	  any of the functions from <linux/crc-itu-t.h>.

config CRC_T10DIF
	tristate
	help
	  The CRC-T10DIF library functions.  Select this if your module uses
	  any of the functions from <linux/crc-t10dif.h>.

config CRC_T10DIF_ARCH
	bool
	depends on CRC_T10DIF && CRC_OPTIMIZATIONS
	default y if ARM && KERNEL_MODE_NEON
	default y if ARM64
	default y if PPC64 && ALTIVEC
	default y if RISCV && RISCV_ISA_ZBC
	default y if X86

config CRC32
	tristate
	select BITREVERSE
	help
	  The CRC32 library functions.  Select this if your module uses any of
	  the functions from <linux/crc32.h> or <linux/crc32c.h>.

config CRC32_ARCH
	bool
	depends on CRC32 && CRC_OPTIMIZATIONS
	default y if ARM && KERNEL_MODE_NEON
	default y if ARM64
	default y if LOONGARCH && 64BIT
	default y if MIPS && CPU_MIPSR6
	default y if PPC64 && ALTIVEC

Annotation

Implementation Notes