android_kernel_motorola_sm6375/include/linux
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Alexandru Ardelean 7cd787499d util_macros.h: fix/rework find_closest() macros
commit bc73b4186736341ab5cd2c199da82db6e1134e13 upstream.

A bug was found in the find_closest() (find_closest_descending() is also
affected after some testing), where for certain values with small
progressions, the rounding (done by averaging 2 values) causes an
incorrect index to be returned.  The rounding issues occur for
progressions of 1, 2 and 3.  It goes away when the progression/interval
between two values is 4 or larger.

It's particularly bad for progressions of 1.  For example if there's an
array of 'a = { 1, 2, 3 }', using 'find_closest(2, a ...)' would return 0
(the index of '1'), rather than returning 1 (the index of '2').  This
means that for exact values (with a progression of 1), find_closest() will
misbehave and return the index of the value smaller than the one we're
searching for.

For progressions of 2 and 3, the exact values are obtained correctly; but
values aren't approximated correctly (as one would expect).  Starting with
progressions of 4, all seems to be good (one gets what one would expect).

While one could argue that 'find_closest()' should not be used for arrays
with progressions of 1 (i.e. '{1, 2, 3, ...}', the macro should still
behave correctly.

The bug was found while testing the 'drivers/iio/adc/ad7606.c',
specifically the oversampling feature.
For reference, the oversampling values are listed as:
   static const unsigned int ad7606_oversampling_avail[7] = {
          1, 2, 4, 8, 16, 32, 64,
   };

When doing:
  1. $ echo 1 > /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     $ cat /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     1  # this is fine
  2. $ echo 2 > /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     $ cat /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     1  # this is wrong; 2 should be returned here
  3. $ echo 3 > /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     $ cat /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     2  # this is fine
  4. $ echo 4 > /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     $ cat /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     4  # this is fine
And from here-on, the values are as correct (one gets what one would
expect.)

While writing a kunit test for this bug, a peculiar issue was found for the
array in the 'drivers/hwmon/ina2xx.c' & 'drivers/iio/adc/ina2xx-adc.c'
drivers. While running the kunit test (for 'ina226_avg_tab' from these
drivers):
  * idx = find_closest([-1 to 2], ina226_avg_tab, ARRAY_SIZE(ina226_avg_tab));
    This returns idx == 0, so value.
  * idx = find_closest(3, ina226_avg_tab, ARRAY_SIZE(ina226_avg_tab));
    This returns idx == 0, value 1; and now one could argue whether 3 is
    closer to 4 or to 1. This quirk only appears for value '3' in this
    array, but it seems to be a another rounding issue.
  * And from 4 onwards the 'find_closest'() works fine (one gets what one
    would expect).

This change reworks the find_closest() macros to also check the difference
between the left and right elements when 'x'. If the distance to the right
is smaller (than the distance to the left), the index is incremented by 1.
This also makes redundant the need for using the DIV_ROUND_CLOSEST() macro.

In order to accommodate for any mix of negative + positive values, the
internal variables '__fc_x', '__fc_mid_x', '__fc_left' & '__fc_right' are
forced to 'long' type. This also addresses any potential bugs/issues with
'x' being of an unsigned type. In those situations any comparison between
signed & unsigned would be promoted to a comparison between 2 unsigned
numbers; this is especially annoying when '__fc_left' & '__fc_right'
underflow.

The find_closest_descending() macro was also reworked and duplicated from
the find_closest(), and it is being iterated in reverse. The main reason
for this is to get the same indices as 'find_closest()' (but in reverse).
The comparison for '__fc_right < __fc_left' favors going the array in
ascending order.
For example for array '{ 1024, 512, 256, 128, 64, 16, 4, 1 }' and x = 3, we
get:
    __fc_mid_x = 2
    __fc_left = -1
    __fc_right = -2
    Then '__fc_right < __fc_left' evaluates to true and '__fc_i++' becomes 7
    which is not quite incorrect, but 3 is closer to 4 than to 1.

This change has been validated with the kunit from the next patch.

Link: https://lkml.kernel.org/r/20241105145406.554365-1-aardelean@baylibre.com
Fixes: 95d119528b ("util_macros.h: add find_closest() macro")
Signed-off-by: Alexandru Ardelean <aardelean@baylibre.com>
Cc: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-12-14 19:44:43 +01:00
..
amba
avf
bcma
byteorder
can
ceph
clk
crush
decompress
dma
dsa
extcon
firmware firmware: meson_sm: Rework driver as a proper platform driver 2024-04-13 12:51:26 +02:00
fpga
fsl
gpio
greybus
hsi
i3c
iio
input
irqchip
isdn
lockd
mailbox
mdio
mfd
mlx4
mlx5 net/mlx5_core: Clean driver version and name 2023-11-28 16:50:17 +00:00
mmc mmc: core: add helpers mmc_regulator_enable/disable_vqmmc 2023-12-13 18:18:15 +01:00
mtd mtd: rawnand: protect access to rawnand devices while in suspend 2024-11-17 14:58:51 +01:00
mux
netfilter netfilter: ipset: fix performance regression in swap operation 2024-02-23 08:25:14 +01:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf
phy
pinctrl
platform_data ASoC: Intel: Move soc_intel_is_foo() helpers to a generic header 2024-08-19 05:33:42 +02:00
power power: supply: bq27xxx: Fix poll_interval handling and races on remove 2023-05-30 12:44:10 +01:00
qed qed: Improve the stack space of filter_config() 2024-08-19 05:33:30 +02:00
raid
regulator
remoteproc
reset
rpmsg
rtc
sched kernel/fork: beware of __put_task_struct() calling context 2023-09-23 11:00:03 +02:00
soc firmware: ti_sci: Replace HTTP links with HTTPS ones 2023-11-20 10:30:12 +01:00
soundwire
spi spi: Fix deadlock when adding SPI controllers on SPI buses 2024-11-17 14:58:51 +01:00
ssb
sunrpc SUNRPC: Replace internal use of SOCKWQ_ASYNC_NOSPACE 2024-12-14 19:44:42 +01:00
ulpi
unaligned
usb usb: typec: bus: verify partner exists in typec_altmode_attention 2023-09-23 11:00:01 +02:00
wimax
8250_pci.h
a.out.h
acct.h
acpi.h
acpi_dma.h
acpi_iort.h ACPI/IORT: Make iort_msi_map_rid() PCI agnostic 2023-12-13 18:18:10 +01:00
acpi_pmtmr.h
adb.h
adfs_fs.h
adxl.h
aer.h
agp_backend.h
agpgart.h
ahci-remap.h
ahci_platform.h
aio.h
alarmtimer.h
alcor_pci.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arch_topology.h
arm-cci.h
arm-smccc.h
arm_sdei.h
armada-37xx-rwtm-mailbox.h
ascii85.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_suni.h
atm_tcp.h
atmdev.h
atmel-mci.h
atmel-ssc.h
atmel_pdc.h
atomic-fallback.h
atomic.h
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h
backing-dev.h
backlight.h
badblocks.h
balloon_compaction.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
binfmts.h
bio.h
bit_spinlock.h
bitfield.h
bitmap.h fix bitmap corruption on close_range() with CLOSE_RANGE_UNSHARE 2024-09-04 13:14:50 +02:00
bitops.h ocfs2/dlm: move BITS_TO_BYTES() to bitops.h for wider use 2023-06-09 10:28:54 +02:00
bitrev.h
bits.h
blk-cgroup.h
blk-mq-pci.h
blk-mq-rdma.h
blk-mq-virtio.h
blk-mq.h
blk-pm.h
blk_types.h
blkdev.h block: return unsigned int from bdev_io_min 2024-12-14 19:44:41 +01:00
blkpg.h
blktrace_api.h
blockgroup_lock.h
bma150.h
bottom_half.h
bpf-cgroup.h
bpf.h bpf: Add map and need_defer parameters to .map_fd_put_ptr() 2024-02-23 08:24:57 +01:00
bpf_lirc.h
bpf_trace.h
bpf_types.h
bpf_verifier.h
bpfilter.h
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btf.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
build-salt.h
build_bug.h
bvec.h
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h
cdev.h
cdrom.h
cfag12864b.h
cgroup-defs.h cgroup: Move rcu_head up near the top of cgroup_root 2024-12-14 19:44:35 +01:00
cgroup.h
cgroup_rdma.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h
clk.h clk: Fix undefined reference to `clk_rate_exclusive_{get,put}' 2023-08-30 16:27:27 +02:00
clkdev.h
clock_cooling.h
clockchips.h
clocksource.h
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
compaction.h
compat.h ftruncate: pass a signed offset 2024-07-05 09:08:31 +02:00
compiler-clang.h
compiler-gcc.h
compiler-intel.h
compiler.h
compiler_attributes.h Fix gcc 4.9 build issue in 5.4.y 2024-08-19 05:33:53 +02:00
compiler_types.h
completion.h
component.h
configfs.h
connector.h
console.h
console_struct.h
consolemap.h
const.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h
coresight.h
count_zeros.h
counter.h
counter_enum.h
cper.h
cpu.h init: Provide arch_cpu_finalize_init() 2023-08-08 19:56:33 +02:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h
cpuhotplug.h hrtimers: Push pending hrtimers away from outgoing CPU earlier 2023-12-13 18:18:09 +01:00
cpuidle.h
cpuidle_haltpoll.h
cpumask.h bitmap: introduce generic optimized bitmap_size() 2024-09-04 13:14:50 +02:00
cpuset.h
crash_core.h
crash_dump.h
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc4.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
crc32poly.h
crc64.h
cred.h cred: switch to using atomic_long_t 2023-12-20 15:41:18 +01:00
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h
dca.h
dcache.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
delayed_call.h
devcoredump.h
devfreq-event.h
devfreq.h
devfreq_cooling.h
device-mapper.h dm mpath: pass IO start time to path selector 2024-09-04 13:14:58 +02:00
device.h driver: platform: Add helper for safer setting of driver_override 2023-11-08 11:23:39 +01:00
device_cgroup.h
devpts_fs.h
digsig.h
dim.h linux/dim: Do nothing if no time delta between samples 2023-05-30 12:44:01 +01:00
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-bufio.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-buf.h
dma-contiguous.h
dma-debug.h
dma-direct.h
dma-direction.h
dma-fence-array.h
dma-fence-chain.h
dma-fence.h
dma-iommu.h
dma-mapping.h
dma-noncoherent.h
dma-resv.h
dmaengine.h dmaengine: fix is_slave_direction() return false when DMA_DEV_TO_DEV 2024-02-23 08:25:06 +01:00
dmapool.h
dmar.h
dmi.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
drbd.h
drbd_genl.h
drbd_genl_api.h
drbd_limits.h
ds2782_battery.h
dtlk.h
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
energy_model.h
err.h
errno.h
error-injection.h
errqueue.h
errseq.h
etherdevice.h ethernet: Add helper for assigning packet type when dest address does not match device address 2024-05-02 16:18:36 +02:00
ethtool.h
eventfd.h eventfd: Export eventfd_ctx_do_read() 2023-09-23 10:59:40 +02:00
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extable.h
extcon-provider.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fbcon.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
file.h
filter.h bpf: Mark bpf_spin_{lock,unlock}() helpers with notrace correctly 2024-03-26 18:22:15 -04:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_proportions.h
font.h
frame.h objtool: Add support for intra-function calls 2024-04-13 12:51:29 +02:00
freezer.h
frontswap.h
fs.h mount: warn only once about timestamp range expiration 2024-11-08 16:20:26 +01:00
fs_context.h
fs_enet_pd.h
fs_parser.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_types.h
fs_uart_pd.h
fscache-cache.h
fscache.h
fscrypt.h
fsi-occ.h
fsi-sbefifo.h
fsi.h
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h
fsldma.h
fsnotify.h fsnotify: Do not generate events for O_PATH file descriptors 2024-07-18 11:40:51 +02:00
fsnotify_backend.h
fsverity.h
ftrace.h
ftrace_irq.h
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
generic-radix-tree.h
genetlink.h
genhd.h
genl_magic_func.h
genl_magic_struct.h
getcpu.h
gfp.h mm, vmscan: prevent infinite loop for costly GFP_NOIO | __GFP_RETRY_MAYFAIL allocations 2024-04-13 12:51:34 +02:00
glob.h
gnss.h
goldfish.h
gpio-pxa.h
gpio.h
gpio_keys.h
greybus.h
hardirq.h
hash.h
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h HID: fix HID device resource race between HID core and debugging support 2023-12-08 08:44:23 +01:00
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hmm.h
host1x.h gpu: host1x: mipi: Update tegra_mipi_request() to be node based 2024-03-26 18:22:18 -04:00
hp_sdc.h
hpet.h
hrtimer.h hrtimer: Report offline hrtimer enqueue 2024-02-23 08:25:08 +01:00
hrtimer_defs.h
htcpld.h
huge_mm.h
hugetlb.h
hugetlb_cgroup.h
hugetlb_inline.h
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h
hypervisor.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-mux.h
i2c-pxa.h
i2c-smbus.h
i2c.h i2c: Use IS_REACHABLE() for substituting empty ACPI functions 2024-09-12 11:03:50 +02:00
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idle_inject.h
idr.h Fix termination state for idr_for_each_entry_ul() 2023-11-20 10:30:15 +01:00
ieee80211.h
ieee802154.h
if_arp.h net: handle ARPHRD_PPP in dev_is_mac_header_xmit() 2023-09-23 10:59:55 +02:00
if_bridge.h
if_eql.h
if_ether.h
if_fddi.h
if_frad.h
if_link.h
if_ltalk.h
if_macvlan.h
if_phonet.h
if_pppol2tp.h
if_pppox.h
if_rmnet.h
if_tap.h
if_team.h team: fix null-ptr-deref when team device type is changed 2023-10-10 21:46:37 +02:00
if_tun.h
if_tunnel.h
if_vlan.h net: add vlan_get_protocol_and_depth() helper 2023-05-30 12:44:01 +01:00
igmp.h
ihex.h
ima.h
imx-media.h
in.h
in6.h
indirect_call_wrapper.h
inet.h
inet_diag.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_task.h
initrd.h
inotify.h
input-polldev.h
input.h
integrity.h
intel-iommu.h
intel-ish-client-if.h
intel-pti.h
intel-svm.h
intel_rapl.h
intel_th.h
interconnect-provider.h
interconnect.h interconnect: Add helpers for enabling/disabling a path 2023-08-30 16:27:13 +02:00
interrupt.h
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h
io-64-nonatomic-lo-hi.h
io-mapping.h
io-pgtable.h
io.h
ioc3.h
iocontext.h
iomap.h
iommu-helper.h
iommu.h iommu: Return right value in iommu_sva_bind_device() 2024-07-05 09:08:16 +02:00
iopoll.h
ioport.h resource: Add irqresource_disabled() 2023-10-25 11:53:22 +02:00
ioprio.h
iova.h
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h
ipv6_route.h
irq.h genirq: Allow irq_chip registration functions to take a const irq_chip 2024-08-19 05:33:45 +02:00
irq_cpustat.h
irq_poll.h
irq_sim.h
irq_work.h
irqbypass.h
irqchip.h
irqdesc.h
irqdomain.h genirq: Allow the PM device to originate from irq domain 2024-08-19 05:33:43 +02:00
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isicom.h
iversion.h
jbd2.h jbd2: introduce/export functions jbd2_journal_submit|finish_inode_data_buffers() 2024-11-08 16:20:30 +01:00
jhash.h
jiffies.h time: Fix references to _msecs_to_jiffies() handling of values 2024-12-14 19:44:23 +01:00
journal-head.h
joystick.h
jump_label.h
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h
kasan.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h
kernel_stat.h
kernelcapi.h
kernfs.h
kexec.h
key-type.h
key.h
keyboard.h
keyctl.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemleak.h
kmod.h
kmsg_dump.h
kobj_map.h
kobject.h
kobject_ns.h
kprobes.h
kref.h
ks0108.h
ks8842.h
ks8851_mll.h
ksm.h
kthread.h
ktime.h
kvm_host.h
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lantiq.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp3952.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds-ti-lmu-common.h
leds.h
leds_pwm.h
libata.h ata: libata-sata: increase PMP SRST timeout to 10s 2023-10-10 21:46:42 +02:00
libfdt.h
libfdt_env.h
libgcc.h
libnvdimm.h
libps2.h
license.h
lightnvm.h
limits.h
linkage.h
linkmode.h
linux_logo.h
lis3lv02d.h
list.h list: add "list_del_init_careful()" to go with "list_empty_careful()" 2023-06-28 10:18:35 +02:00
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
livepatch.h
llc.h
llist.h
lockdep.h drm/syncobj: make lockdep complain on WAIT_FOR_SUBMIT v3 2024-03-01 13:13:38 +01:00
lockref.h
log2.h
logic_pio.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h lsm: new security_file_ioctl_compat() hook 2024-02-23 08:25:15 +01:00
lz4.h
lzo.h
mailbox_client.h
mailbox_controller.h
maple.h
marvell_phy.h
math64.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mcb.h mcb: remove is_added flag from mcb_device struct 2023-10-25 11:53:19 +02:00
mdev.h
mdio-bitbang.h
mdio-gpio.h
mdio-mux.h
mdio.h
mei_cl_bus.h
mem_encrypt.h
memblock.h
memcontrol.h
memfd.h
memory.h
memory_hotplug.h
mempolicy.h
mempool.h
memremap.h
memstick.h
mic_bus.h
micrel_phy.h net: phy: mchp: Add support for LAN8814 QUAD PHY 2024-07-05 09:08:27 +02:00
microchipphy.h
migrate.h
migrate_mode.h
mii.h
miscdevice.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
mm-arch-hooks.h
mm.h mm: add remap_pfn_range_notrack 2024-11-17 14:58:53 +01:00
mm_inline.h
mm_types.h mm: fix ambiguous comments for better code readability 2024-11-17 14:58:53 +01:00
mm_types_task.h
mman.h
mmap_lock.h
mmdebug.h
mmiotrace.h
mmu_context.h
mmu_notifier.h
mmzone.h
mnt_namespace.h
mod_devicetable.h
module.h
module_signature.h
moduleloader.h
moduleparam.h params: lift param_set_uint_minmax to common code 2024-06-16 13:28:45 +02:00
mount.h
moxtet.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
mroute_base.h
msdos_fs.h
msg.h
msi.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h new helper: lookup_positive_unlocked() 2023-09-23 10:59:40 +02:00
nd.h
ndctl.h
net.h
netdev_features.h
netdevice.h net: add DEV_STATS_READ() helper 2023-11-20 10:30:10 +01:00
netfilter.h Remove DECnet support from kernel 2023-06-21 15:44:10 +02:00
netfilter_bridge.h
netfilter_defs.h Remove DECnet support from kernel 2023-06-21 15:44:10 +02:00
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h netpoll: Use rcu_access_pointer() in netpoll_poll_lock 2024-12-14 19:44:28 +01:00
nfs.h
nfs3.h
nfs4.h
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_iostat.h
nfs_page.h
nfs_xdr.h
nfsacl.h
nl802154.h
nls.h fs/nls: make load_nls() take a const parameter 2023-09-23 10:59:38 +02:00
nmi.h watchdog/perf: define dummy watchdog_update_hrtimer_threshold() on correct config 2023-07-27 08:37:10 +02:00
node.h
nodemask.h
nospec.h
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
nvme-fc-driver.h
nvme-fc.h
nvme-rdma.h
nvme-tcp.h
nvme.h nvme: fixup comment for nvme RDMA Provider Type 2024-07-05 09:08:28 +02:00
nvmem-consumer.h
nvmem-provider.h
nvram.h
objagg.h mlxsw: spectrum_acl_erp: Fix object nesting warning 2024-08-19 05:33:28 +02:00
of.h of: Add missing 'Return' section in kerneldoc comments 2023-12-13 18:18:11 +01:00
of_address.h
of_clk.h
of_device.h
of_dma.h
of_fdt.h
of_gpio.h
of_graph.h
of_iommu.h
of_irq.h of/irq: Make of_msi_map_rid() PCI bus agnostic 2023-12-13 18:18:11 +01:00
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_reserved_mem.h
oid_registry.h
olpc-ec.h
omap-dma.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h
omapfb.h
once.h
oom.h
openvswitch.h
oprofile.h
osq_lock.h
overflow.h overflow: Implement size_t saturating arithmetic helpers 2024-09-04 13:14:51 +02:00
packing.h
padata.h
page-flags-layout.h
page-flags.h
page-isolation.h
page_counter.h
page_ext.h
page_idle.h
page_owner.h
page_ref.h
pageblock-flags.h
pagemap.h
pagevec.h
pagewalk.h
parman.h
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-ats.h
pci-dma-compat.h
pci-ecam.h
pci-ep-cfs.h
pci-epc.h
pci-epf.h
pci-p2pdma.h
pci.h PCI: Add PCI_ERROR_RESPONSE and related definitions 2024-07-05 09:08:25 +02:00
pci_hotplug.h
pci_ids.h PCI: Add function 0 DMA alias quirk for Glenfly Arise chip 2024-11-08 16:20:47 +01:00
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h
percpu_counter.h
perf_event.h perf/core: Add a new read format to get a number of lost samples 2023-12-13 18:18:15 +01:00
perf_regs.h
personality.h
pfn.h
pfn_t.h
phonet.h
phy.h
phy_fixed.h
phy_led_triggers.h
phylink.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
pl353-smc.h
platform_device.h driver: platform: Add helper for safer setting of driver_override 2023-11-08 11:23:39 +01:00
plist.h
pm-trace.h
pm.h
pm2301_charger.h
pm_clock.h
pm_domain.h PM: domains: Restore comment indentation for generic_pm_domain.child_links 2023-05-17 11:36:04 +02:00
pm_opp.h
pm_qos.h
pm_runtime.h PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend() 2024-02-23 08:25:14 +01:00
pm_wakeirq.h PM / wakeirq: support enabling wake-up irq after runtime_suspend called 2023-08-11 11:54:00 +02:00
pm_wakeup.h
pmbus.h
pmu.h
pnfs_osd_xdr.h
pnp.h
poison.h
poll.h fs/select: rework stack allocation hack for clang 2024-03-26 18:22:13 -04:00
posix-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
power_supply.h power: supply: core: Refactor power_supply_set_input_current_limit_from_supplier() 2023-06-05 08:17:31 +02:00
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
pr.h
prandom.h
preempt.h sched/rt: Provide migrate_disable/enable() inlines 2023-11-20 10:30:12 +01:00
prefetch.h
prime_numbers.h
printk.h printk: declare printk_deferred_{enter,safe}() in include/linux/printk.h 2023-05-17 11:36:04 +02:00
proc_fs.h
proc_ns.h
processor.h
profile.h
projid.h
property.h
psci.h
pseudo_fs.h
psi.h
psi_types.h
psp-sev.h
pstore.h
pstore_ram.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptr_ring.h
ptrace.h
purgatory.h
pvclock_gtod.h
pwm.h pwm: Fix double shift bug 2023-11-28 16:50:16 +00:00
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom-geni-se.h
qcom_scm.h
qnx6_fs.h
quota.h quota: Fix slow quotaoff 2023-10-25 11:53:18 +02:00
quotaops.h quota: Fix slow quotaoff 2023-10-25 11:53:18 +02:00
radix-tree.h
raid_class.h scsi: core: raid_class: Remove raid_component_add() 2023-08-30 16:27:27 +02:00
ramfs.h
random.h
range.h
ras.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rcu_node_tree.h
rcu_segcblist.h
rcu_sync.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h rcu: add a helper to report consolidated flavor QS 2024-03-26 18:22:25 -04:00
rcupdate_wait.h
rcutiny.h
rcutree.h
rcuwait.h
reboot-mode.h
reboot.h
reciprocal_div.h
refcount.h
regmap.h regmap: Add bulk read/write callbacks into regmap_config 2024-03-15 10:48:20 -04:00
regset.h
relay.h
remoteproc.h
reset-controller.h
reset.h
resource.h
resource_ext.h
restart_block.h
rfkill.h
rhashtable-types.h
rhashtable.h
ring_buffer.h ring-buffer: Rename ring_buffer_read() to read_buffer_iter_advance() 2024-09-12 11:03:56 +02:00
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
rmi.h
rndis.h
rodata_test.h
root_dev.h
rpmsg.h rpmsg: Fix calling device_lock() on non-initialized device 2023-11-08 11:23:39 +01:00
rslib.h
rtc.h
rtmutex.h
rtnetlink.h
rtsx_common.h
rtsx_pci.h
rtsx_usb.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem.h
s3c_adc_battery.h
sbitmap.h
scatterlist.h
scc.h
sched.h
sched_clock.h
scif.h
scmi_protocol.h
scpi_protocol.h
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h lsm: new security_file_ioctl_compat() hook 2024-02-23 08:25:15 +01:00
sed-opal.h
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selection.h
sem.h
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h
seqno-fence.h
serdev.h
serial.h
serial_8250.h Revert "8250: add support for ASIX devices with a FIFO bug" 2023-07-27 08:37:38 +02:00
serial_bcm63xx.h
serial_core.h serial: core: fix kernel-doc for uart_port_unlock_irqrestore() 2024-05-02 16:18:37 +02:00
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serio.h
set_memory.h
sfi.h
sfi_acpi.h
sfp.h
sh_clk.h
sh_dma.h
sh_eth.h
sh_intc.h
sh_timer.h
shdma-base.h
shm.h
shmem_fs.h
shrinker.h
signal.h
signal_types.h
signalfd.h
siox.h
siphash.h
sirfsoc_dma.h
sizes.h
skb_array.h
skbuff.h inet: inet_defrag: prevent sk release while still in use 2024-11-08 16:20:26 +01:00
skmsg.h
slab.h
slab_def.h
slimbus.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h
sonet.h
sony-laptop.h
sonypi.h
sort.h
sound.h
soundcard.h
spinlock.h
spinlock_api_smp.h
spinlock_api_up.h
spinlock_types.h
spinlock_types_up.h
spinlock_up.h
splice.h
spmi.h
sram.h
srcu.h
srcutiny.h
srcutree.h
ssbi.h
stackdepot.h
stackleak.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
stm.h
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h
string_helpers.h lib/string_helpers: Introduce string_upper() and string_lower() helpers 2023-05-30 12:44:08 +01:00
stringhash.h
stringify.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swait.h
swap.h
swap_cgroup.h
swap_slots.h
swapfile.h
swapops.h
swiotlb.h
switchtec.h
sxgbe_platform.h
sync_core.h
sync_file.h
synclink.h
sys.h
sys_soc.h
syscalls.h ftruncate: pass a signed offset 2024-07-05 09:08:31 +02:00
syscore_ops.h
sysctl.h
sysfs.h
syslog.h
sysrq.h
sysv_fs.h
t10-pi.h
task_io_accounting.h
task_io_accounting_ops.h
task_work.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h tcp: add TCP_INFO status for failed client TFO 2024-07-18 11:40:53 +02:00
tee_drv.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
thunderbolt.h
ti-emif-sram.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
time32.h
time64.h
timecounter.h
timekeeper_internal.h
timekeeping.h
timekeeping32.h
timer.h timers: Rename del_timer_sync() to timer_delete_sync() 2024-04-13 12:51:21 +02:00
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
tnum.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
tpm_eventlog.h
trace.h
trace_clock.h
trace_events.h bpf: kprobe: remove unused declaring of bpf_kprobe_override 2024-08-19 05:33:50 +02:00
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h
transport_class.h
ts-nbus.h
tsacct_kern.h
tty.h tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH 2023-05-17 11:36:04 +02:00
tty_driver.h
tty_flip.h
tty_ldisc.h
typecheck.h
types.h
u64_stats_sync.h u64_stats: fix u64_stats_init() for lockdep when used repeatedly in one file 2024-05-02 16:18:28 +02:00
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uio.h
uio_driver.h
umh.h
unicode.h
units.h units: add the HZ macros 2024-02-23 08:24:47 +01:00
uprobes.h
usb.h USB: move snd_usb_pipe_sanity_check into the USB core 2024-08-19 05:33:30 +02:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
util_macros.h util_macros.h: fix/rework find_closest() macros 2024-12-14 19:44:43 +01:00
uts.h
utsname.h
uuid.h
vbox_utils.h
verification.h
vermagic.h
vexpress.h
vfio.h vfio: Introduce interface to flush virqfd inject workqueue 2024-04-13 12:51:34 +02:00
vfs.h
vga_switcheroo.h
vgaarb.h
via-core.h
via-gpio.h
via.h
via_i2c.h
videodev2.h
virtio.h
virtio_byteorder.h
virtio_caif.h
virtio_config.h
virtio_console.h
virtio_net.h net: do not allow gso_size to be set to GSO_BY_FRAGS 2023-08-30 16:27:17 +02:00
virtio_ring.h
virtio_vsock.h
visorbus.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h
vme.h
vmpressure.h
vmstat.h
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
w1-gpio.h
w1.h
wait.h mm: allow a controlled amount of unfairness in the page lock 2023-08-30 16:27:26 +02:00
wait_bit.h
watchdog.h
win_minmax.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
wmi.h
workqueue.h workqueue: clean up WORK_* constant types, clarify masking 2023-07-27 08:37:29 +02:00
writeback.h
ww_mutex.h
xarray.h
xattr.h
xxhash.h
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h
zstd.h
zutil.h