404

[ Avaa Bypassed ]




Upload:

Command:

botdev@3.143.236.11: ~ $
/*
 *  pm.h - Power management interface
 *
 *  Copyright (C) 2000 Andrew Henroid
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 2 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

#ifndef _LINUX_PM_H
#define _LINUX_PM_H

#include <linux/list.h>
#include <linux/workqueue.h>
#include <linux/spinlock.h>
#include <linux/wait.h>
#include <linux/timer.h>
#include <linux/completion.h>

/*
 * Callbacks for platform drivers to implement.
 */
extern void (*pm_power_off)(void);
extern void (*pm_power_off_prepare)(void);

struct device; /* we have a circular dep with device.h */
#ifdef CONFIG_VT_CONSOLE_SLEEP
extern void pm_vt_switch_required(struct device *dev, bool required);
extern void pm_vt_switch_unregister(struct device *dev);
#else
static inline void pm_vt_switch_required(struct device *dev, bool required)
{
}
static inline void pm_vt_switch_unregister(struct device *dev)
{
}
#endif /* CONFIG_VT_CONSOLE_SLEEP */

/*
 * Device power management
 */

struct device;

#ifdef CONFIG_PM
extern const char power_group_name[];		/* = "power" */
#else
#define power_group_name	NULL
#endif

typedef struct pm_message {
	int event;
} pm_message_t;

/**
 * struct dev_pm_ops - device PM callbacks.
 *
 * @prepare: The principal role of this callback is to prevent new children of
 *	the device from being registered after it has returned (the driver's
 *	subsystem and generally the rest of the kernel is supposed to prevent
 *	new calls to the probe method from being made too once @prepare() has
 *	succeeded).  If @prepare() detects a situation it cannot handle (e.g.
 *	registration of a child already in progress), it may return -EAGAIN, so
 *	that the PM core can execute it once again (e.g. after a new child has
 *	been registered) to recover from the race condition.
 *	This method is executed for all kinds of suspend transitions and is
 *	followed by one of the suspend callbacks: @suspend(), @freeze(), or
 *	@poweroff().  If the transition is a suspend to memory or standby (that
 *	is, not related to hibernation), the return value of @prepare() may be
 *	used to indicate to the PM core to leave the device in runtime suspend
 *	if applicable.  Namely, if @prepare() returns a positive number, the PM
 *	core will understand that as a declaration that the device appears to be
 *	runtime-suspended and it may be left in that state during the entire
 *	transition and during the subsequent resume if all of its descendants
 *	are left in runtime suspend too.  If that happens, @complete() will be
 *	executed directly after @prepare() and it must ensure the proper
 *	functioning of the device after the system resume.
 *	The PM core executes subsystem-level @prepare() for all devices before
 *	starting to invoke suspend callbacks for any of them, so generally
 *	devices may be assumed to be functional or to respond to runtime resume
 *	requests while @prepare() is being executed.  However, device drivers
 *	may NOT assume anything about the availability of user space at that
 *	time and it is NOT valid to request firmware from within @prepare()
 *	(it's too late to do that).  It also is NOT valid to allocate
 *	substantial amounts of memory from @prepare() in the GFP_KERNEL mode.
 *	[To work around these limitations, drivers may register suspend and
 *	hibernation notifiers to be executed before the freezing of tasks.]
 *
 * @complete: Undo the changes made by @prepare().  This method is executed for
 *	all kinds of resume transitions, following one of the resume callbacks:
 *	@resume(), @thaw(), @restore().  Also called if the state transition
 *	fails before the driver's suspend callback: @suspend(), @freeze() or
 *	@poweroff(), can be executed (e.g. if the suspend callback fails for one
 *	of the other devices that the PM core has unsuccessfully attempted to
 *	suspend earlier).
 *	The PM core executes subsystem-level @complete() after it has executed
 *	the appropriate resume callbacks for all devices.  If the corresponding
 *	@prepare() at the beginning of the suspend transition returned a
 *	positive number and the device was left in runtime suspend (without
 *	executing any suspend and resume callbacks for it), @complete() will be
 *	the only callback executed for the device during resume.  In that case,
 *	@complete() must be prepared to do whatever is necessary to ensure the
 *	proper functioning of the device after the system resume.  To this end,
 *	@complete() can check the power.direct_complete flag of the device to
 *	learn whether (unset) or not (set) the previous suspend and resume
 *	callbacks have been executed for it.
 *
 * @suspend: Executed before putting the system into a sleep state in which the
 *	contents of main memory are preserved.  The exact action to perform
 *	depends on the device's subsystem (PM domain, device type, class or bus
 *	type), but generally the device must be quiescent after subsystem-level
 *	@suspend() has returned, so that it doesn't do any I/O or DMA.
 *	Subsystem-level @suspend() is executed for all devices after invoking
 *	subsystem-level @prepare() for all of them.
 *
 * @suspend_late: Continue operations started by @suspend().  For a number of
 *	devices @suspend_late() may point to the same callback routine as the
 *	runtime suspend callback.
 *
 * @resume: Executed after waking the system up from a sleep state in which the
 *	contents of main memory were preserved.  The exact action to perform
 *	depends on the device's subsystem, but generally the driver is expected
 *	to start working again, responding to hardware events and software
 *	requests (the device itself may be left in a low-power state, waiting
 *	for a runtime resume to occur).  The state of the device at the time its
 *	driver's @resume() callback is run depends on the platform and subsystem
 *	the device belongs to.  On most platforms, there are no restrictions on
 *	availability of resources like clocks during @resume().
 *	Subsystem-level @resume() is executed for all devices after invoking
 *	subsystem-level @resume_noirq() for all of them.
 *
 * @resume_early: Prepare to execute @resume().  For a number of devices
 *	@resume_early() may point to the same callback routine as the runtime
 *	resume callback.
 *
 * @freeze: Hibernation-specific, executed before creating a hibernation image.
 *	Analogous to @suspend(), but it should not enable the device to signal
 *	wakeup events or change its power state.  The majority of subsystems
 *	(with the notable exception of the PCI bus type) expect the driver-level
 *	@freeze() to save the device settings in memory to be used by @restore()
 *	during the subsequent resume from hibernation.
 *	Subsystem-level @freeze() is executed for all devices after invoking
 *	subsystem-level @prepare() for all of them.
 *
 * @freeze_late: Continue operations started by @freeze().  Analogous to
 *	@suspend_late(), but it should not enable the device to signal wakeup
 *	events or change its power state.
 *
 * @thaw: Hibernation-specific, executed after creating a hibernation image OR
 *	if the creation of an image has failed.  Also executed after a failing
 *	attempt to restore the contents of main memory from such an image.
 *	Undo the changes made by the preceding @freeze(), so the device can be
 *	operated in the same way as immediately before the call to @freeze().
 *	Subsystem-level @thaw() is executed for all devices after invoking
 *	subsystem-level @thaw_noirq() for all of them.  It also may be executed
 *	directly after @freeze() in case of a transition error.
 *
 * @thaw_early: Prepare to execute @thaw().  Undo the changes made by the
 *	preceding @freeze_late().
 *
 * @poweroff: Hibernation-specific, executed after saving a hibernation image.
 *	Analogous to @suspend(), but it need not save the device's settings in
 *	memory.
 *	Subsystem-level @poweroff() is executed for all devices after invoking
 *	subsystem-level @prepare() for all of them.
 *
 * @poweroff_late: Continue operations started by @poweroff().  Analogous to
 *	@suspend_late(), but it need not save the device's settings in memory.
 *
 * @restore: Hibernation-specific, executed after restoring the contents of main
 *	memory from a hibernation image, analogous to @resume().
 *
 * @restore_early: Prepare to execute @restore(), analogous to @resume_early().
 *
 * @suspend_noirq: Complete the actions started by @suspend().  Carry out any
 *	additional operations required for suspending the device that might be
 *	racing with its driver's interrupt handler, which is guaranteed not to
 *	run while @suspend_noirq() is being executed.
 *	It generally is expected that the device will be in a low-power state
 *	(appropriate for the target system sleep state) after subsystem-level
 *	@suspend_noirq() has returned successfully.  If the device can generate
 *	system wakeup signals and is enabled to wake up the system, it should be
 *	configured to do so at that time.  However, depending on the platform
 *	and device's subsystem, @suspend() or @suspend_late() may be allowed to
 *	put the device into the low-power state and configure it to generate
 *	wakeup signals, in which case it generally is not necessary to define
 *	@suspend_noirq().
 *
 * @resume_noirq: Prepare for the execution of @resume() by carrying out any
 *	operations required for resuming the device that might be racing with
 *	its driver's interrupt handler, which is guaranteed not to run while
 *	@resume_noirq() is being executed.
 *
 * @freeze_noirq: Complete the actions started by @freeze().  Carry out any
 *	additional operations required for freezing the device that might be
 *	racing with its driver's interrupt handler, which is guaranteed not to
 *	run while @freeze_noirq() is being executed.
 *	The power state of the device should not be changed by either @freeze(),
 *	or @freeze_late(), or @freeze_noirq() and it should not be configured to
 *	signal system wakeup by any of these callbacks.
 *
 * @thaw_noirq: Prepare for the execution of @thaw() by carrying out any
 *	operations required for thawing the device that might be racing with its
 *	driver's interrupt handler, which is guaranteed not to run while
 *	@thaw_noirq() is being executed.
 *
 * @poweroff_noirq: Complete the actions started by @poweroff().  Analogous to
 *	@suspend_noirq(), but it need not save the device's settings in memory.
 *
 * @restore_noirq: Prepare for the execution of @restore() by carrying out any
 *	operations required for thawing the device that might be racing with its
 *	driver's interrupt handler, which is guaranteed not to run while
 *	@restore_noirq() is being executed.  Analogous to @resume_noirq().
 *
 * @runtime_suspend: Prepare the device for a condition in which it won't be
 *	able to communicate with the CPU(s) and RAM due to power management.
 *	This need not mean that the device should be put into a low-power state.
 *	For example, if the device is behind a link which is about to be turned
 *	off, the device may remain at full power.  If the device does go to low
 *	power and is capable of generating runtime wakeup events, remote wakeup
 *	(i.e., a hardware mechanism allowing the device to request a change of
 *	its power state via an interrupt) should be enabled for it.
 *
 * @runtime_resume: Put the device into the fully active state in response to a
 *	wakeup event generated by hardware or at the request of software.  If
 *	necessary, put the device into the full-power state and restore its
 *	registers, so that it is fully operational.
 *
 * @runtime_idle: Device appears to be inactive and it might be put into a
 *	low-power state if all of the necessary conditions are satisfied.
 *	Check these conditions, and return 0 if it's appropriate to let the PM
 *	core queue a suspend request for the device.
 *
 * Several device power state transitions are externally visible, affecting
 * the state of pending I/O queues and (for drivers that touch hardware)
 * interrupts, wakeups, DMA, and other hardware state.  There may also be
 * internal transitions to various low-power modes which are transparent
 * to the rest of the driver stack (such as a driver that's ON gating off
 * clocks which are not in active use).
 *
 * The externally visible transitions are handled with the help of callbacks
 * included in this structure in such a way that, typically, two levels of
 * callbacks are involved.  First, the PM core executes callbacks provided by PM
 * domains, device types, classes and bus types.  They are the subsystem-level
 * callbacks expected to execute callbacks provided by device drivers, although
 * they may choose not to do that.  If the driver callbacks are executed, they
 * have to collaborate with the subsystem-level callbacks to achieve the goals
 * appropriate for the given system transition, given transition phase and the
 * subsystem the device belongs to.
 *
 * All of the above callbacks, except for @complete(), return error codes.
 * However, the error codes returned by @resume(), @thaw(), @restore(),
 * @resume_noirq(), @thaw_noirq(), and @restore_noirq(), do not cause the PM
 * core to abort the resume transition during which they are returned.  The
 * error codes returned in those cases are only printed to the system logs for
 * debugging purposes.  Still, it is recommended that drivers only return error
 * codes from their resume methods in case of an unrecoverable failure (i.e.
 * when the device being handled refuses to resume and becomes unusable) to
 * allow the PM core to be modified in the future, so that it can avoid
 * attempting to handle devices that failed to resume and their children.
 *
 * It is allowed to unregister devices while the above callbacks are being
 * executed.  However, a callback routine MUST NOT try to unregister the device
 * it was called for, although it may unregister children of that device (for
 * example, if it detects that a child was unplugged while the system was
 * asleep).
 *
 * There also are callbacks related to runtime power management of devices.
 * Again, as a rule these callbacks are executed by the PM core for subsystems
 * (PM domains, device types, classes and bus types) and the subsystem-level
 * callbacks are expected to invoke the driver callbacks.  Moreover, the exact
 * actions to be performed by a device driver's callbacks generally depend on
 * the platform and subsystem the device belongs to.
 *
 * Refer to Documentation/power/runtime_pm.txt for more information about the
 * role of the @runtime_suspend(), @runtime_resume() and @runtime_idle()
 * callbacks in device runtime power management.
 */
