Merge branch 'linus' into irq/genirq
This commit is contained in:
commit
c02368a9d0
2344 changed files with 66728 additions and 30665 deletions
|
|
@ -41,6 +41,7 @@ header-y += baycom.h
|
|||
header-y += bfs_fs.h
|
||||
header-y += blkpg.h
|
||||
header-y += bpqether.h
|
||||
header-y += bsg.h
|
||||
header-y += can.h
|
||||
header-y += cdk.h
|
||||
header-y += chio.h
|
||||
|
|
@ -89,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
|
||||
|
|
@ -235,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;
|
||||
|
|
|
|||
|
|
@ -144,7 +144,7 @@ struct bio {
|
|||
* bit 1 -- rw-ahead when set
|
||||
* bit 2 -- barrier
|
||||
* Insert a serialization point in the IO queue, forcing previously
|
||||
* submitted IO to be completed before this oen is issued.
|
||||
* submitted IO to be completed before this one is issued.
|
||||
* bit 3 -- synchronous I/O hint: the block layer will unplug immediately
|
||||
* Note that this does NOT indicate that the IO itself is sync, just
|
||||
* that the block layer will not postpone issue of this IO by plugging.
|
||||
|
|
@ -163,12 +163,31 @@ struct bio {
|
|||
#define BIO_RW 0 /* Must match RW in req flags (blkdev.h) */
|
||||
#define BIO_RW_AHEAD 1 /* Must match FAILFAST in req flags */
|
||||
#define BIO_RW_BARRIER 2
|
||||
#define BIO_RW_SYNC 3
|
||||
#define BIO_RW_META 4
|
||||
#define BIO_RW_DISCARD 5
|
||||
#define BIO_RW_FAILFAST_DEV 6
|
||||
#define BIO_RW_FAILFAST_TRANSPORT 7
|
||||
#define BIO_RW_FAILFAST_DRIVER 8
|
||||
#define BIO_RW_SYNCIO 3
|
||||
#define BIO_RW_UNPLUG 4
|
||||
#define BIO_RW_META 5
|
||||
#define BIO_RW_DISCARD 6
|
||||
#define BIO_RW_FAILFAST_DEV 7
|
||||
#define BIO_RW_FAILFAST_TRANSPORT 8
|
||||
#define BIO_RW_FAILFAST_DRIVER 9
|
||||
|
||||
#define bio_rw_flagged(bio, flag) ((bio)->bi_rw & (1 << (flag)))
|
||||
|
||||
/*
|
||||
* Old defines, these should eventually be replaced by direct usage of
|
||||
* bio_rw_flagged()
|
||||
*/
|
||||
#define bio_barrier(bio) bio_rw_flagged(bio, BIO_RW_BARRIER)
|
||||
#define bio_sync(bio) bio_rw_flagged(bio, BIO_RW_SYNCIO)
|
||||
#define bio_unplug(bio) bio_rw_flagged(bio, BIO_RW_UNPLUG)
|
||||
#define bio_failfast_dev(bio) bio_rw_flagged(bio, BIO_RW_FAILFAST_DEV)
|
||||
#define bio_failfast_transport(bio) \
|
||||
bio_rw_flagged(bio, BIO_RW_FAILFAST_TRANSPORT)
|
||||
#define bio_failfast_driver(bio) \
|
||||
bio_rw_flagged(bio, BIO_RW_FAILFAST_DRIVER)
|
||||
#define bio_rw_ahead(bio) bio_rw_flagged(bio, BIO_RW_AHEAD)
|
||||
#define bio_rw_meta(bio) bio_rw_flagged(bio, BIO_RW_META)
|
||||
#define bio_discard(bio) bio_rw_flagged(bio, BIO_RW_DISCARD)
|
||||
|
||||
/*
|
||||
* upper 16 bits of bi_rw define the io priority of this bio
|
||||
|
|
@ -193,15 +212,6 @@ struct bio {
|
|||
#define bio_offset(bio) bio_iovec((bio))->bv_offset
|
||||
#define bio_segments(bio) ((bio)->bi_vcnt - (bio)->bi_idx)
|
||||
#define bio_sectors(bio) ((bio)->bi_size >> 9)
|
||||
#define bio_barrier(bio) ((bio)->bi_rw & (1 << BIO_RW_BARRIER))
|
||||
#define bio_sync(bio) ((bio)->bi_rw & (1 << BIO_RW_SYNC))
|
||||
#define bio_failfast_dev(bio) ((bio)->bi_rw & (1 << BIO_RW_FAILFAST_DEV))
|
||||
#define bio_failfast_transport(bio) \
|
||||
((bio)->bi_rw & (1 << BIO_RW_FAILFAST_TRANSPORT))
|
||||
#define bio_failfast_driver(bio) ((bio)->bi_rw & (1 << BIO_RW_FAILFAST_DRIVER))
|
||||
#define bio_rw_ahead(bio) ((bio)->bi_rw & (1 << BIO_RW_AHEAD))
|
||||
#define bio_rw_meta(bio) ((bio)->bi_rw & (1 << BIO_RW_META))
|
||||
#define bio_discard(bio) ((bio)->bi_rw & (1 << BIO_RW_DISCARD))
|
||||
#define bio_empty_barrier(bio) (bio_barrier(bio) && !bio_has_data(bio) && !bio_discard(bio))
|
||||
|
||||
static inline unsigned int bio_cur_sectors(struct bio *bio)
|
||||
|
|
@ -312,7 +322,6 @@ struct bio_integrity_payload {
|
|||
void *bip_buf; /* generated integrity data */
|
||||
bio_end_io_t *bip_end_io; /* saved I/O completion fn */
|
||||
|
||||
int bip_error; /* saved I/O error */
|
||||
unsigned int bip_size;
|
||||
|
||||
unsigned short bip_pool; /* pool the ivec came from */
|
||||
|
|
@ -440,12 +449,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;
|
||||
|
||||
|
|
@ -461,7 +471,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;
|
||||
|
||||
|
|
|
|||
|
|
@ -108,6 +108,7 @@ enum rq_flag_bits {
|
|||
__REQ_RW_META, /* metadata io request */
|
||||
__REQ_COPY_USER, /* contains copies of user pages */
|
||||
__REQ_INTEGRITY, /* integrity metadata has been remapped */
|
||||
__REQ_UNPLUG, /* unplug queue on submission */
|
||||
__REQ_NR_BITS, /* stops here */
|
||||
};
|
||||
|
||||
|
|
@ -134,6 +135,7 @@ enum rq_flag_bits {
|
|||
#define REQ_RW_META (1 << __REQ_RW_META)
|
||||
#define REQ_COPY_USER (1 << __REQ_COPY_USER)
|
||||
#define REQ_INTEGRITY (1 << __REQ_INTEGRITY)
|
||||
#define REQ_UNPLUG (1 << __REQ_UNPLUG)
|
||||
|
||||
#define BLK_MAX_CDB 16
|
||||
|
||||
|
|
@ -449,6 +451,11 @@ struct request_queue
|
|||
#define QUEUE_FLAG_STACKABLE 13 /* supports request stacking */
|
||||
#define QUEUE_FLAG_NONROT 14 /* non-rotational device (SSD) */
|
||||
#define QUEUE_FLAG_VIRT QUEUE_FLAG_NONROT /* paravirt device */
|
||||
#define QUEUE_FLAG_IO_STAT 15 /* do IO stats */
|
||||
|
||||
#define QUEUE_FLAG_DEFAULT ((1 << QUEUE_FLAG_IO_STAT) | \
|
||||
(1 << QUEUE_FLAG_CLUSTER) | \
|
||||
(1 << QUEUE_FLAG_STACKABLE))
|
||||
|
||||
static inline int queue_is_locked(struct request_queue *q)
|
||||
{
|
||||
|
|
@ -565,6 +572,7 @@ enum {
|
|||
#define blk_queue_stopped(q) test_bit(QUEUE_FLAG_STOPPED, &(q)->queue_flags)
|
||||
#define blk_queue_nomerges(q) test_bit(QUEUE_FLAG_NOMERGES, &(q)->queue_flags)
|
||||
#define blk_queue_nonrot(q) test_bit(QUEUE_FLAG_NONROT, &(q)->queue_flags)
|
||||
#define blk_queue_io_stat(q) test_bit(QUEUE_FLAG_IO_STAT, &(q)->queue_flags)
|
||||
#define blk_queue_flushing(q) ((q)->ordseq)
|
||||
#define blk_queue_stackable(q) \
|
||||
test_bit(QUEUE_FLAG_STACKABLE, &(q)->queue_flags)
|
||||
|
|
@ -700,6 +708,8 @@ struct req_iterator {
|
|||
};
|
||||
|
||||
/* This should not be used directly - use rq_for_each_segment */
|
||||
#define for_each_bio(_bio) \
|
||||
for (; _bio; _bio = _bio->bi_next)
|
||||
#define __rq_for_each_bio(_bio, rq) \
|
||||
if ((rq->bio)) \
|
||||
for (_bio = (rq)->bio; _bio; _bio = _bio->bi_next)
|
||||
|
|
|
|||
|
|
@ -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 +15,7 @@ enum blktrace_cat {
|
|||
BLK_TC_WRITE = 1 << 1, /* writes */
|
||||
BLK_TC_BARRIER = 1 << 2, /* barrier */
|
||||
BLK_TC_SYNC = 1 << 3, /* sync IO */
|
||||
BLK_TC_SYNCIO = BLK_TC_SYNC,
|
||||
BLK_TC_QUEUE = 1 << 4, /* queueing/merging */
|
||||
BLK_TC_REQUEUE = 1 << 5, /* requeueing */
|
||||
BLK_TC_ISSUE = 1 << 6, /* issue */
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
/*******************************************************
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ static inline bool css_tryget(struct cgroup_subsys_state *css)
|
|||
while (!atomic_inc_not_zero(&css->refcnt)) {
|
||||
if (test_bit(CSS_REMOVED, &css->flags))
|
||||
return false;
|
||||
cpu_relax();
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
|
@ -377,6 +378,7 @@ struct cgroup_subsys {
|
|||
* - initiating hotplug events
|
||||
*/
|
||||
struct mutex hierarchy_mutex;
|
||||
struct lock_class_key subsys_key;
|
||||
|
||||
/*
|
||||
* Link to parent, and list entry in parent's children.
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -552,7 +552,12 @@ struct crypto_tfm *crypto_alloc_tfm(const char *alg_name,
|
|||
const struct crypto_type *frontend,
|
||||
u32 type, u32 mask);
|
||||
struct crypto_tfm *crypto_alloc_base(const char *alg_name, u32 type, u32 mask);
|
||||
void crypto_free_tfm(struct crypto_tfm *tfm);
|
||||
void crypto_destroy_tfm(void *mem, struct crypto_tfm *tfm);
|
||||
|
||||
static inline void crypto_free_tfm(struct crypto_tfm *tfm)
|
||||
{
|
||||
return crypto_destroy_tfm(tfm, tfm);
|
||||
}
|
||||
|
||||
int alg_test(const char *driver, const char *alg, u32 type, u32 mask);
|
||||
|
||||
|
|
|
|||
|
|
@ -162,6 +162,13 @@ static inline struct dentry *debugfs_create_x32(const char *name, mode_t mode,
|
|||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline struct dentry *debugfs_create_size_t(const char *name, mode_t mode,
|
||||
struct dentry *parent,
|
||||
size_t *value)
|
||||
{
|
||||
return ERR_PTR(-ENODEV);
|
||||
}
|
||||
|
||||
static inline struct dentry *debugfs_create_bool(const char *name, mode_t mode,
|
||||
struct dentry *parent,
|
||||
u32 *value)
|
||||
|
|
|
|||
|
|
@ -147,6 +147,8 @@ extern void put_driver(struct device_driver *drv);
|
|||
extern struct device_driver *driver_find(const char *name,
|
||||
struct bus_type *bus);
|
||||
extern int driver_probe_done(void);
|
||||
extern int wait_for_device_probe(void);
|
||||
|
||||
|
||||
/* sysfs interface for exporting driver attributes */
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -121,6 +121,7 @@ struct dma_chan_percpu {
|
|||
* @local: per-cpu pointer to a struct dma_chan_percpu
|
||||
* @client-count: how many clients are using this channel
|
||||
* @table_count: number of appearances in the mem-to-mem allocation table
|
||||
* @private: private data for certain client-channel associations
|
||||
*/
|
||||
struct dma_chan {
|
||||
struct dma_device *device;
|
||||
|
|
@ -134,6 +135,7 @@ struct dma_chan {
|
|||
struct dma_chan_percpu *local;
|
||||
int client_count;
|
||||
int table_count;
|
||||
void *private;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -282,6 +284,18 @@ static inline void dmaengine_put(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_NET_DMA
|
||||
#define net_dmaengine_get() dmaengine_get()
|
||||
#define net_dmaengine_put() dmaengine_put()
|
||||
#else
|
||||
static inline void net_dmaengine_get(void)
|
||||
{
|
||||
}
|
||||
static inline void net_dmaengine_put(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
dma_cookie_t dma_async_memcpy_buf_to_buf(struct dma_chan *chan,
|
||||
void *dest, void *src, size_t len);
|
||||
dma_cookie_t dma_async_memcpy_buf_to_pg(struct dma_chan *chan,
|
||||
|
|
@ -297,6 +311,11 @@ static inline void async_tx_ack(struct dma_async_tx_descriptor *tx)
|
|||
tx->flags |= DMA_CTRL_ACK;
|
||||
}
|
||||
|
||||
static inline void async_tx_clear_ack(struct dma_async_tx_descriptor *tx)
|
||||
{
|
||||
tx->flags &= ~DMA_CTRL_ACK;
|
||||
}
|
||||
|
||||
static inline bool async_tx_test_ack(struct dma_async_tx_descriptor *tx)
|
||||
{
|
||||
return (tx->flags & DMA_CTRL_ACK) == DMA_CTRL_ACK;
|
||||
|
|
@ -400,11 +419,16 @@ static inline enum dma_status dma_async_is_complete(dma_cookie_t cookie,
|
|||
enum dma_status dma_sync_wait(struct dma_chan *chan, dma_cookie_t cookie);
|
||||
#ifdef CONFIG_DMA_ENGINE
|
||||
enum dma_status dma_wait_for_async_tx(struct dma_async_tx_descriptor *tx);
|
||||
void dma_issue_pending_all(void);
|
||||
#else
|
||||
static inline enum dma_status dma_wait_for_async_tx(struct dma_async_tx_descriptor *tx)
|
||||
{
|
||||
return DMA_SUCCESS;
|
||||
}
|
||||
static inline void dma_issue_pending_all(void)
|
||||
{
|
||||
do { } while (0);
|
||||
}
|
||||
#endif
|
||||
|
||||
/* --- DMA device --- */
|
||||
|
|
@ -413,7 +437,6 @@ int dma_async_device_register(struct dma_device *device);
|
|||
void dma_async_device_unregister(struct dma_device *device);
|
||||
void dma_run_dependencies(struct dma_async_tx_descriptor *tx);
|
||||
struct dma_chan *dma_find_channel(enum dma_transaction_type tx_type);
|
||||
void dma_issue_pending_all(void);
|
||||
#define dma_request_channel(mask, x, y) __dma_request_channel(&(mask), x, y)
|
||||
struct dma_chan *__dma_request_channel(dma_cap_mask_t *mask, dma_filter_fn fn, void *fn_param);
|
||||
void dma_release_channel(struct dma_chan *chan);
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ struct dmi_device {
|
|||
#ifdef CONFIG_DMI
|
||||
|
||||
extern int dmi_check_system(const struct dmi_system_id *list);
|
||||
const struct dmi_system_id *dmi_first_match(const struct dmi_system_id *list);
|
||||
extern const char * dmi_get_system_info(int field);
|
||||
extern const struct dmi_device * dmi_find_device(int type, const char *name,
|
||||
const struct dmi_device *from);
|
||||
|
|
@ -64,6 +65,8 @@ static inline int dmi_walk(void (*decode)(const struct dmi_header *))
|
|||
{ return -1; }
|
||||
static inline bool dmi_match(enum dmi_field f, const char *str)
|
||||
{ return false; }
|
||||
static inline const struct dmi_system_id *
|
||||
dmi_first_match(const struct dmi_system_id *list) { return NULL; }
|
||||
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -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,7 +1,7 @@
|
|||
/*
|
||||
* include/linux/firmware-map.h:
|
||||
* Copyright (C) 2008 SUSE LINUX Products GmbH
|
||||
* by Bernhard Walle <bwalle@suse.de>
|
||||
* by Bernhard Walle <bernhard.walle@gmx.de>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License v2.0 as published by
|
||||
|
|
|
|||
|
|
@ -54,24 +54,30 @@ struct inodes_stat_t {
|
|||
#define MAY_ACCESS 16
|
||||
#define MAY_OPEN 32
|
||||
|
||||
/*
|
||||
* flags in file.f_mode. Note that FMODE_READ and FMODE_WRITE must correspond
|
||||
* to O_WRONLY and O_RDWR via the strange trick in __dentry_open()
|
||||
*/
|
||||
|
||||
/* file is open for reading */
|
||||
#define FMODE_READ ((__force fmode_t)1)
|
||||
/* file is open for writing */
|
||||
#define FMODE_WRITE ((__force fmode_t)2)
|
||||
/* file is seekable */
|
||||
#define FMODE_LSEEK ((__force fmode_t)4)
|
||||
/* file can be accessed using pread/pwrite */
|
||||
/* file can be accessed using pread */
|
||||
#define FMODE_PREAD ((__force fmode_t)8)
|
||||
#define FMODE_PWRITE FMODE_PREAD /* These go hand in hand */
|
||||
/* file can be accessed using pwrite */
|
||||
#define FMODE_PWRITE ((__force fmode_t)16)
|
||||
/* File is opened for execution with sys_execve / sys_uselib */
|
||||
#define FMODE_EXEC ((__force fmode_t)16)
|
||||
#define FMODE_EXEC ((__force fmode_t)32)
|
||||
/* File is opened with O_NDELAY (only set for block devices) */
|
||||
#define FMODE_NDELAY ((__force fmode_t)32)
|
||||
#define FMODE_NDELAY ((__force fmode_t)64)
|
||||
/* File is opened with O_EXCL (only set for block devices) */
|
||||
#define FMODE_EXCL ((__force fmode_t)64)
|
||||
#define FMODE_EXCL ((__force fmode_t)128)
|
||||
/* File is opened using open(.., 3, ..) and is writeable only for ioctls
|
||||
(specialy hack for floppy.c) */
|
||||
#define FMODE_WRITE_IOCTL ((__force fmode_t)128)
|
||||
#define FMODE_WRITE_IOCTL ((__force fmode_t)256)
|
||||
|
||||
/*
|
||||
* Don't update ctime and mtime.
|
||||
|
|
@ -87,10 +93,10 @@ struct inodes_stat_t {
|
|||
#define WRITE 1
|
||||
#define READA 2 /* read-ahead - don't block if no resources */
|
||||
#define SWRITE 3 /* for ll_rw_block() - wait for buffer lock */
|
||||
#define READ_SYNC (READ | (1 << BIO_RW_SYNC))
|
||||
#define READ_SYNC (READ | (1 << BIO_RW_SYNCIO) | (1 << BIO_RW_UNPLUG))
|
||||
#define READ_META (READ | (1 << BIO_RW_META))
|
||||
#define WRITE_SYNC (WRITE | (1 << BIO_RW_SYNC))
|
||||
#define SWRITE_SYNC (SWRITE | (1 << BIO_RW_SYNC))
|
||||
#define WRITE_SYNC (WRITE | (1 << BIO_RW_SYNCIO) | (1 << BIO_RW_UNPLUG))
|
||||
#define SWRITE_SYNC (SWRITE | (1 << BIO_RW_SYNCIO) | (1 << BIO_RW_UNPLUG))
|
||||
#define WRITE_BARRIER (WRITE | (1 << BIO_RW_BARRIER))
|
||||
#define DISCARD_NOBARRIER (1 << BIO_RW_DISCARD)
|
||||
#define DISCARD_BARRIER ((1 << BIO_RW_DISCARD) | (1 << BIO_RW_BARRIER))
|
||||
|
|
|
|||
|
|
@ -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
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -33,7 +33,8 @@ unsigned long hugetlb_total_pages(void);
|
|||
int hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
|
||||
unsigned long address, int write_access);
|
||||
int hugetlb_reserve_pages(struct inode *inode, long from, long to,
|
||||
struct vm_area_struct *vma);
|
||||
struct vm_area_struct *vma,
|
||||
int acctflags);
|
||||
void hugetlb_unreserve_pages(struct inode *inode, long offset, long freed);
|
||||
|
||||
extern unsigned long hugepages_treat_as_movable;
|
||||
|
|
@ -138,7 +139,7 @@ static inline struct hugetlbfs_sb_info *HUGETLBFS_SB(struct super_block *sb)
|
|||
|
||||
extern const struct file_operations hugetlbfs_file_operations;
|
||||
extern struct vm_operations_struct hugetlb_vm_ops;
|
||||
struct file *hugetlb_file_setup(const char *name, size_t);
|
||||
struct file *hugetlb_file_setup(const char *name, size_t, int);
|
||||
int hugetlb_get_quota(struct address_space *mapping, long delta);
|
||||
void hugetlb_put_quota(struct address_space *mapping, long delta);
|
||||
|
||||
|
|
@ -158,9 +159,9 @@ static inline void set_file_hugepages(struct file *file)
|
|||
}
|
||||
#else /* !CONFIG_HUGETLBFS */
|
||||
|
||||
#define is_file_hugepages(file) 0
|
||||
#define set_file_hugepages(file) BUG()
|
||||
#define hugetlb_file_setup(name,size) ERR_PTR(-ENOSYS)
|
||||
#define is_file_hugepages(file) 0
|
||||
#define set_file_hugepages(file) BUG()
|
||||
#define hugetlb_file_setup(name,size,acctflag) ERR_PTR(-ENOSYS)
|
||||
|
||||
#endif /* !CONFIG_HUGETLBFS */
|
||||
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
*/
|
||||
#define I2C_RETRIES 0x0701 /* number of times a device address should
|
||||
be polled when not acknowledging */
|
||||
#define I2C_TIMEOUT 0x0702 /* set timeout in jiffies - call with int */
|
||||
#define I2C_TIMEOUT 0x0702 /* set timeout in units of 10 ms */
|
||||
|
||||
/* NOTE: Slave address is 7 or 10 bits, but 10-bit addresses
|
||||
* are NOT supported! (due to code brokenness)
|
||||
|
|
|
|||
|
|
@ -40,9 +40,7 @@
|
|||
#define I2C_DRIVERID_SAA7185B 13 /* video encoder */
|
||||
#define I2C_DRIVERID_SAA7110 22 /* video decoder */
|
||||
#define I2C_DRIVERID_SAA5249 24 /* SAA5249 and compatibles */
|
||||
#define I2C_DRIVERID_PCF8583 25 /* real time clock */
|
||||
#define I2C_DRIVERID_TDA7432 27 /* Stereo sound processor */
|
||||
#define I2C_DRIVERID_TVMIXER 28 /* Mixer driver for tv cards */
|
||||
#define I2C_DRIVERID_TVAUDIO 29 /* Generic TV sound driver */
|
||||
#define I2C_DRIVERID_TDA9875 32 /* TV sound decoder chip */
|
||||
#define I2C_DRIVERID_BT819 40 /* video decoder */
|
||||
|
|
@ -54,7 +52,6 @@
|
|||
#define I2C_DRIVERID_SAA7191 57 /* video decoder */
|
||||
#define I2C_DRIVERID_INDYCAM 58 /* SGI IndyCam */
|
||||
#define I2C_DRIVERID_OVCAMCHIP 61 /* OmniVision CMOS image sens. */
|
||||
#define I2C_DRIVERID_MAX6900 63 /* MAX6900 real-time clock */
|
||||
#define I2C_DRIVERID_SAA6752HS 67 /* MPEG2 encoder */
|
||||
#define I2C_DRIVERID_TVEEPROM 68 /* TV EEPROM */
|
||||
#define I2C_DRIVERID_WM8775 69 /* wm8775 audio processor */
|
||||
|
|
@ -62,23 +59,16 @@
|
|||
#define I2C_DRIVERID_CX25840 71 /* cx2584x video encoder */
|
||||
#define I2C_DRIVERID_SAA7127 72 /* saa7127 video encoder */
|
||||
#define I2C_DRIVERID_SAA711X 73 /* saa711x video encoders */
|
||||
#define I2C_DRIVERID_AKITAIOEXP 74 /* IO Expander on Sharp SL-C1000 */
|
||||
#define I2C_DRIVERID_INFRARED 75 /* I2C InfraRed on Video boards */
|
||||
#define I2C_DRIVERID_TVP5150 76 /* TVP5150 video decoder */
|
||||
#define I2C_DRIVERID_WM8739 77 /* wm8739 audio processor */
|
||||
#define I2C_DRIVERID_UPD64083 78 /* upd64083 video processor */
|
||||
#define I2C_DRIVERID_UPD64031A 79 /* upd64031a video processor */
|
||||
#define I2C_DRIVERID_SAA717X 80 /* saa717x video encoder */
|
||||
#define I2C_DRIVERID_DS1672 81 /* Dallas/Maxim DS1672 RTC */
|
||||
#define I2C_DRIVERID_BT866 85 /* Conexant bt866 video encoder */
|
||||
#define I2C_DRIVERID_KS0127 86 /* Samsung ks0127 video decoder */
|
||||
#define I2C_DRIVERID_TLV320AIC23B 87 /* TI TLV320AIC23B audio codec */
|
||||
#define I2C_DRIVERID_WM8731 89 /* Wolfson WM8731 audio codec */
|
||||
#define I2C_DRIVERID_WM8750 90 /* Wolfson WM8750 audio codec */
|
||||
#define I2C_DRIVERID_WM8753 91 /* Wolfson WM8753 audio codec */
|
||||
#define I2C_DRIVERID_LM4857 92 /* LM4857 Audio Amplifier */
|
||||
#define I2C_DRIVERID_VP27SMPX 93 /* Panasonic VP27s tuner internal MPX */
|
||||
#define I2C_DRIVERID_CS4270 94 /* Cirrus Logic 4270 audio codec */
|
||||
#define I2C_DRIVERID_M52790 95 /* Mitsubishi M52790SP/FP AV switch */
|
||||
#define I2C_DRIVERID_CS5345 96 /* cs5345 audio processor */
|
||||
|
||||
|
|
@ -89,74 +79,23 @@
|
|||
*/
|
||||
|
||||
/* --- Bit algorithm adapters */
|
||||
#define I2C_HW_B_LP 0x010000 /* Parallel port Philips style */
|
||||
#define I2C_HW_B_BT848 0x010005 /* BT848 video boards */
|
||||
#define I2C_HW_B_VIA 0x010007 /* Via vt82c586b */
|
||||
#define I2C_HW_B_HYDRA 0x010008 /* Apple Hydra Mac I/O */
|
||||
#define I2C_HW_B_I810 0x01000a /* Intel I810 */
|
||||
#define I2C_HW_B_VOO 0x01000b /* 3dfx Voodoo 3 / Banshee */
|
||||
#define I2C_HW_B_SCX200 0x01000e /* Nat'l Semi SCx200 I2C */
|
||||
#define I2C_HW_B_RIVA 0x010010 /* Riva based graphics cards */
|
||||
#define I2C_HW_B_IOC 0x010011 /* IOC bit-wiggling */
|
||||
#define I2C_HW_B_IXP2000 0x010016 /* GPIO on IXP2000 systems */
|
||||
#define I2C_HW_B_ZR36067 0x010019 /* Zoran-36057/36067 based boards */
|
||||
#define I2C_HW_B_PCILYNX 0x01001a /* TI PCILynx I2C adapter */
|
||||
#define I2C_HW_B_CX2388x 0x01001b /* connexant 2388x based tv cards */
|
||||
#define I2C_HW_B_NVIDIA 0x01001c /* nvidia framebuffer driver */
|
||||
#define I2C_HW_B_SAVAGE 0x01001d /* savage framebuffer driver */
|
||||
#define I2C_HW_B_RADEON 0x01001e /* radeon framebuffer driver */
|
||||
#define I2C_HW_B_EM28XX 0x01001f /* em28xx video capture cards */
|
||||
#define I2C_HW_B_CX2341X 0x010020 /* Conexant CX2341X MPEG encoder cards */
|
||||
#define I2C_HW_B_INTELFB 0x010021 /* intel framebuffer driver */
|
||||
#define I2C_HW_B_CX23885 0x010022 /* conexant 23885 based tv cards (bus1) */
|
||||
#define I2C_HW_B_AU0828 0x010023 /* auvitek au0828 usb bridge */
|
||||
|
||||
/* --- PCF 8584 based algorithms */
|
||||
#define I2C_HW_P_ELEK 0x020002 /* Elektor ISA Bus inteface card */
|
||||
|
||||
/* --- PCA 9564 based algorithms */
|
||||
#define I2C_HW_A_ISA 0x1a0000 /* generic ISA Bus interface card */
|
||||
|
||||
/* --- PowerPC on-chip adapters */
|
||||
#define I2C_HW_OCP 0x120000 /* IBM on-chip I2C adapter */
|
||||
|
||||
/* --- Broadcom SiByte adapters */
|
||||
#define I2C_HW_SIBYTE 0x150000
|
||||
|
||||
/* --- SGI adapters */
|
||||
#define I2C_HW_SGI_VINO 0x160000
|
||||
|
||||
/* --- XSCALE on-chip adapters */
|
||||
#define I2C_HW_IOP3XX 0x140000
|
||||
|
||||
/* --- Au1550 PSC adapters adapters */
|
||||
#define I2C_HW_AU1550_PSC 0x1b0000
|
||||
|
||||
/* --- SMBus only adapters */
|
||||
#define I2C_HW_SMBUS_PIIX4 0x040000
|
||||
#define I2C_HW_SMBUS_ALI15X3 0x040001
|
||||
#define I2C_HW_SMBUS_VIA2 0x040002
|
||||
#define I2C_HW_SMBUS_I801 0x040004
|
||||
#define I2C_HW_SMBUS_AMD756 0x040005
|
||||
#define I2C_HW_SMBUS_SIS5595 0x040006
|
||||
#define I2C_HW_SMBUS_ALI1535 0x040007
|
||||
#define I2C_HW_SMBUS_SIS630 0x040008
|
||||
#define I2C_HW_SMBUS_SIS96X 0x040009
|
||||
#define I2C_HW_SMBUS_AMD8111 0x04000a
|
||||
#define I2C_HW_SMBUS_SCX200 0x04000b
|
||||
#define I2C_HW_SMBUS_NFORCE2 0x04000c
|
||||
#define I2C_HW_SMBUS_W9968CF 0x04000d
|
||||
#define I2C_HW_SMBUS_OV511 0x04000e /* OV511(+) USB 1.1 webcam ICs */
|
||||
#define I2C_HW_SMBUS_OV518 0x04000f /* OV518(+) USB 1.1 webcam ICs */
|
||||
#define I2C_HW_SMBUS_CAFE 0x040012 /* Marvell 88ALP01 "CAFE" cam */
|
||||
#define I2C_HW_SMBUS_ALI1563 0x040013
|
||||
|
||||
/* --- MCP107 adapter */
|
||||
#define I2C_HW_MPC107 0x0d0000
|
||||
|
||||
/* --- Embedded adapters */
|
||||
#define I2C_HW_MV64XXX 0x190000
|
||||
#define I2C_HW_BLACKFIN 0x190001 /* ADI Blackfin I2C TWI driver */
|
||||
|
||||
/* --- Miscellaneous adapters */
|
||||
#define I2C_HW_SAA7146 0x060000 /* SAA7146 video decoder bus */
|
||||
|
|
|
|||
|
|
@ -151,7 +151,7 @@ struct i2c_driver {
|
|||
* has been dynamically allocated by the driver in the function above,
|
||||
* it must be freed here. (LEGACY I2C DRIVERS ONLY)
|
||||
*/
|
||||
int (*detach_client)(struct i2c_client *);
|
||||
int (*detach_client)(struct i2c_client *) __deprecated;
|
||||
|
||||
/* Standard driver model interfaces, for "new style" i2c drivers.
|
||||
* With the driver model, device enumeration is NEVER done by drivers;
|
||||
|
|
@ -361,7 +361,7 @@ struct i2c_adapter {
|
|||
struct mutex bus_lock;
|
||||
struct mutex clist_lock;
|
||||
|
||||
int timeout;
|
||||
int timeout; /* in jiffies */
|
||||
int retries;
|
||||
struct device dev; /* the adapter device */
|
||||
|
||||
|
|
@ -429,8 +429,10 @@ static inline int i2c_add_driver(struct i2c_driver *driver)
|
|||
return i2c_register_driver(THIS_MODULE, driver);
|
||||
}
|
||||
|
||||
extern int i2c_attach_client(struct i2c_client *);
|
||||
extern int i2c_detach_client(struct i2c_client *);
|
||||
/* These are deprecated, your driver should use the standard .probe()
|
||||
* and .remove() methods instead. */
|
||||
extern int __deprecated i2c_attach_client(struct i2c_client *);
|
||||
extern int __deprecated i2c_detach_client(struct i2c_client *);
|
||||
|
||||
extern struct i2c_client *i2c_use_client(struct i2c_client *client);
|
||||
extern void i2c_release_client(struct i2c_client *client);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef _LINUX_ICMPV6_H
|
||||
#define _LINUX_ICMPV6_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <asm/byteorder.h>
|
||||
|
||||
struct icmp6hdr {
|
||||
|
|
|
|||
|
|
@ -663,7 +663,7 @@ typedef struct ide_drive_s ide_drive_t;
|
|||
#define to_ide_device(dev) container_of(dev, ide_drive_t, gendev)
|
||||
|
||||
#define to_ide_drv(obj, cont_type) \
|
||||
container_of(obj, struct cont_type, kref)
|
||||
container_of(obj, struct cont_type, dev)
|
||||
|
||||
#define ide_drv_g(disk, cont_type) \
|
||||
container_of((disk)->private_data, struct cont_type, driver)
|
||||
|
|
|
|||
|
|
@ -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))
|
||||
|
|
|
|||
|
|
@ -26,8 +26,6 @@
|
|||
|
||||
#include <linux/if.h>
|
||||
|
||||
#if defined(CONFIG_DLCI) || defined(CONFIG_DLCI_MODULE)
|
||||
|
||||
/* Structures and constants associated with the DLCI device driver */
|
||||
|
||||
struct dlci_add
|
||||
|
|
@ -127,6 +125,8 @@ struct frad_conf
|
|||
|
||||
#ifdef __KERNEL__
|
||||
|
||||
#if defined(CONFIG_DLCI) || defined(CONFIG_DLCI_MODULE)
|
||||
|
||||
/* these are the fields of an RFC 1490 header */
|
||||
struct frhdr
|
||||
{
|
||||
|
|
@ -190,12 +190,10 @@ struct frad_local
|
|||
int buffer; /* current buffer for S508 firmware */
|
||||
};
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif /* CONFIG_DLCI || CONFIG_DLCI_MODULE */
|
||||
|
||||
#ifdef __KERNEL__
|
||||
extern void dlci_ioctl_set(int (*hook)(unsigned int, void __user *));
|
||||
#endif
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -210,6 +210,7 @@ static inline struct sk_buff *__vlan_put_tag(struct sk_buff *skb, u16 vlan_tci)
|
|||
|
||||
/* Move the mac addresses to the beginning of the new header. */
|
||||
memmove(skb->data, skb->data + VLAN_HLEN, 2 * VLAN_ETH_ALEN);
|
||||
skb->mac_header -= VLAN_HLEN;
|
||||
|
||||
/* first, the ethernet type */
|
||||
veth->h_vlan_proto = htons(ETH_P_8021Q);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -48,6 +48,11 @@ extern struct fs_struct init_fs;
|
|||
.posix_timers = LIST_HEAD_INIT(sig.posix_timers), \
|
||||
.cpu_timers = INIT_CPU_TIMERS(sig.cpu_timers), \
|
||||
.rlim = INIT_RLIMITS, \
|
||||
.cputimer = { \
|
||||
.cputime = INIT_CPUTIME, \
|
||||
.running = 0, \
|
||||
.lock = __SPIN_LOCK_UNLOCKED(sig.cputimer.lock), \
|
||||
}, \
|
||||
}
|
||||
|
||||
extern struct nsproxy init_nsproxy;
|
||||
|
|
|
|||
|
|
@ -194,6 +194,7 @@ static inline void dmar_writeq(void __iomem *addr, u64 val)
|
|||
/* FSTS_REG */
|
||||
#define DMA_FSTS_PPF ((u32)2)
|
||||
#define DMA_FSTS_PFO ((u32)1)
|
||||
#define DMA_FSTS_IQE (1 << 4)
|
||||
#define dma_fsts_fault_record_index(s) (((s) >> 8) & 0xff)
|
||||
|
||||
/* FRCD_REG, 32 bits access */
|
||||
|
|
@ -328,7 +329,7 @@ extern int qi_flush_iotlb(struct intel_iommu *iommu, u16 did, u64 addr,
|
|||
unsigned int size_order, u64 type,
|
||||
int non_present_entry_flush);
|
||||
|
||||
extern void qi_submit_sync(struct qi_desc *desc, struct intel_iommu *iommu);
|
||||
extern int qi_submit_sync(struct qi_desc *desc, struct intel_iommu *iommu);
|
||||
|
||||
extern void *intel_alloc_coherent(struct device *, size_t, dma_addr_t *, gfp_t);
|
||||
extern void intel_free_coherent(struct device *, size_t, void *, dma_addr_t);
|
||||
|
|
|
|||
|
|
@ -30,11 +30,14 @@
|
|||
* See Documentation/io_mapping.txt
|
||||
*/
|
||||
|
||||
/* this struct isn't actually defined anywhere */
|
||||
struct io_mapping;
|
||||
|
||||
#ifdef CONFIG_HAVE_ATOMIC_IOMAP
|
||||
|
||||
struct io_mapping {
|
||||
resource_size_t base;
|
||||
unsigned long size;
|
||||
pgprot_t prot;
|
||||
};
|
||||
|
||||
/*
|
||||
* For small address space machines, mapping large objects
|
||||
* into the kernel virtual space isn't practical. Where
|
||||
|
|
@ -43,23 +46,40 @@ struct io_mapping;
|
|||
*/
|
||||
|
||||
static inline struct io_mapping *
|
||||
io_mapping_create_wc(unsigned long base, unsigned long size)
|
||||
io_mapping_create_wc(resource_size_t base, unsigned long size)
|
||||
{
|
||||
return (struct io_mapping *) base;
|
||||
struct io_mapping *iomap;
|
||||
|
||||
if (!is_io_mapping_possible(base, size))
|
||||
return NULL;
|
||||
|
||||
iomap = kmalloc(sizeof(*iomap), GFP_KERNEL);
|
||||
if (!iomap)
|
||||
return NULL;
|
||||
|
||||
iomap->base = base;
|
||||
iomap->size = size;
|
||||
iomap->prot = pgprot_writecombine(__pgprot(__PAGE_KERNEL));
|
||||
return iomap;
|
||||
}
|
||||
|
||||
static inline void
|
||||
io_mapping_free(struct io_mapping *mapping)
|
||||
{
|
||||
kfree(mapping);
|
||||
}
|
||||
|
||||
/* Atomic map/unmap */
|
||||
static inline void *
|
||||
io_mapping_map_atomic_wc(struct io_mapping *mapping, unsigned long offset)
|
||||
{
|
||||
offset += (unsigned long) mapping;
|
||||
return iomap_atomic_prot_pfn(offset >> PAGE_SHIFT, KM_USER0,
|
||||
__pgprot(__PAGE_KERNEL_WC));
|
||||
resource_size_t phys_addr;
|
||||
unsigned long pfn;
|
||||
|
||||
BUG_ON(offset >= mapping->size);
|
||||
phys_addr = mapping->base + offset;
|
||||
pfn = (unsigned long) (phys_addr >> PAGE_SHIFT);
|
||||
return iomap_atomic_prot_pfn(pfn, KM_USER0, mapping->prot);
|
||||
}
|
||||
|
||||
static inline void
|
||||
|
|
@ -71,8 +91,9 @@ io_mapping_unmap_atomic(void *vaddr)
|
|||
static inline void *
|
||||
io_mapping_map_wc(struct io_mapping *mapping, unsigned long offset)
|
||||
{
|
||||
offset += (unsigned long) mapping;
|
||||
return ioremap_wc(offset, PAGE_SIZE);
|
||||
BUG_ON(offset >= mapping->size);
|
||||
resource_size_t phys_addr = mapping->base + offset;
|
||||
return ioremap_wc(phys_addr, PAGE_SIZE);
|
||||
}
|
||||
|
||||
static inline void
|
||||
|
|
@ -83,9 +104,12 @@ io_mapping_unmap(void *vaddr)
|
|||
|
||||
#else
|
||||
|
||||
/* this struct isn't actually defined anywhere */
|
||||
struct io_mapping;
|
||||
|
||||
/* Create the io_mapping object*/
|
||||
static inline struct io_mapping *
|
||||
io_mapping_create_wc(unsigned long base, unsigned long size)
|
||||
io_mapping_create_wc(resource_size_t base, unsigned long size)
|
||||
{
|
||||
return (struct io_mapping *) ioremap_wc(base, size);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -308,7 +308,8 @@ void buffer_assertion_failure(struct buffer_head *bh);
|
|||
int val = (expr); \
|
||||
if (!val) { \
|
||||
printk(KERN_ERR \
|
||||
"EXT3-fs unexpected failure: %s;\n",# expr); \
|
||||
"JBD2 unexpected failure: %s: %s;\n", \
|
||||
__func__, #expr); \
|
||||
printk(KERN_ERR why "\n"); \
|
||||
} \
|
||||
val; \
|
||||
|
|
@ -1149,7 +1150,8 @@ extern int jbd2_journal_clear_err (journal_t *);
|
|||
extern int jbd2_journal_bmap(journal_t *, unsigned long, unsigned long long *);
|
||||
extern int jbd2_journal_force_commit(journal_t *);
|
||||
extern int jbd2_journal_file_inode(handle_t *handle, struct jbd2_inode *inode);
|
||||
extern int jbd2_journal_begin_ordered_truncate(struct jbd2_inode *inode, loff_t new_size);
|
||||
extern int jbd2_journal_begin_ordered_truncate(journal_t *journal,
|
||||
struct jbd2_inode *inode, loff_t new_size);
|
||||
extern void jbd2_journal_init_jbd_inode(struct jbd2_inode *jinode, struct inode *inode);
|
||||
extern void jbd2_journal_release_jbd_inode(journal_t *journal, struct jbd2_inode *jinode);
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ struct klist {
|
|||
struct list_head k_list;
|
||||
void (*get)(struct klist_node *);
|
||||
void (*put)(struct klist_node *);
|
||||
};
|
||||
} __attribute__ ((aligned (4)));
|
||||
|
||||
#define KLIST_INIT(_name, _get, _put) \
|
||||
{ .k_lock = __SPIN_LOCK_UNLOCKED(_name.k_lock), \
|
||||
|
|
|
|||
|
|
@ -49,6 +49,13 @@
|
|||
|
||||
/* Attach to insert probes on any functions which should be ignored*/
|
||||
#define __kprobes __attribute__((__section__(".kprobes.text"))) notrace
|
||||
#else /* CONFIG_KPROBES */
|
||||
typedef int kprobe_opcode_t;
|
||||
struct arch_specific_insn {
|
||||
int dummy;
|
||||
};
|
||||
#define __kprobes notrace
|
||||
#endif /* CONFIG_KPROBES */
|
||||
|
||||
struct kprobe;
|
||||
struct pt_regs;
|
||||
|
|
@ -131,23 +138,6 @@ struct jprobe {
|
|||
/* For backward compatibility with old code using JPROBE_ENTRY() */
|
||||
#define JPROBE_ENTRY(handler) (handler)
|
||||
|
||||
DECLARE_PER_CPU(struct kprobe *, current_kprobe);
|
||||
DECLARE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk);
|
||||
|
||||
#ifdef CONFIG_KRETPROBES
|
||||
extern void arch_prepare_kretprobe(struct kretprobe_instance *ri,
|
||||
struct pt_regs *regs);
|
||||
extern int arch_trampoline_kprobe(struct kprobe *p);
|
||||
#else /* CONFIG_KRETPROBES */
|
||||
static inline void arch_prepare_kretprobe(struct kretprobe *rp,
|
||||
struct pt_regs *regs)
|
||||
{
|
||||
}
|
||||
static inline int arch_trampoline_kprobe(struct kprobe *p)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_KRETPROBES */
|
||||
/*
|
||||
* Function-return probe -
|
||||
* Note:
|
||||
|
|
@ -188,6 +178,25 @@ struct kprobe_blackpoint {
|
|||
unsigned long range;
|
||||
};
|
||||
|
||||
#ifdef CONFIG_KPROBES
|
||||
DECLARE_PER_CPU(struct kprobe *, current_kprobe);
|
||||
DECLARE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk);
|
||||
|
||||
#ifdef CONFIG_KRETPROBES
|
||||
extern void arch_prepare_kretprobe(struct kretprobe_instance *ri,
|
||||
struct pt_regs *regs);
|
||||
extern int arch_trampoline_kprobe(struct kprobe *p);
|
||||
#else /* CONFIG_KRETPROBES */
|
||||
static inline void arch_prepare_kretprobe(struct kretprobe *rp,
|
||||
struct pt_regs *regs)
|
||||
{
|
||||
}
|
||||
static inline int arch_trampoline_kprobe(struct kprobe *p)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif /* CONFIG_KRETPROBES */
|
||||
|
||||
extern struct kretprobe_blackpoint kretprobe_blacklist[];
|
||||
|
||||
static inline void kretprobe_assert(struct kretprobe_instance *ri,
|
||||
|
|
@ -264,10 +273,6 @@ void recycle_rp_inst(struct kretprobe_instance *ri, struct hlist_head *head);
|
|||
|
||||
#else /* CONFIG_KPROBES */
|
||||
|
||||
#define __kprobes notrace
|
||||
struct jprobe;
|
||||
struct kretprobe;
|
||||
|
||||
static inline struct kprobe *get_kprobe(void *addr)
|
||||
{
|
||||
return NULL;
|
||||
|
|
|
|||
|
|
@ -58,10 +58,10 @@ struct kvm_irqchip {
|
|||
__u32 pad;
|
||||
union {
|
||||
char dummy[512]; /* reserving space */
|
||||
#ifdef CONFIG_X86
|
||||
#ifdef __KVM_HAVE_PIT
|
||||
struct kvm_pic_state pic;
|
||||
#endif
|
||||
#if defined(CONFIG_X86) || defined(CONFIG_IA64)
|
||||
#ifdef __KVM_HAVE_IOAPIC
|
||||
struct kvm_ioapic_state ioapic;
|
||||
#endif
|
||||
} chip;
|
||||
|
|
@ -384,16 +384,16 @@ struct kvm_trace_rec {
|
|||
#define KVM_CAP_MP_STATE 14
|
||||
#define KVM_CAP_COALESCED_MMIO 15
|
||||
#define KVM_CAP_SYNC_MMU 16 /* Changes to host mmap are reflected in guest */
|
||||
#if defined(CONFIG_X86)||defined(CONFIG_IA64)
|
||||
#ifdef __KVM_HAVE_DEVICE_ASSIGNMENT
|
||||
#define KVM_CAP_DEVICE_ASSIGNMENT 17
|
||||
#endif
|
||||
#define KVM_CAP_IOMMU 18
|
||||
#if defined(CONFIG_X86)
|
||||
#ifdef __KVM_HAVE_MSI
|
||||
#define KVM_CAP_DEVICE_MSI 20
|
||||
#endif
|
||||
/* Bug in KVM_SET_USER_MEMORY_REGION fixed: */
|
||||
#define KVM_CAP_DESTROY_MEMORY_REGION_WORKS 21
|
||||
#if defined(CONFIG_X86)
|
||||
#ifdef __KVM_HAVE_USER_NMI
|
||||
#define KVM_CAP_USER_NMI 22
|
||||
#endif
|
||||
|
||||
|
|
|
|||
|
|
@ -285,6 +285,7 @@ void kvm_free_physmem(struct kvm *kvm);
|
|||
struct kvm *kvm_arch_create_vm(void);
|
||||
void kvm_arch_destroy_vm(struct kvm *kvm);
|
||||
void kvm_free_all_assigned_devices(struct kvm *kvm);
|
||||
void kvm_arch_sync_events(struct kvm *kvm);
|
||||
|
||||
int kvm_cpu_get_interrupt(struct kvm_vcpu *v);
|
||||
int kvm_cpu_has_interrupt(struct kvm_vcpu *v);
|
||||
|
|
|
|||
|
|
@ -187,6 +187,8 @@ enum {
|
|||
ATA_FLAG_PIO_POLLING = (1 << 9), /* use polling PIO if LLD
|
||||
* doesn't handle PIO interrupts */
|
||||
ATA_FLAG_NCQ = (1 << 10), /* host supports NCQ */
|
||||
ATA_FLAG_NO_POWEROFF_SPINDOWN = (1 << 11), /* don't spindown before poweroff */
|
||||
ATA_FLAG_NO_HIBERNATE_SPINDOWN = (1 << 12), /* don't spindown before hibernation */
|
||||
ATA_FLAG_DEBUGMSG = (1 << 13),
|
||||
ATA_FLAG_IGN_SIMPLEX = (1 << 15), /* ignore SIMPLEX */
|
||||
ATA_FLAG_NO_IORDY = (1 << 16), /* controller lacks iordy */
|
||||
|
|
@ -378,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 */
|
||||
|
|
@ -401,12 +404,14 @@ enum {
|
|||
ATA_TIMING_CYC8B,
|
||||
ATA_TIMING_ACTIVE = (1 << 4),
|
||||
ATA_TIMING_RECOVER = (1 << 5),
|
||||
ATA_TIMING_CYCLE = (1 << 6),
|
||||
ATA_TIMING_UDMA = (1 << 7),
|
||||
ATA_TIMING_DMACK_HOLD = (1 << 6),
|
||||
ATA_TIMING_CYCLE = (1 << 7),
|
||||
ATA_TIMING_UDMA = (1 << 8),
|
||||
ATA_TIMING_ALL = ATA_TIMING_SETUP | ATA_TIMING_ACT8B |
|
||||
ATA_TIMING_REC8B | ATA_TIMING_CYC8B |
|
||||
ATA_TIMING_ACTIVE | ATA_TIMING_RECOVER |
|
||||
ATA_TIMING_CYCLE | ATA_TIMING_UDMA,
|
||||
ATA_TIMING_DMACK_HOLD | ATA_TIMING_CYCLE |
|
||||
ATA_TIMING_UDMA,
|
||||
};
|
||||
|
||||
enum ata_xfer_mask {
|
||||
|
|
@ -576,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;
|
||||
|
|
@ -601,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 */
|
||||
|
|
@ -866,6 +873,7 @@ struct ata_timing {
|
|||
unsigned short cyc8b; /* t0 for 8-bit I/O */
|
||||
unsigned short active; /* t2 or tD */
|
||||
unsigned short recover; /* t2i or tK */
|
||||
unsigned short dmack_hold; /* tj */
|
||||
unsigned short cycle; /* t0 */
|
||||
unsigned short udma; /* t2CYCTYP/2 */
|
||||
};
|
||||
|
|
@ -927,6 +935,8 @@ extern void ata_host_init(struct ata_host *, struct device *,
|
|||
extern int ata_scsi_detect(struct scsi_host_template *sht);
|
||||
extern int ata_scsi_ioctl(struct scsi_device *dev, int cmd, void __user *arg);
|
||||
extern int ata_scsi_queuecmd(struct scsi_cmnd *cmd, void (*done)(struct scsi_cmnd *));
|
||||
extern int ata_sas_scsi_ioctl(struct ata_port *ap, struct scsi_device *dev,
|
||||
int cmd, void __user *arg);
|
||||
extern void ata_sas_port_destroy(struct ata_port *);
|
||||
extern struct ata_port *ata_sas_port_alloc(struct ata_host *,
|
||||
struct ata_port_info *, struct Scsi_Host *);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef _LINUX_MINIX_FS_H
|
||||
#define _LINUX_MINIX_FS_H
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/magic.h>
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -1041,10 +1041,23 @@ extern void free_bootmem_with_active_regions(int nid,
|
|||
typedef int (*work_fn_t)(unsigned long, unsigned long, void *);
|
||||
extern void work_with_active_regions(int nid, work_fn_t work_fn, void *data);
|
||||
extern void sparse_memory_present_with_active_regions(int nid);
|
||||
#ifndef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
|
||||
extern int early_pfn_to_nid(unsigned long pfn);
|
||||
#endif /* CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID */
|
||||
#endif /* CONFIG_ARCH_POPULATES_NODE_MAP */
|
||||
|
||||
#if !defined(CONFIG_ARCH_POPULATES_NODE_MAP) && \
|
||||
!defined(CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID)
|
||||
static inline int __early_pfn_to_nid(unsigned long pfn)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
/* please see mm/page_alloc.c */
|
||||
extern int __meminit early_pfn_to_nid(unsigned long pfn);
|
||||
#ifdef CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID
|
||||
/* there is a per-arch backend function. */
|
||||
extern int __meminit __early_pfn_to_nid(unsigned long pfn);
|
||||
#endif /* CONFIG_HAVE_ARCH_EARLY_PFN_TO_NID */
|
||||
#endif
|
||||
|
||||
extern void set_dma_reserve(unsigned long new_dma_reserve);
|
||||
extern void memmap_init_zone(unsigned long, int, unsigned long,
|
||||
unsigned long, enum memmap_context);
|
||||
|
|
@ -1129,8 +1142,7 @@ extern unsigned long do_mmap_pgoff(struct file *file, unsigned long addr,
|
|||
unsigned long flag, unsigned long pgoff);
|
||||
extern unsigned long mmap_region(struct file *file, unsigned long addr,
|
||||
unsigned long len, unsigned long flags,
|
||||
unsigned int vm_flags, unsigned long pgoff,
|
||||
int accountable);
|
||||
unsigned int vm_flags, unsigned long pgoff);
|
||||
|
||||
static inline unsigned long do_mmap(struct file *file, unsigned long addr,
|
||||
unsigned long len, unsigned long prot,
|
||||
|
|
@ -1160,6 +1172,7 @@ extern int filemap_fault(struct vm_area_struct *, struct vm_fault *);
|
|||
|
||||
/* mm/page-writeback.c */
|
||||
int write_one_page(struct page *page, int wait);
|
||||
void task_dirty_inc(struct task_struct *tsk);
|
||||
|
||||
/* readahead.c */
|
||||
#define VM_MAX_READAHEAD 128 /* kbytes */
|
||||
|
|
@ -1305,5 +1318,6 @@ void vmemmap_populate_print_last(void);
|
|||
|
||||
extern void *alloc_locked_buffer(size_t size);
|
||||
extern void free_locked_buffer(void *buffer, size_t size);
|
||||
extern void release_locked_buffer(void *buffer, size_t size);
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* _LINUX_MM_H */
|
||||
|
|
|
|||
|
|
@ -1071,7 +1071,7 @@ void sparse_init(void);
|
|||
#endif /* CONFIG_SPARSEMEM */
|
||||
|
||||
#ifdef CONFIG_NODES_SPAN_OTHER_NODES
|
||||
#define early_pfn_in_nid(pfn, nid) (early_pfn_to_nid(pfn) == (nid))
|
||||
bool early_pfn_in_nid(unsigned long pfn, int nid);
|
||||
#else
|
||||
#define early_pfn_in_nid(pfn, nid) (1)
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -443,6 +443,13 @@ struct dmi_system_id {
|
|||
struct dmi_strmatch matches[4];
|
||||
void *driver_data;
|
||||
};
|
||||
/*
|
||||
* struct dmi_device_id appears during expansion of
|
||||
* "MODULE_DEVICE_TABLE(dmi, x)". Compiler doesn't look inside it
|
||||
* but this is enough for gcc 3.4.6 to error out:
|
||||
* error: storage size of '__mod_dmi_device_table' isn't known
|
||||
*/
|
||||
#define dmi_device_id dmi_system_id
|
||||
#endif
|
||||
|
||||
#define DMI_MATCH(a, b) { a, b }
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -117,6 +117,10 @@ typedef int __bitwise pci_power_t;
|
|||
#define PCI_UNKNOWN ((pci_power_t __force) 5)
|
||||
#define PCI_POWER_ERROR ((pci_power_t __force) -1)
|
||||
|
||||
#define PCI_PM_D2_DELAY 200
|
||||
#define PCI_PM_D3_WAIT 10
|
||||
#define PCI_PM_BUS_WAIT 50
|
||||
|
||||
/** The pci_channel state describes connectivity between the CPU and
|
||||
* the pci device. If some PCI bus between here and the pci device
|
||||
* has crashed or locked up, this info is reflected here.
|
||||
|
|
@ -252,6 +256,7 @@ struct pci_dev {
|
|||
unsigned int ari_enabled:1; /* ARI forwarding */
|
||||
unsigned int is_managed:1;
|
||||
unsigned int is_pcie:1;
|
||||
unsigned int state_saved:1;
|
||||
pci_dev_flags_t dev_flags;
|
||||
atomic_t enable_cnt; /* pci_enable_device has been called */
|
||||
|
||||
|
|
@ -679,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);
|
||||
|
|
|
|||
|
|
@ -1312,6 +1312,7 @@
|
|||
#define PCI_DEVICE_ID_VIA_VT3351 0x0351
|
||||
#define PCI_DEVICE_ID_VIA_VT3364 0x0364
|
||||
#define PCI_DEVICE_ID_VIA_8371_0 0x0391
|
||||
#define PCI_DEVICE_ID_VIA_6415 0x0415
|
||||
#define PCI_DEVICE_ID_VIA_8501_0 0x0501
|
||||
#define PCI_DEVICE_ID_VIA_82C561 0x0561
|
||||
#define PCI_DEVICE_ID_VIA_82C586_1 0x0571
|
||||
|
|
@ -1357,6 +1358,7 @@
|
|||
#define PCI_DEVICE_ID_VIA_8783_0 0x3208
|
||||
#define PCI_DEVICE_ID_VIA_8237 0x3227
|
||||
#define PCI_DEVICE_ID_VIA_8251 0x3287
|
||||
#define PCI_DEVICE_ID_VIA_8261 0x3402
|
||||
#define PCI_DEVICE_ID_VIA_8237A 0x3337
|
||||
#define PCI_DEVICE_ID_VIA_8237S 0x3372
|
||||
#define PCI_DEVICE_ID_VIA_SATA_EIDE 0x5324
|
||||
|
|
@ -1366,10 +1368,13 @@
|
|||
#define PCI_DEVICE_ID_VIA_CX700 0x8324
|
||||
#define PCI_DEVICE_ID_VIA_CX700_IDE 0x0581
|
||||
#define PCI_DEVICE_ID_VIA_VX800 0x8353
|
||||
#define PCI_DEVICE_ID_VIA_VX855 0x8409
|
||||
#define PCI_DEVICE_ID_VIA_8371_1 0x8391
|
||||
#define PCI_DEVICE_ID_VIA_82C598_1 0x8598
|
||||
#define PCI_DEVICE_ID_VIA_838X_1 0xB188
|
||||
#define PCI_DEVICE_ID_VIA_83_87XX_1 0xB198
|
||||
#define PCI_DEVICE_ID_VIA_C409_IDE 0XC409
|
||||
#define PCI_DEVICE_ID_VIA_ANON 0xFFFF
|
||||
|
||||
#define PCI_VENDOR_ID_SIEMENS 0x110A
|
||||
#define PCI_DEVICE_ID_SIEMENS_DSCC4 0x2102
|
||||
|
|
@ -1440,6 +1445,7 @@
|
|||
#define PCI_DEVICE_ID_DIGI_DF_M_E 0x0071
|
||||
#define PCI_DEVICE_ID_DIGI_DF_M_IOM2_A 0x0072
|
||||
#define PCI_DEVICE_ID_DIGI_DF_M_A 0x0073
|
||||
#define PCI_DEVICE_ID_DIGI_NEO_8 0x00B1
|
||||
#define PCI_DEVICE_ID_NEO_2DB9 0x00C8
|
||||
#define PCI_DEVICE_ID_NEO_2DB9PRI 0x00C9
|
||||
#define PCI_DEVICE_ID_NEO_2RJ45 0x00CA
|
||||
|
|
@ -2317,6 +2323,9 @@
|
|||
#define PCI_DEVICE_ID_INTEL_82378 0x0484
|
||||
#define PCI_DEVICE_ID_INTEL_I960 0x0960
|
||||
#define PCI_DEVICE_ID_INTEL_I960RM 0x0962
|
||||
#define PCI_DEVICE_ID_INTEL_8257X_SOL 0x1062
|
||||
#define PCI_DEVICE_ID_INTEL_82573E_SOL 0x1085
|
||||
#define PCI_DEVICE_ID_INTEL_82573L_SOL 0x108F
|
||||
#define PCI_DEVICE_ID_INTEL_82815_MC 0x1130
|
||||
#define PCI_DEVICE_ID_INTEL_82815_CGC 0x1132
|
||||
#define PCI_DEVICE_ID_INTEL_82092AA_0 0x1221
|
||||
|
|
@ -2421,6 +2430,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.
|
||||
|
|
@ -513,7 +515,7 @@ enum
|
|||
|
||||
struct tc_drr_stats
|
||||
{
|
||||
u32 deficit;
|
||||
__u32 deficit;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -381,10 +381,12 @@ struct dev_pm_info {
|
|||
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
extern void device_pm_lock(void);
|
||||
extern int sysdev_resume(void);
|
||||
extern void device_power_up(pm_message_t state);
|
||||
extern void device_resume(pm_message_t state);
|
||||
|
||||
extern void device_pm_unlock(void);
|
||||
extern int sysdev_suspend(pm_message_t state);
|
||||
extern int device_power_down(pm_message_t state);
|
||||
extern int device_suspend(pm_message_t state);
|
||||
extern int device_prepare_suspend(pm_message_t state);
|
||||
|
|
|
|||
|
|
@ -25,6 +25,8 @@
|
|||
* OR MODIFICATIONS.
|
||||
*/
|
||||
|
||||
#include <linux/types.h>
|
||||
|
||||
/*
|
||||
* ==FILEVERSION 20000114==
|
||||
*
|
||||
|
|
|
|||
|
|
@ -24,10 +24,8 @@ void sync_dquots(struct super_block *sb, int type);
|
|||
|
||||
int dquot_initialize(struct inode *inode, int type);
|
||||
int dquot_drop(struct inode *inode);
|
||||
int dquot_drop_locked(struct inode *inode);
|
||||
struct dquot *dqget(struct super_block *sb, unsigned int id, int type);
|
||||
void dqput(struct dquot *dquot);
|
||||
int dquot_is_cached(struct super_block *sb, unsigned int id, int type);
|
||||
int dquot_scan_active(struct super_block *sb,
|
||||
int (*fn)(struct dquot *dquot, unsigned long priv),
|
||||
unsigned long priv);
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -293,6 +293,9 @@ extern void sched_show_task(struct task_struct *p);
|
|||
extern void softlockup_tick(void);
|
||||
extern void touch_softlockup_watchdog(void);
|
||||
extern void touch_all_softlockup_watchdogs(void);
|
||||
extern int proc_dosoftlockup_thresh(struct ctl_table *table, int write,
|
||||
struct file *filp, void __user *buffer,
|
||||
size_t *lenp, loff_t *ppos);
|
||||
extern unsigned int softlockup_panic;
|
||||
extern unsigned long sysctl_hung_task_check_count;
|
||||
extern unsigned long sysctl_hung_task_timeout_secs;
|
||||
|
|
@ -456,16 +459,27 @@ struct task_cputime {
|
|||
#define virt_exp utime
|
||||
#define sched_exp sum_exec_runtime
|
||||
|
||||
#define INIT_CPUTIME \
|
||||
(struct task_cputime) { \
|
||||
.utime = cputime_zero, \
|
||||
.stime = cputime_zero, \
|
||||
.sum_exec_runtime = 0, \
|
||||
}
|
||||
|
||||
/**
|
||||
* struct thread_group_cputime - thread group interval timer counts
|
||||
* @totals: thread group interval timers; substructure for
|
||||
* uniprocessor kernel, per-cpu for SMP kernel.
|
||||
* struct thread_group_cputimer - thread group interval timer counts
|
||||
* @cputime: thread group interval timers.
|
||||
* @running: non-zero when there are timers running and
|
||||
* @cputime receives updates.
|
||||
* @lock: lock for fields in this struct.
|
||||
*
|
||||
* This structure contains the version of task_cputime, above, that is
|
||||
* used for thread group CPU clock calculations.
|
||||
* used for thread group CPU timer calculations.
|
||||
*/
|
||||
struct thread_group_cputime {
|
||||
struct task_cputime *totals;
|
||||
struct thread_group_cputimer {
|
||||
struct task_cputime cputime;
|
||||
int running;
|
||||
spinlock_t lock;
|
||||
};
|
||||
|
||||
/*
|
||||
|
|
@ -514,10 +528,10 @@ struct signal_struct {
|
|||
cputime_t it_prof_incr, it_virt_incr;
|
||||
|
||||
/*
|
||||
* Thread group totals for process CPU clocks.
|
||||
* See thread_group_cputime(), et al, for details.
|
||||
* Thread group totals for process CPU timers.
|
||||
* See thread_group_cputimer(), et al, for details.
|
||||
*/
|
||||
struct thread_group_cputime cputime;
|
||||
struct thread_group_cputimer cputimer;
|
||||
|
||||
/* Earliest-expiration cache. */
|
||||
struct task_cputime cputime_expires;
|
||||
|
|
@ -554,7 +568,7 @@ struct signal_struct {
|
|||
* Live threads maintain their own counters and add to these
|
||||
* in __exit_signal, except for the group leader.
|
||||
*/
|
||||
cputime_t cutime, cstime;
|
||||
cputime_t utime, stime, cutime, cstime;
|
||||
cputime_t gtime;
|
||||
cputime_t cgtime;
|
||||
unsigned long nvcsw, nivcsw, cnvcsw, cnivcsw;
|
||||
|
|
@ -562,6 +576,14 @@ struct signal_struct {
|
|||
unsigned long inblock, oublock, cinblock, coublock;
|
||||
struct task_io_accounting ioac;
|
||||
|
||||
/*
|
||||
* Cumulative ns of schedule CPU time fo dead threads in the
|
||||
* group, not including a zombie group leader, (This only differs
|
||||
* from jiffies_to_ns(utime + stime) if sched_clock uses something
|
||||
* other than jiffies.)
|
||||
*/
|
||||
unsigned long long sum_sched_runtime;
|
||||
|
||||
/*
|
||||
* We don't bother to synchronize most readers of this at all,
|
||||
* because there is no reader checking a limit that actually needs
|
||||
|
|
@ -626,7 +648,6 @@ struct user_struct {
|
|||
atomic_t inotify_devs; /* How many inotify devs does this user have opened? */
|
||||
#endif
|
||||
#ifdef CONFIG_EPOLL
|
||||
atomic_t epoll_devs; /* The number of epoll descriptors currently open */
|
||||
atomic_t epoll_watches; /* The number of file descriptors currently watched */
|
||||
#endif
|
||||
#ifdef CONFIG_POSIX_MQUEUE
|
||||
|
|
@ -2179,25 +2200,18 @@ static inline int spin_needbreak(spinlock_t *lock)
|
|||
/*
|
||||
* Thread group CPU time accounting.
|
||||
*/
|
||||
|
||||
extern int thread_group_cputime_alloc(struct task_struct *);
|
||||
extern void thread_group_cputime(struct task_struct *, struct task_cputime *);
|
||||
void thread_group_cputime(struct task_struct *tsk, struct task_cputime *times);
|
||||
void thread_group_cputimer(struct task_struct *tsk, struct task_cputime *times);
|
||||
|
||||
static inline void thread_group_cputime_init(struct signal_struct *sig)
|
||||
{
|
||||
sig->cputime.totals = NULL;
|
||||
}
|
||||
|
||||
static inline int thread_group_cputime_clone_thread(struct task_struct *curr)
|
||||
{
|
||||
if (curr->signal->cputime.totals)
|
||||
return 0;
|
||||
return thread_group_cputime_alloc(curr);
|
||||
sig->cputimer.cputime = INIT_CPUTIME;
|
||||
spin_lock_init(&sig->cputimer.lock);
|
||||
sig->cputimer.running = 0;
|
||||
}
|
||||
|
||||
static inline void thread_group_cputime_free(struct signal_struct *sig)
|
||||
{
|
||||
free_percpu(sig->cputime.totals);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue