18c2ecf20Sopenharmony_ci==================== 28c2ecf20Sopenharmony_ciThe Linux Kernel API 38c2ecf20Sopenharmony_ci==================== 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci 68c2ecf20Sopenharmony_ciList Management Functions 78c2ecf20Sopenharmony_ci========================= 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/list.h 108c2ecf20Sopenharmony_ci :internal: 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciBasic C Library Functions 138c2ecf20Sopenharmony_ci========================= 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciWhen writing drivers, you cannot in general use routines which are from 168c2ecf20Sopenharmony_cithe C Library. Some of the functions have been found generally useful 178c2ecf20Sopenharmony_ciand they are listed below. The behaviour of these functions may vary 188c2ecf20Sopenharmony_cislightly from those defined by ANSI, and these deviations are noted in 198c2ecf20Sopenharmony_cithe text. 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciString Conversions 228c2ecf20Sopenharmony_ci------------------ 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci.. kernel-doc:: lib/vsprintf.c 258c2ecf20Sopenharmony_ci :export: 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/kstrtox.h 288c2ecf20Sopenharmony_ci :functions: kstrtol kstrtoul 298c2ecf20Sopenharmony_ci 308c2ecf20Sopenharmony_ci.. kernel-doc:: lib/kstrtox.c 318c2ecf20Sopenharmony_ci :export: 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci.. kernel-doc:: lib/string_helpers.c 348c2ecf20Sopenharmony_ci :export: 358c2ecf20Sopenharmony_ci 368c2ecf20Sopenharmony_ciString Manipulation 378c2ecf20Sopenharmony_ci------------------- 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci.. kernel-doc:: lib/string.c 408c2ecf20Sopenharmony_ci :export: 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/string.h 438c2ecf20Sopenharmony_ci :internal: 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ci.. kernel-doc:: mm/util.c 468c2ecf20Sopenharmony_ci :functions: kstrdup kstrdup_const kstrndup kmemdup kmemdup_nul memdup_user 478c2ecf20Sopenharmony_ci vmemdup_user strndup_user memdup_user_nul 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_ciBasic Kernel Library Functions 508c2ecf20Sopenharmony_ci============================== 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ciThe Linux kernel provides more basic utility functions. 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ciBit Operations 558c2ecf20Sopenharmony_ci-------------- 568c2ecf20Sopenharmony_ci 578c2ecf20Sopenharmony_ci.. kernel-doc:: include/asm-generic/bitops/instrumented-atomic.h 588c2ecf20Sopenharmony_ci :internal: 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci.. kernel-doc:: include/asm-generic/bitops/instrumented-non-atomic.h 618c2ecf20Sopenharmony_ci :internal: 628c2ecf20Sopenharmony_ci 638c2ecf20Sopenharmony_ci.. kernel-doc:: include/asm-generic/bitops/instrumented-lock.h 648c2ecf20Sopenharmony_ci :internal: 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ciBitmap Operations 678c2ecf20Sopenharmony_ci----------------- 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ci.. kernel-doc:: lib/bitmap.c 708c2ecf20Sopenharmony_ci :doc: bitmap introduction 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/bitmap.h 738c2ecf20Sopenharmony_ci :doc: declare bitmap 748c2ecf20Sopenharmony_ci 758c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/bitmap.h 768c2ecf20Sopenharmony_ci :doc: bitmap overview 778c2ecf20Sopenharmony_ci 788c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/bitmap.h 798c2ecf20Sopenharmony_ci :doc: bitmap bitops 808c2ecf20Sopenharmony_ci 818c2ecf20Sopenharmony_ci.. kernel-doc:: lib/bitmap.c 828c2ecf20Sopenharmony_ci :export: 838c2ecf20Sopenharmony_ci 848c2ecf20Sopenharmony_ci.. kernel-doc:: lib/bitmap.c 858c2ecf20Sopenharmony_ci :internal: 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/bitmap.h 888c2ecf20Sopenharmony_ci :internal: 898c2ecf20Sopenharmony_ci 908c2ecf20Sopenharmony_ciCommand-line Parsing 918c2ecf20Sopenharmony_ci-------------------- 928c2ecf20Sopenharmony_ci 938c2ecf20Sopenharmony_ci.. kernel-doc:: lib/cmdline.c 948c2ecf20Sopenharmony_ci :export: 958c2ecf20Sopenharmony_ci 968c2ecf20Sopenharmony_ciSorting 978c2ecf20Sopenharmony_ci------- 988c2ecf20Sopenharmony_ci 998c2ecf20Sopenharmony_ci.. kernel-doc:: lib/sort.c 1008c2ecf20Sopenharmony_ci :export: 1018c2ecf20Sopenharmony_ci 1028c2ecf20Sopenharmony_ci.. kernel-doc:: lib/list_sort.c 1038c2ecf20Sopenharmony_ci :export: 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ciText Searching 1068c2ecf20Sopenharmony_ci-------------- 1078c2ecf20Sopenharmony_ci 1088c2ecf20Sopenharmony_ci.. kernel-doc:: lib/textsearch.c 1098c2ecf20Sopenharmony_ci :doc: ts_intro 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci.. kernel-doc:: lib/textsearch.c 1128c2ecf20Sopenharmony_ci :export: 1138c2ecf20Sopenharmony_ci 1148c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/textsearch.h 1158c2ecf20Sopenharmony_ci :functions: textsearch_find textsearch_next \ 1168c2ecf20Sopenharmony_ci textsearch_get_pattern textsearch_get_pattern_len 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ciCRC and Math Functions in Linux 1198c2ecf20Sopenharmony_ci=============================== 1208c2ecf20Sopenharmony_ci 1218c2ecf20Sopenharmony_ciCRC Functions 1228c2ecf20Sopenharmony_ci------------- 1238c2ecf20Sopenharmony_ci 1248c2ecf20Sopenharmony_ci.. kernel-doc:: lib/crc4.c 1258c2ecf20Sopenharmony_ci :export: 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ci.. kernel-doc:: lib/crc7.c 1288c2ecf20Sopenharmony_ci :export: 1298c2ecf20Sopenharmony_ci 1308c2ecf20Sopenharmony_ci.. kernel-doc:: lib/crc8.c 1318c2ecf20Sopenharmony_ci :export: 1328c2ecf20Sopenharmony_ci 1338c2ecf20Sopenharmony_ci.. kernel-doc:: lib/crc16.c 1348c2ecf20Sopenharmony_ci :export: 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci.. kernel-doc:: lib/crc32.c 1378c2ecf20Sopenharmony_ci 1388c2ecf20Sopenharmony_ci.. kernel-doc:: lib/crc-ccitt.c 1398c2ecf20Sopenharmony_ci :export: 1408c2ecf20Sopenharmony_ci 1418c2ecf20Sopenharmony_ci.. kernel-doc:: lib/crc-itu-t.c 1428c2ecf20Sopenharmony_ci :export: 1438c2ecf20Sopenharmony_ci 1448c2ecf20Sopenharmony_ciBase 2 log and power Functions 1458c2ecf20Sopenharmony_ci------------------------------ 1468c2ecf20Sopenharmony_ci 1478c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/log2.h 1488c2ecf20Sopenharmony_ci :internal: 1498c2ecf20Sopenharmony_ci 1508c2ecf20Sopenharmony_ciInteger power Functions 1518c2ecf20Sopenharmony_ci----------------------- 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_ci.. kernel-doc:: lib/math/int_pow.c 1548c2ecf20Sopenharmony_ci :export: 1558c2ecf20Sopenharmony_ci 1568c2ecf20Sopenharmony_ci.. kernel-doc:: lib/math/int_sqrt.c 1578c2ecf20Sopenharmony_ci :export: 1588c2ecf20Sopenharmony_ci 1598c2ecf20Sopenharmony_ciDivision Functions 1608c2ecf20Sopenharmony_ci------------------ 1618c2ecf20Sopenharmony_ci 1628c2ecf20Sopenharmony_ci.. kernel-doc:: include/asm-generic/div64.h 1638c2ecf20Sopenharmony_ci :functions: do_div 1648c2ecf20Sopenharmony_ci 1658c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/math64.h 1668c2ecf20Sopenharmony_ci :internal: 1678c2ecf20Sopenharmony_ci 1688c2ecf20Sopenharmony_ci.. kernel-doc:: lib/math/div64.c 1698c2ecf20Sopenharmony_ci :functions: div_s64_rem div64_u64_rem div64_u64 div64_s64 1708c2ecf20Sopenharmony_ci 1718c2ecf20Sopenharmony_ci.. kernel-doc:: lib/math/gcd.c 1728c2ecf20Sopenharmony_ci :export: 1738c2ecf20Sopenharmony_ci 1748c2ecf20Sopenharmony_ciUUID/GUID 1758c2ecf20Sopenharmony_ci--------- 1768c2ecf20Sopenharmony_ci 1778c2ecf20Sopenharmony_ci.. kernel-doc:: lib/uuid.c 1788c2ecf20Sopenharmony_ci :export: 1798c2ecf20Sopenharmony_ci 1808c2ecf20Sopenharmony_ciKernel IPC facilities 1818c2ecf20Sopenharmony_ci===================== 1828c2ecf20Sopenharmony_ci 1838c2ecf20Sopenharmony_ciIPC utilities 1848c2ecf20Sopenharmony_ci------------- 1858c2ecf20Sopenharmony_ci 1868c2ecf20Sopenharmony_ci.. kernel-doc:: ipc/util.c 1878c2ecf20Sopenharmony_ci :internal: 1888c2ecf20Sopenharmony_ci 1898c2ecf20Sopenharmony_ciFIFO Buffer 1908c2ecf20Sopenharmony_ci=========== 1918c2ecf20Sopenharmony_ci 1928c2ecf20Sopenharmony_cikfifo interface 1938c2ecf20Sopenharmony_ci--------------- 1948c2ecf20Sopenharmony_ci 1958c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/kfifo.h 1968c2ecf20Sopenharmony_ci :internal: 1978c2ecf20Sopenharmony_ci 1988c2ecf20Sopenharmony_cirelay interface support 1998c2ecf20Sopenharmony_ci======================= 2008c2ecf20Sopenharmony_ci 2018c2ecf20Sopenharmony_ciRelay interface support is designed to provide an efficient mechanism 2028c2ecf20Sopenharmony_cifor tools and facilities to relay large amounts of data from kernel 2038c2ecf20Sopenharmony_cispace to user space. 2048c2ecf20Sopenharmony_ci 2058c2ecf20Sopenharmony_cirelay interface 2068c2ecf20Sopenharmony_ci--------------- 2078c2ecf20Sopenharmony_ci 2088c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/relay.c 2098c2ecf20Sopenharmony_ci :export: 2108c2ecf20Sopenharmony_ci 2118c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/relay.c 2128c2ecf20Sopenharmony_ci :internal: 2138c2ecf20Sopenharmony_ci 2148c2ecf20Sopenharmony_ciModule Support 2158c2ecf20Sopenharmony_ci============== 2168c2ecf20Sopenharmony_ci 2178c2ecf20Sopenharmony_ciModule Loading 2188c2ecf20Sopenharmony_ci-------------- 2198c2ecf20Sopenharmony_ci 2208c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/kmod.c 2218c2ecf20Sopenharmony_ci :export: 2228c2ecf20Sopenharmony_ci 2238c2ecf20Sopenharmony_ciInter Module support 2248c2ecf20Sopenharmony_ci-------------------- 2258c2ecf20Sopenharmony_ci 2268c2ecf20Sopenharmony_ciRefer to the file kernel/module.c for more information. 2278c2ecf20Sopenharmony_ci 2288c2ecf20Sopenharmony_ciHardware Interfaces 2298c2ecf20Sopenharmony_ci=================== 2308c2ecf20Sopenharmony_ci 2318c2ecf20Sopenharmony_ciDMA Channels 2328c2ecf20Sopenharmony_ci------------ 2338c2ecf20Sopenharmony_ci 2348c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/dma.c 2358c2ecf20Sopenharmony_ci :export: 2368c2ecf20Sopenharmony_ci 2378c2ecf20Sopenharmony_ciResources Management 2388c2ecf20Sopenharmony_ci-------------------- 2398c2ecf20Sopenharmony_ci 2408c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/resource.c 2418c2ecf20Sopenharmony_ci :internal: 2428c2ecf20Sopenharmony_ci 2438c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/resource.c 2448c2ecf20Sopenharmony_ci :export: 2458c2ecf20Sopenharmony_ci 2468c2ecf20Sopenharmony_ciMTRR Handling 2478c2ecf20Sopenharmony_ci------------- 2488c2ecf20Sopenharmony_ci 2498c2ecf20Sopenharmony_ci.. kernel-doc:: arch/x86/kernel/cpu/mtrr/mtrr.c 2508c2ecf20Sopenharmony_ci :export: 2518c2ecf20Sopenharmony_ci 2528c2ecf20Sopenharmony_ciSecurity Framework 2538c2ecf20Sopenharmony_ci================== 2548c2ecf20Sopenharmony_ci 2558c2ecf20Sopenharmony_ci.. kernel-doc:: security/security.c 2568c2ecf20Sopenharmony_ci :internal: 2578c2ecf20Sopenharmony_ci 2588c2ecf20Sopenharmony_ci.. kernel-doc:: security/inode.c 2598c2ecf20Sopenharmony_ci :export: 2608c2ecf20Sopenharmony_ci 2618c2ecf20Sopenharmony_ciAudit Interfaces 2628c2ecf20Sopenharmony_ci================ 2638c2ecf20Sopenharmony_ci 2648c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/audit.c 2658c2ecf20Sopenharmony_ci :export: 2668c2ecf20Sopenharmony_ci 2678c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/auditsc.c 2688c2ecf20Sopenharmony_ci :internal: 2698c2ecf20Sopenharmony_ci 2708c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/auditfilter.c 2718c2ecf20Sopenharmony_ci :internal: 2728c2ecf20Sopenharmony_ci 2738c2ecf20Sopenharmony_ciAccounting Framework 2748c2ecf20Sopenharmony_ci==================== 2758c2ecf20Sopenharmony_ci 2768c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/acct.c 2778c2ecf20Sopenharmony_ci :internal: 2788c2ecf20Sopenharmony_ci 2798c2ecf20Sopenharmony_ciBlock Devices 2808c2ecf20Sopenharmony_ci============= 2818c2ecf20Sopenharmony_ci 2828c2ecf20Sopenharmony_ci.. kernel-doc:: block/blk-core.c 2838c2ecf20Sopenharmony_ci :export: 2848c2ecf20Sopenharmony_ci 2858c2ecf20Sopenharmony_ci.. kernel-doc:: block/blk-core.c 2868c2ecf20Sopenharmony_ci :internal: 2878c2ecf20Sopenharmony_ci 2888c2ecf20Sopenharmony_ci.. kernel-doc:: block/blk-map.c 2898c2ecf20Sopenharmony_ci :export: 2908c2ecf20Sopenharmony_ci 2918c2ecf20Sopenharmony_ci.. kernel-doc:: block/blk-sysfs.c 2928c2ecf20Sopenharmony_ci :internal: 2938c2ecf20Sopenharmony_ci 2948c2ecf20Sopenharmony_ci.. kernel-doc:: block/blk-settings.c 2958c2ecf20Sopenharmony_ci :export: 2968c2ecf20Sopenharmony_ci 2978c2ecf20Sopenharmony_ci.. kernel-doc:: block/blk-exec.c 2988c2ecf20Sopenharmony_ci :export: 2998c2ecf20Sopenharmony_ci 3008c2ecf20Sopenharmony_ci.. kernel-doc:: block/blk-flush.c 3018c2ecf20Sopenharmony_ci :export: 3028c2ecf20Sopenharmony_ci 3038c2ecf20Sopenharmony_ci.. kernel-doc:: block/blk-lib.c 3048c2ecf20Sopenharmony_ci :export: 3058c2ecf20Sopenharmony_ci 3068c2ecf20Sopenharmony_ci.. kernel-doc:: block/blk-integrity.c 3078c2ecf20Sopenharmony_ci :export: 3088c2ecf20Sopenharmony_ci 3098c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/trace/blktrace.c 3108c2ecf20Sopenharmony_ci :internal: 3118c2ecf20Sopenharmony_ci 3128c2ecf20Sopenharmony_ci.. kernel-doc:: block/genhd.c 3138c2ecf20Sopenharmony_ci :internal: 3148c2ecf20Sopenharmony_ci 3158c2ecf20Sopenharmony_ci.. kernel-doc:: block/genhd.c 3168c2ecf20Sopenharmony_ci :export: 3178c2ecf20Sopenharmony_ci 3188c2ecf20Sopenharmony_ciChar devices 3198c2ecf20Sopenharmony_ci============ 3208c2ecf20Sopenharmony_ci 3218c2ecf20Sopenharmony_ci.. kernel-doc:: fs/char_dev.c 3228c2ecf20Sopenharmony_ci :export: 3238c2ecf20Sopenharmony_ci 3248c2ecf20Sopenharmony_ciClock Framework 3258c2ecf20Sopenharmony_ci=============== 3268c2ecf20Sopenharmony_ci 3278c2ecf20Sopenharmony_ciThe clock framework defines programming interfaces to support software 3288c2ecf20Sopenharmony_cimanagement of the system clock tree. This framework is widely used with 3298c2ecf20Sopenharmony_ciSystem-On-Chip (SOC) platforms to support power management and various 3308c2ecf20Sopenharmony_cidevices which may need custom clock rates. Note that these "clocks" 3318c2ecf20Sopenharmony_cidon't relate to timekeeping or real time clocks (RTCs), each of which 3328c2ecf20Sopenharmony_cihave separate frameworks. These :c:type:`struct clk <clk>` 3338c2ecf20Sopenharmony_ciinstances may be used to manage for example a 96 MHz signal that is used 3348c2ecf20Sopenharmony_cito shift bits into and out of peripherals or busses, or otherwise 3358c2ecf20Sopenharmony_citrigger synchronous state machine transitions in system hardware. 3368c2ecf20Sopenharmony_ci 3378c2ecf20Sopenharmony_ciPower management is supported by explicit software clock gating: unused 3388c2ecf20Sopenharmony_ciclocks are disabled, so the system doesn't waste power changing the 3398c2ecf20Sopenharmony_cistate of transistors that aren't in active use. On some systems this may 3408c2ecf20Sopenharmony_cibe backed by hardware clock gating, where clocks are gated without being 3418c2ecf20Sopenharmony_cidisabled in software. Sections of chips that are powered but not clocked 3428c2ecf20Sopenharmony_cimay be able to retain their last state. This low power state is often 3438c2ecf20Sopenharmony_cicalled a *retention mode*. This mode still incurs leakage currents, 3448c2ecf20Sopenharmony_ciespecially with finer circuit geometries, but for CMOS circuits power is 3458c2ecf20Sopenharmony_cimostly used by clocked state changes. 3468c2ecf20Sopenharmony_ci 3478c2ecf20Sopenharmony_ciPower-aware drivers only enable their clocks when the device they manage 3488c2ecf20Sopenharmony_ciis in active use. Also, system sleep states often differ according to 3498c2ecf20Sopenharmony_ciwhich clock domains are active: while a "standby" state may allow wakeup 3508c2ecf20Sopenharmony_cifrom several active domains, a "mem" (suspend-to-RAM) state may require 3518c2ecf20Sopenharmony_cia more wholesale shutdown of clocks derived from higher speed PLLs and 3528c2ecf20Sopenharmony_cioscillators, limiting the number of possible wakeup event sources. A 3538c2ecf20Sopenharmony_cidriver's suspend method may need to be aware of system-specific clock 3548c2ecf20Sopenharmony_ciconstraints on the target sleep state. 3558c2ecf20Sopenharmony_ci 3568c2ecf20Sopenharmony_ciSome platforms support programmable clock generators. These can be used 3578c2ecf20Sopenharmony_ciby external chips of various kinds, such as other CPUs, multimedia 3588c2ecf20Sopenharmony_cicodecs, and devices with strict requirements for interface clocking. 3598c2ecf20Sopenharmony_ci 3608c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/clk.h 3618c2ecf20Sopenharmony_ci :internal: 3628c2ecf20Sopenharmony_ci 3638c2ecf20Sopenharmony_ciSynchronization Primitives 3648c2ecf20Sopenharmony_ci========================== 3658c2ecf20Sopenharmony_ci 3668c2ecf20Sopenharmony_ciRead-Copy Update (RCU) 3678c2ecf20Sopenharmony_ci---------------------- 3688c2ecf20Sopenharmony_ci 3698c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/rcupdate.h 3708c2ecf20Sopenharmony_ci 3718c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/rcu/tree.c 3728c2ecf20Sopenharmony_ci 3738c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/rcu/tree_exp.h 3748c2ecf20Sopenharmony_ci 3758c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/rcu/update.c 3768c2ecf20Sopenharmony_ci 3778c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/srcu.h 3788c2ecf20Sopenharmony_ci 3798c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/rcu/srcutree.c 3808c2ecf20Sopenharmony_ci 3818c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/rculist_bl.h 3828c2ecf20Sopenharmony_ci 3838c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/rculist.h 3848c2ecf20Sopenharmony_ci 3858c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/rculist_nulls.h 3868c2ecf20Sopenharmony_ci 3878c2ecf20Sopenharmony_ci.. kernel-doc:: include/linux/rcu_sync.h 3888c2ecf20Sopenharmony_ci 3898c2ecf20Sopenharmony_ci.. kernel-doc:: kernel/rcu/sync.c 390