mirror-linux/include/linux
Linus Walleij 90efe05562 iio: st_sensors: harden interrupt handling
Leonard Crestez observed the following phenomenon: when using
hard interrupt triggers (the DRDY line coming out of an ST
sensor) sometimes a new value would arrive while reading the
previous value, due to latencies in the system.

We discovered that the ST hardware as far as can be observed
is designed for level interrupts: the DRDY line will be held
asserted as long as there are new values coming. The interrupt
handler should be re-entered until we're out of values to
handle from the sensor.

If interrupts were handled as occurring on the edges (usually
low-to-high) new values could appear and the line be held
asserted after that, and these values would be missed, the
interrupt handler would also lock up as new data was
available, but as no new edges occurs on the DRDY signal,
nothing happens: the edge detector only detects edges.

To counter this, do the following:

- Accept interrupt lines to be flagged as level interrupts
  using IRQF_TRIGGER_HIGH and IRQF_TRIGGER_LOW. If the line
  is marked like this (in the device tree node or ACPI
  table or similar) it will be utilized as a level IRQ.
  We mark the line with IRQF_ONESHOT and mask the IRQ
  while processing a sample, then the top half will be
  entered again if new values are available.

- If we are flagged as using edge interrupts with
  IRQF_TRIGGER_RISING or IRQF_TRIGGER_FALLING: remove
  IRQF_ONESHOT so that the interrupt line is not
  masked while running the thread part of the interrupt.
  This way we will never miss an interrupt, then introduce
  a loop that polls the data ready registers repeatedly
  until no new samples are available, then exit the
  interrupt handler. This way we know no new values are
  available when the interrupt handler exits and
  new (edge) interrupts will be triggered when data arrives.
  Take some extra care to update the timestamp in the poll
  loop if this happens. The timestamp will not be 100%
  perfect, but it will at least be closer to the actual
  events. Usually the extra poll loop will handle the new
  samples, but once in a blue moon, we get a new IRQ
  while exiting the loop, before returning from the
  thread IRQ bottom half with IRQ_HANDLED. On these rare
  occasions, the removal of IRQF_ONESHOT means the
  interrupt will immediately fire again.

- If no interrupt type is indicated from the DT/ACPI,
  choose IRQF_TRIGGER_RISING as default, as this is necessary
  for legacy boards.

Tested successfully on the LIS331DL and L3G4200D by setting
sampling frequency to 400Hz/800Hz and stressing the system:
extra reads in the threaded interrupt handler occurs.