struct dev_pm_ops {
	int (*prepare)(struct device *dev);
	void (*complete)(struct device *dev);
	int (*suspend)(struct device *dev);
	int (*resume)(struct device *dev);
	int (*freeze)(struct device *dev);
	int (*thaw)(struct device *dev);
	int (*poweroff)(struct device *dev);
	int (*restore)(struct device *dev);
	int (*suspend_late)(struct device *dev);
	int (*resume_early)(struct device *dev);
	int (*freeze_late)(struct device *dev);
	int (*thaw_early)(struct device *dev);
	int (*poweroff_late)(struct device *dev);
	int (*restore_early)(struct device *dev);
	int (*suspend_noirq)(struct device *dev);
	int (*resume_noirq)(struct device *dev);
	int (*freeze_noirq)(struct device *dev);
	int (*thaw_noirq)(struct device *dev);
	int (*poweroff_noirq)(struct device *dev);
	int (*restore_noirq)(struct device *dev);
	int (*runtime_suspend)(struct device *dev);
	int (*runtime_resume)(struct device *dev);
	int (*runtime_idle)(struct device *dev);
};

#ifdef CONFIG_PM_SLEEP
#define SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
	.suspend = suspend_fn, \
	.resume = resume_fn, \
	.freeze = suspend_fn, \
	.thaw = resume_fn, \
	.poweroff = suspend_fn, \
	.restore = resume_fn,
#else
#define SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn)
#endif

#ifdef CONFIG_PM_SLEEP
#define SET_LATE_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
	.suspend_late = suspend_fn, \
	.resume_early = resume_fn, \
	.freeze_late = suspend_fn, \
	.thaw_early = resume_fn, \
	.poweroff_late = suspend_fn, \
	.restore_early = resume_fn,
#else
#define SET_LATE_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn)
#endif

#ifdef CONFIG_PM_SLEEP
#define SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
	.suspend_noirq = suspend_fn, \
	.resume_noirq = resume_fn, \
	.freeze_noirq = suspend_fn, \
	.thaw_noirq = resume_fn, \
	.poweroff_noirq = suspend_fn, \
	.restore_noirq = resume_fn,
#else
#define SET_NOIRQ_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn)
#endif

#ifdef CONFIG_PM
#define SET_RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \
	.runtime_suspend = suspend_fn, \
	.runtime_resume = resume_fn, \
	.runtime_idle = idle_fn,
#else
#define SET_RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn)
#endif

/*
 * Use this if you want to use the same suspend and resume callbacks for suspend
 * to RAM and hibernation.
 */
#define SIMPLE_DEV_PM_OPS(name, suspend_fn, resume_fn) \
const struct dev_pm_ops name = { \
	SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
}

/*
 * Use this for defining a set of PM operations to be used in all situations
 * (system suspend, hibernation or runtime PM).
 * NOTE: In general, system suspend callbacks, .suspend() and .resume(), should
 * be different from the corresponding runtime PM callbacks, .runtime_suspend(),
 * and .runtime_resume(), because .runtime_suspend() always works on an already
 * quiescent device, while .suspend() should assume that the device may be doing
 * something when it is called (it should ensure that the device will be
 * quiescent after it has returned).  Therefore it's better to point the "late"
 * suspend and "early" resume callback pointers, .suspend_late() and
 * .resume_early(), to the same routines as .runtime_suspend() and
 * .runtime_resume(), respectively (and analogously for hibernation).
 */
#define UNIVERSAL_DEV_PM_OPS(name, suspend_fn, resume_fn, idle_fn) \
const struct dev_pm_ops name = { \
	SET_SYSTEM_SLEEP_PM_OPS(suspend_fn, resume_fn) \
	SET_RUNTIME_PM_OPS(suspend_fn, resume_fn, idle_fn) \
}

/*
 * PM_EVENT_ messages
 *
 * The following PM_EVENT_ messages are defined for the internal use of the PM
 * core, in order to provide a mechanism allowing the high level suspend and
 * hibernation code to convey the necessary information to the device PM core
 * code:
 *
 * ON		No transition.
 *
 * FREEZE	System is going to hibernate, call ->prepare() and ->freeze()
 *		for all devices.
 *
 * SUSPEND	System is going to suspend, call ->prepare() and ->suspend()
 *		for all devices.
 *
 * HIBERNATE	Hibernation image has been saved, call ->prepare() and
 *		->poweroff() for all devices.
 *
 * QUIESCE	Contents of main memory are going to be restored from a (loaded)
 *		hibernation image, call ->prepare() and ->freeze() for all
 *		devices.
 *
 * RESUME	System is resuming, call ->resume() and ->complete() for all
 *		devices.
 *
 * THAW		Hibernation image has been created, call ->thaw() and
 *		->complete() for all devices.
 *
 * RESTORE	Contents of main memory have been restored from a hibernation
 *		image, call ->restore() and ->complete() for all devices.
 *
 * RECOVER	Creation of a hibernation image or restoration of the main
 *		memory contents from a hibernation image has failed, call
 *		->thaw() and ->complete() for all devices.
 *
 * The following PM_EVENT_ messages are defined for internal use by
 * kernel subsystems.  They are never issued by the PM core.
 *
 * USER_SUSPEND		Manual selective suspend was issued by userspace.
 *
 * USER_RESUME		Manual selective resume was issued by userspace.
 *
 * REMOTE_WAKEUP	Remote-wakeup request was received from the device.
 *
 * AUTO_SUSPEND		Automatic (device idle) runtime suspend was
 *			initiated by the subsystem.
 *
 * AUTO_RESUME		Automatic (device needed) runtime resume was
 *			requested by a driver.
 */

#define PM_EVENT_INVALID	(-1)
#define PM_EVENT_ON		0x0000
#define PM_EVENT_FREEZE		0x0001
#define PM_EVENT_SUSPEND	0x0002
#define PM_EVENT_HIBERNATE	0x0004
#define PM_EVENT_QUIESCE	0x0008
#define PM_EVENT_RESUME		0x0010
#define PM_EVENT_THAW		0x0020
#define PM_EVENT_RESTORE	0x0040
#define PM_EVENT_RECOVER	0x0080
#define PM_EVENT_USER		0x0100
#define PM_EVENT_REMOTE		0x0200
#define PM_EVENT_AUTO		0x0400

#define PM_EVENT_SLEEP		(PM_EVENT_SUSPEND | PM_EVENT_HIBERNATE)
#define PM_EVENT_USER_SUSPEND	(PM_EVENT_USER | PM_EVENT_SUSPEND)
#define PM_EVENT_USER_RESUME	(PM_EVENT_USER | PM_EVENT_RESUME)
#define PM_EVENT_REMOTE_RESUME	(PM_EVENT_REMOTE | PM_EVENT_RESUME)
#define PM_EVENT_AUTO_SUSPEND	(PM_EVENT_AUTO | PM_EVENT_SUSPEND)
#define PM_EVENT_AUTO_RESUME	(PM_EVENT_AUTO | PM_EVENT_RESUME)

#define PMSG_INVALID	((struct pm_message){ .event = PM_EVENT_INVALID, })
#define PMSG_ON		((struct pm_message){ .event = PM_EVENT_ON, })
#define PMSG_FREEZE	((struct pm_message){ .event = PM_EVENT_FREEZE, })
#define PMSG_QUIESCE	((struct pm_message){ .event = PM_EVENT_QUIESCE, })
#define PMSG_SUSPEND	((struct pm_message){ .event = PM_EVENT_SUSPEND, })
#define PMSG_HIBERNATE	((struct pm_message){ .event = PM_EVENT_HIBERNATE, })
#define PMSG_RESUME	((struct pm_message){ .event = PM_EVENT_RESUME, })
#define PMSG_THAW	((struct pm_message){ .event = PM_EVENT_THAW, })
#define PMSG_RESTORE	((struct pm_message){ .event = PM_EVENT_RESTORE, })
#define PMSG_RECOVER	((struct pm_message){ .event = PM_EVENT_RECOVER, })
#define PMSG_USER_SUSPEND	((struct pm_message) \
					{ .event = PM_EVENT_USER_SUSPEND, })
#define PMSG_USER_RESUME	((struct pm_message) \
					{ .event = PM_EVENT_USER_RESUME, })
#define PMSG_REMOTE_RESUME	((struct pm_message) \
					{ .event = PM_EVENT_REMOTE_RESUME, })
#define PMSG_AUTO_SUSPEND	((struct pm_message) \
					{ .event = PM_EVENT_AUTO_SUSPEND, })
#define PMSG_AUTO_RESUME	((struct pm_message) \
					{ .event = PM_EVENT_AUTO_RESUME, })

#define PMSG_IS_AUTO(msg)	(((msg).event & PM_EVENT_AUTO) != 0)

/*
 * Device run-time power management status.
 *
 * These status labels are used internally by the PM core to indicate the
 * current status of a device with respect to the PM core operations.  They do
 * not reflect the actual power state of the device or its status as seen by the
 * driver.
 *
 * RPM_ACTIVE		Device is fully operational.  Indicates that the device
 *			bus type's ->runtime_resume() callback has completed
 *			successfully.
 *
 * RPM_SUSPENDED	Device bus type's ->runtime_suspend() callback has
 *			completed successfully.  The device is regarded as
 *			suspended.
 *
 * RPM_RESUMING		Device bus type's ->runtime_resume() callback is being
 *			executed.
 *
 * RPM_SUSPENDING	Device bus type's ->runtime_suspend() callback is being
 *			executed.
 */

enum rpm_status {
	RPM_ACTIVE = 0,
	RPM_RESUMING,
	RPM_SUSPENDED,
	RPM_SUSPENDING,
};

