Merge 3.16-rc2 into staging-next
We want the staging fixes here as well.
This commit is contained in:
commit
ef7994fa2a
499 changed files with 7718 additions and 4327 deletions
|
|
@ -42,7 +42,7 @@ struct blk_mq_hw_ctx {
|
|||
unsigned int nr_ctx;
|
||||
struct blk_mq_ctx **ctxs;
|
||||
|
||||
unsigned int wait_index;
|
||||
atomic_t wait_index;
|
||||
|
||||
struct blk_mq_tags *tags;
|
||||
|
||||
|
|
|
|||
|
|
@ -920,7 +920,7 @@ static inline unsigned int blk_max_size_offset(struct request_queue *q,
|
|||
sector_t offset)
|
||||
{
|
||||
if (!q->limits.chunk_sectors)
|
||||
return q->limits.max_hw_sectors;
|
||||
return q->limits.max_sectors;
|
||||
|
||||
return q->limits.chunk_sectors -
|
||||
(offset & (q->limits.chunk_sectors - 1));
|
||||
|
|
|
|||
|
|
@ -133,7 +133,6 @@ extern struct request *elv_latter_request(struct request_queue *, struct request
|
|||
extern int elv_register_queue(struct request_queue *q);
|
||||
extern void elv_unregister_queue(struct request_queue *q);
|
||||
extern int elv_may_queue(struct request_queue *, int);
|
||||
extern void elv_abort_queue(struct request_queue *);
|
||||
extern void elv_completed_request(struct request_queue *, struct request *);
|
||||
extern int elv_set_request(struct request_queue *q, struct request *rq,
|
||||
struct bio *bio, gfp_t gfp_mask);
|
||||
|
|
|
|||
|
|
@ -1921,6 +1921,12 @@ static inline int break_lease(struct inode *inode, unsigned int mode)
|
|||
|
||||
static inline int break_deleg(struct inode *inode, unsigned int mode)
|
||||
{
|
||||
/*
|
||||
* Since this check is lockless, we must ensure that any refcounts
|
||||
* taken are done before checking inode->i_flock. Otherwise, we could
|
||||
* end up racing with tasks trying to set a new lease on this file.
|
||||
*/
|
||||
smp_mb();
|
||||
if (inode->i_flock)
|
||||
return __break_lease(inode, mode, FL_DELEG);
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@ extern int prof_on __read_mostly;
|
|||
int profile_init(void);
|
||||
int profile_setup(char *str);
|
||||
void profile_tick(int type);
|
||||
int setup_profiling_timer(unsigned int multiplier);
|
||||
|
||||
/*
|
||||
* Add multiple profiler hits to a given address:
|
||||
|
|
|
|||
|
|
@ -395,6 +395,11 @@ static inline void regulator_bulk_free(int num_consumers,
|
|||
{
|
||||
}
|
||||
|
||||
static inline int regulator_can_change_voltage(struct regulator *regulator)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static inline int regulator_set_voltage(struct regulator *regulator,
|
||||
int min_uV, int max_uV)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -327,6 +327,7 @@ extern unsigned long get_safe_page(gfp_t gfp_mask);
|
|||
extern void hibernation_set_ops(const struct platform_hibernation_ops *ops);
|
||||
extern int hibernate(void);
|
||||
extern bool system_entering_hibernation(void);
|
||||
extern bool hibernation_available(void);
|
||||
asmlinkage int swsusp_save(void);
|
||||
extern struct pbe *restore_pblist;
|
||||
#else /* CONFIG_HIBERNATION */
|
||||
|
|
@ -339,6 +340,7 @@ static inline void swsusp_unset_page_free(struct page *p) {}
|
|||
static inline void hibernation_set_ops(const struct platform_hibernation_ops *ops) {}
|
||||
static inline int hibernate(void) { return -ENOSYS; }
|
||||
static inline bool system_entering_hibernation(void) { return false; }
|
||||
static inline bool hibernation_available(void) { return false; }
|
||||
#endif /* CONFIG_HIBERNATION */
|
||||
|
||||
/* Hibernation and suspend events */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue