OpenCloudOS-Kernel/include/linux
Rafael J. Wysocki c6d22b3726 PM / Domains: Allow callbacks to execute all runtime PM helpers
A deadlock may occur if one of the PM domains' .start_device() or
.stop_device() callbacks or a device driver's .runtime_suspend() or
.runtime_resume() callback executed by the core generic PM domain
code uses a "wrong" runtime PM helper function.  This happens, for
example, if .runtime_resume() from one device's driver calls
pm_runtime_resume() for another device in the same PM domain.
A similar situation may take place if a device's parent is in the
same PM domain, in which case the runtime PM framework may execute
pm_genpd_runtime_resume() automatically for the parent (if it is
suspended at the moment).  This, of course, is undesirable, so
the generic PM domains code should be modified to prevent it from
happening.

The runtime PM framework guarantees that pm_genpd_runtime_suspend()
and pm_genpd_runtime_resume() won't be executed in parallel for
the same device, so the generic PM domains code need not worry
about those cases.  Still, it needs to prevent the other possible
race conditions between pm_genpd_runtime_suspend(),
pm_genpd_runtime_resume(), pm_genpd_poweron() and pm_genpd_poweroff()
from happening and it needs to avoid deadlocks at the same time.
To this end, modify the generic PM domains code to relax
synchronization rules so that:

* pm_genpd_poweron() doesn't wait for the PM domain status to
  change from GPD_STATE_BUSY.  If it finds that the status is
  not GPD_STATE_POWER_OFF, it returns without powering the domain on
  (it may modify the status depending on the circumstances).

* pm_genpd_poweroff() returns as soon as it finds that the PM
  domain's status changed from GPD_STATE_BUSY after it's released
  the PM domain's lock.

* pm_genpd_runtime_suspend() doesn't wait for the PM domain status
  to change from GPD_STATE_BUSY after executing the domain's
  .stop_device() callback and executes pm_genpd_poweroff() only
  if pm_genpd_runtime_resume() is not executed in parallel.

* pm_genpd_runtime_resume() doesn't wait for the PM domain status
  to change from GPD_STATE_BUSY after executing pm_genpd_poweron()
  and sets the domain's status to GPD_STATE_BUSY and increments its
  counter of resuming devices (introduced by this change) immediately
  after acquiring the lock.  The counter of resuming devices is then
  decremented after executing __pm_genpd_runtime_resume() for the
  device and the domain's status is reset to GPD_STATE_ACTIVE (unless
  there are more resuming devices in the domain, in which case the
  status remains GPD_STATE_BUSY).

This way, for example, if a device driver's .runtime_resume()
callback executes pm_runtime_resume() for another device in the same
PM domain, pm_genpd_poweron() called by pm_genpd_runtime_resume()
invoked by the runtime PM framework will not block and it will see
that there's nothing to do for it.  Next, the PM domain's lock will
be acquired without waiting for its status to change from
GPD_STATE_BUSY and the device driver's .runtime_resume() callback
will be executed.  In turn, if pm_runtime_suspend() is executed by
one device driver's .runtime_resume() callback for another device in
the same PM domain, pm_genpd_poweroff() executed by
pm_genpd_runtime_suspend() invoked by the runtime PM framework as a
result will notice that one of the devices in the domain is being
resumed, so it will return immediately.

Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
2011-07-12 00:39:36 +02:00
..
amba amba pl011: workaround for uart registers lockup 2011-06-16 12:01:57 -07:00
bcma
byteorder
caif
can
ceph
crush
decompress
dvb
hdlc
i2c backlight: new driver for the ADP8870 backlight devices 2011-06-15 20:03:59 -07:00
input Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input 2011-06-20 08:59:46 -07:00
isdn
lockd
mfd TPS65911: Comparator: Add comparator driver 2011-05-27 10:49:29 +01:00
mlx4
mmc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc 2011-05-25 16:55:55 -07:00
mtd mtd: fix physmap.h warnings 2011-06-01 11:36:49 +01:00
netfilter netfilter: add more values to enum ip_conntrack_info 2011-06-06 01:35:10 +02:00
netfilter_arp
netfilter_bridge
netfilter_ipv4
netfilter_ipv6
nfc
nfsd
platform_data
power
raid
regulator regulator: Support voltage offsets to compensate for drops in system 2011-05-27 10:34:37 +01:00
rtc
spi Merge branch 'spi/next' of git://git.secretlab.ca/git/linux-2.6 2011-05-26 12:13:22 -07:00
ssb
sunrpc Merge branch 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6 2011-06-21 18:20:55 -07:00
tc_act
tc_ematch
unaligned
usb
uwb
wimax
8250_pci.h
Kbuild Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/cjb/mmc 2011-05-25 16:55:55 -07:00
a.out.h
ac97_codec.h
acct.h
acpi.h
acpi_io.h
acpi_pmtmr.h
adb.h
adfs_fs.h
aer.h
affs_hardblocks.h
agp_backend.h
agpgart.h
ahci_platform.h
aio.h
aio_abi.h
alarmtimer.h
altera_jtaguart.h
altera_uart.h
amifd.h
amifdreg.h
amigaffs.h
anon_inodes.h
apm-emulation.h
apm_bios.h
arcdevice.h
arcfb.h
async.h
async_tx.h
ata.h
ata_platform.h
atalk.h
ath9k_platform.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_suni.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmel-mci.h
atmel-pwm-bl.h
atmel-ssc.h
atmel_pdc.h
atmel_pwm.h
atmel_serial.h
atmel_tc.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
atomic.h atomic: Add atomic_or() 2011-05-28 17:41:46 +02:00
attribute_container.h
audit.h
auto_dev-ioctl.h
auto_fs.h
auto_fs4.h
auxvec.h
average.h
ax25.h
b1lli.h
b1pcmcia.h
backing-dev.h
backlight.h
basic_mmio_gpio.h gpio/basic_mmio: add missing include of spinlock_types.h 2011-06-10 08:46:26 -06:00
baycom.h
bcd.h
bch.h
bfin_mac.h
bfs_fs.h
binfmts.h
bio.h
bit_spinlock.h
bitmap.h bitmap, irq: add smp_affinity_list interface to /proc/irq 2011-05-25 08:39:45 -07:00
bitops.h arch: remove CONFIG_GENERIC_FIND_{NEXT_BIT,BIT_LE,LAST_BIT} 2011-05-26 17:12:38 -07:00
bitrev.h
blk-iopoll.h
blk_types.h block: add REQ_SECURE to REQ_COMMON_MASK 2011-06-20 13:23:14 +02:00
blkdev.h block: remove unwanted semicolons 2011-05-31 13:45:53 +02:00
blkpg.h
blktrace_api.h block: Add __attribute__((format(printf...) and fix fallout 2011-06-13 10:42:49 +02:00
blockgroup_lock.h
bootmem.h memblock/nobootmem: allow alloc_bootmem() to take 0 as low limit 2011-05-25 08:39:30 -07:00
bottom_half.h
bpqether.h
brcmphy.h
bsearch.h
bsg.h
btree-128.h
btree-type.h
btree.h
buffer_head.h vfs: Block mmapped writes while the fs is frozen 2011-05-26 07:26:45 -04:00
bug.h
c2port.h include/linux/c2port.h: remove wrong and never used macros 2011-05-25 08:39:43 -07:00
cache.h
can.h
capability.h
capi.h
cb710.h
cciss_defs.h
cciss_ioctl.h
cd1400.h
cdev.h
cdk.h
cdrom.h
cfag12864b.h
cgroup.h cgroup: remove the ns_cgroup 2011-05-26 17:12:34 -07:00
cgroup_subsys.h cgroup: remove the ns_cgroup 2011-05-26 17:12:34 -07:00
cgroupstats.h
chio.h
circ_buf.h
cleancache.h mm: cleancache core ops functions and config 2011-05-26 10:01:36 -06:00
clk.h
clkdev.h
clockchips.h
clocksource.h clocksource: Make watchdog robust vs. interruption 2011-06-16 19:30:53 +02:00
cm4000_cs.h
cn_proc.h
cnt32_to_63.h
coda.h
coda_psdev.h
coff.h
com20020.h
compaction.h
compat.h include/linux/compat.h: declare compat_sys_sendmmsg() 2011-06-27 18:00:13 -07:00
compiler-gcc.h sparse: define __must_be_array() for __CHECKER__ 2011-05-25 08:39:46 -07:00
compiler-gcc3.h
compiler-gcc4.h sparse: Undef __compiletime_{warning,error} if __CHECKER__ is defined 2011-05-25 08:39:47 -07:00
compiler-intel.h
compiler.h
completion.h
comstats.h
concap.h
configfs.h
connector.h Connector: Set the CN_NETLINK_USERS correctly 2011-06-07 12:02:00 -07:00
console.h
console_struct.h
consolemap.h
const.h
coredump.h
cper.h
cpu.h
cpu_rmap.h
cpufreq.h
cpuidle.h
cpumask.h bitmap, irq: add smp_affinity_list interface to /proc/irq 2011-05-25 08:39:45 -07:00
cpuset.h cpuset: Fix cpuset_cpus_allowed_fallback(), don't update tsk->rt.nr_cpus_allowed 2011-05-28 17:02:57 +02:00
cramfs_fs.h
cramfs_fs_sb.h
crash_dump.h fs/proc/vmcore.c: add hook to read_from_oldmem() to check for non-ram pages 2011-05-26 17:12:37 -07:00
crc-ccitt.h
crc-itu-t.h
crc-t10dif.h
crc7.h
crc16.h
crc32.h
crc32c.h
cred.h
crypto.h
cryptohash.h
cs5535.h
ctype.h
cuda.h
cyclades.h
cyclomx.h
cycx_cfm.h
cycx_drv.h
cycx_x25.h
davinci_emac.h
dca.h
dcache.h
dcbnl.h
dccp.h
dcookies.h
debug_locks.h
debugfs.h
debugobjects.h
delay.h
delayacct.h
device-mapper.h dm table: allow targets to support discards internally 2011-05-29 12:52:55 +01:00
device.h PM / Domains: Rename struct dev_power_domain to struct dev_pm_domain 2011-07-02 14:29:54 +02:00
device_cgroup.h devcgroup_inode_permission: take "is it a device node" checks to inlined wrapper 2011-06-20 10:46:04 -04:00
devpts_fs.h
dio.h
dirent.h
display.h
dlm.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlmconstants.h
dm-dirty-log.h
dm-io.h dm io: use fixed initial mempool size 2011-05-29 13:03:09 +01:00
dm-ioctl.h
dm-kcopyd.h dm kcopyd: return client directly and not through a pointer 2011-05-29 13:03:13 +01:00
dm-log-userspace.h
dm-region-hash.h
dm9000.h
dma-attrs.h
dma-debug.h
dma-mapping.h
dma_remapping.h intel-iommu: Enable super page (2MiB, 1GiB, etc.) support 2011-06-01 12:26:35 +01:00
dmaengine.h
dmapool.h
dmar.h
dmi.h
dn.h
dnotify.h
dns_resolver.h
dqblk_qtree.h
dqblk_v1.h
dqblk_v2.h
dqblk_xfs.h
drbd.h
drbd_limits.h
drbd_nl.h
drbd_tag_magic.h
ds1286.h
ds2782_battery.h
ds17287rtc.h
dtlk.h
dw_dmac.h
dynamic_debug.h
edac.h
edac_mce.h
edd.h
eeprom_93cx6.h
efi.h x86, efi: Retain boot service code until after switching to virtual mode 2011-05-25 17:03:53 -07:00
efs_fs_sb.h
efs_vh.h
eisa.h
elevator.h
elf-em.h
elf-fdpic.h
elf.h
elfcore-compat.h
elfcore.h
elfnote.h
enclosure.h
err.h
errno.h
errqueue.h
etherdevice.h
ethtool.h ethtool.h: fix typos 2011-06-09 15:05:48 -07:00
eventfd.h
eventpoll.h
exportfs.h
ext2_fs.h
ext2_fs_sb.h
ext3_fs.h fs: pass exact type of data dirties to ->dirty_inode 2011-05-27 07:04:40 -04:00
ext3_fs_i.h
ext3_fs_sb.h
ext3_jbd.h
f75375s.h
fadvise.h
falloc.h
fanotify.h
fault-inject.h
fb.h
fcdevice.h
fcntl.h
fd.h
fddidevice.h
fdreg.h
fdtable.h
fec.h
fib_rules.h
fiemap.h
file.h
filter.h
fips.h
firewire-cdev.h
firewire-constants.h
firewire.h
firmware-map.h
firmware.h
flat.h
flex_array.h flex_array: avoid divisions when accessing elements 2011-05-26 17:12:33 -07:00
font.h
freezer.h
fs.h mm: fix assertion mapping->nrpages == 0 in end_writeback() 2011-06-27 18:00:13 -07:00
fs_enet_pd.h
fs_stack.h
fs_struct.h
fs_uart_pd.h
fscache-cache.h fscache: remove dead code under CONFIG_WORKQUEUE_DEBUGFS 2011-05-25 08:39:44 -07:00
fscache.h
fsl-diu-fb.h
fsl_devices.h
fsnotify.h
fsnotify_backend.h
ftrace.h
ftrace_event.h tracing: Add __print_symbolic_u64 to avoid warnings on 32bit machine 2011-05-25 22:13:44 -04:00
ftrace_irq.h
fuse.h
futex.h
gameport.h
gcd.h
gen_stats.h
genalloc.h lib/genalloc.c: add support for specifying the physical address 2011-05-25 08:39:54 -07:00
generic_acl.h
generic_serial.h
genetlink.h
genhd.h Revert "block: Remove extra discard_alignment from hd_struct." 2011-05-30 07:42:51 +02:00
getcpu.h
gfp.h
gfs2_ondisk.h
gigaset_dev.h
gpio-fan.h
gpio-i2cmux.h
gpio.h gpio: add GPIOF_ values regardless on kconfig settings 2011-06-16 08:40:52 -06:00
gpio_keys.h
gpio_mouse.h
gsmmux.h
hardirq.h
hash.h
hdlc.h
hdlcdrv.h
hdreg.h
hid-debug.h
hid-roccat.h
hid.h
hiddev.h
hidraw.h
highmem.h
highuid.h
hil.h
hil_mlc.h
hippidevice.h
hp_sdc.h
hpet.h
hrtimer.h Fix some kernel-doc warnings 2011-06-27 16:06:19 -07:00
htcpld.h
htirq.h
huge_mm.h
hugetlb.h Fix build with !HUGETLBFS 2011-05-26 12:03:50 -07:00
hugetlb_inline.h mm: don't access vm_flags as 'int' 2011-05-26 09:20:31 -07:00
hw_breakpoint.h
hw_random.h
hwmon-sysfs.h
hwmon-vid.h
hwmon.h
hwspinlock.h
hysdn_if.h
i2c-algo-bit.h
i2c-algo-pca.h
i2c-algo-pcf.h
i2c-dev.h
i2c-gpio.h
i2c-mux.h
i2c-ocores.h
i2c-omap.h
i2c-pca-platform.h
i2c-pnx.h
i2c-pxa.h
i2c-smbus.h
i2c-tegra.h
i2c-xiic.h
i2c.h hwmon: (jc42) Change detection class 2011-05-25 20:43:32 +02:00
i2o-dev.h
i2o.h
i8k.h
i7300_idle.h
i8042.h
i82593.h
ibmtr.h
icmp.h
icmpv6.h
ide.h
idr.h
ieee80211.h cfg80211: don't drop p2p probe responses 2011-06-01 14:34:01 -04:00
if.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_ec.h
if_eql.h
if_ether.h net: Kill ether_table[] declaration. 2011-05-27 13:40:54 -04:00
if_fc.h
if_fddi.h
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h
if_ltalk.h
if_macvlan.h
if_packet.h af_packet: prevent information leak 2011-06-06 22:42:06 -07:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_strip.h
if_tr.h
if_tun.h
if_tunnel.h
if_vlan.h vlan: Fix the ingress VLAN_FLAG_REORDER_HDR check 2011-06-11 16:15:50 -07:00
if_x25.h
igmp.h
ihex.h
ima.h
in.h
in6.h
in_route.h
inet.h
inet_diag.h
inet_lro.h
inetdevice.h
init.h
init_ohci1394_dma.h
init_task.h cgroups: read-write lock CLONE_THREAD forking per threadgroup 2011-05-26 17:12:34 -07:00
initrd.h
inotify.h
input-polldev.h
input.h
intel-iommu.h
intel_mid_dma.h
intel_pmic_gpio.h
interrupt.h rcu: Use softirq to address performance regression 2011-06-14 15:25:39 -07:00
io-mapping.h
io.h
ioc3.h
ioc4.h
iocontext.h
ioctl.h
iommu-helper.h
iommu.h
ioport.h
ioprio.h
iova.h
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
ipc_namespace.h
ipmi.h
ipmi_msgdefs.h
ipmi_smi.h ipmi: convert to seq_file interface 2011-05-26 17:12:37 -07:00
ipsec.h
ipv6.h
ipv6_route.h
ipx.h
irda.h
irq.h
irq_cpustat.h
irq_work.h
irqdesc.h
irqflags.h
irqnr.h
irqreturn.h irq: Handle spurios irq detection for threaded irqs 2011-06-03 14:53:15 +02:00
isa.h
isapnp.h
iscsi_boot_sysfs.h
iscsi_ibft.h
isdn.h
isdn_divertif.h
isdn_ppp.h
isdnif.h
isicom.h
iso_fs.h
istallion.h
ivtv.h
ivtvfb.h
ixjuser.h
jbd.h
jbd2.h jbd2: Fix oops in jbd2_journal_remove_journal_head() 2011-06-13 15:38:22 -04:00
jffs2.h
jhash.h
jiffies.h
journal-head.h
joystick.h
jump_label.h
jz4740-adc.h
kallsyms.h
kbd_diacr.h
kbd_kern.h
kbuild.h
kd.h
kdb.h
kdebug.h
kdev_t.h
kernel-page-flags.h
kernel.h BUILD_BUG_ON_ZERO: fix sparse breakage 2011-06-15 20:04:00 -07:00
kernel_stat.h
kernelcapi.h
kexec.h
key-type.h
key.h Merge branch 'docs-move' of git://git.kernel.org/pub/scm/linux/kernel/git/rdunlap/linux-docs 2011-05-27 10:25:02 -07:00
keyboard.h
keyctl.h
kfifo.h
kgdb.h
khugepaged.h
klist.h
kmalloc_sizes.h
kmemcheck.h
kmemleak.h
kmod.h KEYS/DNS: Fix ____call_usermodehelper() to not lose the session keyring 2011-06-17 09:40:48 -07:00
kmsg_dump.h kmsg_dump.h: fix build when CONFIG_PRINTK is disabled 2011-06-15 20:03:59 -07:00
kobj_map.h
kobject.h
kobject_ns.h Delay struct net freeing while there's a sysfs instance refering to it 2011-06-12 17:45:41 -04:00
kprobes.h
kref.h
ks0108.h
ks8842.h
ksm.h
kthread.h
ktime.h
kvm.h
kvm_host.h
kvm_para.h
kvm_types.h
l2tp.h
lapb.h
latencytop.h
lcd.h
lcm.h
led-lm3530.h
leds-bd2802.h
leds-lp3944.h
leds-lp5521.h
leds-lp5523.h
leds-pca9532.h drivers/leds/leds-pca9532.c: add gpio capability 2011-05-25 08:39:50 -07:00
leds-regulator.h
leds.h leds: provide helper to register "leds-gpio" devices 2011-05-25 08:39:51 -07:00
leds_pwm.h
lglock.h
lguest.h
lguest_launcher.h
libata.h
libps2.h
license.h
limits.h
linkage.h
linux_logo.h
lis3lv02d.h
list.h
list_bl.h
list_nulls.h
list_sort.h
llc.h
lockdep.h
log2.h
loop.h
lp.h
lru_cache.h
lsm_audit.h
lzo.h
m48t86.h
mISDNdsp.h
mISDNhw.h
mISDNif.h
magic.h
major.h
map_to_7segment.h
maple.h
marvell_phy.h
math64.h
matroxfb.h
max17040_battery.h
mbcache.h
mbus.h
mc6821.h
mc146818rtc.h
mca-legacy.h
mca.h
mdio-bitbang.h
mdio-gpio.h
mdio.h
media.h
memblock.h memblock: add error return when CONFIG_HAVE_MEMBLOCK is not set 2011-05-25 08:39:48 -07:00
memcontrol.h vmscan,memcg: memcg aware swap token 2011-06-15 20:03:59 -07:00
memory.h
memory_hotplug.h
mempolicy.h mm: declare mpol_to_str() when CONFIG_TMPFS=n 2011-05-25 08:39:34 -07:00
mempool.h
memstick.h
meye.h
mg_disk.h
micrel_phy.h
migrate.h
mii.h
minix_fs.h
miscdevice.h
mm.h mm: extract exe_file handling from procfs 2011-05-26 17:12:36 -07:00
mm_inline.h
mm_types.h mm: Fix boot crash in mm_alloc() 2011-05-29 11:32:28 -07:00
mman.h
mmdebug.h
mmiotrace.h
mmtimer.h
mmu_context.h
mmu_notifier.h
mmzone.h Fix node_start/end_pfn() definition for mm/page_cgroup.c 2011-06-27 14:13:09 -07:00
mnt_namespace.h
mod_devicetable.h
module.h
moduleloader.h
moduleparam.h
mount.h
mpage.h
mqueue.h
mroute.h
mroute6.h
msdos_fs.h
msg.h
msi.h
msm_mdp.h
mtio.h
mutex-debug.h
mutex.h
mv643xx.h
mv643xx_eth.h
mv643xx_i2c.h
mxm-wmi.h
n_r3964.h
namei.h
nbd.h
ncp.h
ncp_fs.h
ncp_mount.h
ncp_no.h
neighbour.h
net.h net: Kill ratelimit.h dependency in linux/net.h 2011-05-27 13:41:33 -04:00
net_dropmon.h
net_tstamp.h
netdevice.h net: Rework netdev_drivername() to avoid warning. 2011-06-06 16:41:33 -07:00
netfilter.h net: Add linux/sysctl.h includes where needed. 2011-05-27 13:40:58 -04:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h
netpoll.h
netrom.h
nfs.h
nfs2.h
nfs3.h
nfs4.h Merge branch 'pnfs-submit' of git://git.open-osd.org/linux-open-osd 2011-05-29 14:10:13 -07:00
nfs4_mount.h
nfs_fs.h
nfs_fs_i.h
nfs_fs_sb.h
nfs_idmap.h
nfs_iostat.h
nfs_mount.h
nfs_page.h NFSv4.1: file layout must consider pg_bsize for coalescing 2011-06-20 16:12:26 -04:00
nfs_xdr.h NFSv4.1: deprecate headerpadsz in CREATE_SESSION 2011-06-15 11:24:28 -04:00
nfsacl.h
nilfs2_fs.h
nl80211.h
nl802154.h
nls.h
nmi.h
node.h
nodemask.h
notifier.h
nsc_gpio.h
nsproxy.h cgroup: remove the ns_cgroup 2011-05-26 17:12:34 -07:00
nubus.h
numa.h
nvram.h
nwpserial.h
of.h
of_address.h
of_device.h
of_fdt.h
of_gpio.h
of_i2c.h
of_irq.h
of_mdio.h
of_net.h
of_pci.h
of_pdt.h
of_platform.h
of_spi.h
omap3isp.h
omapfb.h
oom.h
opp.h
oprofile.h
oxu210hp.h
padata.h
page-debug-flags.h
page-flags.h [S390] mm: fix storage key handling 2011-05-29 12:40:51 +02:00
page-isolation.h
page_cgroup.h
pageblock-flags.h
pagemap.h
pagevec.h
param.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.h
pci.h
pci_hotplug.h
pci_ids.h mmc: Add PCI fixup quirks for Ricoh 1180:e823 reader 2011-06-18 22:18:18 -04:00
pci_regs.h
pcieport_if.h
pda_power.h
percpu-defs.h
percpu.h slub: always align cpu_slab to honor cmpxchg_double requirement 2011-06-03 19:33:49 +03:00
percpu_counter.h percpu_counter: change return value and add comments 2011-05-25 08:39:54 -07:00
perf_event.h perf: Fix comments in include/linux/perf_event.h 2011-06-04 12:31:14 +02:00
personality.h
pfkeyv2.h
pfn.h
pg.h
phantom.h
phonedev.h
phonet.h
phy.h
phy_fixed.h
pid.h pid: fix typo in function description 2011-05-26 17:12:37 -07:00
pid_namespace.h
pim.h
pipe_fs_i.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
platform_device.h
plist.h
pm.h PM: Introduce generic "noirq" callback routines for subsystems (v2) 2011-07-02 14:29:55 +02:00
pm_domain.h PM / Domains: Allow callbacks to execute all runtime PM helpers 2011-07-12 00:39:36 +02:00
pm_qos_params.h idle governor: Avoid lock acquisition to read pm_qos before entering idle 2011-05-29 00:50:59 -04:00
pm_runtime.h PM: Rename clock management functions 2011-07-02 14:29:57 +02:00
pm_wakeup.h
pmu.h
pnfs_osd_xdr.h pnfs-obj: pnfs_osd XDR definitions 2011-05-29 20:52:36 +03:00
pnp.h
poison.h
poll.h
posix-clock.h
posix-timers.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
power_supply.h
ppdev.h
ppp-comp.h
ppp_channel.h
ppp_defs.h
pps.h
pps_kernel.h
prctl.h
preempt.h
prefetch.h
printk.h printk: allocate kernel log buffer earlier 2011-05-25 08:39:48 -07:00
prio_heap.h
prio_tree.h
proc_fs.h mm: extract exe_file handling from procfs 2011-05-26 17:12:36 -07:00
profile.h
proportions.h
pstore.h
pti.h
ptp_classify.h
ptp_clock.h
ptp_clock_kernel.h
ptrace.h
pwm.h
pwm_backlight.h
pxa2xx_ssp.h
pxa168_eth.h
qnx4_fs.h
qnxtypes.h
quicklist.h
quota.h
quotaops.h
radeonfb.h
radix-tree.h
raid_class.h
ramfs.h
ramoops.h
random.h
range.h
rar_register.h
ratelimit.h bug.h: Move ratelimit warn interfaces to ratelimit.h 2011-05-26 15:00:31 -04:00
rational.h
raw.h
rbtree.h
rculist.h
rculist_bl.h
rculist_nulls.h
rcupdate.h
rcutiny.h
rcutree.h
rds.h
reboot.h
reciprocal_div.h
regset.h
reiserfs_acl.h
reiserfs_fs.h
reiserfs_fs_i.h
reiserfs_fs_sb.h
reiserfs_xattr.h
relay.h
res_counter.h
resource.h
resume-trace.h
rfkill-gpio.h
rfkill-regulator.h
rfkill.h
ring_buffer.h
rio.h
rio_drv.h
rio_ids.h
rio_regs.h
rmap.h
romfs_fs.h
root_dev.h
rose.h
rotary_encoder.h
route.h
rslib.h
rtc-v3020.h
rtc.h drivers/rtc/rtc-mxc.c: remove defines already included in rtc.h 2011-05-26 17:12:33 -07:00
rtmutex.h
rtnetlink.h
rwlock.h
rwlock_api_smp.h
rwlock_types.h
rwsem-spinlock.h
rwsem.h
rxrpc.h
s3c_adc_battery.h
sc26198.h
scatterlist.h
scc.h
sched.h Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-06-07 19:20:28 -07:00
screen_info.h
sctp.h
scx200.h
scx200_gpio.h
sdla.h
seccomp.h
securebits.h
security.h
selection.h
selinux.h
selinux_netlink.h
sem.h
semaphore.h
seq_file.h
seq_file_net.h
seqlock.h linux/seqlock.h should #include asm/processor.h for cpu_relax() 2011-06-11 13:17:28 -07:00
serial.h
serial167.h
serialP.h
serial_8250.h
serial_core.h
serial_max3100.h
serial_mfd.h
serial_pnx8xxx.h
serial_reg.h
serial_sci.h
serio.h
sfi.h
sfi_acpi.h
sh_clk.h
sh_dma.h
sh_intc.h
sh_pfc.h
sh_timer.h
shm.h
shmem_fs.h tmpfs: add shmem_read_mapping_page_gfp 2011-06-27 18:00:12 -07:00
sht15.h
sigma.h
signal.h
signalfd.h
skbuff.h vlan: Fix the ingress VLAN_FLAG_REORDER_HDR check 2011-06-11 16:15:50 -07:00
slab.h
slab_def.h
slob_def.h
slub_def.h
sm501-regs.h
sm501.h
smc91x.h
smc911x.h
smp.h generic-ipi: Fix kexec boot crash by initializing call_single_queue before enabling interrupts 2011-06-17 10:17:12 +02:00
smsc911x.h
snmp.h
socket.h
sockios.h
som.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
srcu.h
stackprotector.h
stacktrace.h
stallion.h
start_kernel.h
stat.h
statfs.h
stddef.h
stmmac.h
stop_machine.h
string.h
string_helpers.h
stringify.h
superhyway.h
suspend.h
suspend_ioctls.h
svga.h
swab.h
swap.h mm: move shmem prototypes to shmem_fs.h 2011-06-27 18:00:12 -07:00
swapops.h
swiotlb.h swiotlb: Export swioltb_nr_tbl and utilize it as appropiate. 2011-06-06 15:41:16 -04:00
synclink.h
sys.h
syscalls.h Merge git://git.kernel.org/pub/scm/linux/kernel/git/ebiederm/linux-2.6-nsfd 2011-05-25 18:10:16 -07:00
syscore_ops.h
sysctl.h
sysdev.h
sysfs.h Delay struct net freeing while there's a sysfs instance refering to it 2011-06-12 17:45:41 -04:00
syslog.h
sysrq.h
sysv_fs.h
task_io_accounting.h
task_io_accounting_ops.h
taskstats.h
taskstats_kern.h
tboot.h
tc.h
tca6416_keypad.h
tcp.h
telephony.h
termios.h
textsearch.h
textsearch_fsm.h
tfrc.h
thermal.h
thread_info.h
threads.h
ti_wilink_st.h
tick.h
tifm.h
timb_dma.h
timb_gpio.h
time.h
timecompare.h
timer.h
timerfd.h
timeriomem-rng.h
timerqueue.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
topology.h mm: increase RECLAIM_DISTANCE to 30 2011-06-15 20:03:59 -07:00
toshiba.h
tpm.h
tpm_command.h
trace_clock.h
trace_seq.h
tracehook.h
tracepoint.h
transport_class.h
trdevice.h
tsacct_kern.h
tty.h
tty_driver.h
tty_flip.h
tty_ldisc.h Revert "tty: make receive_buf() return the amout of bytes received" 2011-06-04 06:33:24 +09:00
typecheck.h
types.h
u64_stats_sync.h
uaccess.h maccess,probe_kernel: Make write/read src const void * 2011-05-25 19:56:23 -04:00
ucb1400.h
udf_fs_i.h
udp.h
uinput.h
uio.h
uio_driver.h
ultrasound.h
un.h
unistd.h
usb.h
usb_usual.h usb-storage: redo incorrect reads 2011-06-07 09:05:42 -07:00
usbdevice_fs.h
user-return-notifier.h
user.h
user_namespace.h
utime.h
uts.h uts: make default hostname configurable, rather than always using "(none)" 2011-06-15 20:04:00 -07:00
utsname.h
uuid.h
uvcvideo.h
uwb.h
v4l2-mediabus.h
v4l2-subdev.h
vermagic.h
veth.h
vfs.h
vga_switcheroo.h
vgaarb.h
vhost.h
via-core.h
via-gpio.h
via.h
via_i2c.h
video_output.h
videodev2.h
virtio.h virtio: add api for delayed callbacks 2011-05-30 11:14:16 +09:30
virtio_9p.h virtio: add full three-clause BSD text to headers. 2011-05-30 11:14:14 +09:30
virtio_balloon.h virtio: add full three-clause BSD text to headers. 2011-05-30 11:14:14 +09:30
virtio_blk.h virtio: add full three-clause BSD text to headers. 2011-05-30 11:14:14 +09:30
virtio_config.h virtio: add full three-clause BSD text to headers. 2011-05-30 11:14:14 +09:30
virtio_console.h virtio: add full three-clause BSD text to headers. 2011-05-30 11:14:14 +09:30
virtio_ids.h virtio: add full three-clause BSD text to headers. 2011-05-30 11:14:14 +09:30
virtio_net.h virtio: add full three-clause BSD text to headers. 2011-05-30 11:14:14 +09:30
virtio_pci.h virtio: add full three-clause BSD text to headers. 2011-05-30 11:14:14 +09:30
virtio_ring.h virtio ring: inline function to check for events 2011-05-30 11:14:14 +09:30
virtio_rng.h
vlynq.h
vm_event_item.h mm: move enum vm_event_item into a standalone header file 2011-05-26 17:12:34 -07:00
vmalloc.h
vmstat.h mm: move enum vm_event_item into a standalone header file 2011-05-26 17:12:34 -07:00
vt.h
vt_buffer.h
vt_kern.h
w1-gpio.h
wait.h
wanrouter.h
watchdog.h
wimax.h
wireless.h
wl12xx.h
wm97xx.h
workqueue.h
writeback.h
x25.h
xattr.h xattr.h: expose string defines to userspace 2011-05-25 08:39:45 -07:00
xfrm.h
xilinxfb.h
xz.h
yam.h
z2_battery.h
zconf.h
zlib.h
zorro.h
zorro_ids.h
zutil.h