/*
 * Device run-time power management request types.
 *
 * RPM_REQ_NONE		Do nothing.
 *
 * RPM_REQ_IDLE		Run the device bus type's ->runtime_idle() callback
 *
 * RPM_REQ_SUSPEND	Run the device bus type's ->runtime_suspend() callback
 *
 * RPM_REQ_AUTOSUSPEND	Same as RPM_REQ_SUSPEND, but not until the device has
 *			been inactive for as long as power.autosuspend_delay
 *
 * RPM_REQ_RESUME	Run the device bus type's ->runtime_resume() callback
 */

enum rpm_request {
	RPM_REQ_NONE = 0,
	RPM_REQ_IDLE,
	RPM_REQ_SUSPEND,
	RPM_REQ_AUTOSUSPEND,
	RPM_REQ_RESUME,
};

struct wakeup_source;
struct wake_irq;
struct pm_domain_data;

struct pm_subsys_data {
	spinlock_t lock;
	unsigned int refcount;
#ifdef CONFIG_PM_CLK
	struct list_head clock_list;
#endif
#ifdef CONFIG_PM_GENERIC_DOMAINS
	struct pm_domain_data *domain_data;
#endif
};

/*
 * Driver flags to control system suspend/resume behavior.
 *
 * These flags can be set by device drivers at the probe time.  They need not be
 * cleared by the drivers as the driver core will take care of that.
 *
 * NEVER_SKIP: Do not skip all system suspend/resume callbacks for the device.
 * SMART_PREPARE: Check the return value of the driver's ->prepare callback.
 * SMART_SUSPEND: No need to resume the device from runtime suspend.
 * LEAVE_SUSPENDED: Avoid resuming the device during system resume if possible.
 *
 * Setting SMART_PREPARE instructs bus types and PM domains which may want
 * system suspend/resume callbacks to be skipped for the device to return 0 from
 * their ->prepare callbacks if the driver's ->prepare callback returns 0 (in
 * other words, the system suspend/resume callbacks can only be skipped for the
 * device if its driver doesn't object against that).  This flag has no effect
 * if NEVER_SKIP is set.
 *
 * Setting SMART_SUSPEND instructs bus types and PM domains which may want to
 * runtime resume the device upfront during system suspend that doing so is not
 * necessary from the driver's perspective.  It also may cause them to skip
 * invocations of the ->suspend_late and ->suspend_noirq callbacks provided by
 * the driver if they decide to leave the device in runtime suspend.
 *
 * Setting LEAVE_SUSPENDED informs the PM core and middle-layer code that the
 * driver prefers the device to be left in suspend after system resume.
 */
#define DPM_FLAG_NEVER_SKIP		BIT(0)
#define DPM_FLAG_SMART_PREPARE		BIT(1)
#define DPM_FLAG_SMART_SUSPEND		BIT(2)
#define DPM_FLAG_LEAVE_SUSPENDED	BIT(3)

struct dev_pm_info {
	pm_message_t		power_state;
	unsigned int		can_wakeup:1;
	unsigned int		async_suspend:1;
	bool			in_dpm_list:1;	/* Owned by the PM core */
	bool			is_prepared:1;	/* Owned by the PM core */
	bool			is_suspended:1;	/* Ditto */
	bool			is_noirq_suspended:1;
	bool			is_late_suspended:1;
	bool			early_init:1;	/* Owned by the PM core */
	bool			direct_complete:1;	/* Owned by the PM core */
	u32			driver_flags;
	spinlock_t		lock;
#ifdef CONFIG_PM_SLEEP
	struct list_head	entry;
	struct completion	completion;
	struct wakeup_source	*wakeup;
	bool			wakeup_path:1;
	bool			syscore:1;
	bool			no_pm_callbacks:1;	/* Owned by the PM core */
	unsigned int		must_resume:1;	/* Owned by the PM core */
	unsigned int		may_skip_resume:1;	/* Set by subsystems */
#else
	unsigned int		should_wakeup:1;
#endif
#ifdef CONFIG_PM
	struct timer_list	suspend_timer;
	unsigned long		timer_expires;
	struct work_struct	work;
	wait_queue_head_t	wait_queue;
	struct wake_irq		*wakeirq;
	atomic_t		usage_count;
	atomic_t		child_count;
	unsigned int		disable_depth:3;
	unsigned int		idle_notification:1;
	unsigned int		request_pending:1;
	unsigned int		deferred_resume:1;
	unsigned int		runtime_auto:1;
	bool			ignore_children:1;
	unsigned int		no_callbacks:1;
	unsigned int		irq_safe:1;
	unsigned int		use_autosuspend:1;
	unsigned int		timer_autosuspends:1;
	unsigned int		memalloc_noio:1;
	unsigned int		links_count;
	enum rpm_request	request;
	enum rpm_status		runtime_status;
	int			runtime_error;
	int			autosuspend_delay;
	unsigned long		last_busy;
	unsigned long		active_jiffies;
	unsigned long		suspended_jiffies;
	unsigned long		accounting_timestamp;
#endif
	struct pm_subsys_data	*subsys_data;  /* Owned by the subsystem. */
	void (*set_latency_tolerance)(struct device *, s32);
	struct dev_pm_qos	*qos;
};

extern void update_pm_runtime_accounting(struct device *dev);
extern int dev_pm_get_subsys_data(struct device *dev);
extern void dev_pm_put_subsys_data(struct device *dev);

/**
 * struct dev_pm_domain - power management domain representation.
 *
 * @ops: Power management operations associated with this domain.
 * @detach: Called when removing a device from the domain.
 * @activate: Called before executing probe routines for bus types and drivers.
 * @sync: Called after successful driver probe.
 * @dismiss: Called after unsuccessful driver probe and after driver removal.
 *
 * Power domains provide callbacks that are executed during system suspend,
 * hibernation, system resume and during runtime PM transitions instead of
 * subsystem-level and driver-level callbacks.
 */
struct dev_pm_domain {
	struct dev_pm_ops	ops;
	void (*detach)(struct device *dev, bool power_off);
	int (*activate)(struct device *dev);
	void (*sync)(struct device *dev);
	void (*dismiss)(struct device *dev);
};

/*
 * The PM_EVENT_ messages are also used by drivers implementing the legacy
 * suspend framework, based on the ->suspend() and ->resume() callbacks common
 * for suspend and hibernation transitions, according to the rules below.
 */

/* Necessary, because several drivers use PM_EVENT_PRETHAW */
#define PM_EVENT_PRETHAW PM_EVENT_QUIESCE

/*
 * One transition is triggered by resume(), after a suspend() call; the
 * message is implicit:
 *
 * ON		Driver starts working again, responding to hardware events
 *		and software requests.  The hardware may have gone through
 *		a power-off reset, or it may have maintained state from the
 *		previous suspend() which the driver will rely on while
 *		resuming.  On most platforms, there are no restrictions on
 *		availability of resources like clocks during resume().
 *
 * Other transitions are triggered by messages sent using suspend().  All
 * these transitions quiesce the driver, so that I/O queues are inactive.
 * That commonly entails turning off IRQs and DMA; there may be rules
 * about how to quiesce that are specific to the bus or the device's type.
 * (For example, network drivers mark the link state.)  Other details may
 * differ according to the message:
 *
 * SUSPEND	Quiesce, enter a low power device state appropriate for
 *		the upcoming system state (such as PCI_D3hot), and enable
 *		wakeup events as appropriate.
 *
 * HIBERNATE	Enter a low power device state appropriate for the hibernation
 *		state (eg. ACPI S4) and enable wakeup events as appropriate.
 *
 * FREEZE	Quiesce operations so that a consistent image can be saved;
 *		but do NOT otherwise enter a low power device state, and do
 *		NOT emit system wakeup events.
 *
 * PRETHAW	Quiesce as if for FREEZE; additionally, prepare for restoring
 *		the system from a snapshot taken after an earlier FREEZE.
 *		Some drivers will need to reset their hardware state instead
 *		of preserving it, to ensure that it's never mistaken for the
 *		state which that earlier snapshot had set up.
 *
 * A minimally power-aware driver treats all messages as SUSPEND, fully
 * reinitializes its device during resume() -- whether or not it was reset
 * during the suspend/resume cycle -- and can't issue wakeup events.
 *
 * More power-aware drivers may also use low power states at runtime as
 * well as during system sleep states like PM_SUSPEND_STANDBY.  They may
 * be able to use wakeup events to exit from runtime low-power states,
 * or from system low-power states such as standby or suspend-to-RAM.
 */

#ifdef CONFIG_PM_SLEEP
extern void device_pm_lock(void);
extern void dpm_resume_start(pm_message_t state);
extern void dpm_resume_end(pm_message_t state);
extern void dpm_noirq_resume_devices(pm_message_t state);
extern void dpm_noirq_end(void);
extern void dpm_resume_noirq(pm_message_t state);
extern void dpm_resume_early(pm_message_t state);
extern void dpm_resume(pm_message_t state);
extern void dpm_complete(pm_message_t state);

extern void device_pm_unlock(void);
extern int dpm_suspend_end(pm_message_t state);
extern int dpm_suspend_start(pm_message_t state);
extern void dpm_noirq_begin(void);
extern int dpm_noirq_suspend_devices(pm_message_t state);
extern int dpm_suspend_noirq(pm_message_t state);
extern int dpm_suspend_late(pm_message_t state);
extern int dpm_suspend(pm_message_t state);
extern int dpm_prepare(pm_message_t state);

extern void __suspend_report_result(const char *function, void *fn, int ret);

#define suspend_report_result(fn, ret)					\
	do {								\
		__suspend_report_result(__func__, fn, ret);		\
	} while (0)

extern int device_pm_wait_for_dev(struct device *sub, struct device *dev);
extern void dpm_for_each_dev(void *data, void (*fn)(struct device *, void *));

extern int pm_generic_prepare(struct device *dev);
extern int pm_generic_suspend_late(struct device *dev);
extern int pm_generic_suspend_noirq(struct device *dev);
extern int pm_generic_suspend(struct device *dev);
extern int pm_generic_resume_early(struct device *dev);
extern int pm_generic_resume_noirq(struct device *dev);
extern int pm_generic_resume(struct device *dev);
extern int pm_generic_freeze_noirq(struct device *dev);
extern int pm_generic_freeze_late(struct device *dev);
extern int pm_generic_freeze(struct device *dev);
extern int pm_generic_thaw_noirq(struct device *dev);
extern int pm_generic_thaw_early(struct device *dev);
extern int pm_generic_thaw(struct device *dev);
extern int pm_generic_restore_noirq(struct device *dev);
extern int pm_generic_restore_early(struct device *dev);
extern int pm_generic_restore(struct device *dev);
extern int pm_generic_poweroff_noirq(struct device *dev);
extern int pm_generic_poweroff_late(struct device *dev);
extern int pm_generic_poweroff(struct device *dev);
extern void pm_generic_complete(struct device *dev);

extern void dev_pm_skip_next_resume_phases(struct device *dev);
extern bool dev_pm_may_skip_resume(struct device *dev);
extern bool dev_pm_smart_suspend_and_suspended(struct device *dev);

#else /* !CONFIG_PM_SLEEP */

#define device_pm_lock() do {} while (0)
#define device_pm_unlock() do {} while (0)

