mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-26 06:33:19 -04:00
Merge commit 'v2.6.29-rc4' into core/percpu
Conflicts: arch/x86/mach-voyager/voyager_smp.c arch/x86/mm/fault.c
This commit is contained in:
commit
249d51b53a
586 changed files with 9633 additions and 5782 deletions
|
|
@ -90,7 +90,6 @@ header-y += if_ppp.h
|
|||
header-y += if_slip.h
|
||||
header-y += if_strip.h
|
||||
header-y += if_tun.h
|
||||
header-y += if_tunnel.h
|
||||
header-y += in_route.h
|
||||
header-y += ioctl.h
|
||||
header-y += ip6_tunnel.h
|
||||
|
|
@ -236,6 +235,7 @@ unifdef-y += if_phonet.h
|
|||
unifdef-y += if_pppol2tp.h
|
||||
unifdef-y += if_pppox.h
|
||||
unifdef-y += if_tr.h
|
||||
unifdef-y += if_tunnel.h
|
||||
unifdef-y += if_vlan.h
|
||||
unifdef-y += igmp.h
|
||||
unifdef-y += inet_diag.h
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@
|
|||
#ifndef __LINUX__AIO_ABI_H
|
||||
#define __LINUX__AIO_ABI_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
typedef unsigned long aio_context_t;
|
||||
|
|
|
|||
|
|
@ -17,9 +17,11 @@ typedef u64 async_cookie_t;
|
|||
typedef void (async_func_ptr) (void *data, async_cookie_t cookie);
|
||||
|
||||
extern async_cookie_t async_schedule(async_func_ptr *ptr, void *data);
|
||||
extern async_cookie_t async_schedule_special(async_func_ptr *ptr, void *data, struct list_head *list);
|
||||
extern async_cookie_t async_schedule_domain(async_func_ptr *ptr, void *data,
|
||||
struct list_head *list);
|
||||
extern void async_synchronize_full(void);
|
||||
extern void async_synchronize_full_special(struct list_head *list);
|
||||
extern void async_synchronize_full_domain(struct list_head *list);
|
||||
extern void async_synchronize_cookie(async_cookie_t cookie);
|
||||
extern void async_synchronize_cookie_special(async_cookie_t cookie, struct list_head *list);
|
||||
extern void async_synchronize_cookie_domain(async_cookie_t cookie,
|
||||
struct list_head *list);
|
||||
|
||||
|
|
|
|||
|
|
@ -731,12 +731,17 @@ static inline int ata_id_current_chs_valid(const u16 *id)
|
|||
|
||||
static inline int ata_id_is_cfa(const u16 *id)
|
||||
{
|
||||
if (id[ATA_ID_CONFIG] == 0x848A) /* Standard CF */
|
||||
if (id[ATA_ID_CONFIG] == 0x848A) /* Traditional CF */
|
||||
return 1;
|
||||
/* Could be CF hiding as standard ATA */
|
||||
if (ata_id_major_version(id) >= 3 &&
|
||||
id[ATA_ID_COMMAND_SET_1] != 0xFFFF &&
|
||||
(id[ATA_ID_COMMAND_SET_1] & (1 << 2)))
|
||||
/*
|
||||
* CF specs don't require specific value in the word 0 anymore and yet
|
||||
* they forbid to report the ATA version in the word 80 and require the
|
||||
* CFA feature set support to be indicated in the word 83 in this case.
|
||||
* Unfortunately, some cards only follow either of this requirements,
|
||||
* and while those that don't indicate CFA feature support need some
|
||||
* sort of quirk list, it seems impractical for the ones that do...
|
||||
*/
|
||||
if ((id[ATA_ID_COMMAND_SET_2] & 0xC004) == 0x4004)
|
||||
return 1;
|
||||
return 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __LINUX_ATALK_H__
|
||||
#define __LINUX_ATALK_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef _LINUX_ATMBR2684_H
|
||||
#define _LINUX_ATMBR2684_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/atm.h>
|
||||
#include <linux/if.h> /* For IFNAMSIZ */
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
#define _LINUX_AUTO_FS4_H
|
||||
|
||||
/* Include common v3 definitions */
|
||||
#include <linux/types.h>
|
||||
#include <linux/auto_fs.h>
|
||||
|
||||
/* autofs v4 definitions */
|
||||
|
|
|
|||
|
|
@ -6,6 +6,8 @@
|
|||
#ifndef _LINUX_BFS_FS_H
|
||||
#define _LINUX_BFS_FS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define BFS_BSIZE_BITS 9
|
||||
#define BFS_BSIZE (1<<BFS_BSIZE_BITS)
|
||||
|
||||
|
|
@ -17,7 +19,6 @@
|
|||
#define BFS_VDIR 2L
|
||||
#define BFS_VREG 1L
|
||||
|
||||
|
||||
/* BFS inode layout on disk */
|
||||
struct bfs_inode {
|
||||
__le16 i_ino;
|
||||
|
|
|
|||
|
|
@ -451,12 +451,13 @@ extern struct biovec_slab bvec_slabs[BIOVEC_NR_POOLS] __read_mostly;
|
|||
|
||||
#ifdef CONFIG_HIGHMEM
|
||||
/*
|
||||
* remember to add offset! and never ever reenable interrupts between a
|
||||
* bvec_kmap_irq and bvec_kunmap_irq!!
|
||||
* remember never ever reenable interrupts between a bvec_kmap_irq and
|
||||
* bvec_kunmap_irq!
|
||||
*
|
||||
* This function MUST be inlined - it plays with the CPU interrupt flags.
|
||||
*/
|
||||
static inline char *bvec_kmap_irq(struct bio_vec *bvec, unsigned long *flags)
|
||||
static __always_inline char *bvec_kmap_irq(struct bio_vec *bvec,
|
||||
unsigned long *flags)
|
||||
{
|
||||
unsigned long addr;
|
||||
|
||||
|
|
@ -472,7 +473,8 @@ static inline char *bvec_kmap_irq(struct bio_vec *bvec, unsigned long *flags)
|
|||
return (char *) addr + bvec->bv_offset;
|
||||
}
|
||||
|
||||
static inline void bvec_kunmap_irq(char *buffer, unsigned long *flags)
|
||||
static __always_inline void bvec_kunmap_irq(char *buffer,
|
||||
unsigned long *flags)
|
||||
{
|
||||
unsigned long ptr = (unsigned long) buffer & PAGE_MASK;
|
||||
|
||||
|
|
|
|||
|
|
@ -455,7 +455,7 @@ struct request_queue
|
|||
|
||||
#define QUEUE_FLAG_DEFAULT ((1 << QUEUE_FLAG_IO_STAT) | \
|
||||
(1 << QUEUE_FLAG_CLUSTER) | \
|
||||
1 << QUEUE_FLAG_STACKABLE)
|
||||
(1 << QUEUE_FLAG_STACKABLE))
|
||||
|
||||
static inline int queue_is_locked(struct request_queue *q)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef BLKTRACE_H
|
||||
#define BLKTRACE_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#ifdef __KERNEL__
|
||||
#include <linux/blkdev.h>
|
||||
#include <linux/relay.h>
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@
|
|||
#ifndef CAN_BCM_H
|
||||
#define CAN_BCM_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/**
|
||||
* struct bcm_msg_head - head of messages to/from the broadcast manager
|
||||
* @opcode: opcode, see enum below.
|
||||
|
|
|
|||
|
|
@ -69,10 +69,6 @@ typedef struct __user_cap_data_struct {
|
|||
#define VFS_CAP_U32 VFS_CAP_U32_2
|
||||
#define VFS_CAP_REVISION VFS_CAP_REVISION_2
|
||||
|
||||
#ifdef CONFIG_SECURITY_FILE_CAPABILITIES
|
||||
extern int file_caps_enabled;
|
||||
#endif
|
||||
|
||||
struct vfs_cap_data {
|
||||
__le32 magic_etc; /* Little endian */
|
||||
struct {
|
||||
|
|
@ -96,6 +92,10 @@ struct vfs_cap_data {
|
|||
#define _KERNEL_CAPABILITY_VERSION _LINUX_CAPABILITY_VERSION_3
|
||||
#define _KERNEL_CAPABILITY_U32S _LINUX_CAPABILITY_U32S_3
|
||||
|
||||
#ifdef CONFIG_SECURITY_FILE_CAPABILITIES
|
||||
extern int file_caps_enabled;
|
||||
#endif
|
||||
|
||||
typedef struct kernel_cap_struct {
|
||||
__u32 cap[_KERNEL_CAPABILITY_U32S];
|
||||
} kernel_cap_t;
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
#ifndef _LINUX_CDROM_H
|
||||
#define _LINUX_CDROM_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
/*******************************************************
|
||||
|
|
|
|||
|
|
@ -15,6 +15,7 @@
|
|||
#ifndef _LINUX_CGROUPSTATS_H
|
||||
#define _LINUX_CGROUPSTATS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/taskstats.h>
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ enum clock_event_nofitiers {
|
|||
CLOCK_EVT_NOTIFY_BROADCAST_EXIT,
|
||||
CLOCK_EVT_NOTIFY_SUSPEND,
|
||||
CLOCK_EVT_NOTIFY_RESUME,
|
||||
CLOCK_EVT_NOTIFY_CPU_DYING,
|
||||
CLOCK_EVT_NOTIFY_CPU_DEAD,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@
|
|||
#ifndef __DLM_PLOCK_DOT_H__
|
||||
#define __DLM_PLOCK_DOT_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define DLM_PLOCK_MISC_NAME "dlm_plock"
|
||||
|
||||
#define DLM_PLOCK_VERSION_MAJOR 1
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef _LINUX_DN_H
|
||||
#define _LINUX_DN_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
|
||||
DECnet Data Structures and Constants
|
||||
|
|
|
|||
|
|
@ -24,12 +24,7 @@
|
|||
#ifndef _DVBAUDIO_H_
|
||||
#define _DVBAUDIO_H_
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#include <linux/types.h>
|
||||
#else
|
||||
#include <stdint.h>
|
||||
#endif
|
||||
|
||||
|
||||
typedef enum {
|
||||
AUDIO_SOURCE_DEMUX, /* Select the demux as the main source */
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@
|
|||
#ifndef _DVBDMX_H_
|
||||
#define _DVBDMX_H_
|
||||
|
||||
#include <asm/types.h>
|
||||
#include <linux/types.h>
|
||||
#ifdef __KERNEL__
|
||||
#include <linux/time.h>
|
||||
#else
|
||||
|
|
|
|||
|
|
@ -26,8 +26,7 @@
|
|||
#ifndef _DVBFRONTEND_H_
|
||||
#define _DVBFRONTEND_H_
|
||||
|
||||
#include <asm/types.h>
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
typedef enum fe_type {
|
||||
FE_QPSK,
|
||||
|
|
|
|||
|
|
@ -24,8 +24,7 @@
|
|||
#ifndef _DVBNET_H_
|
||||
#define _DVBNET_H_
|
||||
|
||||
#include <asm/types.h>
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct dvb_net_if {
|
||||
__u16 pid;
|
||||
|
|
|
|||
|
|
@ -24,17 +24,14 @@
|
|||
#ifndef _DVBVIDEO_H_
|
||||
#define _DVBVIDEO_H_
|
||||
|
||||
#include <linux/compiler.h>
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#include <linux/types.h>
|
||||
#ifdef __KERNEL__
|
||||
#include <linux/compiler.h>
|
||||
#else
|
||||
#include <asm/types.h>
|
||||
#include <stdint.h>
|
||||
#include <time.h>
|
||||
#endif
|
||||
|
||||
|
||||
typedef enum {
|
||||
VIDEO_FORMAT_4_3, /* Select 4:3 format */
|
||||
VIDEO_FORMAT_16_9, /* Select 16:9 format. */
|
||||
|
|
|
|||
|
|
@ -30,6 +30,8 @@
|
|||
#ifndef _LINUX_EDD_H
|
||||
#define _LINUX_EDD_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define EDDNR 0x1e9 /* addr of number of edd_info structs at EDDBUF
|
||||
in boot_params - treat this as 1 byte */
|
||||
#define EDDBUF 0xd00 /* addr of edd_info structs in boot_params */
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
#ifndef __EFS_FS_SB_H__
|
||||
#define __EFS_FS_SB_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/magic.h>
|
||||
|
||||
/* EFS superblock magic numbers */
|
||||
|
|
|
|||
|
|
@ -58,11 +58,13 @@ struct elf_fdpic_params {
|
|||
#define ELF_FDPIC_FLAG_PRESENT 0x80000000 /* T if this object is present */
|
||||
};
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#ifdef CONFIG_MMU
|
||||
extern void elf_fdpic_arch_lay_out_mm(struct elf_fdpic_params *exec_params,
|
||||
struct elf_fdpic_params *interp_params,
|
||||
unsigned long *start_stack,
|
||||
unsigned long *start_brk);
|
||||
#endif
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* _LINUX_ELF_FDPIC_H */
|
||||
|
|
|
|||
|
|
@ -377,6 +377,7 @@ typedef struct elf64_note {
|
|||
Elf64_Word n_type; /* Content type */
|
||||
} Elf64_Nhdr;
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#if ELF_CLASS == ELFCLASS32
|
||||
|
||||
extern Elf32_Dyn _DYNAMIC [];
|
||||
|
|
@ -404,5 +405,5 @@ static inline int elf_coredump_extra_notes_write(struct file *file,
|
|||
extern int elf_coredump_extra_notes_size(void);
|
||||
extern int elf_coredump_extra_notes_write(struct file *file, loff_t *foffset);
|
||||
#endif
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* _LINUX_ELF_H */
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef _LINUX_ERRQUEUE_H
|
||||
#define _LINUX_ERRQUEUE_H 1
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct sock_extended_err
|
||||
{
|
||||
__u32 ee_errno;
|
||||
|
|
|
|||
|
|
@ -960,6 +960,21 @@ extern struct fb_info *registered_fb[FB_MAX];
|
|||
extern int num_registered_fb;
|
||||
extern struct class *fb_class;
|
||||
|
||||
static inline int lock_fb_info(struct fb_info *info)
|
||||
{
|
||||
mutex_lock(&info->lock);
|
||||
if (!info->fbops) {
|
||||
mutex_unlock(&info->lock);
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
static inline void unlock_fb_info(struct fb_info *info)
|
||||
{
|
||||
mutex_unlock(&info->lock);
|
||||
}
|
||||
|
||||
static inline void __fb_pad_aligned_buffer(u8 *dst, u32 d_pitch,
|
||||
u8 *src, u32 s_pitch, u32 height)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __LINUX_GENERIC_NETLINK_H
|
||||
#define __LINUX_GENERIC_NETLINK_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netlink.h>
|
||||
|
||||
#define GENL_NAMSIZ 16 /* length of family name */
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@
|
|||
#ifndef __GFS2_ONDISK_DOT_H__
|
||||
#define __GFS2_ONDISK_DOT_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define GFS2_MAGIC 0x01161970
|
||||
#define GFS2_BASIC_BLOCK 512
|
||||
#define GFS2_BASIC_BLOCK_SHIFT 9
|
||||
|
|
|
|||
|
|
@ -791,6 +791,7 @@ dbg_hid(const char *fmt, ...)
|
|||
__FILE__ , ## arg)
|
||||
#endif /* HID_FF */
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#ifdef CONFIG_HID_COMPAT
|
||||
#define HID_COMPAT_LOAD_DRIVER(name) \
|
||||
/* prototype to avoid sparse warning */ \
|
||||
|
|
@ -804,6 +805,7 @@ EXPORT_SYMBOL(hid_compat_##name)
|
|||
extern void hid_compat_##name(void); \
|
||||
hid_compat_##name(); \
|
||||
} while (0)
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -27,6 +27,8 @@
|
|||
* Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic
|
||||
*/
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* The event structure itself
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef _LINUX_ICMPV6_H
|
||||
#define _LINUX_ICMPV6_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
struct icmp6hdr {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __LINUX_IF_ADDR_H
|
||||
#define __LINUX_IF_ADDR_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netlink.h>
|
||||
|
||||
struct ifaddrmsg
|
||||
|
|
|
|||
|
|
@ -10,6 +10,8 @@
|
|||
#ifndef __LINUX_IF_ADDRLABEL_H
|
||||
#define __LINUX_IF_ADDRLABEL_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct ifaddrlblmsg
|
||||
{
|
||||
__u8 ifal_family; /* Address family */
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@
|
|||
#ifndef _LINUX_IF_FC_H
|
||||
#define _LINUX_IF_FC_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define FC_ALEN 6 /* Octets in one ethernet addr */
|
||||
#define FC_HLEN (sizeof(struct fch_hdr)+sizeof(struct fcllc))
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#ifndef _LINUX_IF_HIPPI_H
|
||||
#define _LINUX_IF_HIPPI_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef _LINUX_IF_LINK_H
|
||||
#define _LINUX_IF_LINK_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netlink.h>
|
||||
|
||||
/* The struct should be in sync with struct net_device_stats */
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@
|
|||
#ifndef _IF_PPP_H_
|
||||
#define _IF_PPP_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/compiler.h>
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -18,6 +18,8 @@
|
|||
#ifndef __LINUX_STRIP_H
|
||||
#define __LINUX_STRIP_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
typedef struct {
|
||||
__u8 c[6];
|
||||
} MetricomAddress;
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
#ifndef _LINUX_IF_TR_H
|
||||
#define _LINUX_IF_TR_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <asm/byteorder.h> /* For __be16 */
|
||||
|
||||
/* IEEE 802.5 Token-Ring magic constants. The frame sizes omit the preamble
|
||||
|
|
|
|||
|
|
@ -2,7 +2,10 @@
|
|||
#define _IF_TUNNEL_H_
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#ifdef __KERNEL__
|
||||
#include <linux/ip.h>
|
||||
#endif
|
||||
|
||||
#define SIOCGETTUNNEL (SIOCDEVPRIVATE + 0)
|
||||
#define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1)
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@
|
|||
#ifndef _LINUX_IGMP_H
|
||||
#define _LINUX_IGMP_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef _INET_DIAG_H_
|
||||
#define _INET_DIAG_H_ 1
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Just some random number */
|
||||
#define TCPDIAG_GETSOCK 18
|
||||
#define DCCPDIAG_GETSOCK 19
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef _IP6_TUNNEL_H
|
||||
#define _IP6_TUNNEL_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define IPV6_TLV_TNL_ENCAP_LIMIT 4
|
||||
#define IPV6_DEFAULT_TNL_ENCAP_LIMIT 4
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef _IPV6_H
|
||||
#define _IPV6_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/in6.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@
|
|||
#ifndef _LINUX_IPV6_ROUTE_H
|
||||
#define _LINUX_IPV6_ROUTE_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define RTF_DEFAULT 0x00010000 /* default - learned via ND */
|
||||
#define RTF_ALLONLINK 0x00020000 /* (deprecated and will be removed)
|
||||
fallback, no routers on link */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#ifndef _IPX_H_
|
||||
#define _IPX_H_
|
||||
#include <linux/types.h>
|
||||
#include <linux/sockios.h>
|
||||
#include <linux/socket.h>
|
||||
#define IPX_NODE_LEN 6
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@
|
|||
#ifndef KERNEL_IRDA_H
|
||||
#define KERNEL_IRDA_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Please do *not* add any #include in this file, this file is
|
||||
* included as-is in user space.
|
||||
* Please fix the calling file to properly included needed files before
|
||||
|
|
|
|||
|
|
@ -480,7 +480,8 @@ static inline char *pack_hex_byte(char *buf, u8 byte)
|
|||
/*
|
||||
* swap - swap value of @a and @b
|
||||
*/
|
||||
#define swap(a, b) ({ typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; })
|
||||
#define swap(a, b) \
|
||||
do { typeof(a) __tmp = (a); (a) = (b); (b) = __tmp; } while (0)
|
||||
|
||||
/**
|
||||
* container_of - cast a member of a structure out to the containing structure
|
||||
|
|
|
|||
|
|
@ -380,6 +380,7 @@ enum {
|
|||
ATA_HORKAGE_ATAPI_MOD16_DMA = (1 << 11), /* use ATAPI DMA for commands
|
||||
not multiple of 16 bytes */
|
||||
ATA_HORKAGE_FIRMWARE_WARN = (1 << 12), /* firwmare update warning */
|
||||
ATA_HORKAGE_1_5_GBPS = (1 << 13), /* force 1.5 Gbps */
|
||||
|
||||
/* DMA mask for user DMA control: User visible values; DO NOT
|
||||
renumber */
|
||||
|
|
@ -580,7 +581,7 @@ struct ata_device {
|
|||
acpi_handle acpi_handle;
|
||||
union acpi_object *gtf_cache;
|
||||
#endif
|
||||
/* n_sector is used as CLEAR_OFFSET, read comment above CLEAR_OFFSET */
|
||||
/* n_sector is CLEAR_BEGIN, read comment above CLEAR_BEGIN */
|
||||
u64 n_sectors; /* size of device, if ATA */
|
||||
unsigned int class; /* ATA_DEV_xxx */
|
||||
unsigned long unpark_deadline;
|
||||
|
|
@ -605,20 +606,22 @@ struct ata_device {
|
|||
u16 heads; /* Number of heads */
|
||||
u16 sectors; /* Number of sectors per track */
|
||||
|
||||
/* error history */
|
||||
int spdn_cnt;
|
||||
struct ata_ering ering;
|
||||
|
||||
union {
|
||||
u16 id[ATA_ID_WORDS]; /* IDENTIFY xxx DEVICE data */
|
||||
u32 gscr[SATA_PMP_GSCR_DWORDS]; /* PMP GSCR block */
|
||||
};
|
||||
|
||||
/* error history */
|
||||
int spdn_cnt;
|
||||
/* ering is CLEAR_END, read comment above CLEAR_END */
|
||||
struct ata_ering ering;
|
||||
};
|
||||
|
||||
/* Offset into struct ata_device. Fields above it are maintained
|
||||
* acress device init. Fields below are zeroed.
|
||||
/* Fields between ATA_DEVICE_CLEAR_BEGIN and ATA_DEVICE_CLEAR_END are
|
||||
* cleared to zero on ata_dev_init().
|
||||
*/
|
||||
#define ATA_DEVICE_CLEAR_OFFSET offsetof(struct ata_device, n_sectors)
|
||||
#define ATA_DEVICE_CLEAR_BEGIN offsetof(struct ata_device, n_sectors)
|
||||
#define ATA_DEVICE_CLEAR_END offsetof(struct ata_device, ering)
|
||||
|
||||
struct ata_eh_info {
|
||||
struct ata_device *dev; /* offending device */
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef _LINUX_MINIX_FS_H
|
||||
#define _LINUX_MINIX_FS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/magic.h>
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -219,11 +219,6 @@ void *__symbol_get_gpl(const char *symbol);
|
|||
|
||||
#endif
|
||||
|
||||
struct module_ref
|
||||
{
|
||||
local_t count;
|
||||
} ____cacheline_aligned;
|
||||
|
||||
enum module_state
|
||||
{
|
||||
MODULE_STATE_LIVE,
|
||||
|
|
@ -344,8 +339,11 @@ struct module
|
|||
/* Destruction function. */
|
||||
void (*exit)(void);
|
||||
|
||||
/* Reference counts */
|
||||
struct module_ref ref[NR_CPUS];
|
||||
#ifdef CONFIG_SMP
|
||||
char *refptr;
|
||||
#else
|
||||
local_t ref;
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
#ifndef MODULE_ARCH_INIT
|
||||
|
|
@ -395,13 +393,21 @@ void __symbol_put(const char *symbol);
|
|||
#define symbol_put(x) __symbol_put(MODULE_SYMBOL_PREFIX #x)
|
||||
void symbol_put_addr(void *addr);
|
||||
|
||||
static inline local_t *__module_ref_addr(struct module *mod, int cpu)
|
||||
{
|
||||
#ifdef CONFIG_SMP
|
||||
return (local_t *) (mod->refptr + per_cpu_offset(cpu));
|
||||
#else
|
||||
return &mod->ref;
|
||||
#endif
|
||||
}
|
||||
|
||||
/* Sometimes we know we already have a refcount, and it's easier not
|
||||
to handle the error case (which only happens with rmmod --wait). */
|
||||
static inline void __module_get(struct module *module)
|
||||
{
|
||||
if (module) {
|
||||
BUG_ON(module_refcount(module) == 0);
|
||||
local_inc(&module->ref[get_cpu()].count);
|
||||
local_inc(__module_ref_addr(module, get_cpu()));
|
||||
put_cpu();
|
||||
}
|
||||
}
|
||||
|
|
@ -413,7 +419,7 @@ static inline int try_module_get(struct module *module)
|
|||
if (module) {
|
||||
unsigned int cpu = get_cpu();
|
||||
if (likely(module_is_live(module)))
|
||||
local_inc(&module->ref[cpu].count);
|
||||
local_inc(__module_ref_addr(module, cpu));
|
||||
else
|
||||
ret = 0;
|
||||
put_cpu();
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef _LINUX_MSDOS_FS_H
|
||||
#define _LINUX_MSDOS_FS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/magic.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __LINUX_NEIGHBOUR_H
|
||||
#define __LINUX_NEIGHBOUR_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netlink.h>
|
||||
|
||||
struct ndmsg
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
#ifndef _XT_CONNTRACK_H
|
||||
#define _XT_CONNTRACK_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netfilter/nf_conntrack_tuple_common.h>
|
||||
|
||||
#define XT_CONNTRACK_STATE_BIT(ctinfo) (1 << ((ctinfo)%IP_CT_IS_REPLY+1))
|
||||
|
|
|
|||
|
|
@ -37,6 +37,8 @@
|
|||
#ifndef NFS_IDMAP_H
|
||||
#define NFS_IDMAP_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* XXX from bits/utmp.h */
|
||||
#define IDMAP_NAMESZ 128
|
||||
|
||||
|
|
|
|||
|
|
@ -10,9 +10,8 @@
|
|||
#ifndef NFSD_EXPORT_H
|
||||
#define NFSD_EXPORT_H
|
||||
|
||||
#include <asm/types.h>
|
||||
#ifdef __KERNEL__
|
||||
# include <linux/types.h>
|
||||
#ifdef __KERNEL__
|
||||
# include <linux/in.h>
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -14,9 +14,8 @@
|
|||
#ifndef _LINUX_NFSD_FH_H
|
||||
#define _LINUX_NFSD_FH_H
|
||||
|
||||
#include <asm/types.h>
|
||||
#ifdef __KERNEL__
|
||||
# include <linux/types.h>
|
||||
#ifdef __KERNEL__
|
||||
# include <linux/string.h>
|
||||
# include <linux/fs.h>
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -9,9 +9,8 @@
|
|||
#ifndef NFSD_SYSCALL_H
|
||||
#define NFSD_SYSCALL_H
|
||||
|
||||
#include <asm/types.h>
|
||||
#ifdef __KERNEL__
|
||||
# include <linux/types.h>
|
||||
#ifdef __KERNEL__
|
||||
# include <linux/in.h>
|
||||
#endif
|
||||
#include <linux/posix_types.h>
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
#ifndef LINUX_NUBUS_H
|
||||
#define LINUX_NUBUS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#ifdef __KERNEL__
|
||||
#include <asm/nubus.h>
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -684,7 +684,7 @@ int pci_enable_rom(struct pci_dev *pdev);
|
|||
void pci_disable_rom(struct pci_dev *pdev);
|
||||
void __iomem __must_check *pci_map_rom(struct pci_dev *pdev, size_t *size);
|
||||
void pci_unmap_rom(struct pci_dev *pdev, void __iomem *rom);
|
||||
size_t pci_get_rom_size(void __iomem *rom, size_t size);
|
||||
size_t pci_get_rom_size(struct pci_dev *pdev, void __iomem *rom, size_t size);
|
||||
|
||||
/* Power management related routines */
|
||||
int pci_save_state(struct pci_dev *dev);
|
||||
|
|
|
|||
|
|
@ -2425,6 +2425,7 @@
|
|||
#define PCI_DEVICE_ID_INTEL_ICH7_0 0x27b8
|
||||
#define PCI_DEVICE_ID_INTEL_ICH7_1 0x27b9
|
||||
#define PCI_DEVICE_ID_INTEL_ICH7_30 0x27b0
|
||||
#define PCI_DEVICE_ID_INTEL_TGP_LPC 0x27bc
|
||||
#define PCI_DEVICE_ID_INTEL_ICH7_31 0x27bd
|
||||
#define PCI_DEVICE_ID_INTEL_ICH7_17 0x27da
|
||||
#define PCI_DEVICE_ID_INTEL_ICH7_19 0x27dd
|
||||
|
|
|
|||
|
|
@ -23,6 +23,8 @@
|
|||
#ifndef LINUX_PHONET_H
|
||||
#define LINUX_PHONET_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Automatic protocol selection */
|
||||
#define PN_PROTO_TRANSPORT 0
|
||||
/* Phonet datagram socket */
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __LINUX_PKT_CLS_H
|
||||
#define __LINUX_PKT_CLS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_sched.h>
|
||||
|
||||
/* I think i could have done better macros ; for now this is stolen from
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef __LINUX_PKT_SCHED_H
|
||||
#define __LINUX_PKT_SCHED_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Logical priority bands not depending on specific packet scheduler.
|
||||
Every scheduler will map them to real traffic classes, if it has
|
||||
no more precise mechanism to classify packets.
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@
|
|||
* OR MODIFICATIONS.
|
||||
*/
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* ==FILEVERSION 20000114==
|
||||
*
|
||||
|
|
|
|||
|
|
@ -15,6 +15,8 @@
|
|||
#ifndef _MD_P_H
|
||||
#define _MD_P_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* RAID superblock.
|
||||
*
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@
|
|||
#ifndef _LINUX_RANDOM_H
|
||||
#define _LINUX_RANDOM_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/irqnr.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __LINUX_RTNETLINK_H
|
||||
#define __LINUX_RTNETLINK_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/netlink.h>
|
||||
#include <linux/if_link.h>
|
||||
#include <linux/if_addr.h>
|
||||
|
|
|
|||
|
|
@ -443,6 +443,7 @@ struct pacct_struct {
|
|||
* @utime: time spent in user mode, in &cputime_t units
|
||||
* @stime: time spent in kernel mode, in &cputime_t units
|
||||
* @sum_exec_runtime: total time spent on the CPU, in nanoseconds
|
||||
* @lock: lock for fields in this struct
|
||||
*
|
||||
* This structure groups together three kinds of CPU time that are
|
||||
* tracked for threads and thread groups. Most things considering
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
#ifndef _LINUX_SIGNALFD_H
|
||||
#define _LINUX_SIGNALFD_H
|
||||
|
||||
#include <linux/types.h>
|
||||
/* For O_CLOEXEC and O_NONBLOCK */
|
||||
#include <linux/fcntl.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -43,10 +43,7 @@ static inline void *kmalloc(size_t size, gfp_t flags)
|
|||
i++;
|
||||
#include <linux/kmalloc_sizes.h>
|
||||
#undef CACHE
|
||||
{
|
||||
extern void __you_cannot_kmalloc_that_much(void);
|
||||
__you_cannot_kmalloc_that_much();
|
||||
}
|
||||
return NULL;
|
||||
found:
|
||||
#ifdef CONFIG_ZONE_DMA
|
||||
if (flags & GFP_DMA)
|
||||
|
|
@ -77,10 +74,7 @@ static inline void *kmalloc_node(size_t size, gfp_t flags, int node)
|
|||
i++;
|
||||
#include <linux/kmalloc_sizes.h>
|
||||
#undef CACHE
|
||||
{
|
||||
extern void __you_cannot_kmalloc_that_much(void);
|
||||
__you_cannot_kmalloc_that_much();
|
||||
}
|
||||
return NULL;
|
||||
found:
|
||||
#ifdef CONFIG_ZONE_DMA
|
||||
if (flags & GFP_DMA)
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
#define SND_DEV_AMIDI 13 /* Like /dev/midi (obsolete) */
|
||||
#define SND_DEV_ADMMIDI 14 /* Like /dev/dmmidi (onsolete) */
|
||||
|
||||
#ifdef __KERNEL__
|
||||
/*
|
||||
* Sound core interface functions
|
||||
*/
|
||||
|
|
@ -40,3 +41,4 @@ extern void unregister_sound_special(int unit);
|
|||
extern void unregister_sound_mixer(int unit);
|
||||
extern void unregister_sound_midi(int unit);
|
||||
extern void unregister_sound_dsp(int unit);
|
||||
#endif /* __KERNEL__ */
|
||||
|
|
|
|||
|
|
@ -22,6 +22,7 @@
|
|||
#ifndef SPIDEV_H
|
||||
#define SPIDEV_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* User space versions of kernel symbols for SPI clocking modes,
|
||||
* matching <linux/spi/spi.h>
|
||||
|
|
|
|||
|
|
@ -13,6 +13,8 @@
|
|||
#define _SYNCLINK_H_
|
||||
#define SYNCLINK_H_VERSION 3.6
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define BIT0 0x0001
|
||||
#define BIT1 0x0002
|
||||
#define BIT2 0x0004
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@
|
|||
#ifndef _LINUX_TASKSTATS_H
|
||||
#define _LINUX_TASKSTATS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/* Format for per-task data returned to userland when
|
||||
* - a task exits
|
||||
* - listener requests stats for a task
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __LINUX_TC_GACT_H
|
||||
#define __LINUX_TC_GACT_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_GACT 5
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __LINUX_TC_MIR_H
|
||||
#define __LINUX_TC_MIR_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_MIRRED 8
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __LINUX_TC_PED_H
|
||||
#define __LINUX_TC_PED_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_PEDIT 7
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __LINUX_TC_EM_CMP_H
|
||||
#define __LINUX_TC_EM_CMP_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
struct tcf_em_cmp
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __LINUX_TC_EM_META_H
|
||||
#define __LINUX_TC_EM_META_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
enum
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __LINUX_TC_EM_NBYTE_H
|
||||
#define __LINUX_TC_EM_NBYTE_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
struct tcf_em_nbyte
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef __LINUX_TC_EM_TEXT_H
|
||||
#define __LINUX_TC_EM_TEXT_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TC_EM_TEXT_ALGOSIZ 16
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@
|
|||
#ifndef __LINUX_USB_CDC_H
|
||||
#define __LINUX_USB_CDC_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define USB_CDC_SUBCLASS_ACM 0x02
|
||||
#define USB_CDC_SUBCLASS_ETHERNET 0x06
|
||||
#define USB_CDC_SUBCLASS_WHCM 0x08
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@
|
|||
#ifndef __LINUX_USB_GADGETFS_H
|
||||
#define __LINUX_USB_GADGETFS_H
|
||||
|
||||
#include <asm/types.h>
|
||||
#include <linux/types.h>
|
||||
#include <asm/ioctl.h>
|
||||
|
||||
#include <linux/usb/ch9.h>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef _LINUX_VIDEO_DECODER_H
|
||||
#define _LINUX_VIDEO_DECODER_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
#define HAVE_VIDEO_DECODER 1
|
||||
|
||||
struct video_decoder_capability { /* this name is too long */
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef _LINUX_VIDEO_ENCODER_H
|
||||
#define _LINUX_VIDEO_ENCODER_H
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
struct video_encoder_capability { /* this name is too long */
|
||||
__u32 flags;
|
||||
#define VIDEO_ENCODER_PAL 1 /* can encode PAL signal */
|
||||
|
|
|
|||
|
|
@ -12,6 +12,7 @@
|
|||
#ifndef __LINUX_VIDEODEV_H
|
||||
#define __LINUX_VIDEODEV_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/videodev2.h>
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#define _LINUX_VIRTIO_BLK_H
|
||||
/* This header is BSD licensed so anyone can use the definitions to implement
|
||||
* compatible drivers/servers. */
|
||||
#include <linux/types.h>
|
||||
#include <linux/virtio_config.h>
|
||||
|
||||
/* The ID for virtio_block */
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
#ifndef _LINUX_VIRTIO_CONSOLE_H
|
||||
#define _LINUX_VIRTIO_CONSOLE_H
|
||||
#include <linux/types.h>
|
||||
#include <linux/virtio_config.h>
|
||||
/* This header, excluding the #ifdef __KERNEL__ part, is BSD licensed so
|
||||
* anyone can use the definitions to implement compatible drivers/servers. */
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
#define _LINUX_VIRTIO_NET_H
|
||||
/* This header is BSD licensed so anyone can use the definitions to implement
|
||||
* compatible drivers/servers. */
|
||||
#include <linux/types.h>
|
||||
#include <linux/virtio_config.h>
|
||||
|
||||
/* The ID for virtio_net */
|
||||
|
|
|
|||
|
|
@ -132,6 +132,8 @@ static inline void __remove_wait_queue(wait_queue_head_t *head,
|
|||
list_del(&old->task_list);
|
||||
}
|
||||
|
||||
void __wake_up_common(wait_queue_head_t *q, unsigned int mode,
|
||||
int nr_exclusive, int sync, void *key);
|
||||
void __wake_up(wait_queue_head_t *q, unsigned int mode, int nr, void *key);
|
||||
extern void __wake_up_locked(wait_queue_head_t *q, unsigned int mode);
|
||||
extern void __wake_up_sync(wait_queue_head_t *q, unsigned int mode, int nr);
|
||||
|
|
@ -333,16 +335,19 @@ do { \
|
|||
for (;;) { \
|
||||
prepare_to_wait_exclusive(&wq, &__wait, \
|
||||
TASK_INTERRUPTIBLE); \
|
||||
if (condition) \
|
||||
if (condition) { \
|
||||
finish_wait(&wq, &__wait); \
|
||||
break; \
|
||||
} \
|
||||
if (!signal_pending(current)) { \
|
||||
schedule(); \
|
||||
continue; \
|
||||
} \
|
||||
ret = -ERESTARTSYS; \
|
||||
abort_exclusive_wait(&wq, &__wait, \
|
||||
TASK_INTERRUPTIBLE, NULL); \
|
||||
break; \
|
||||
} \
|
||||
finish_wait(&wq, &__wait); \
|
||||
} while (0)
|
||||
|
||||
#define wait_event_interruptible_exclusive(wq, condition) \
|
||||
|
|
@ -431,6 +436,8 @@ extern long interruptible_sleep_on_timeout(wait_queue_head_t *q,
|
|||
void prepare_to_wait(wait_queue_head_t *q, wait_queue_t *wait, int state);
|
||||
void prepare_to_wait_exclusive(wait_queue_head_t *q, wait_queue_t *wait, int state);
|
||||
void finish_wait(wait_queue_head_t *q, wait_queue_t *wait);
|
||||
void abort_exclusive_wait(wait_queue_head_t *q, wait_queue_t *wait,
|
||||
unsigned int mode, void *key);
|
||||
int autoremove_wake_function(wait_queue_t *wait, unsigned mode, int sync, void *key);
|
||||
int wake_bit_function(wait_queue_t *wait, unsigned mode, int sync, void *key);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue