mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 06:03:36 -04:00
Merge commit 'v2.6.38' into x86/mm
Conflicts: arch/x86/mm/numa_64.c Merge reason: Resolve the conflict, update the branch to .38. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
commit
8460b3e5bc
810 changed files with 8447 additions and 6214 deletions
|
|
@ -4,6 +4,8 @@
|
|||
#ifndef __ASSEMBLY__
|
||||
#ifdef CONFIG_MMU
|
||||
|
||||
#include <linux/mm_types.h>
|
||||
|
||||
#ifndef __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS
|
||||
extern int ptep_set_access_flags(struct vm_area_struct *vma,
|
||||
unsigned long address, pte_t *ptep,
|
||||
|
|
|
|||
|
|
@ -1101,7 +1101,7 @@ struct drm_device {
|
|||
struct platform_device *platformdev; /**< Platform device struture */
|
||||
|
||||
struct drm_sg_mem *sg; /**< Scatter gather memory */
|
||||
int num_crtcs; /**< Number of CRTCs on this device */
|
||||
unsigned int num_crtcs; /**< Number of CRTCs on this device */
|
||||
void *dev_private; /**< device private data */
|
||||
void *mm_private;
|
||||
struct address_space *dev_mapping;
|
||||
|
|
|
|||
|
|
@ -99,7 +99,6 @@ struct rxrpc_key_token {
|
|||
* structure of raw payloads passed to add_key() or instantiate key
|
||||
*/
|
||||
struct rxrpc_key_data_v1 {
|
||||
u32 kif_version; /* 1 */
|
||||
u16 security_index;
|
||||
u16 ticket_length;
|
||||
u32 expiry; /* time_t */
|
||||
|
|
|
|||
|
|
@ -699,7 +699,7 @@ extern void blk_start_queue(struct request_queue *q);
|
|||
extern void blk_stop_queue(struct request_queue *q);
|
||||
extern void blk_sync_queue(struct request_queue *q);
|
||||
extern void __blk_stop_queue(struct request_queue *q);
|
||||
extern void __blk_run_queue(struct request_queue *);
|
||||
extern void __blk_run_queue(struct request_queue *q, bool force_kblockd);
|
||||
extern void blk_run_queue(struct request_queue *);
|
||||
extern int blk_rq_map_user(struct request_queue *, struct request *,
|
||||
struct rq_map_data *, void __user *, unsigned long,
|
||||
|
|
@ -1088,7 +1088,6 @@ static inline void put_dev_sector(Sector p)
|
|||
|
||||
struct work_struct;
|
||||
int kblockd_schedule_work(struct request_queue *q, struct work_struct *work);
|
||||
int kblockd_schedule_delayed_work(struct request_queue *q, struct delayed_work *dwork, unsigned long delay);
|
||||
|
||||
#ifdef CONFIG_BLK_CGROUP
|
||||
/*
|
||||
|
|
@ -1136,7 +1135,6 @@ static inline uint64_t rq_io_start_time_ns(struct request *req)
|
|||
extern int blk_throtl_init(struct request_queue *q);
|
||||
extern void blk_throtl_exit(struct request_queue *q);
|
||||
extern int blk_throtl_bio(struct request_queue *q, struct bio **bio);
|
||||
extern void throtl_schedule_delayed_work(struct request_queue *q, unsigned long delay);
|
||||
extern void throtl_shutdown_timer_wq(struct request_queue *q);
|
||||
#else /* CONFIG_BLK_DEV_THROTTLING */
|
||||
static inline int blk_throtl_bio(struct request_queue *q, struct bio **bio)
|
||||
|
|
@ -1146,7 +1144,6 @@ static inline int blk_throtl_bio(struct request_queue *q, struct bio **bio)
|
|||
|
||||
static inline int blk_throtl_init(struct request_queue *q) { return 0; }
|
||||
static inline int blk_throtl_exit(struct request_queue *q) { return 0; }
|
||||
static inline void throtl_schedule_delayed_work(struct request_queue *q, unsigned long delay) {}
|
||||
static inline void throtl_shutdown_timer_wq(struct request_queue *q) {}
|
||||
#endif /* CONFIG_BLK_DEV_THROTTLING */
|
||||
|
||||
|
|
|
|||
|
|
@ -245,7 +245,6 @@ static inline int blk_cmd_buf_len(struct request *rq)
|
|||
|
||||
extern void blk_dump_cmd(char *buf, struct request *rq);
|
||||
extern void blk_fill_rwbs(char *rwbs, u32 rw, int bytes);
|
||||
extern void blk_fill_rwbs_rq(char *rwbs, struct request *rq);
|
||||
|
||||
#endif /* CONFIG_EVENT_TRACING && CONFIG_BLOCK */
|
||||
|
||||
|
|
|
|||
|
|
@ -123,6 +123,7 @@ struct ceph_msg_pos {
|
|||
#define SOCK_CLOSED 11 /* socket state changed to closed */
|
||||
#define OPENING 13 /* open connection w/ (possibly new) peer */
|
||||
#define DEAD 14 /* dead, about to kfree */
|
||||
#define BACKOFF 15
|
||||
|
||||
/*
|
||||
* A single connection with another host.
|
||||
|
|
@ -160,7 +161,6 @@ struct ceph_connection {
|
|||
struct list_head out_queue;
|
||||
struct list_head out_sent; /* sending or sent but unacked */
|
||||
u64 out_seq; /* last message queued for send */
|
||||
bool out_keepalive_pending;
|
||||
|
||||
u64 in_seq, in_seq_acked; /* last message received, acked */
|
||||
|
||||
|
|
|
|||
|
|
@ -101,8 +101,8 @@ struct ieee_pfc {
|
|||
*/
|
||||
struct dcb_app {
|
||||
__u8 selector;
|
||||
__u32 protocol;
|
||||
__u8 priority;
|
||||
__u16 protocol;
|
||||
};
|
||||
|
||||
struct dcbmsg {
|
||||
|
|
|
|||
|
|
@ -109,7 +109,7 @@ static inline void freezer_count(void)
|
|||
}
|
||||
|
||||
/*
|
||||
* Check if the task should be counted as freezeable by the freezer
|
||||
* Check if the task should be counted as freezable by the freezer
|
||||
*/
|
||||
static inline int freezer_should_skip(struct task_struct *p)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -649,6 +649,7 @@ struct address_space {
|
|||
spinlock_t private_lock; /* for use by the address_space */
|
||||
struct list_head private_list; /* ditto */
|
||||
struct address_space *assoc_mapping; /* ditto */
|
||||
struct mutex unmap_mutex; /* to protect unmapping */
|
||||
} __attribute__((aligned(sizeof(long))));
|
||||
/*
|
||||
* On most architectures that alignment is already the case; but
|
||||
|
|
@ -2139,7 +2140,7 @@ extern void check_disk_size_change(struct gendisk *disk,
|
|||
struct block_device *bdev);
|
||||
extern int revalidate_disk(struct gendisk *);
|
||||
extern int check_disk_change(struct block_device *);
|
||||
extern int __invalidate_device(struct block_device *);
|
||||
extern int __invalidate_device(struct block_device *, bool);
|
||||
extern int invalidate_partition(struct gendisk *, int);
|
||||
#endif
|
||||
unsigned long invalidate_mapping_pages(struct address_space *mapping,
|
||||
|
|
@ -2225,6 +2226,7 @@ extern loff_t vfs_llseek(struct file *file, loff_t offset, int origin);
|
|||
|
||||
extern int inode_init_always(struct super_block *, struct inode *);
|
||||
extern void inode_init_once(struct inode *);
|
||||
extern void address_space_init_once(struct address_space *mapping);
|
||||
extern void ihold(struct inode * inode);
|
||||
extern void iput(struct inode *);
|
||||
extern struct inode * igrab(struct inode *);
|
||||
|
|
|
|||
|
|
@ -332,16 +332,19 @@ alloc_pages(gfp_t gfp_mask, unsigned int order)
|
|||
return alloc_pages_current(gfp_mask, order);
|
||||
}
|
||||
extern struct page *alloc_pages_vma(gfp_t gfp_mask, int order,
|
||||
struct vm_area_struct *vma, unsigned long addr);
|
||||
struct vm_area_struct *vma, unsigned long addr,
|
||||
int node);
|
||||
#else
|
||||
#define alloc_pages(gfp_mask, order) \
|
||||
alloc_pages_node(numa_node_id(), gfp_mask, order)
|
||||
#define alloc_pages_vma(gfp_mask, order, vma, addr) \
|
||||
#define alloc_pages_vma(gfp_mask, order, vma, addr, node) \
|
||||
alloc_pages(gfp_mask, order)
|
||||
#endif
|
||||
#define alloc_page(gfp_mask) alloc_pages(gfp_mask, 0)
|
||||
#define alloc_page_vma(gfp_mask, vma, addr) \
|
||||
alloc_pages_vma(gfp_mask, 0, vma, addr)
|
||||
#define alloc_page_vma(gfp_mask, vma, addr) \
|
||||
alloc_pages_vma(gfp_mask, 0, vma, addr, numa_node_id())
|
||||
#define alloc_page_vma_node(gfp_mask, vma, addr, node) \
|
||||
alloc_pages_vma(gfp_mask, 0, vma, addr, node)
|
||||
|
||||
extern unsigned long __get_free_pages(gfp_t gfp_mask, unsigned int order);
|
||||
extern unsigned long get_zeroed_page(gfp_t gfp_mask);
|
||||
|
|
|
|||
|
|
@ -57,7 +57,8 @@ extern pmd_t *page_check_address_pmd(struct page *page,
|
|||
(transparent_hugepage_flags & \
|
||||
(1<<TRANSPARENT_HUGEPAGE_REQ_MADV_FLAG) && \
|
||||
((__vma)->vm_flags & VM_HUGEPAGE))) && \
|
||||
!((__vma)->vm_flags & VM_NOHUGEPAGE))
|
||||
!((__vma)->vm_flags & VM_NOHUGEPAGE) && \
|
||||
!is_vma_temporary_stack(__vma))
|
||||
#define transparent_hugepage_defrag(__vma) \
|
||||
((transparent_hugepage_flags & \
|
||||
(1<<TRANSPARENT_HUGEPAGE_DEFRAG_FLAG)) || \
|
||||
|
|
|
|||
|
|
@ -4,8 +4,8 @@
|
|||
#include <linux/types.h>
|
||||
#include <linux/input.h>
|
||||
|
||||
#define MATRIX_MAX_ROWS 16
|
||||
#define MATRIX_MAX_COLS 16
|
||||
#define MATRIX_MAX_ROWS 32
|
||||
#define MATRIX_MAX_COLS 32
|
||||
|
||||
#define KEY(row, col, val) ((((row) & (MATRIX_MAX_ROWS - 1)) << 24) |\
|
||||
(((col) & (MATRIX_MAX_COLS - 1)) << 16) |\
|
||||
|
|
|
|||
|
|
@ -96,6 +96,11 @@ static inline void __list_del(struct list_head * prev, struct list_head * next)
|
|||
* in an undefined state.
|
||||
*/
|
||||
#ifndef CONFIG_DEBUG_LIST
|
||||
static inline void __list_del_entry(struct list_head *entry)
|
||||
{
|
||||
__list_del(entry->prev, entry->next);
|
||||
}
|
||||
|
||||
static inline void list_del(struct list_head *entry)
|
||||
{
|
||||
__list_del(entry->prev, entry->next);
|
||||
|
|
@ -103,6 +108,7 @@ static inline void list_del(struct list_head *entry)
|
|||
entry->prev = LIST_POISON2;
|
||||
}
|
||||
#else
|
||||
extern void __list_del_entry(struct list_head *entry);
|
||||
extern void list_del(struct list_head *entry);
|
||||
#endif
|
||||
|
||||
|
|
@ -135,7 +141,7 @@ static inline void list_replace_init(struct list_head *old,
|
|||
*/
|
||||
static inline void list_del_init(struct list_head *entry)
|
||||
{
|
||||
__list_del(entry->prev, entry->next);
|
||||
__list_del_entry(entry);
|
||||
INIT_LIST_HEAD(entry);
|
||||
}
|
||||
|
||||
|
|
@ -146,7 +152,7 @@ static inline void list_del_init(struct list_head *entry)
|
|||
*/
|
||||
static inline void list_move(struct list_head *list, struct list_head *head)
|
||||
{
|
||||
__list_del(list->prev, list->next);
|
||||
__list_del_entry(list);
|
||||
list_add(list, head);
|
||||
}
|
||||
|
||||
|
|
@ -158,7 +164,7 @@ static inline void list_move(struct list_head *list, struct list_head *head)
|
|||
static inline void list_move_tail(struct list_head *list,
|
||||
struct list_head *head)
|
||||
{
|
||||
__list_del(list->prev, list->next);
|
||||
__list_del_entry(list);
|
||||
list_add_tail(list, head);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -71,6 +71,7 @@ struct wm8994 {
|
|||
u16 irq_masks_cache[WM8994_NUM_IRQ_REGS];
|
||||
|
||||
/* Used over suspend/resume */
|
||||
bool suspended;
|
||||
u16 ldo_regs[WM8994_NUM_LDO_REGS];
|
||||
u16 gpio_regs[WM8994_NUM_GPIO_REGS];
|
||||
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@ struct module_version_attribute {
|
|||
struct module_attribute mattr;
|
||||
const char *module_name;
|
||||
const char *version;
|
||||
};
|
||||
} __attribute__ ((__aligned__(sizeof(void *))));
|
||||
|
||||
struct module_kobject
|
||||
{
|
||||
|
|
|
|||
|
|
@ -2392,6 +2392,9 @@ extern int netdev_notice(const struct net_device *dev, const char *format, ...)
|
|||
extern int netdev_info(const struct net_device *dev, const char *format, ...)
|
||||
__attribute__ ((format (printf, 2, 3)));
|
||||
|
||||
#define MODULE_ALIAS_NETDEV(device) \
|
||||
MODULE_ALIAS("netdev-" device)
|
||||
|
||||
#if defined(DEBUG)
|
||||
#define netdev_dbg(__dev, format, args...) \
|
||||
netdev_printk(KERN_DEBUG, __dev, format, ##args)
|
||||
|
|
|
|||
|
|
@ -68,11 +68,7 @@ struct nfs_client {
|
|||
unsigned char cl_id_uniquifier;
|
||||
u32 cl_cb_ident; /* v4.0 callback identifier */
|
||||
const struct nfs4_minor_version_ops *cl_mvops;
|
||||
#endif /* CONFIG_NFS_V4 */
|
||||
|
||||
#ifdef CONFIG_NFS_V4_1
|
||||
/* clientid returned from EXCHANGE_ID, used by session operations */
|
||||
u64 cl_ex_clid;
|
||||
/* The sequence id to use for the next CREATE_SESSION */
|
||||
u32 cl_seqid;
|
||||
/* The flags used for obtaining the clientid during EXCHANGE_ID */
|
||||
|
|
@ -80,7 +76,7 @@ struct nfs_client {
|
|||
struct nfs4_session *cl_session; /* sharred session */
|
||||
struct list_head cl_layouts;
|
||||
struct pnfs_deviceid_cache *cl_devid_cache; /* pNFS deviceid cache */
|
||||
#endif /* CONFIG_NFS_V4_1 */
|
||||
#endif /* CONFIG_NFS_V4 */
|
||||
|
||||
#ifdef CONFIG_NFS_FSCACHE
|
||||
struct fscache_cookie *fscache; /* client index cache cookie */
|
||||
|
|
@ -185,7 +181,7 @@ struct nfs_server {
|
|||
/* maximum number of slots to use */
|
||||
#define NFS4_MAX_SLOT_TABLE RPC_MAX_SLOT_TABLE
|
||||
|
||||
#if defined(CONFIG_NFS_V4_1)
|
||||
#if defined(CONFIG_NFS_V4)
|
||||
|
||||
/* Sessions */
|
||||
#define SLOT_TABLE_SZ (NFS4_MAX_SLOT_TABLE/(8*sizeof(long)))
|
||||
|
|
@ -225,5 +221,5 @@ struct nfs4_session {
|
|||
struct nfs_client *clp;
|
||||
};
|
||||
|
||||
#endif /* CONFIG_NFS_V4_1 */
|
||||
#endif /* CONFIG_NFS_V4 */
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@
|
|||
#include <linux/types.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/printk.h>
|
||||
#include <asm/atomic.h>
|
||||
|
||||
/* Each escaped entry is prefixed by ESCAPE_CODE
|
||||
|
|
@ -186,10 +188,17 @@ int oprofile_add_data(struct op_entry *entry, unsigned long val);
|
|||
int oprofile_add_data64(struct op_entry *entry, u64 val);
|
||||
int oprofile_write_commit(struct op_entry *entry);
|
||||
|
||||
#ifdef CONFIG_PERF_EVENTS
|
||||
#ifdef CONFIG_HW_PERF_EVENTS
|
||||
int __init oprofile_perf_init(struct oprofile_operations *ops);
|
||||
void oprofile_perf_exit(void);
|
||||
char *op_name_from_perf_id(void);
|
||||
#endif /* CONFIG_PERF_EVENTS */
|
||||
#else
|
||||
static inline int __init oprofile_perf_init(struct oprofile_operations *ops)
|
||||
{
|
||||
pr_info("oprofile: hardware counters not available\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
static inline void oprofile_perf_exit(void) { }
|
||||
#endif /* CONFIG_HW_PERF_EVENTS */
|
||||
|
||||
#endif /* OPROFILE_H */
|
||||
|
|
|
|||
|
|
@ -431,6 +431,8 @@ struct dev_pm_info {
|
|||
struct list_head entry;
|
||||
struct completion completion;
|
||||
struct wakeup_source *wakeup;
|
||||
#else
|
||||
unsigned int should_wakeup:1;
|
||||
#endif
|
||||
#ifdef CONFIG_PM_RUNTIME
|
||||
struct timer_list suspend_timer;
|
||||
|
|
|
|||
|
|
@ -109,11 +109,6 @@ static inline bool device_can_wakeup(struct device *dev)
|
|||
return dev->power.can_wakeup;
|
||||
}
|
||||
|
||||
static inline bool device_may_wakeup(struct device *dev)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
static inline struct wakeup_source *wakeup_source_create(const char *name)
|
||||
{
|
||||
return NULL;
|
||||
|
|
@ -134,24 +129,32 @@ static inline void wakeup_source_unregister(struct wakeup_source *ws) {}
|
|||
|
||||
static inline int device_wakeup_enable(struct device *dev)
|
||||
{
|
||||
return -EINVAL;
|
||||
dev->power.should_wakeup = true;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int device_wakeup_disable(struct device *dev)
|
||||
{
|
||||
dev->power.should_wakeup = false;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int device_set_wakeup_enable(struct device *dev, bool enable)
|
||||
{
|
||||
dev->power.should_wakeup = enable;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int device_init_wakeup(struct device *dev, bool val)
|
||||
{
|
||||
dev->power.can_wakeup = val;
|
||||
return val ? -EINVAL : 0;
|
||||
device_set_wakeup_capable(dev, val);
|
||||
device_set_wakeup_enable(dev, val);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static inline int device_set_wakeup_enable(struct device *dev, bool enable)
|
||||
static inline bool device_may_wakeup(struct device *dev)
|
||||
{
|
||||
return -EINVAL;
|
||||
return dev->power.can_wakeup && dev->power.should_wakeup;
|
||||
}
|
||||
|
||||
static inline void __pm_stay_awake(struct wakeup_source *ws) {}
|
||||
|
|
|
|||
|
|
@ -102,11 +102,8 @@
|
|||
|
||||
extern long arch_ptrace(struct task_struct *child, long request,
|
||||
unsigned long addr, unsigned long data);
|
||||
extern int ptrace_traceme(void);
|
||||
extern int ptrace_readdata(struct task_struct *tsk, unsigned long src, char __user *dst, int len);
|
||||
extern int ptrace_writedata(struct task_struct *tsk, char __user *src, unsigned long dst, int len);
|
||||
extern int ptrace_attach(struct task_struct *tsk);
|
||||
extern int ptrace_detach(struct task_struct *, unsigned int);
|
||||
extern void ptrace_disable(struct task_struct *);
|
||||
extern int ptrace_check_attach(struct task_struct *task, int kill);
|
||||
extern int ptrace_request(struct task_struct *child, long request,
|
||||
|
|
|
|||
|
|
@ -14,10 +14,12 @@
|
|||
#define LINUX_RIO_REGS_H
|
||||
|
||||
/*
|
||||
* In RapidIO, each device has a 2MB configuration space that is
|
||||
* In RapidIO, each device has a 16MB configuration space that is
|
||||
* accessed via maintenance transactions. Portions of configuration
|
||||
* space are standardized and/or reserved.
|
||||
*/
|
||||
#define RIO_MAINT_SPACE_SZ 0x1000000 /* 16MB of RapidIO mainenance space */
|
||||
|
||||
#define RIO_DEV_ID_CAR 0x00 /* [I] Device Identity CAR */
|
||||
#define RIO_DEV_INFO_CAR 0x04 /* [I] Device Information CAR */
|
||||
#define RIO_ASM_ID_CAR 0x08 /* [I] Assembly Identity CAR */
|
||||
|
|
|
|||
|
|
@ -203,6 +203,18 @@ struct rtc_device
|
|||
struct hrtimer pie_timer; /* sub second exp, so needs hrtimer */
|
||||
int pie_enabled;
|
||||
struct work_struct irqwork;
|
||||
|
||||
|
||||
#ifdef CONFIG_RTC_INTF_DEV_UIE_EMUL
|
||||
struct work_struct uie_task;
|
||||
struct timer_list uie_timer;
|
||||
/* Those fields are protected by rtc->irq_lock */
|
||||
unsigned int oldsecs;
|
||||
unsigned int uie_irq_active:1;
|
||||
unsigned int stop_uie_polling:1;
|
||||
unsigned int uie_task_active:1;
|
||||
unsigned int uie_timer_active:1;
|
||||
#endif
|
||||
};
|
||||
#define to_rtc_device(d) container_of(d, struct rtc_device, dev)
|
||||
|
||||
|
|
@ -235,7 +247,10 @@ extern int rtc_irq_set_freq(struct rtc_device *rtc,
|
|||
struct rtc_task *task, int freq);
|
||||
extern int rtc_update_irq_enable(struct rtc_device *rtc, unsigned int enabled);
|
||||
extern int rtc_alarm_irq_enable(struct rtc_device *rtc, unsigned int enabled);
|
||||
extern int rtc_dev_update_irq_enable_emul(struct rtc_device *rtc,
|
||||
unsigned int enabled);
|
||||
|
||||
void rtc_handle_legacy_irq(struct rtc_device *rtc, int num, int mode);
|
||||
void rtc_aie_update_irq(void *private);
|
||||
void rtc_uie_update_irq(void *private);
|
||||
enum hrtimer_restart rtc_pie_update_irq(struct hrtimer *timer);
|
||||
|
|
|
|||
|
|
@ -1744,7 +1744,7 @@ extern void thread_group_times(struct task_struct *p, cputime_t *ut, cputime_t *
|
|||
#define PF_MCE_EARLY 0x08000000 /* Early kill for mce process policy */
|
||||
#define PF_MEMPOLICY 0x10000000 /* Non-default NUMA mempolicy */
|
||||
#define PF_MUTEX_TESTER 0x20000000 /* Thread belongs to the rt mutex tester */
|
||||
#define PF_FREEZER_SKIP 0x40000000 /* Freezer should not count it as freezeable */
|
||||
#define PF_FREEZER_SKIP 0x40000000 /* Freezer should not count it as freezable */
|
||||
#define PF_FREEZER_NOSIG 0x80000000 /* Freezer won't send signals to it */
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -212,6 +212,7 @@ struct rpc_task *rpc_run_task(const struct rpc_task_setup *);
|
|||
struct rpc_task *rpc_run_bc_task(struct rpc_rqst *req,
|
||||
const struct rpc_call_ops *ops);
|
||||
void rpc_put_task(struct rpc_task *);
|
||||
void rpc_put_task_async(struct rpc_task *);
|
||||
void rpc_exit_task(struct rpc_task *);
|
||||
void rpc_exit(struct rpc_task *, int);
|
||||
void rpc_release_calldata(const struct rpc_call_ops *, void *);
|
||||
|
|
|
|||
|
|
@ -930,6 +930,7 @@ enum
|
|||
|
||||
#ifdef __KERNEL__
|
||||
#include <linux/list.h>
|
||||
#include <linux/rcupdate.h>
|
||||
|
||||
/* For the /proc/sys support */
|
||||
struct ctl_table;
|
||||
|
|
@ -1037,10 +1038,15 @@ struct ctl_table_root {
|
|||
struct ctl_table trees. */
|
||||
struct ctl_table_header
|
||||
{
|
||||
struct ctl_table *ctl_table;
|
||||
struct list_head ctl_entry;
|
||||
int used;
|
||||
int count;
|
||||
union {
|
||||
struct {
|
||||
struct ctl_table *ctl_table;
|
||||
struct list_head ctl_entry;
|
||||
int used;
|
||||
int count;
|
||||
};
|
||||
struct rcu_head rcu;
|
||||
};
|
||||
struct completion *unregistering;
|
||||
struct ctl_table *ctl_table_arg;
|
||||
struct ctl_table_root *root;
|
||||
|
|
|
|||
|
|
@ -172,6 +172,14 @@ void thermal_zone_device_update(struct thermal_zone_device *);
|
|||
struct thermal_cooling_device *thermal_cooling_device_register(char *, void *,
|
||||
const struct thermal_cooling_device_ops *);
|
||||
void thermal_cooling_device_unregister(struct thermal_cooling_device *);
|
||||
|
||||
#ifdef CONFIG_NET
|
||||
extern int generate_netlink_event(u32 orig, enum events event);
|
||||
#else
|
||||
static inline int generate_netlink_event(u32 orig, enum events event)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __THERMAL_H__ */
|
||||
|
|
|
|||
|
|
@ -250,7 +250,7 @@ static inline unsigned int work_static(struct work_struct *work) { return 0; }
|
|||
enum {
|
||||
WQ_NON_REENTRANT = 1 << 0, /* guarantee non-reentrance */
|
||||
WQ_UNBOUND = 1 << 1, /* not bound to any cpu */
|
||||
WQ_FREEZEABLE = 1 << 2, /* freeze during suspend */
|
||||
WQ_FREEZABLE = 1 << 2, /* freeze during suspend */
|
||||
WQ_MEM_RECLAIM = 1 << 3, /* may be used for memory reclaim */
|
||||
WQ_HIGHPRI = 1 << 4, /* high priority */
|
||||
WQ_CPU_INTENSIVE = 1 << 5, /* cpu instensive workqueue */
|
||||
|
|
@ -318,7 +318,7 @@ __alloc_workqueue_key(const char *name, unsigned int flags, int max_active,
|
|||
/**
|
||||
* alloc_ordered_workqueue - allocate an ordered workqueue
|
||||
* @name: name of the workqueue
|
||||
* @flags: WQ_* flags (only WQ_FREEZEABLE and WQ_MEM_RECLAIM are meaningful)
|
||||
* @flags: WQ_* flags (only WQ_FREEZABLE and WQ_MEM_RECLAIM are meaningful)
|
||||
*
|
||||
* Allocate an ordered workqueue. An ordered workqueue executes at
|
||||
* most one work item at any given time in the queued order. They are
|
||||
|
|
@ -335,8 +335,8 @@ alloc_ordered_workqueue(const char *name, unsigned int flags)
|
|||
|
||||
#define create_workqueue(name) \
|
||||
alloc_workqueue((name), WQ_MEM_RECLAIM, 1)
|
||||
#define create_freezeable_workqueue(name) \
|
||||
alloc_workqueue((name), WQ_FREEZEABLE | WQ_UNBOUND | WQ_MEM_RECLAIM, 1)
|
||||
#define create_freezable_workqueue(name) \
|
||||
alloc_workqueue((name), WQ_FREEZABLE | WQ_UNBOUND | WQ_MEM_RECLAIM, 1)
|
||||
#define create_singlethread_workqueue(name) \
|
||||
alloc_workqueue((name), WQ_UNBOUND | WQ_MEM_RECLAIM, 1)
|
||||
|
||||
|
|
|
|||
|
|
@ -88,6 +88,18 @@
|
|||
#define IPV6_ADDR_SCOPE_ORGLOCAL 0x08
|
||||
#define IPV6_ADDR_SCOPE_GLOBAL 0x0e
|
||||
|
||||
/*
|
||||
* Addr flags
|
||||
*/
|
||||
#ifdef __KERNEL__
|
||||
#define IPV6_ADDR_MC_FLAG_TRANSIENT(a) \
|
||||
((a)->s6_addr[1] & 0x10)
|
||||
#define IPV6_ADDR_MC_FLAG_PREFIX(a) \
|
||||
((a)->s6_addr[1] & 0x20)
|
||||
#define IPV6_ADDR_MC_FLAG_RENDEZVOUS(a) \
|
||||
((a)->s6_addr[1] & 0x40)
|
||||
#endif
|
||||
|
||||
/*
|
||||
* fragmentation header
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -201,18 +201,8 @@ nf_tproxy_get_sock_v6(struct net *net, const u8 protocol,
|
|||
}
|
||||
#endif
|
||||
|
||||
static inline void
|
||||
nf_tproxy_put_sock(struct sock *sk)
|
||||
{
|
||||
/* TIME_WAIT inet sockets have to be handled differently */
|
||||
if ((sk->sk_protocol == IPPROTO_TCP) && (sk->sk_state == TCP_TIME_WAIT))
|
||||
inet_twsk_put(inet_twsk(sk));
|
||||
else
|
||||
sock_put(sk);
|
||||
}
|
||||
|
||||
/* assign a socket to the skb -- consumes sk */
|
||||
int
|
||||
void
|
||||
nf_tproxy_assign_sock(struct sk_buff *skb, struct sock *sk);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@ struct tcf_proto {
|
|||
|
||||
struct qdisc_skb_cb {
|
||||
unsigned int pkt_len;
|
||||
char data[];
|
||||
long data[];
|
||||
};
|
||||
|
||||
static inline int qdisc_qlen(struct Qdisc *q)
|
||||
|
|
|
|||
|
|
@ -261,6 +261,7 @@ void pcmcia_disable_device(struct pcmcia_device *p_dev);
|
|||
#define CONF_ENABLE_ESR 0x0008
|
||||
#define CONF_ENABLE_IOCARD 0x0010 /* auto-enabled if IO resources or IRQ
|
||||
* (CONF_ENABLE_IRQ) in use */
|
||||
#define CONF_ENABLE_ZVCARD 0x0020
|
||||
|
||||
/* flags used by pcmcia_loop_config() autoconfiguration */
|
||||
#define CONF_AUTO_CHECK_VCC 0x0100 /* check for matching Vcc? */
|
||||
|
|
|
|||
|
|
@ -17,13 +17,9 @@
|
|||
/*
|
||||
* R6 (0x06) - Mic Bias Control 0
|
||||
*/
|
||||
#define WM8903_MICDET_HYST_ENA 0x0080 /* MICDET_HYST_ENA */
|
||||
#define WM8903_MICDET_HYST_ENA_MASK 0x0080 /* MICDET_HYST_ENA */
|
||||
#define WM8903_MICDET_HYST_ENA_SHIFT 7 /* MICDET_HYST_ENA */
|
||||
#define WM8903_MICDET_HYST_ENA_WIDTH 1 /* MICDET_HYST_ENA */
|
||||
#define WM8903_MICDET_THR_MASK 0x0070 /* MICDET_THR - [6:4] */
|
||||
#define WM8903_MICDET_THR_SHIFT 4 /* MICDET_THR - [6:4] */
|
||||
#define WM8903_MICDET_THR_WIDTH 3 /* MICDET_THR - [6:4] */
|
||||
#define WM8903_MICDET_THR_MASK 0x0030 /* MICDET_THR - [5:4] */
|
||||
#define WM8903_MICDET_THR_SHIFT 4 /* MICDET_THR - [5:4] */
|
||||
#define WM8903_MICDET_THR_WIDTH 2 /* MICDET_THR - [5:4] */
|
||||
#define WM8903_MICSHORT_THR_MASK 0x000C /* MICSHORT_THR - [3:2] */
|
||||
#define WM8903_MICSHORT_THR_SHIFT 2 /* MICSHORT_THR - [3:2] */
|
||||
#define WM8903_MICSHORT_THR_WIDTH 2 /* MICSHORT_THR - [3:2] */
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@
|
|||
#include <scsi/scsi_cmnd.h>
|
||||
#include <net/sock.h>
|
||||
#include <net/tcp.h>
|
||||
#include "target_core_mib.h"
|
||||
|
||||
#define TARGET_CORE_MOD_VERSION "v4.0.0-rc6"
|
||||
#define SHUTDOWN_SIGS (sigmask(SIGKILL)|sigmask(SIGINT)|sigmask(SIGABRT))
|
||||
|
|
@ -195,6 +194,21 @@ typedef enum {
|
|||
SAM_TASK_ATTR_EMULATED
|
||||
} t10_task_attr_index_t;
|
||||
|
||||
/*
|
||||
* Used for target SCSI statistics
|
||||
*/
|
||||
typedef enum {
|
||||
SCSI_INST_INDEX,
|
||||
SCSI_DEVICE_INDEX,
|
||||
SCSI_AUTH_INTR_INDEX,
|
||||
SCSI_INDEX_TYPE_MAX
|
||||
} scsi_index_t;
|
||||
|
||||
struct scsi_index_table {
|
||||
spinlock_t lock;
|
||||
u32 scsi_mib_index[SCSI_INDEX_TYPE_MAX];
|
||||
} ____cacheline_aligned;
|
||||
|
||||
struct se_cmd;
|
||||
|
||||
struct t10_alua {
|
||||
|
|
@ -578,8 +592,6 @@ struct se_node_acl {
|
|||
spinlock_t stats_lock;
|
||||
/* Used for PR SPEC_I_PT=1 and REGISTER_AND_MOVE */
|
||||
atomic_t acl_pr_ref_count;
|
||||
/* Used for MIB access */
|
||||
atomic_t mib_ref_count;
|
||||
struct se_dev_entry *device_list;
|
||||
struct se_session *nacl_sess;
|
||||
struct se_portal_group *se_tpg;
|
||||
|
|
@ -595,8 +607,6 @@ struct se_node_acl {
|
|||
} ____cacheline_aligned;
|
||||
|
||||
struct se_session {
|
||||
/* Used for MIB access */
|
||||
atomic_t mib_ref_count;
|
||||
u64 sess_bin_isid;
|
||||
struct se_node_acl *se_node_acl;
|
||||
struct se_portal_group *se_tpg;
|
||||
|
|
@ -806,7 +816,6 @@ struct se_hba {
|
|||
/* Virtual iSCSI devices attached. */
|
||||
u32 dev_count;
|
||||
u32 hba_index;
|
||||
atomic_t dev_mib_access_count;
|
||||
atomic_t load_balance_queue;
|
||||
atomic_t left_queue_depth;
|
||||
/* Maximum queue depth the HBA can handle. */
|
||||
|
|
@ -845,6 +854,12 @@ struct se_lun {
|
|||
|
||||
#define SE_LUN(c) ((struct se_lun *)(c)->se_lun)
|
||||
|
||||
struct scsi_port_stats {
|
||||
u64 cmd_pdus;
|
||||
u64 tx_data_octets;
|
||||
u64 rx_data_octets;
|
||||
} ____cacheline_aligned;
|
||||
|
||||
struct se_port {
|
||||
/* RELATIVE TARGET PORT IDENTIFER */
|
||||
u16 sep_rtpi;
|
||||
|
|
@ -867,6 +882,7 @@ struct se_port {
|
|||
} ____cacheline_aligned;
|
||||
|
||||
struct se_tpg_np {
|
||||
struct se_portal_group *tpg_np_parent;
|
||||
struct config_group tpg_np_group;
|
||||
} ____cacheline_aligned;
|
||||
|
||||
|
|
|
|||
|
|
@ -111,6 +111,8 @@ struct se_subsystem_api;
|
|||
|
||||
extern int init_se_global(void);
|
||||
extern void release_se_global(void);
|
||||
extern void init_scsi_index_table(void);
|
||||
extern u32 scsi_get_new_index(scsi_index_t);
|
||||
extern void transport_init_queue_obj(struct se_queue_obj *);
|
||||
extern int transport_subsystem_check_init(void);
|
||||
extern int transport_subsystem_register(struct se_subsystem_api *);
|
||||
|
|
@ -133,6 +135,8 @@ extern void transport_complete_task(struct se_task *, int);
|
|||
extern void transport_add_task_to_execute_queue(struct se_task *,
|
||||
struct se_task *,
|
||||
struct se_device *);
|
||||
extern void transport_remove_task_from_execute_queue(struct se_task *,
|
||||
struct se_device *);
|
||||
unsigned char *transport_dump_cmd_direction(struct se_cmd *);
|
||||
extern void transport_dump_dev_state(struct se_device *, char *, int *);
|
||||
extern void transport_dump_dev_info(struct se_device *, struct se_lun *,
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ DECLARE_EVENT_CLASS(block_rq_with_error,
|
|||
0 : blk_rq_sectors(rq);
|
||||
__entry->errors = rq->errors;
|
||||
|
||||
blk_fill_rwbs_rq(__entry->rwbs, rq);
|
||||
blk_fill_rwbs(__entry->rwbs, rq->cmd_flags, blk_rq_bytes(rq));
|
||||
blk_dump_cmd(__get_str(cmd), rq);
|
||||
),
|
||||
|
||||
|
|
@ -118,7 +118,7 @@ DECLARE_EVENT_CLASS(block_rq,
|
|||
__entry->bytes = (rq->cmd_type == REQ_TYPE_BLOCK_PC) ?
|
||||
blk_rq_bytes(rq) : 0;
|
||||
|
||||
blk_fill_rwbs_rq(__entry->rwbs, rq);
|
||||
blk_fill_rwbs(__entry->rwbs, rq->cmd_flags, blk_rq_bytes(rq));
|
||||
blk_dump_cmd(__get_str(cmd), rq);
|
||||
memcpy(__entry->comm, current->comm, TASK_COMM_LEN);
|
||||
),
|
||||
|
|
@ -563,7 +563,7 @@ TRACE_EVENT(block_rq_remap,
|
|||
__entry->nr_sector = blk_rq_sectors(rq);
|
||||
__entry->old_dev = dev;
|
||||
__entry->old_sector = from;
|
||||
blk_fill_rwbs_rq(__entry->rwbs, rq);
|
||||
blk_fill_rwbs(__entry->rwbs, rq->cmd_flags, blk_rq_bytes(rq));
|
||||
),
|
||||
|
||||
TP_printk("%d,%d %s %llu + %u <- (%d,%d) %llu",
|
||||
|
|
|
|||
Loading…
Reference in a new issue