static inline int dpm_suspend_start(pm_message_t state)
{
	return 0;
}

#define suspend_report_result(fn, ret)		do {} while (0)

static inline int device_pm_wait_for_dev(struct device *a, struct device *b)
{
	return 0;
}

static inline void dpm_for_each_dev(void *data, void (*fn)(struct device *, void *))
{
}

#define pm_generic_prepare		NULL
#define pm_generic_suspend_late		NULL
#define pm_generic_suspend_noirq	NULL
#define pm_generic_suspend		NULL
#define pm_generic_resume_early		NULL
#define pm_generic_resume_noirq		NULL
#define pm_generic_resume		NULL
#define pm_generic_freeze_noirq		NULL
#define pm_generic_freeze_late		NULL
#define pm_generic_freeze		NULL
#define pm_generic_thaw_noirq		NULL
#define pm_generic_thaw_early		NULL
#define pm_generic_thaw			NULL
#define pm_generic_restore_noirq	NULL
#define pm_generic_restore_early	NULL
#define pm_generic_restore		NULL
#define pm_generic_poweroff_noirq	NULL
#define pm_generic_poweroff_late	NULL
#define pm_generic_poweroff		NULL
#define pm_generic_complete		NULL
#endif /* !CONFIG_PM_SLEEP */

/* How to reorder dpm_list after device_move() */
enum dpm_order {
	DPM_ORDER_NONE,
	DPM_ORDER_DEV_AFTER_PARENT,
	DPM_ORDER_PARENT_BEFORE_DEV,
	DPM_ORDER_DEV_LAST,
};

#endif /* _LINUX_PM_H */

Filemanager