Cc: Giuseppe Barba <giuseppe.barba@st.com>
Cc: Denis Ciocca <denis.ciocca@st.com>
Tested-by: Crestez Dan Leonard <cdleonard@gmail.com>
Reported-by: Crestez Dan Leonard <cdleonard@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2016-07-02 20:40:15 +01:00
..
amba
bcma MTD updates for v4.7: 2016-05-24 11:00:20 -07:00
byteorder
can can: fix handling of unmodifiable configuration options 2016-05-09 11:07:28 +02:00
ceph libceph: change ceph_osdmap_flag() to take osdc 2016-05-30 23:00:22 +02:00
clk phy: tegra: Changes for v4.7-rc1 2016-05-09 16:18:37 +02:00
crush
decompress
dma Merge branch 'topic/xilinx' into for-linus 2016-05-17 10:15:34 +05:30
extcon
fpga
fsl
gpio
hsi
i2c
iio iio: st_sensors: harden interrupt handling 2016-07-02 20:40:15 +01:00
input
irqchip irqchip/gic-v3: Fix copy+paste mistakes in defines 2016-06-02 17:59:44 +01:00
isdn
lockd
mfd platform/chrome: Driver and binding changes for 4.7 2016-05-28 12:32:01 -07:00
mlx4 net/mlx4: Avoid wrong virtual mappings 2016-05-05 23:23:05 -04:00
mlx5 Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-06-10 08:32:24 -07:00
mmc MMC core: 2016-05-26 09:36:10 -07:00
mtd mtd: spi-nor: support GigaDevice gd25lq64c 2016-05-10 15:44:18 -07:00
netfilter netfilter: fix IS_ERR_VALUE usage 2016-04-29 11:02:33 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
perf arm64/perf: Filter common events based on PMCEIDn_EL0 2016-04-25 14:11:10 +01:00
phy phy: Add Tegra XUSB pad controller support 2016-04-29 16:44:47 +02:00
pinctrl pinctrl: Add devm_ apis for pinctrl_{register, unregister} 2016-04-21 00:01:21 +02:00
platform_data misc: at24: Fix typo in at24 header file 2016-05-26 20:52:15 +02:00
power
qed qed: add support for dcbx. 2016-05-17 12:29:34 -04:00
raid
regulator regulator: Silence build warnings from regulator_can_change_voltage() 2016-05-17 18:06:18 +01:00
reset
rtc
sched
soc ARM: SoC driver updates for v4.7 2016-05-18 13:14:02 -07:00
spi spi: core: add hook flash_read_supported to spi_master 2016-04-25 18:51:31 +01:00
ssb
sunrpc rpc: share one xps between all backchannels 2016-06-15 10:32:25 -04:00
ulpi
unaligned
usb usb: musb: Return error value from musb_mailbox 2016-06-01 14:58:59 -07:00
uwb
wimax
8250_pci.h
a.out.h
acct.h
acpi.h Merge branches 'acpi-pci', 'acpi-misc' and 'acpi-tools' 2016-05-16 16:45:48 +02:00
acpi_dma.h
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
agp_backend.h
agpgart.h
ahci_platform.h
aio.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amd-iommu.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
apple-gmux.h
apple_bl.h
arm-cci.h
arm-smccc.h
asn1.h
asn1_ber_bytecode.h
asn1_decoder.h
assoc_array.h
assoc_array_priv.h
async.h
async_tx.h
ata.h Merge branch 'for-4.7-zac' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata 2016-05-23 17:53:39 -07:00
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
atmel_serial.h
atmel_tc.h
atomic.h locking/atomics: Flip atomic_fetch_or() arguments 2016-05-05 09:58:52 +02:00
attribute_container.h
audit.h Merge branch 'stable-4.7' of git://git.infradead.org/users/pcmoore/audit 2016-05-18 18:46:55 -07:00
auto_dev-ioctl.h
auto_fs.h
auxvec.h
average.h
b1pcmcia.h
backing-dev-defs.h
backing-dev.h
backlight.h video / backlight: remove the backlight_device_registered API 2016-05-04 23:41:14 +02:00
badblocks.h
balloon_compaction.h
bcd.h
bch.h
bcm47xx_nvram.h
bcm47xx_sprom.h MIPS: BCM47xx: Move SPROM driver to drivers/firmware/ 2016-05-13 14:01:43 +02:00
bcm47xx_wdt.h
bcm963xx_nvram.h
bcm963xx_tag.h
bfin_mac.h
binfmts.h coredump: fix dumping through pipes 2016-06-07 22:07:09 -04:00
bio.h block: make bio_inc_remaining() interface accessible again 2016-05-05 13:03:29 -06:00
bit_spinlock.h
bitmap.h
bitops.h md: set MD_CHANGE_PENDING in a atomic region 2016-05-09 09:24:02 -07:00
bitrev.h
blk-cgroup.h
blk-mq.h
blk_types.h block: copy NOMERGE flag from bio to request 2016-04-25 19:13:44 -06:00
blkdev.h DAX error handling for 4.7 2016-05-26 19:34:26 -07:00
blkpg.h
blktrace_api.h blk-throttle: don't parse cgroup path if trace isn't enabled 2016-05-10 08:41:37 -06:00
blockgroup_lock.h
bma150.h
bootmem.h include/linux: apply __malloc attribute 2016-05-19 19:12:14 -07:00
bottom_half.h
bpf.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-05-04 00:52:29 -04:00
brcmphy.h
bsearch.h
bsg-lib.h
bsg.h
btree-128.h
btree-type.h
btree.h
btrfs.h
buffer_head.h
bug.h
c2port.h
cache.h
cacheinfo.h
capability.h
cb710.h
cciss_ioctl.h
ccp.h crypto: ccp - Register the CCP as a DMA resource 2016-04-20 17:50:06 +08:00
cdev.h
cdrom.h
cfag12864b.h
cgroup-defs.h cgroup, cpuset: replace cpuset_post_attach_flush() with cgroup_subsys->post_attach callback 2016-04-25 15:45:14 -04:00
cgroup.h
cgroup_subsys.h
circ_buf.h
cleancache.h
clk-provider.h clk: Remove CLK_IS_ROOT flag 2016-06-01 14:56:57 -07:00
clk.h
clkdev.h clkdev: Add clk_hw based registration APIs 2016-04-19 16:54:26 -07:00
clock_cooling.h
clockchips.h
clocksource.h clocksource: Add missing include of of.h. 2016-04-22 11:38:56 -07:00
cm4000_cs.h
cma.h
cmdline-parser.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
compaction.h mm, oom, compaction: prevent from should_compact_retry looping for ever for costly orders 2016-05-20 17:58:30 -07:00
compat.h
compiler-clang.h
compiler-gcc.h compiler.h: add support for malloc attribute 2016-05-19 19:12:14 -07:00
compiler-intel.h
compiler.h compiler.h: add support for malloc attribute 2016-05-19 19:12:14 -07:00
completion.h
component.h
concap.h
configfs.h
connector.h
console.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2016-05-23 11:48:48 -07:00
console_struct.h
consolemap.h
container.h
context_tracking.h
context_tracking_state.h
cordic.h
coredump.h
coresight-pmu.h
coresight-stm.h coresight: stm: adding driver for CoreSight STM component 2016-05-03 14:59:30 -07:00
coresight.h
count_zeros.h
cper.h
cpu.h sched/hotplug: Move migration CPU_DYING to sched_cpu_dying() 2016-05-06 14:58:25 +02:00
cpu_cooling.h
cpu_pm.h
cpu_rmap.h
cpufeature.h
cpufreq.h
cpuhotplug.h sched/hotplug: Make activate() the last hotplug step 2016-05-06 14:58:25 +02:00
cpuidle.h cpuidle: Do not access cpuidle_devices when !CONFIG_CPU_IDLE 2016-06-02 23:05:27 +02:00
cpumask.h sched: Allow per-cpu kernel threads to run on online && !active 2016-05-06 14:58:22 +02:00
cpuset.h cpuset: use static key better and convert to new API 2016-05-19 19:12:14 -07:00
cputime.h
crash_dump.h crash_dump: Add vmcore_elf32_check_arch 2016-05-13 14:01:59 +02:00
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc8.h
crc16.h
crc32.h
crc32c.h
cred.h
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
davinci_emac.h
dax.h Filesystem DAX locking for 4.7 2016-05-26 20:00:28 -07:00
dca.h
dcache.h Merge branch 'overlayfs-af_unix-fix' into overlayfs-linus 2016-06-12 12:05:21 +02:00
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h debugobjects: insulate non-fixup logic related to static obj from fixup callbacks 2016-05-19 19:12:14 -07:00
delay.h
delayacct.h
delayed_call.h
dell-led.h
devcoredump.h
devfreq-event.h
devfreq.h PM / devfreq: Add new passive governor 2016-05-03 11:20:07 +09:00
devfreq_cooling.h
device-mapper.h
device.h driver core update for 4.7-rc1 2016-05-20 21:26:15 -07:00
device_cgroup.h
devpts_fs.h devpts: Make each mount of devpts an independent filesystem. 2016-06-05 10:36:01 -07:00
digsig.h
dio.h
dirent.h
dlm.h
dlm_plock.h
dm-dirty-log.h
dm-io.h
dm-kcopyd.h
dm-region-hash.h
dm9000.h
dma-attrs.h
dma-buf.h dma-buf: headerdoc fixes 2016-05-31 22:12:43 +05:30
dma-contiguous.h
dma-debug.h
dma-direction.h
dma-iommu.h iommu/dma: Finish optimising higher-order allocations 2016-05-09 15:33:29 +02:00
dma-mapping.h iommu: of: enforce const-ness of struct iommu_ops 2016-05-09 15:33:29 +02:00
dma_remapping.h
dmaengine.h
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
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_apb_timer.h
dynamic_debug.h
dynamic_queue_limits.h
earlycpio.h
ecryptfs.h
edac.h
edd.h
edma.h
eeprom_93cx6.h
eeprom_93xx46.h
efi-bgrt.h
efi.h efi: Fix for_each_efi_memory_desc_in_map() for empty memmaps 2016-06-03 09:57:35 +02:00
efs_vh.h
eisa.h
elevator.h
elf-fdpic.h
elf-randomize.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h make IS_ERR_VALUE() complain about non-pointer-sized arguments 2016-05-27 16:03:22 -07:00
errno.h pnfs: rework LAYOUTGET retry handling 2016-05-17 15:48:12 -04:00
errqueue.h
etherdevice.h
ethtool.h net: ethtool: export conversion function between u32 and link mode 2016-04-18 14:45:08 -04:00
eventfd.h
eventpoll.h
evm.h
export.h
exportfs.h
ext2_fs.h
extcon.h
f2fs_fs.h
f75375s.h
falloc.h
fanotify.h
fault-inject.h
fb.h fbdev: fb_defio: Export fb_deferred_io_mmap 2016-05-02 16:24:49 +02:00
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdtable.h
fec.h
fence.h staging/android: bring struct sync_pt back 2016-06-17 21:17:40 -07:00
file.h give readdir(2)/getdents(2)/etc. uniform exclusion with lseek() 2016-05-02 19:49:28 -04:00
filter.h bpf: add generic constant blinding for use in jits 2016-05-16 13:49:32 -04:00
fips.h
firewire.h
firmware-map.h
firmware.h
fixp-arith.h
flat.h
flex_array.h
flex_proportions.h
fmc-sdb.h
fmc.h
font.h
frame.h
freezer.h
frontswap.h
fs.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-05-27 17:14:05 -07:00
fs_enet_pd.h
fs_pin.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h FS-Cache: make check_consistency callback return int 2016-06-01 10:29:39 +02:00
fscache.h
fscrypto.h fscrypto/f2fs: allow fs-specific key prefix for fs encryption 2016-05-07 10:32:33 -07:00
fsl-diu-fb.h
fsl_devices.h
fsl_hypervisor.h
fsl_ifc.h mtd/ifc: Add support for IFC controller version 2.0 2016-04-19 22:04:53 +02:00
fsldma.h
fsnotify.h
fsnotify_backend.h fsnotify: avoid spurious EMFILE errors from inotify_init() 2016-05-19 19:12:14 -07:00
ftrace.h Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/livepatching 2016-05-17 17:11:27 -07:00
ftrace_irq.h
futex.h
fwnode.h
gameport.h
gcd.h
genalloc.h
genetlink.h
genhd.h include/linux/genhd.h: move to use generic UUID library 2016-05-20 17:58:30 -07:00
genl_magic_func.h
genl_magic_struct.h block/drbd: align properly u64 in nl messages 2016-05-10 15:43:09 -04:00
getcpu.h
gfp.h
glob.h
goldfish.h
gpio-fan.h
gpio-pxa.h
gpio.h
gpio_keys.h
gpio_mouse.h
hardirq.h printk/nmi: generic solution for safe printk in NMI 2016-05-20 17:58:30 -07:00
hash.h <linux/hash.h>: Add support for architecture-specific functions 2016-05-28 15:48:31 -04:00
hashtable.h
hdlc.h
hdlcdrv.h
hdmi.h
hid-debug.h
hid-roccat.h
hid-sensor-hub.h
hid-sensor-ids.h
hid.h
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
host1x.h
hp_sdc.h
hpet.h
hrtimer.h
htcpld.h
htirq.h
huge_mm.h huge mm: move_huge_pmd does not need new_vma 2016-05-19 19:12:14 -07:00
hugetlb.h include/linux/hugetlb.h: use bool instead of int for hugepage_migration_supported() 2016-05-20 17:58:30 -07:00
hugetlb_cgroup.h include/linux/hugetlb*.h: clean up code 2016-05-20 17:58:30 -07:00
hugetlb_inline.h mm/hugetlb: is_vm_hugetlb_page() can return bool 2016-05-19 19:12:14 -07:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hyperv.h drivers:hv: Make a function to free mmio regions through vmbus 2016-04-30 14:01:37 -07:00
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-mux-gpio.h
i2c-mux-pinctrl.h
i2c-mux.h i2c: mux: relax locking of the top i2c adapter during mux-locked muxing 2016-05-04 22:39:17 +02:00
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-xiic.h
i2c.h i2c: mux: relax locking of the top i2c adapter during mux-locked muxing 2016-05-04 22:39:17 +02:00
i7300_idle.h
i8042.h
i8253.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h
ieee802154.h
if_arp.h
if_bridge.h
if_eql.h
if_ether.h vxlan: Add checksum check to the features check function 2016-05-03 16:00:54 -04:00
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_team.h
if_tun.h
if_tunnel.h
if_vlan.h
igmp.h
ihex.h
ima.h ima: add support for creating files using the mknodat syscall 2016-05-01 09:23:52 -04:00
in.h
in6.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-svm.h
intel_pmic_gpio.h
interrupt.h
interval_tree.h
interval_tree_generic.h
io-64-nonatomic-hi-lo.h io-64-nonatomic: Add relaxed accessor variants 2016-05-03 18:23:02 +01:00
io-64-nonatomic-lo-hi.h io-64-nonatomic: Add relaxed accessor variants 2016-05-03 18:23:02 +01:00
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
iommu-common.h
iommu-helper.h
iommu.h Merge branches 'arm/io-pgtable', 'arm/rockchip', 'arm/omap', 'x86/vt-d', 'ppc/pamu', 'core' and 'x86/amd' into next 2016-05-09 19:39:17 +02:00
iopoll.h
ioport.h PCI: Identify Enhanced Allocation (EA) BAR Equivalent resources in sysfs 2016-05-16 15:12:02 -05:00
ioprio.h
iova.h iommu/iova: introduce per-cpu caching to iova allocation 2016-04-20 15:42:24 -04:00
ip.h
ipack.h
ipc.h
ipc_namespace.h
ipmi-fru.h
ipmi.h
ipmi_smi.h
ipv6.h net: l3mdev: Add hook in ip and ipv6 2016-05-11 19:31:40 -04:00
ipv6_route.h
irq.h genirq: Allow the affinity of a percpu interrupt to be set/retrieved 2016-05-02 13:42:51 +02:00
irq_cpustat.h
irq_poll.h
irq_work.h
irqbypass.h irqbypass: Disallow NULL token 2016-05-11 22:37:54 +02:00
irqchip.h
irqdesc.h genirq: Allow the affinity of a percpu interrupt to be set/retrieved 2016-05-02 13:42:51 +02:00
irqdomain.h irqdomain: Allow domain matching on irq_fwspec 2016-05-02 13:42:50 +02:00
irqflags.h
irqhandler.h
irqnr.h
irqreturn.h
isa.h isa: Dummy isa_register_driver should return error code 2016-06-17 20:47:11 -07:00
isapnp.h
iscsi_boot_sysfs.h ibft: Expose iBFT acpi header via sysfs 2016-05-16 11:14:29 -04:00
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
jbd2.h jbd2: remove excess descriptions for handle_s 2016-05-05 22:35:54 -04:00
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jump_label_ratelimit.h
jz4740-adc.h
jz4780-nemc.h
kallsyms.h
kasan-checks.h mm/kasan: add API to check memory regions 2016-05-20 17:58:30 -07:00
kasan.h mm: kasan: initial memory quarantine implementation 2016-05-20 17:58:30 -07:00
kbd_diacr.h
kbd_kern.h
kbuild.h
kconfig.h
kcore.h
kcov.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kern_levels.h
kernel-page-flags.h
kernel.h Staging and IIO driver update for 4.7-rc1 2016-05-20 22:20:48 -07:00
kernel_stat.h
kernelcapi.h
kernfs.h driver core update for 4.7-rc1 2016-05-20 21:26:15 -07:00
kexec.h s390/kexec: consolidate crash_map/unmap_reserved_pages() and arch_kexec_protect(unprotect)_crashkres() 2016-05-23 17:04:14 -07:00
key-type.h
key.h
keyboard.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmemcheck.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: Create debugfs dir and stat files for each VM 2016-05-25 16:12:05 +02:00
kvm_irqfd.h
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-class-flash.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-pca9532.h
leds-regulator.h
leds-tca6507.h
leds.h leds: core: Fix brightness setting upon hardware blinking enabled 2016-06-08 11:47:06 +02:00
leds_pwm.h
lglock.h
lguest.h
lguest_launcher.h
libata.h libata: support host-aware and host-managed ZAC devices 2016-05-09 12:36:46 -04:00
libfdt.h
libfdt_env.h
libnvdimm.h nfit, libnvdimm: clarify "commands" vs "_DSMs" 2016-04-28 16:23:16 -07:00
libps2.h
license.h
lightnvm.h lightnvm: reserved space calculation incorrect 2016-05-06 12:51:10 -06:00
linkage.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_lru.h
list_nulls.h
list_sort.h
livepatch.h Merge branches 'for-4.7/core', 'for-4.7/livepatching-doc' and 'for-4.7/livepatching-ppc64' into for-linus 2016-05-17 12:06:35 +02:00
llc.h
llist.h
lockdep.h Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-05-16 14:47:16 -07:00
lockref.h
log2.h
lp.h
lru_cache.h
lsm_audit.h
lsm_hooks.h Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2016-05-19 09:21:36 -07:00
lz4.h
lzo.h
m48t86.h
mISDNdsp.h
mISDNhw.h
mISDNif.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: export bus information via sysfs 2016-05-03 15:07:35 -07:00
mdio-bitbang.h
mdio-mux.h
mdio.h
mei_cl_bus.h
memblock.h
memcontrol.h mm: vmscan: reduce size of inactive file list 2016-05-20 17:58:30 -07:00
memory.h
memory_hotplug.h mm: fix section mismatch warning 2016-05-27 15:23:32 -07:00
mempolicy.h tmpfs: preliminary minor tidyups 2016-05-19 19:12:14 -07:00
mempool.h include/linux: apply __malloc attribute 2016-05-19 19:12:14 -07:00
memremap.h
memstick.h
mg_disk.h
mic_bus.h
micrel_phy.h
microchipphy.h
migrate.h
migrate_mode.h
mii.h
miscdevice.h
mm-arch-hooks.h
mm.h mm: remove more IS_ERR_VALUE abuses 2016-05-27 15:57:31 -07:00
mm_inline.h mm: update_lru_size do the __mod_zone_page_state 2016-05-19 19:12:14 -07:00
mm_types.h mm: oom_reaper: remove some bloat 2016-05-26 15:35:44 -07:00
mman.h
mmdebug.h
mmiotrace.h
mmu_context.h sched/core: Add switch_mm_irqs_off() and use it in the scheduler 2016-04-28 11:44:19 +02:00
mmu_notifier.h
mmzone.h mm fix commmets: if SPARSEMEM, pgdata doesn't have page_ext 2016-05-20 17:58:30 -07:00
mnt_namespace.h
mod_devicetable.h staging: fsl-mc: add support for device table matching 2016-06-26 17:14:03 -07:00
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mpi.h
mpls.h
mpls_iptunnel.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mvebu-pmsu.h
mxm-wmi.h
n_r3964.h
namei.h devpts: Make each mount of devpts an independent filesystem. 2016-06-05 10:36:01 -07:00
nd.h libnvdimm, pmem, pfn: make pmem_rw_bytes generic and refactor pfn setup 2016-04-22 12:26:23 -07:00
net.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-05-04 00:52:29 -04:00
netdev_features.h net: define gso types for IPx over IPv4 and IPv6 2016-05-20 18:03:15 -04:00
netdevice.h net: define gso types for IPx over IPv4 and IPv6 2016-05-20 18:03:15 -04:00
netfilter.h
netfilter_bridge.h
netfilter_defs.h
netfilter_ingress.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
nfs.h
nfs3.h
nfs4.h pnfs: rework LAYOUTGET retry handling 2016-05-17 15:48:12 -04:00
nfs_fs.h Merge branch 'work.preadv2' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-05-17 15:05:23 -07:00
nfs_fs_i.h
nfs_fs_sb.h NFS: Add COPY nfs operation 2016-05-17 15:47:55 -04:00
nfs_iostat.h
nfs_page.h
nfs_xdr.h NFS client updates for Linux 4.7 2016-05-26 10:33:33 -07:00
nfsacl.h
nilfs2_fs.h nilfs2: fix block comments 2016-05-23 17:04:14 -07:00
nl802154.h ieee802154: use nla_put_u64_64bit() 2016-04-25 15:09:11 -04:00
nls.h
nmi.h
node.h
nodemask.h include/linux/nodemask.h: create next_node_in() helper 2016-05-19 19:12:14 -07:00
notifier.h
ns_common.h
nsc_gpio.h
nsproxy.h
ntb.h
ntb_transport.h
nubus.h
numa.h
nvme.h NVMe: correct comment for offset enum of controller registers in nvme.h 2016-05-02 09:13:35 -06:00
nvmem-consumer.h
nvmem-provider.h nvmem: core: remove regmap dependency 2016-05-01 14:01:00 -07:00
nvram.h
of.h of: add missing const for of_parse_phandle_with_args() in !CONFIG_OF 2016-06-03 07:27:55 -05:00
of_address.h PCI, of: Move PCI I/O space management to PCI core code 2016-05-12 07:07:42 -05:00
of_device.h
of_dma.h
of_fdt.h drivers/of: Return allocated memory from of_fdt_unflatten_tree() 2016-05-16 07:22:35 -05:00
of_gpio.h
of_graph.h of: include errno.h in of_graph.h 2016-05-02 09:00:56 -05:00
of_iommu.h iommu: of: enforce const-ness of struct iommu_ops 2016-05-09 15:33:29 +02:00
of_irq.h
of_mdio.h
of_net.h
of_pci.h drivers: of: Fix of_pci.h header guard 2016-06-08 08:18:06 -05:00
of_pdt.h
of_platform.h
of_reserved_mem.h drivers: of: add definition of early_init_dt_alloc_reserved_memory_arch 2016-06-09 14:38:22 -05:00
oid_registry.h
olpc-ec.h
omap-dma.h
omap-dmaengine.h
omap-gpmc.h
omap-iommu.h
omap-mailbox.h mailbox/omap: kill omap_mbox_{save/restore}_ctx() functions 2016-04-26 10:19:38 +05:30
omapfb.h
once.h
oom.h signal: make oom_flags a bool 2016-05-23 17:04:14 -07:00
openvswitch.h
oprofile.h
osq_lock.h
oxu210hp.h
padata.h kernel/padata.c: removed unused code 2016-05-19 19:12:14 -07:00
page-flags-layout.h
page-flags.h mm: use unsigned long constant for page flags 2016-05-20 17:58:30 -07:00
page-isolation.h
page_counter.h
page_ext.h
page_idle.h mm: check the return value of lookup_page_ext for all call sites 2016-06-03 15:06:22 -07:00
page_owner.h
page_ref.h mm: rename _count, field of the struct page, to _refcount 2016-05-19 19:12:14 -07:00
pageblock-flags.h
pagemap.h mm: tighten fault_in_pages_writeable() 2016-05-20 17:58:30 -07:00
pagevec.h
parport.h
parport_pc.h
parser.h
pata_arasan_cf_data.h
patchkey.h
path.h
pch_dma.h
pci-acpi.h
pci-aspm.h
pci-ats.h
pci-dma-compat.h
pci-dma.h
pci.h PCI changes for the v4.7 merge window: 2016-05-19 13:10:54 -07:00
pci_hotplug.h
pci_ids.h
pcieport_if.h PCI: Add Downstream Port Containment portdrv service type 2016-05-03 10:35:49 -05:00
pda_power.h
pe.h
percpu-defs.h
percpu-refcount.h
percpu-rwsem.h
percpu.h printk/nmi: generic solution for safe printk in NMI 2016-05-20 17:58:30 -07:00
percpu_counter.h
percpu_ida.h
perf_event.h Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2016-05-25 17:05:40 -07:00
perf_regs.h
personality.h
pfn.h
pfn_t.h
phonet.h
phy.h net: phy: add phy_ethtool_{get|set}_link_ksettings 2016-05-10 15:06:19 -04:00
phy_fixed.h
pid.h
pid_namespace.h
pim.h
pipe_fs_i.h
pkeys.h
pktcdvd.h
pl320-ipc.h
platform_device.h
plist.h
pm-trace.h
pm.h PM / Runtime: Move ignore_children flag under CONFIG_PM 2016-04-22 01:32:37 +02:00
pm2301_charger.h
pm_clock.h
pm_domain.h PM / Domains: Remove ->save|restore_state() callbacks 2016-04-22 02:29:17 +02:00
pm_opp.h PM / OPP: add non-OF versions of dev_pm_opp_{cpumask_, }remove_table 2016-05-05 01:38:44 +02:00
pm_qos.h
pm_runtime.h PM / Runtime: Move ignore_children flag under CONFIG_PM 2016-04-22 01:32:37 +02:00
pm_wakeirq.h
pm_wakeup.h
pmem.h
pmu.h
pnfs_osd_xdr.h
pnp.h x86, drivers/pnpbios: Replace paravirt_enabled() check with legacy device check 2016-04-22 10:29:05 +02:00
poison.h
poll.h fs: poll/select/recvmmsg: use timespec64 for timeout events 2016-05-19 19:12:14 -07:00
posix-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
power_supply.h
powercap.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps-gpio.h
pps_kernel.h
pr.h
preempt.h
prefetch.h
printk.h printk/nmi: flush NMI messages on the system panic 2016-05-20 17:58:30 -07:00
proc_fs.h
proc_ns.h
profile.h
projid.h
property.h
psci.h drivers: firmware: psci: make two helper functions static 2016-04-25 23:47:44 +02:00
pstore.h
pstore_ram.h
pti.h
ptp_classify.h
ptp_clock_kernel.h
ptrace.h
pvclock_gtod.h
pwm.h pwm: Improve args checking in pwm_apply_state() 2016-06-10 14:21:00 +02:00
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qcom_scm.h
qnx6_fs.h
quicklist.h
quota.h
quotaops.h
radix-tree.h radix-tree: free up the bottom bit of exceptional entries for reuse 2016-05-20 17:58:30 -07:00
raid_class.h
ramfs.h
random.h lib/uuid.c: move generate_random_uuid() to uuid.c 2016-05-20 17:58:30 -07:00
range.h
ras.h
ratelimit.h
rational.h
rbtree.h
rbtree_augmented.h
rbtree_latch.h
rcu_sync.h
rculist.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-04-23 18:51:33 -04:00
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcutiny.h
rcutree.h
reboot.h
reciprocal_div.h
regmap.h
regset.h
relay.h
remoteproc.h remoteproc: Add additional crash reasons 2016-05-12 15:50:19 -07:00
reservation.h reservation: add headerdoc comments 2016-05-31 22:12:43 +05:30
reset-controller.h
reset.h
resource.h
resource_ext.h
rfkill-regulator.h
rfkill.h
rhashtable.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
rmi.h
rndis.h
root_dev.h
rpmsg.h rpmsg: add helper macro module_rpmsg_driver 2016-05-06 11:09:00 -07:00
rslib.h
rtc-ds2404.h
rtc-v3020.h
rtc.h
rtmutex.h
rtnetlink.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h add down_write_killable_nested() 2016-05-26 00:04:58 -04:00
rxrpc.h
s3c_adc_battery.h
sa11x0-dma.h
scatterlist.h
scc.h
sched.h mm: oom_reaper: remove some bloat 2016-05-26 15:35:44 -07:00
sched_clock.h
scif.h
scpi_protocol.h
screen_info.h
sctp.h sctp: sctp_diag should dump sctp socket type 2016-05-31 11:59:06 -07:00
scx200.h
scx200_gpio.h
sdb.h
sdla.h
seccomp.h
securebits.h
security.h Merge branch 'work.const-path' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs 2016-05-17 14:41:03 -07:00
selection.h tty: vt, use proper type for default colors 2016-04-30 09:26:55 -07:00
selinux.h
sem.h
semaphore.h
seq_buf.h
seq_file.h
seq_file_net.h
seqlock.h locking/seqcount: Re-fix raw_read_seqcount_latch() 2016-06-03 08:37:25 +02:00
seqno-fence.h
serial.h
serial_8250.h serial: 8250: export get_mctrl function 2016-04-30 09:26:55 -07:00
serial_bcm63xx.h
serial_core.h serial: 8250: export get_mctrl function 2016-04-30 09:26:55 -07:00
serial_max3100.h
serial_pnx8xxx.h
serial_s3c.h
serial_sci.h
serio.h
sfi.h
sfi_acpi.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: move the "sig < SIGRTMIN" check into siginmask(sig) 2016-05-23 17:04:14 -07:00
signalfd.h
sirfsoc_dma.h
sizes.h
skbuff.h net: suppress warnings on dev_alloc_skb 2016-05-20 19:58:32 -04:00
slab.h include/linux: apply __malloc attribute 2016-05-19 19:12:14 -07:00
slab_def.h mm: SLAB freelist randomization 2016-05-19 19:12:14 -07:00
slub_def.h mm: slub: remove unused virt_to_obj() 2016-05-26 15:35:44 -07:00
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h
smpboot.h
smsc911x.h
smscphy.h
sock_diag.h
socket.h net: Add Qualcomm IPC router 2016-05-08 23:46:14 -04:00
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
srcu.h
ssbi.h
stackdepot.h
stackprotector.h
stacktrace.h
start_kernel.h
stat.h
statfs.h
static_key.h
stddef.h
ste_modem_shm.h
stm.h stm class: Support devices that override software assigned masters 2016-05-03 14:59:30 -07:00
stmmac.h
stmp3xxx_rtc_wdt.h
stmp_device.h
stop_machine.h
string.h include/linux: apply __malloc attribute 2016-05-19 19:12:14 -07:00
string_helpers.h string_helpers: add kstrdup_quotable_file 2016-04-21 10:47:26 +10:00
stringhash.h fs/namei.c: Add hashlen_string() function 2016-05-28 15:42:50 -04:00
stringify.h
sudmac.h
sungem_phy.h
sunserialcore.h
sunxi-rsb.h
superhyway.h
suspend.h
svga.h
sw842.h
swab.h
swait.h
swap.h mm, oom: rework oom detection 2016-05-20 17:58:30 -07:00
swap_cgroup.h
swapfile.h
swapops.h
swiotlb.h
sxgbe_platform.h
sync_file.h dma-buf/sync_file: de-stage sync_file headers 2016-04-29 17:37:10 -07:00
synclink.h
sys.h
sys_soc.h
syscalls.h include/linux/syscalls.h: use pid_t instead of int 2016-05-20 17:58:30 -07: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
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h thermal: add the note for set_trip_temp 2016-06-01 22:25:48 +08:00
thinkpad_acpi.h
thread_info.h
threads.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
time64.h time: remove timespec_add_safe() 2016-05-19 19:12:14 -07:00
timecounter.h
timekeeper_internal.h
timekeeping.h time: Make settimeofday error checking work again 2016-06-01 21:13:43 +02:00
timer.h timer: add setup_deferrable_timer macro 2016-05-06 10:42:29 +02:00
timerfd.h
timeriomem-rng.h
timerqueue.h
timex.h
topology.h
torture.h
toshiba.h
tpm.h
tpm_command.h
trace_clock.h
trace_events.h This includes two new updates for the ftrace infrastructure. 2016-05-18 18:55:19 -07:00
trace_seq.h
tracefs.h
tracehook.h
tracepoint-defs.h
tracepoint.h
transport_class.h
tsacct_kern.h
tty.h TTY and Serial driver update for 4.7-rc1 2016-05-20 20:57:27 -07:00
tty_driver.h devpts: more pty driver interface cleanups 2016-04-26 15:47:32 -07:00
tty_flip.h
tty_ldisc.h
typecheck.h
types.h signal: make oom_flags a bool 2016-05-23 17:04:14 -07:00
u64_stats_sync.h tcp: fix lockdep splat in tcp_snd_una_update() 2016-05-04 16:55:11 -04:00
uaccess.h
ucb1400.h
ucs2_string.h
udp.h
uidgid.h
uinput.h
uio.h
uio_driver.h
uprobes.h
usb.h USB: leave LPM alone if possible when binding/unbinding interface drivers 2016-05-03 14:32:07 -07:00
usb_usual.h
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
userfaultfd_k.h
util_macros.h
uts.h
utsname.h
uuid.h lib/uuid.c: remove FSF address 2016-05-20 17:58:30 -07:00
uwb.h
verification.h
vermagic.h
vexpress.h
vfio.h
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_mmio.h
virtio_ring.h
vlynq.h
vm_event_item.h
vm_sockets.h
vmacache.h
vmalloc.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2016-05-23 11:48:48 -07:00
vme.h
vmpressure.h
vmstat.h mm, page_alloc: inline zone_statistics 2016-05-19 19:12:14 -07:00
vmw_vmci_api.h
vmw_vmci_defs.h
vringh.h
vt.h
vt_buffer.h
vt_kern.h
vtime.h
w1-gpio.h
wait.h
wanrouter.h
watchdog.h
wireless.h
wkup_m3_ipc.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h
ww_mutex.h
xattr.h switch ->setxattr() to passing dentry and inode separately 2016-05-27 20:09:16 -04:00
xz.h
yam.h
z2_battery.h
zbud.h
zconf.h
zlib.h
zorro.h
zpool.h
zsmalloc.h zsmalloc: require GFP in zs_malloc() 2016-05-20 17:58:30 -07:00
zutil.h