Name Type Size Permission Actions
amba Folder 0755
avf Folder 0755
bcma Folder 0755
byteorder Folder 0755
can Folder 0755
ceph Folder 0755
clk Folder 0755
crush Folder 0755
decompress Folder 0755
dma Folder 0755
dsa Folder 0755
extcon Folder 0755
firmware Folder 0755
fpga Folder 0755
fsl Folder 0755
gpio Folder 0755
hsi Folder 0755
i2c Folder 0755
iio Folder 0755
input Folder 0755
irqchip Folder 0755
isdn Folder 0755
lockd Folder 0755
mailbox Folder 0755
mfd Folder 0755
mlx4 Folder 0755
mlx5 Folder 0755
mmc Folder 0755
mtd Folder 0755
mux Folder 0755
netfilter Folder 0755
netfilter_arp Folder 0755
netfilter_bridge Folder 0755
netfilter_ipv4 Folder 0755
netfilter_ipv6 Folder 0755
perf Folder 0755
phy Folder 0755
pinctrl Folder 0755
platform_data Folder 0755
power Folder 0755
qed Folder 0755
raid Folder 0755
regulator Folder 0755
remoteproc Folder 0755
reset Folder 0755
rpmsg Folder 0755
rtc Folder 0755
sched Folder 0755
soc Folder 0755
spi Folder 0755
ssb Folder 0755
sunrpc Folder 0755
ulpi Folder 0755
unaligned Folder 0755
usb Folder 0755
uwb Folder 0755
wimax Folder 0755
8250_pci.h File 1.01 KB 0644
a.out.h File 354 B 0644
acct.h File 2.49 KB 0644
acpi.h File 36.89 KB 0644
acpi_dma.h File 3.22 KB 0644
acpi_iort.h File 2.15 KB 0644
acpi_pmtmr.h File 674 B 0644
adb.h File 1.79 KB 0644
adfs_fs.h File 574 B 0644
aer.h File 1.71 KB 0644
agp_backend.h File 3.45 KB 0644
agpgart.h File 3.82 KB 0644
ahci-remap.h File 607 B 0644
ahci_platform.h File 1.67 KB 0644
aio.h File 673 B 0644
alarmtimer.h File 1.83 KB 0644
altera_jtaguart.h File 379 B 0644
altera_uart.h File 397 B 0644
amd-iommu.h File 6.78 KB 0644
amifd.h File 1.99 KB 0644
amifdreg.h File 2.65 KB 0644
anon_inodes.h File 494 B 0644
apm-emulation.h File 1.54 KB 0644
apm_bios.h File 2.68 KB 0644
apple-gmux.h File 1.42 KB 0644
apple_bl.h File 498 B 0644
arch_topology.h File 840 B 0644
arm-cci.h File 2.01 KB 0644
arm-smccc.h File 12.79 KB 0644
arm_sdei.h File 2.33 KB 0644
asn1.h File 1.99 KB 0644
asn1_ber_bytecode.h File 2.72 KB 0644
asn1_decoder.h File 675 B 0644
assoc_array.h File 3.07 KB 0644
assoc_array_priv.h File 5.49 KB 0644
async.h File 1.65 KB 0644
async_tx.h File 6.81 KB 0644
ata.h File 33.61 KB 0644
ata_platform.h File 729 B 0644
atalk.h File 4.36 KB 0644
ath9k_platform.h File 1.44 KB 0644
atm.h File 287 B 0644
atm_suni.h File 253 B 0644
atm_tcp.h File 511 B 0644
atmdev.h File 10.21 KB 0644
atmel-mci.h File 1.4 KB 0644
atmel-ssc.h File 9.74 KB 0644
atmel_pdc.h File 1.47 KB 0644
atmel_tc.h File 11.33 KB 0644
atomic.h File 30.5 KB 0644
attribute_container.h File 2.47 KB 0644
audit.h File 17.22 KB 0644
auto_dev-ioctl.h File 454 B 0644
auto_fs.h File 436 B 0644
auxvec.h File 304 B 0644
average.h File 2.42 KB 0644
b1pcmcia.h File 666 B 0644
backing-dev-defs.h File 8.53 KB 0644
backing-dev.h File 13.8 KB 0644
backlight.h File 5.3 KB 0644
badblocks.h File 2.14 KB 0644
balloon_compaction.h File 7.2 KB 0644
bcd.h File 559 B 0644
bch.h File 2.6 KB 0644
bcm47xx_nvram.h File 1.22 KB 0644
bcm47xx_sprom.h File 600 B 0644
bcm47xx_wdt.h File 555 B 0644
bcm963xx_nvram.h File 2.96 KB 0644
bcm963xx_tag.h File 3.6 KB 0644
bfin_mac.h File 559 B 0644
binfmts.h File 4.77 KB 0644
bio.h File 20.17 KB 0644
bit_spinlock.h File 2.3 KB 0644
bitfield.h File 3.2 KB 0644
bitmap.h File 16.68 KB 0644
bitops.h File 6.69 KB 0644
bitrev.h File 2.53 KB 0644
bits.h File 883 B 0644
blk-cgroup.h File 22.2 KB 0644
blk-mq-pci.h File 247 B 0644
blk-mq-rdma.h File 232 B 0644
blk-mq-virtio.h File 288 B 0644
blk-mq.h File 9.09 KB 0644
blk_types.h File 10.52 KB 0644
blkdev.h File 58.96 KB 0644
blkpg.h File 436 B 0644
blktrace_api.h File 3.87 KB 0644
blockgroup_lock.h File 810 B 0644
bma150.h File 1.89 KB 0644
bootmem.h File 11.7 KB 0644
bottom_half.h File 803 B 0644
bpf-cgroup.h File 4.53 KB 0644
bpf.h File 18.51 KB 0644
bpf_trace.h File 196 B 0644
bpf_types.h File 1.88 KB 0644
bpf_verifier.h File 6.76 KB 0644
brcmphy.h File 9.88 KB 0644
bsearch.h File 275 B 0644
bsg-lib.h File 2.13 KB 0644
bsg.h File 773 B 0644
btree-128.h File 2.67 KB 0644
btree-type.h File 3.9 KB 0644
btree.h File 6.83 KB 0644
btrfs.h File 145 B 0644
buffer_head.h File 14.38 KB 0644
bug.h File 1.92 KB 0644
build_bug.h File 3.15 KB 0644
bvec.h File 4.39 KB 0644
c2port.h File 1.49 KB 0644
cache.h File 2.13 KB 0644
cacheinfo.h File 3.27 KB 0644
capability.h File 7.6 KB 0644
cb710.h File 5.69 KB 0644
cciss_ioctl.h File 1.03 KB 0644
ccp.h File 18.26 KB 0644
cdev.h File 845 B 0644
cdrom.h File 8.75 KB 0644
cfag12864b.h File 2.1 KB 0644
cgroup-defs.h File 25.38 KB 0644
cgroup.h File 26.12 KB 0644
cgroup_rdma.h File 1.33 KB 0644
cgroup_subsys.h File 1.17 KB 0644
circ_buf.h File 1.08 KB 0644
cleancache.h File 3.89 KB 0644
clk-provider.h File 34.29 KB 0644
clk.h File 19.38 KB 0644
clkdev.h File 1.54 KB 0644
clock_cooling.h File 2.06 KB 0644
clockchips.h File 7.27 KB 0644
clocksource.h File 8.31 KB 0644
cm4000_cs.h File 199 B 0644
cma.h File 1.19 KB 0644
cmdline-parser.h File 1.21 KB 0644
cn_proc.h File 1.85 KB 0644
cnt32_to_63.h File 3.6 KB 0644
coda.h File 2.16 KB 0644
coda_psdev.h File 2.98 KB 0644
compaction.h File 7.1 KB 0644
compat.h File 27.39 KB 0644
compiler-clang.h File 1.31 KB 0644
compiler-gcc.h File 12.6 KB 0644
compiler-intel.h File 1.3 KB 0644
compiler.h File 10.06 KB 0644
compiler_types.h File 7.5 KB 0644
completion.h File 4.05 KB 0644
component.h File 1.37 KB 0644
concap.h File 3.69 KB 0644
configfs.h File 9.22 KB 0644
connector.h File 2.43 KB 0644
console.h File 6.72 KB 0644
console_struct.h File 6.87 KB 0644
consolemap.h File 1.04 KB 0644
const.h File 157 B 0644
container.h File 668 B 0644
context_tracking.h File 4.43 KB 0644
context_tracking_state.h File 1.39 KB 0644
cordic.h File 1.75 KB 0644
coredump.h File 783 B 0644
coresight-pmu.h File 1.44 KB 0644
coresight-stm.h File 152 B 0644
coresight.h File 9.86 KB 0644
count_zeros.h File 1.62 KB 0644
cper.h File 16.11 KB 0644
cpu.h File 6.86 KB 0644
cpu_cooling.h File 3.59 KB 0644
cpu_pm.h File 2.78 KB 0644
cpu_rmap.h File 1.86 KB 0644
cpufeature.h File 1.85 KB 0644
cpufreq.h File 27.62 KB 0644
cpuhotplug.h File 12.05 KB 0644
cpuidle.h File 8.68 KB 0644
cpumask.h File 25.38 KB 0644
cpuset.h File 7.07 KB 0644
crash_core.h File 2.99 KB 0644
crash_dump.h File 2.98 KB 0644
crc-ccitt.h File 369 B 0644
crc-itu-t.h File 613 B 0644
crc-t10dif.h File 415 B 0644
crc16.h File 622 B 0644
crc32.h File 2.83 KB 0644
crc32c.h File 293 B 0644
crc4.h File 192 B 0644
crc7.h File 316 B 0644
crc8.h File 3.65 KB 0644
cred.h File 12.29 KB 0644
crypto.h File 55.52 KB 0644
cryptohash.h File 319 B 0644
cs5535.h File 6.28 KB 0644
ctype.h File 1.75 KB 0644
cuda.h File 501 B 0644
cyclades.h File 10.36 KB 0644
davinci_emac.h File 1.12 KB 0644
dax.h File 3.65 KB 0644
dca.h File 2.63 KB 0644
dcache.h File 18.78 KB 0644
dccp.h File 10.73 KB 0644
dcookies.h File 1.3 KB 0644
debug_locks.h File 1.51 KB 0644
debugfs.h File 11.09 KB 0644
debugobjects.h File 3.89 KB 0644
delay.h File 1.83 KB 0644
delayacct.h File 5.17 KB 0644
delayed_call.h File 709 B 0644
dell-led.h File 128 B 0644
devcoredump.h File 2.78 KB 0644
devfreq-event.h File 5.64 KB 0644
devfreq.h File 12.53 KB 0644
devfreq_cooling.h File 3.54 KB 0644
device-mapper.h File 17.85 KB 0644
device.h File 55.51 KB 0644
device_cgroup.h File 1.86 KB 0644
devpts_fs.h File 1.28 KB 0644
digsig.h File 1.35 KB 0644
dim.h File 8.98 KB 0644
dio.h File 10.97 KB 0644
dirent.h File 216 B 0644
dlm.h File 6.01 KB 0644
dlm_plock.h File 678 B 0644
dm-dirty-log.h File 3.94 KB 0644
dm-io.h File 1.93 KB 0644
dm-kcopyd.h File 2.88 KB 0644
dm-region-hash.h File 3.11 KB 0644
dm9000.h File 1.11 KB 0644
dma-buf.h File 14.7 KB 0644
dma-contiguous.h File 4.48 KB 0644
dma-debug.h File 5.61 KB 0644
dma-direction.h File 338 B 0644
dma-fence-array.h File 2.49 KB 0644
dma-fence.h File 17.29 KB 0644
dma-iommu.h File 3.62 KB 0644
dma-mapping.h File 24.61 KB 0644
dma_remapping.h File 1.46 KB 0644
dmaengine.h File 46.04 KB 0644
dmapool.h File 1.09 KB 0644
dmar.h File 7.94 KB 0644
dmi.h File 4.08 KB 0644
dnotify.h File 1.02 KB 0644
dns_resolver.h File 1.31 KB 0644
dqblk_qtree.h File 2.19 KB 0644
dqblk_v1.h File 327 B 0644
dqblk_v2.h File 406 B 0644
drbd.h File 10.67 KB 0644
drbd_genl.h File 21.49 KB 0644
drbd_genl_api.h File 1.77 KB 0644
drbd_limits.h File 7.82 KB 0644
ds2782_battery.h File 158 B 0644
dtlk.h File 3.5 KB 0644
dw_apb_timer.h File 1.7 KB 0644
dynamic_debug.h File 5.08 KB 0644
dynamic_queue_limits.h File 3.7 KB 0644
earlycpio.h File 359 B 0644
ecryptfs.h File 3.82 KB 0644
edac.h File 20.26 KB 0644
edd.h File 1.43 KB 0644
edma.h File 807 B 0644
eeprom_93cx6.h File 2.94 KB 0644
eeprom_93xx46.h File 879 B 0644
efi-bgrt.h File 644 B 0644
efi.h File 49.13 KB 0644
efs_vh.h File 1.55 KB 0644
eisa.h File 2.96 KB 0644
elevator.h File 9.26 KB 0644
elf-fdpic.h File 2.18 KB 0644
elf-randomize.h File 583 B 0644
elf.h File 1.53 KB 0644
elfcore-compat.h File 1.24 KB 0644
elfcore.h File 2.52 KB 0644
elfnote.h File 3.54 KB 0644
enclosure.h File 4.6 KB 0644
err.h File 1.55 KB 0644
errno.h File 1.34 KB 0644
errqueue.h File 524 B 0644
errseq.h File 373 B 0644
etherdevice.h File 15.65 KB 0644
ethtool.h File 17.3 KB 0644
eventfd.h File 2.36 KB 0644
eventpoll.h File 2.16 KB 0644
evm.h File 2.65 KB 0644
export.h File 3.88 KB 0644
exportfs.h File 7.45 KB 0644
ext2_fs.h File 967 B 0644
extable.h File 999 B 0644
extcon-provider.h File 4.33 KB 0644
extcon.h File 10.4 KB 0644
f2fs_fs.h File 17.51 KB 0644
f75375s.h File 541 B 0644
falloc.h File 792 B 0644
fanotify.h File 245 B 0644
fault-inject.h File 1.87 KB 0644
fb.h File 28.74 KB 0644
fbcon.h File 492 B 0644
fcdevice.h File 988 B 0644
fcntl.h File 1.27 KB 0644
fd.h File 490 B 0644
fddidevice.h File 1.02 KB 0644
fdtable.h File 3.28 KB 0644
fec.h File 609 B 0644
file.h File 2.18 KB 0644
filter.h File 27.5 KB 0644
fips.h File 167 B 0644
firewire.h File 13.4 KB 0644
firmware-map.h File 1.32 KB 0644
firmware.h File 2.34 KB 0644
fixp-arith.h File 4.41 KB 0644
flat.h File 1.61 KB 0644
flex_array.h File 4.31 KB 0644
flex_proportions.h File 2.81 KB 0644
fmc-sdb.h File 1.29 KB 0644
fmc.h File 9.65 KB 0644
font.h File 1.6 KB 0644
frame.h File 813 B 0644
freezer.h File 8.67 KB 0644
frontswap.h File 2.87 KB 0644
fs.h File 110.97 KB 0644
fs_enet_pd.h File 3.38 KB 0644
fs_pin.h File 619 B 0644
fs_stack.h File 811 B 0644
fs_struct.h File 1.03 KB 0644
fs_uart_pd.h File 1.49 KB 0644
fscache-cache.h File 18.4 KB 0644
fscache.h File 27.54 KB 0644
fscrypt.h File 8.93 KB 0644
fscrypt_notsupp.h File 4.45 KB 0644
fscrypt_supp.h File 6.1 KB 0644
fsi.h File 2.37 KB 0644
fsl-diu-fb.h File 4.08 KB 0644
fsl_devices.h File 4.32 KB 0644
fsl_hypervisor.h File 2.76 KB 0644
fsl_ifc.h File 25.13 KB 0644
fsldma.h File 398 B 0644
fsnotify.h File 7.43 KB 0644
fsnotify_backend.h File 16.66 KB 0644
ftrace.h File 29.91 KB 0644
ftrace_irq.h File 823 B 0644
futex.h File 2.4 KB 0644
fwnode.h File 4.41 KB 0644
gameport.h File 5.56 KB 0644
gcd.h File 193 B 0644
genalloc.h File 5.92 KB 0644
genetlink.h File 1.39 KB 0644
genhd.h File 22.77 KB 0644
genl_magic_func.h File 12.05 KB 0644
genl_magic_struct.h File 7.66 KB 0644
getcpu.h File 641 B 0644
gfp.h File 23.37 KB 0644
glob.h File 256 B 0644
goldfish.h File 605 B 0644
gpio-pxa.h File 571 B 0644
gpio.h File 5.19 KB 0644
gpio_keys.h File 1.63 KB 0644
hardirq.h File 1.95 KB 0644
hash.h File 3 KB 0644
hashtable.h File 6.63 KB 0644
hdlc.h File 3.33 KB 0644
hdlcdrv.h File 6.32 KB 0644
hdmi.h File 9.36 KB 0644
hid-debug.h File 2.07 KB 0644
hid-roccat.h File 688 B 0644
hid-sensor-hub.h File 9.25 KB 0644
hid-sensor-ids.h File 7.27 KB 0644
hid.h File 35.93 KB 0644
hiddev.h File 2.07 KB 0644
hidraw.h File 1.49 KB 0644
highmem.h File 5.84 KB 0644
highuid.h File 3.12 KB 0644
hil.h File 18.42 KB 0644
hil_mlc.h File 5.13 KB 0644
hippidevice.h File 1.23 KB 0644
hmm.h File 18.19 KB 0644
host1x.h File 9.02 KB 0644
hp_sdc.h File 14.02 KB 0644
hpet.h File 2.55 KB 0644
hrtimer.h File 14.02 KB 0644
htcpld.h File 617 B 0644
huge_mm.h File 10.1 KB 0644
hugetlb.h File 17 KB 0644
hugetlb_cgroup.h File 2.93 KB 0644
hugetlb_inline.h File 374 B 0644
hw_breakpoint.h File 3.85 KB 0644
hw_random.h File 2.03 KB 0644
hwmon-sysfs.h File 1.98 KB 0644
hwmon-vid.h File 1.48 KB 0644
hwmon.h File 12.07 KB 0644
hwspinlock.h File 11.06 KB 0644
hyperv.h File 38.89 KB 0644
hypervisor.h File 400 B 0644
i2c-algo-bit.h File 2.24 KB 0644
i2c-algo-pca.h File 2.89 KB 0644
i2c-algo-pcf.h File 1.88 KB 0644
i2c-dev.h File 1.03 KB 0644
i2c-gpio.h File 1.19 KB 0644
i2c-mux-gpio.h File 1.35 KB 0644
i2c-mux.h File 2.29 KB 0644
i2c-ocores.h File 757 B 0644
i2c-omap.h File 1.21 KB 0644
i2c-pca-platform.h File 441 B 0644
i2c-pnx.h File 923 B 0644
i2c-pxa.h File 438 B 0644
i2c-smbus.h File 1.94 KB 0644
i2c-xiic.h File 1.41 KB 0644
i2c.h File 30.91 KB 0644
i7300_idle.h File 1.95 KB 0644
i8042.h File 2.14 KB 0644
i8253.h File 809 B 0644
icmp.h File 863 B 0644
icmpv6.h File 2.5 KB 0644
ide.h File 46.27 KB 0644
idr.h File 7.82 KB 0644
ieee80211.h File 83.19 KB 0644
ieee802154.h File 11.5 KB 0644
if_arp.h File 1.86 KB 0644
if_bridge.h File 2.65 KB 0644
if_eql.h File 1.07 KB 0644
if_ether.h File 1.47 KB 0644
if_fddi.h File 3.44 KB 0644
if_frad.h File 2.87 KB 0644
if_link.h File 554 B 0644
if_ltalk.h File 188 B 0644
if_macvlan.h File 2.2 KB 0644
if_phonet.h File 319 B 0644
if_pppol2tp.h File 727 B 0644
if_pppox.h File 3.05 KB 0644
if_tap.h File 2.24 KB 0644
if_team.h File 7.65 KB 0644
if_tun.h File 1.14 KB 0644
if_tunnel.h File 409 B 0644
if_vlan.h File 19.2 KB 0644
igmp.h File 4.15 KB 0644
ihex.h File 1.95 KB 0644
ima.h File 2.53 KB 0644
imx-media.h File 811 B 0644
in.h File 2.43 KB 0644
in6.h File 1.85 KB 0644
inet.h File 2.8 KB 0644
inet_diag.h File 2.42 KB 0644
inetdevice.h File 8.25 KB 0644
init.h File 9.1 KB 0644
init_ohci1394_dma.h File 196 B 0644
init_task.h File 7.84 KB 0644
initrd.h File 685 B 0644
inotify.h File 696 B 0644
input-polldev.h File 2.17 KB 0644
input.h File 18.7 KB 0644
integrity.h File 1.05 KB 0644
intel-iommu.h File 16.85 KB 0644
intel-pti.h File 1.56 KB 0644
intel-svm.h File 4.96 KB 0644
interrupt.h File 21.15 KB 0644
interval_tree.h File 831 B 0644
interval_tree_generic.h File 8 KB 0644
io-64-nonatomic-hi-lo.h File 1.14 KB 0644
io-64-nonatomic-lo-hi.h File 1.14 KB 0644
io-mapping.h File 4.36 KB 0644
io.h File 5.86 KB 0644
ioc3.h File 3.14 KB 0644
ioc4.h File 5.78 KB 0644
iocontext.h File 4.76 KB 0644
iomap.h File 3.95 KB 0644
iommu-common.h File 1.41 KB 0644
iommu-helper.h File 950 B 0644
iommu.h File 21.74 KB 0644
iopoll.h File 5.72 KB 0644
ioport.h File 10.74 KB 0644
ioprio.h File 1.96 KB 0644
iova.h File 7.03 KB 0644
ip.h File 1.07 KB 0644
ipack.h File 8.85 KB 0644
ipc.h File 695 B 0644
ipc_namespace.h File 4.81 KB 0644
ipmi-fru.h File 3.64 KB 0644
ipmi.h File 11.44 KB 0644
ipmi_smi.h File 8.9 KB 0644
ipv6.h File 8.92 KB 0644
ipv6_route.h File 594 B 0644
irq.h File 39.04 KB 0644
irq_cpustat.h File 949 B 0644
irq_poll.h File 575 B 0644
irq_sim.h File 1.16 KB 0644
irq_work.h File 1.3 KB 0644
irqbypass.h File 3.59 KB 0644
irqchip.h File 1.54 KB 0644
irqdesc.h File 8.15 KB 0644
irqdomain.h File 19.21 KB 0644
irqflags.h File 4.82 KB 0644
irqhandler.h File 362 B 0644
irqnr.h File 856 B 0644
irqreturn.h File 503 B 0644
isa.h File 2.12 KB 0644
isapnp.h File 3.8 KB 0644
iscsi_boot_sysfs.h File 4.09 KB 0644
iscsi_ibft.h File 1.28 KB 0644
isdn.h File 22.99 KB 0644
isdn_divertif.h File 1.27 KB 0644
isdn_ppp.h File 6.64 KB 0644
isdnif.h File 19.26 KB 0644
isicom.h File 1.49 KB 0644
jbd2.h File 47.14 KB 0644
jhash.h File 4.62 KB 0644
jiffies.h File 15.4 KB 0644
journal-head.h File 2.87 KB 0644
joystick.h File 1.28 KB 0644
jump_label.h File 13.32 KB 0644
jump_label_ratelimit.h File 1.12 KB 0644
jz4740-adc.h File 1023 B 0644
jz4780-nemc.h File 1.16 KB 0644
kallsyms.h File 3.59 KB 0644
kasan-checks.h File 441 B 0644
kasan.h File 4.48 KB 0644
kbd_diacr.h File 198 B 0644
kbd_kern.h File 3.84 KB 0644
kbuild.h File 380 B 0644
kconfig.h File 2.53 KB 0644
kcore.h File 664 B 0644
kcov.h File 802 B 0644
kdb.h File 7.3 KB 0644
kdebug.h File 487 B 0644
kdev_t.h File 1.8 KB 0644
kern_levels.h File 1.58 KB 0644
kernel-page-flags.h File 505 B 0644
kernel.h File 31.31 KB 0644
kernel_stat.h File 2.5 KB 0644
kernelcapi.h File 4.45 KB 0644
kernfs.h File 16.88 KB 0644
kexec.h File 10.06 KB 0644
key-type.h File 6.16 KB 0644
key.h File 12.75 KB 0644
keyboard.h File 665 B 0644
kfifo.h File 24.84 KB 0644
kgdb.h File 10.72 KB 0644
khugepaged.h File 2.36 KB 0644
klist.h File 1.88 KB 0644
kmemleak.h File 3.86 KB 0644
kmod.h File 1.71 KB 0644
kmsg_dump.h File 2.85 KB 0644
kobj_map.h File 545 B 0644
kobject.h File 7.62 KB 0644
kobject_ns.h File 1.9 KB 0644
kprobes.h File 14.71 KB 0644
kref.h File 3.28 KB 0644
ks0108.h File 1.57 KB 0644
ks8842.h File 1.19 KB 0644
ks8851_mll.h File 1.04 KB 0644
ksm.h File 2.89 KB 0644
kthread.h File 6.7 KB 0644
ktime.h File 6.71 KB 0644
kvm_host.h File 37.83 KB 0644
kvm_irqfd.h File 2.39 KB 0644
kvm_para.h File 284 B 0644
kvm_types.h File 1.67 KB 0644
l2tp.h File 261 B 0644
lapb.h File 1.71 KB 0644
latencytop.h File 1.18 KB 0644
lcd.h File 4.19 KB 0644
lcm.h File 275 B 0644
led-class-flash.h File 5.42 KB 0644
led-lm3530.h File 3.7 KB 0644
leds-bd2802.h File 642 B 0644
leds-lp3944.h File 1.07 KB 0644
leds-lp3952.h File 2.5 KB 0644
leds-pca9532.h File 1.01 KB 0644
leds-regulator.h File 1.29 KB 0644
leds-tca6507.h File 1.02 KB 0644
leds.h File 13.67 KB 0644
leds_pwm.h File 407 B 0644
libata.h File 64.88 KB 0644
libfdt.h File 244 B 0644
libfdt_env.h File 494 B 0644
libgcc.h File 1.07 KB 0644
libnvdimm.h File 7.16 KB 0644
libps2.h File 1.75 KB 0644
license.h File 374 B 0644
lightnvm.h File 10.95 KB 0644
linkage.h File 2.64 KB 0644
linux_logo.h File 2.06 KB 0644
lis3lv02d.h File 5 KB 0644
list.h File 23.71 KB 0644
list_bl.h File 4.19 KB 0644
list_lru.h File 6.29 KB 0644
list_nulls.h File 3.47 KB 0644
list_sort.h File 277 B 0644
livepatch.h File 6.94 KB 0644
llc.h File 749 B 0644
llist.h File 9.15 KB 0644
lockdep.h File 18.61 KB 0644
lockref.h File 1.45 KB 0644
log2.h File 5.48 KB 0644
logic_pio.h File 3.24 KB 0644
lp.h File 2.76 KB 0644
lru_cache.h File 12.42 KB 0644
lsm_audit.h File 2.73 KB 0644
lsm_hooks.h File 88.04 KB 0644
lz4.h File 26.44 KB 0644
lzo.h File 1.37 KB 0644
mISDNdsp.h File 1.19 KB 0644
mISDNhw.h File 5.78 KB 0644
mISDNif.h File 14.91 KB 0644
mailbox_client.h File 1.79 KB 0644
mailbox_controller.h File 5.4 KB 0644
maple.h File 2.71 KB 0644
marvell_phy.h File 1.17 KB 0644
math64.h File 6.42 KB 0644
max17040_battery.h File 474 B 0644
mbcache.h File 1.57 KB 0644
mbus.h File 3.09 KB 0644
mc146818rtc.h File 4.46 KB 0644
mc6821.h File 1.18 KB 0644
mcb.h File 3.88 KB 0644
mdev.h File 4.9 KB 0644
mdio-bitbang.h File 1.18 KB 0644
mdio-mux.h File 1021 B 0644
mdio.h File 9.01 KB 0644
mei_cl_bus.h File 3.28 KB 0644
mem_encrypt.h File 1.21 KB 0644
memblock.h File 14.6 KB 0644
memcontrol.h File 29.63 KB 0644
memory.h File 4.52 KB 0644
memory_hotplug.h File 10.29 KB 0644
mempolicy.h File 7.44 KB 0644
mempool.h File 2.39 KB 0644
memremap.h File 7.15 KB 0644
memstick.h File 9.73 KB 0644
mic_bus.h File 3.2 KB 0644
micrel_phy.h File 1.42 KB 0644
microchipphy.h File 2.84 KB 0644
migrate.h File 10.02 KB 0644
migrate_mode.h File 758 B 0644
mii.h File 8.74 KB 0644
miscdevice.h File 2.81 KB 0644
mm-arch-hooks.h File 679 B 0644
mm.h File 85.89 KB 0644
mm_inline.h File 3.44 KB 0644
mm_types.h File 19.25 KB 0644
mm_types_task.h File 2.4 KB 0644
mman.h File 3.26 KB 0644
mmdebug.h File 2.32 KB 0644
mmiotrace.h File 3.05 KB 0644
mmu_context.h File 378 B 0644
mmu_notifier.h File 15.84 KB 0644
mmzone.h File 39.66 KB 0644
mnt_namespace.h File 617 B 0644
mod_devicetable.h File 19.33 KB 0644
module.h File 22.23 KB 0644
moduleloader.h File 2.72 KB 0644
moduleparam.h File 19.42 KB 0644
mount.h File 3.45 KB 0644
mpage.h File 761 B 0644
mpi.h File 5.17 KB 0644
mpls.h File 394 B 0644
mpls_iptunnel.h File 178 B 0644
mroute.h File 4.71 KB 0644
mroute6.h File 3.27 KB 0644
msdos_fs.h File 273 B 0644
msg.h File 1.02 KB 0644
msi.h File 11.79 KB 0644
mutex.h File 6.91 KB 0644
mv643xx.h File 52.4 KB 0644
mv643xx_eth.h File 1.95 KB 0644
mv643xx_i2c.h File 545 B 0644
mvebu-pmsu.h File 520 B 0644
mxm-wmi.h File 1.05 KB 0644
n_r3964.h File 4.06 KB 0644
namei.h File 3.41 KB 0644
nd.h File 5.71 KB 0644
net.h File 11.33 KB 0644
netdev_features.h File 9.39 KB 0644
netdevice.h File 140.44 KB 0644
netfilter.h File 11.74 KB 0644
netfilter_bridge.h File 1.82 KB 0644
netfilter_defs.h File 239 B 0644
netfilter_ingress.h File 1.44 KB 0644
netfilter_ipv4.h File 424 B 0644
netfilter_ipv6.h File 1.43 KB 0644
netlink.h File 6.87 KB 0644
netpoll.h File 2.69 KB 0644
nfs.h File 1.31 KB 0644
nfs3.h File 260 B 0644
nfs4.h File 17.5 KB 0644
nfs_fs.h File 16.12 KB 0644
nfs_fs_i.h File 308 B 0644
nfs_fs_sb.h File 8.81 KB 0644
nfs_iostat.h File 4.18 KB 0644
nfs_page.h File 6.26 KB 0644
nfs_xdr.h File 38.79 KB 0644
nfsacl.h File 1.15 KB 0644
nl802154.h File 4.23 KB 0644
nls.h File 3.08 KB 0644
nmi.h File 6.56 KB 0644
node.h File 3 KB 0644
nodemask.h File 17.08 KB 0644
nospec.h File 2.21 KB 0644
notifier.h File 7.72 KB 0644
ns_common.h File 235 B 0644
nsc_gpio.h File 1.42 KB 0644
nsproxy.h File 2.48 KB 0644
ntb.h File 46.52 KB 0644
ntb_transport.h File 3.8 KB 0644
nubus.h File 4.13 KB 0644
numa.h File 292 B 0644
nvme-fc-driver.h File 38.22 KB 0644
nvme-fc.h File 8.34 KB 0644
nvme-rdma.h File 2.44 KB 0644
nvme.h File 26.61 KB 0644
nvmem-consumer.h File 4.35 KB 0644
nvmem-provider.h File 1.52 KB 0644
nvram.h File 495 B 0644
of.h File 40.4 KB 0644
of_address.h File 4.47 KB 0644
of_device.h File 3.04 KB 0644
of_dma.h File 2.45 KB 0644
of_fdt.h File 4.19 KB 0644
of_gpio.h File 4.39 KB 0644
of_graph.h File 3.56 KB 0644
of_iommu.h File 1 KB 0644
of_irq.h File 3.6 KB 0644
of_mdio.h File 2.98 KB 0644
of_net.h File 708 B 0644
of_pci.h File 2.23 KB 0644
of_pdt.h File 1.4 KB 0644
of_platform.h File 4.1 KB 0644
of_reserved_mem.h File 2.35 KB 0644
oid_registry.h File 3.87 KB 0644
olpc-ec.h File 1.08 KB 0644
omap-dma.h File 10.5 KB 0644
omap-dmaengine.h File 583 B 0644
omap-gpmc.h File 2.22 KB 0644
omap-iommu.h File 520 B 0644
omap-mailbox.h File 777 B 0644
omapfb.h File 1.22 KB 0644
once.h File 2.8 KB 0644
oom.h File 3.15 KB 0644
openvswitch.h File 844 B 0644
oprofile.h File 6.1 KB 0644
osq_lock.h File 1.04 KB 0644
overflow.h File 9.26 KB 0644
oxu210hp.h File 197 B 0644
padata.h File 5.82 KB 0644
page-flags-layout.h File 2.99 KB 0644
page-flags.h File 23.91 KB 0644
page-isolation.h File 1.9 KB 0644
page_counter.h File 1.46 KB 0644
page_ext.h File 1.89 KB 0644
page_idle.h File 2.62 KB 0644
page_owner.h File 2.3 KB 0644
page_ref.h File 4.99 KB 0644
pageblock-flags.h File 3.28 KB 0644
pagemap.h File 19.02 KB 0644
pagevec.h File 2.3 KB 0644
parman.h File 2.87 KB 0644
parport.h File 17.84 KB 0644
parport_pc.h File 6.56 KB 0644
parser.h File 1.04 KB 0644
pata_arasan_cf_data.h File 1.22 KB 0644
patchkey.h File 757 B 0644
path.h File 572 B 0644
pch_dma.h File 999 B 0644
pci-acpi.h File 3.44 KB 0644
pci-aspm.h File 882 B 0644
pci-ats.h File 1.39 KB 0644
pci-dma-compat.h File 4.41 KB 0644
pci-dma.h File 454 B 0644
pci-ecam.h File 2.54 KB 0644
pci-ep-cfs.h File 1.09 KB 0644
pci-epc.h File 5.38 KB 0644
pci-epf.h File 4.83 KB 0644
pci.h File 81.59 KB 0644
pci_hotplug.h File 6.91 KB 0644
pci_ids.h File 120.12 KB 0644
pcieport_if.h File 2.35 KB 0644
pda_power.h File 1.12 KB 0644
pe.h File 15.6 KB 0644
percpu-defs.h File 18.13 KB 0644
percpu-refcount.h File 9.93 KB 0644
percpu-rwsem.h File 4.09 KB 0644
percpu.h File 5.02 KB 0644
percpu_counter.h File 4.26 KB 0644
percpu_ida.h File 2.32 KB 0644
perf_event.h File 38.78 KB 0644
perf_regs.h File 1.02 KB 0644
personality.h File 393 B 0644
pfn.h File 666 B 0644
pfn_t.h File 3.23 KB 0644
phonet.h File 1.12 KB 0644
phy.h File 31.11 KB 0644
phy_fixed.h File 1.64 KB 0644
phy_led_triggers.h File 1.46 KB 0644
phylink.h File 5.06 KB 0644
pid.h File 5.77 KB 0644
pid_namespace.h File 2.33 KB 0644
pim.h File 2.67 KB 0644
pipe_fs_i.h File 6.46 KB 0644
pkeys.h File 916 B 0644
pktcdvd.h File 5.87 KB 0644
pl320-ipc.h File 758 B 0644
platform_device.h File 12.43 KB 0644
plist.h File 8.69 KB 0644
pm-trace.h File 940 B 0644
pm.h File 34.21 KB 0644
pm2301_charger.h File 1.68 KB 0644
pm_clock.h File 2.45 KB 0644
pm_domain.h File 9.03 KB 0644
pm_opp.h File 10.08 KB 0644
pm_qos.h File 8.51 KB 0644
pm_runtime.h File 8.52 KB 0644
pm_wakeirq.h File 1.31 KB 0644
pm_wakeup.h File 6.61 KB 0644
pmbus.h File 1.58 KB 0644
pmu.h File 2.34 KB 0644
pnfs_osd_xdr.h File 9.27 KB 0644
pnp.h File 14.89 KB 0644
poison.h File 2.66 KB 0644
poll.h File 3.24 KB 0644
posix-clock.h File 4.55 KB 0644
posix-timers.h File 3.55 KB 0644
posix_acl.h File 3.06 KB 0644
posix_acl_xattr.h File 1.58 KB 0644
power_supply.h File 13.41 KB 0644
powercap.h File 12.59 KB 0644
ppp-comp.h File 3.1 KB 0644
ppp_channel.h File 3.07 KB 0644
ppp_defs.h File 454 B 0644
pps-gpio.h File 1.01 KB 0644
pps_kernel.h File 3.55 KB 0644
pr.h File 566 B 0644
prandom.h File 2.81 KB 0644
preempt.h File 9.33 KB 0644
prefetch.h File 1.54 KB 0644
prime_numbers.h File 1.35 KB 0644
printk.h File 15.24 KB 0644
proc_fs.h File 3.26 KB 0644
proc_ns.h File 2.44 KB 0644
processor.h File 2.14 KB 0644
profile.h File 2.68 KB 0644
projid.h File 2.34 KB 0644
property.h File 9.79 KB 0644
psci.h File 1.87 KB 0644
pstore.h File 7.58 KB 0644
pstore_ram.h File 2.89 KB 0644
pti.h File 240 B 0644
ptp_classify.h File 2.89 KB 0644
ptp_clock_kernel.h File 8.56 KB 0644
ptr_ring.h File 16.29 KB 0644
ptrace.h File 14.57 KB 0644
purgatory.h File 589 B 0644
pvclock_gtod.h File 548 B 0644
pwm.h File 16.8 KB 0644
pwm_backlight.h File 740 B 0644
pxa168_eth.h File 728 B 0644
pxa2xx_ssp.h File 9.8 KB 0644
qcom_scm.h File 4.12 KB 0644
qnx6_fs.h File 3.27 KB 0644
quicklist.h File 2.13 KB 0644
quota.h File 18.87 KB 0644
quotaops.h File 10.17 KB 0644
radix-tree.h File 21.77 KB 0644
raid_class.h File 2.08 KB 0644
ramfs.h File 762 B 0644
random.h File 3.98 KB 0644
range.h File 651 B 0644
ras.h File 1.18 KB 0644
ratelimit.h File 2.81 KB 0644
rational.h File 639 B 0644
rbtree.h File 5.36 KB 0644
rbtree_augmented.h File 8.67 KB 0644
rbtree_latch.h File 6.62 KB 0644
rcu_node_tree.h File 4.34 KB 0644
rcu_segcblist.h File 3.26 KB 0644
rcu_sync.h File 2.57 KB 0644
rculist.h File 23.53 KB 0644
rculist_bl.h File 4.36 KB 0644
rculist_nulls.h File 6.17 KB 0644
rcupdate.h File 33.26 KB 0644
rcupdate_wait.h File 1.63 KB 0644
rcutiny.h File 3.64 KB 0644
rcutree.h File 3.56 KB 0644
rcuwait.h File 1.82 KB 0644
reboot-mode.h File 600 B 0644
reboot.h File 2.05 KB 0644
reciprocal_div.h File 1.01 KB 0644
refcount.h File 2.6 KB 0644
regmap.h File 42.34 KB 0644
regset.h File 15.08 KB 0644
relay.h File 8.84 KB 0644
remoteproc.h File 18.48 KB 0644
reservation.h File 8.12 KB 0644
reset-controller.h File 2.16 KB 0644
reset.h File 13.69 KB 0644
resource.h File 339 B 0644
resource_ext.h File 2.22 KB 0644
restart_block.h File 1.11 KB 0644
rfkill.h File 9.89 KB 0644
rhashtable.h File 38.24 KB 0644
ring_buffer.h File 6.79 KB 0644
rio.h File 19.23 KB 0644
rio_drv.h File 14.71 KB 0644
rio_ids.h File 1.29 KB 0644
rio_regs.h File 19.27 KB 0644
rmap.h File 9.08 KB 0644
rmi.h File 12.13 KB 0644
rndis.h File 16.86 KB 0644
rodata_test.h File 559 B 0644
root_dev.h File 579 B 0644
rpmsg.h File 8.37 KB 0644
rslib.h File 2.99 KB 0644
rtc.h File 8.71 KB 0644
rtmutex.h File 3.47 KB 0644
rtnetlink.h File 4.27 KB 0644
rtsx_common.h File 1.44 KB 0644
rtsx_pci.h File 40.14 KB 0644
rtsx_usb.h File 15.95 KB 0644
rwlock.h File 4.35 KB 0644
rwlock_api_smp.h File 7.67 KB 0644
rwlock_types.h File 1.12 KB 0644
rwsem-spinlock.h File 1.58 KB 0644
rwsem.h File 6 KB 0644
s3c_adc_battery.h File 971 B 0644
sa11x0-dma.h File 572 B 0644
sbitmap.h File 13.56 KB 0644
scatterlist.h File 13.29 KB 0644
scc.h File 2.84 KB 0644
sched.h File 47.45 KB 0644
sched_clock.h File 661 B 0644
scif.h File 58.85 KB 0644
scpi_protocol.h File 2.58 KB 0644
screen_info.h File 191 B 0644
sctp.h File 21.92 KB 0644
scx200.h File 1.82 KB 0644
scx200_gpio.h File 2.38 KB 0644
sdb.h File 4.17 KB 0644
sdla.h File 6.9 KB 0644
seccomp.h File 2.66 KB 0644
securebits.h File 239 B 0644
security.h File 47.81 KB 0644
sed-opal.h File 1.94 KB 0644
seg6.h File 121 B 0644
seg6_genl.h File 136 B 0644
seg6_hmac.h File 136 B 0644
seg6_iptunnel.h File 148 B 0644
seg6_local.h File 100 B 0644
selection.h File 1.41 KB 0644
selinux.h File 910 B 0644
sem.h File 2.02 KB 0644
semaphore.h File 1.36 KB 0644
seq_buf.h File 3.15 KB 0644
seq_file.h File 6.68 KB 0644
seq_file_net.h File 713 B 0644
seqlock.h File 16.48 KB 0644
seqno-fence.h File 3.96 KB 0644
serdev.h File 9.48 KB 0644
serial.h File 630 B 0644
serial_8250.h File 6.01 KB 0644
serial_bcm63xx.h File 4.73 KB 0644
serial_core.h File 17.72 KB 0644
serial_max3100.h File 1.39 KB 0644
serial_pnx8xxx.h File 2.61 KB 0644
serial_s3c.h File 9.24 KB 0644
serial_sci.h File 1.57 KB 0644
serio.h File 4.42 KB 0644
set_memory.h File 740 B 0644
sfi.h File 5.75 KB 0644
sfi_acpi.h File 3.39 KB 0644
sfp.h File 10.4 KB 0644
sh_clk.h File 5.96 KB 0644
sh_dma.h File 3.61 KB 0644
sh_eth.h File 417 B 0644
sh_intc.h File 3.42 KB 0644
sh_timer.h File 172 B 0644
shdma-base.h File 4.41 KB 0644
shm.h File 1.71 KB 0644
shmem_fs.h File 5.33 KB 0644
shrinker.h File 2.82 KB 0644
signal.h File 12.57 KB 0644
signal_types.h File 1.13 KB 0644
signalfd.h File 817 B 0644
siphash.h File 5.59 KB 0644
sirfsoc_dma.h File 162 B 0644
sizes.h File 1.26 KB 0644
skb_array.h File 5.17 KB 0644
skbuff.h File 120.16 KB 0644
slab.h File 21.45 KB 0644
slab_def.h File 2.37 KB 0644
slub_def.h File 5.44 KB 0644
sm501-regs.h File 11.76 KB 0644
sm501.h File 4.63 KB 0644
smc911x.h File 294 B 0644
smc91x.h File 1.57 KB 0644
smp.h File 5.67 KB 0644
smpboot.h File 2.17 KB 0644
smsc911x.h File 2.29 KB 0644
smscphy.h File 1.25 KB 0644
sock_diag.h File 2.16 KB 0644
socket.h File 11.35 KB 0644
sonet.h File 469 B 0644
sony-laptop.h File 1.28 KB 0644
sonypi.h File 2.35 KB 0644
sort.h File 247 B 0644
sound.h File 807 B 0644
soundcard.h File 1.59 KB 0644
spinlock.h File 11.04 KB 0644
spinlock_api_smp.h File 5.4 KB 0644
spinlock_api_up.h File 3.31 KB 0644
spinlock_types.h File 1.99 KB 0644
spinlock_types_up.h File 726 B 0644
spinlock_up.h File 2.16 KB 0644
splice.h File 3.01 KB 0644
spmi.h File 5.95 KB 0644
sram.h File 844 B 0644
srcu.h File 6.38 KB 0644
srcutiny.h File 3.18 KB 0644
srcutree.h File 5.15 KB 0644
ssbi.h File 1.11 KB 0644
stackdepot.h File 967 B 0644
stackprotector.h File 324 B 0644
stacktrace.h File 1.45 KB 0644
start_kernel.h File 334 B 0644
stat.h File 1.18 KB 0644
statfs.h File 1.31 KB 0644
static_key.h File 30 B 0644
stddef.h File 620 B 0644
ste_modem_shm.h File 1.59 KB 0644
stm.h File 4.75 KB 0644
stmmac.h File 5.39 KB 0644
stmp3xxx_rtc_wdt.h File 332 B 0644
stmp_device.h File 619 B 0644
stop_machine.h File 4.68 KB 0644
string.h File 14.97 KB 0644
string_helpers.h File 2.17 KB 0644
stringhash.h File 2.65 KB 0644
stringify.h File 341 B 0644
sudmac.h File 1.24 KB 0644
sungem_phy.h File 3.94 KB 0644
sunserialcore.h File 1.08 KB 0644
sunxi-rsb.h File 2.89 KB 0644
superhyway.h File 2.81 KB 0644
suspend.h File 19.13 KB 0644
svga.h File 3.75 KB 0644
sw842.h File 328 B 0644
swab.h File 569 B 0644
swait.h File 9.33 KB 0644
swap.h File 21.58 KB 0644
swap_cgroup.h File 971 B 0644
swap_slots.h File 840 B 0644
swapfile.h File 556 B 0644
swapops.h File 9.27 KB 0644
swiotlb.h File 3.8 KB 0644
switchtec.h File 8.1 KB 0644
sxgbe_platform.h File 1.34 KB 0644
sync_file.h File 1.57 KB 0644
synclink.h File 989 B 0644
sys.h File 960 B 0644
sys_soc.h File 1.21 KB 0644
syscalls.h File 39.85 KB 0644
syscore_ops.h File 635 B 0644
sysctl.h File 7.55 KB 0644
sysfs.h File 15.41 KB 0644
syslog.h File 1.89 KB 0644
sysrq.h File 1.79 KB 0644
sysv_fs.h File 9.03 KB 0644
t10-pi.h File 1.21 KB 0644
task_io_accounting.h File 1.13 KB 0644
task_io_accounting_ops.h File 2.55 KB 0644
task_work.h File 617 B 0644
taskstats_kern.h File 957 B 0644
tboot.h File 3.99 KB 0644
tc.h File 3.45 KB 0644
tca6416_keypad.h File 847 B 0644
tcp.h File 15.13 KB 0644
tee_drv.h File 8.27 KB 0644
textsearch.h File 4.73 KB 0644
textsearch_fsm.h File 1.19 KB 0644
tfrc.h File 1.89 KB 0644
thermal.h File 19.62 KB 0644
thinkpad_acpi.h File 320 B 0644
thread_info.h File 4.1 KB 0644
threads.h File 1.28 KB 0644
thunderbolt.h File 19.02 KB 0644
ti_wilink_st.h File 14.07 KB 0644
tick.h File 7.88 KB 0644
tifm.h File 4.8 KB 0644
timb_dma.h File 1.74 KB 0644
timb_gpio.h File 1.28 KB 0644
time.h File 3.71 KB 0644
time32.h File 5.64 KB 0644
time64.h File 4.01 KB 0644
timecounter.h File 4.58 KB 0644
timekeeper_internal.h File 5.01 KB 0644
timekeeping.h File 5.17 KB 0644
timekeeping32.h File 3.13 KB 0644
timer.h File 6.74 KB 0644
timerfd.h File 508 B 0644
timeriomem-rng.h File 475 B 0644
timerqueue.h File 1.19 KB 0644
timex.h File 6.61 KB 0644
tnum.h File 2.74 KB 0644
topology.h File 4.85 KB 0644
torture.h File 3.58 KB 0644
toshiba.h File 904 B 0644
tpm.h File 3 KB 0644
tpm_command.h File 847 B 0644
trace.h File 964 B 0644
trace_clock.h File 667 B 0644
trace_events.h File 16.65 KB 0644
trace_seq.h File 3.74 KB 0644
tracefs.h File 1.19 KB 0644
tracehook.h File 7.08 KB 0644
tracepoint-defs.h File 778 B 0644
tracepoint.h File 16.26 KB 0644
transport_class.h File 2.5 KB 0644
ts-nbus.h File 532 B 0644
tsacct_kern.h File 1.2 KB 0644
tty.h File 28.03 KB 0644
tty_driver.h File 15.45 KB 0644
tty_flip.h File 1.62 KB 0644
tty_ldisc.h File 7.69 KB 0644
typecheck.h File 624 B 0644
types.h File 5.61 KB 0644
u64_stats_sync.h File 5.43 KB 0644
uaccess.h File 9.95 KB 0644
ucb1400.h File 4.26 KB 0644
ucs2_string.h File 662 B 0644
udp.h File 3.65 KB 0644
uidgid.h File 4.07 KB 0644
uio.h File 7.66 KB 0644
uio_driver.h File 4.07 KB 0644
umh.h File 1.79 KB 0644
uprobes.h File 6.28 KB 0644
usb.h File 75.97 KB 0644
usb_usual.h File 3.58 KB 0644
usbdevice_fs.h File 2.18 KB 0644
user-return-notifier.h File 1.18 KB 0644
user.h File 22 B 0644
user_namespace.h File 4.34 KB 0644
userfaultfd_k.h File 3.57 KB 0644
util_macros.h File 1.17 KB 0644
uts.h File 388 B 0644
utsname.h File 1.72 KB 0644
uuid.h File 2.35 KB 0644
uwb.h File 25.22 KB 0644
verification.h File 1.57 KB 0644
vermagic.h File 1.05 KB 0644
vexpress.h File 1.44 KB 0644
vfio.h File 6.32 KB 0644
vfs.h File 116 B 0644
vga_switcheroo.h File 8.4 KB 0644
vgaarb.h File 5.12 KB 0644
via-core.h File 7.27 KB 0644
via-gpio.h File 334 B 0644
via.h File 932 B 0644
via_i2c.h File 1.48 KB 0644
videodev2.h File 2.68 KB 0644
virtio.h File 7.07 KB 0644
virtio_byteorder.h File 1.46 KB 0644
virtio_caif.h File 492 B 0644
virtio_config.h File 12.82 KB 0644
virtio_console.h File 1.93 KB 0644
virtio_net.h File 5.33 KB 0644
virtio_ring.h File 2.96 KB 0644
virtio_vsock.h File 5.05 KB 0644
vlynq.h File 3.88 KB 0644
vm_event_item.h File 2.96 KB 0644
vm_sockets.h File 703 B 0644
vmacache.h File 932 B 0644
vmalloc.h File 6.29 KB 0644
vme.h File 5.66 KB 0644
vmpressure.h File 1.7 KB 0644
vmstat.h File 10.93 KB 0644
vmw_vmci_api.h File 3.19 KB 0644
vmw_vmci_defs.h File 27.93 KB 0644
vringh.h File 7.76 KB 0644
vt.h File 611 B 0644
vt_buffer.h File 1.49 KB 0644
vt_kern.h File 6.21 KB 0644
vtime.h File 3.57 KB 0644
w1-gpio.h File 729 B 0644
w1.h File 9.13 KB 0644
wait.h File 36.36 KB 0644
wait_bit.h File 9.85 KB 0644
wanrouter.h File 210 B 0644
watchdog.h File 7.81 KB 0644
win_minmax.h File 832 B 0644
wireless.h File 1.4 KB 0644
wkup_m3_ipc.h File 1.53 KB 0644
wl12xx.h File 1.39 KB 0644
wm97xx.h File 10.61 KB 0644
wmi.h File 1.94 KB 0644
workqueue.h File 21.56 KB 0644
writeback.h File 12.13 KB 0644
ww_mutex.h File 12.42 KB 0644
xattr.h File 3.38 KB 0644
xxhash.h File 7.65 KB 0644
xz.h File 11.16 KB 0644
yam.h File 2.82 KB 0644
z2_battery.h File 318 B 0644
zbud.h File 740 B 0644
zconf.h File 1.73 KB 0644
zlib.h File 27.97 KB 0644
zorro.h File 3.94 KB 0644
zpool.h File 2.99 KB 0644
zsmalloc.h File 1.64 KB 0644
zstd.h File 48.64 KB 0644
zutil.h File 2.73 KB 0644