mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 13:44:26 -04:00
Merge 4.0-rc5 into staging-testing
We want the staging tree fixes that are upstream here as well to prevent merge conflicts from people trying to clean up code. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
commit
807dc0668e
527 changed files with 5533 additions and 3842 deletions
|
|
@ -125,6 +125,19 @@ int clk_set_phase(struct clk *clk, int degrees);
|
|||
*/
|
||||
int clk_get_phase(struct clk *clk);
|
||||
|
||||
/**
|
||||
* clk_is_match - check if two clk's point to the same hardware clock
|
||||
* @p: clk compared against q
|
||||
* @q: clk compared against p
|
||||
*
|
||||
* Returns true if the two struct clk pointers both point to the same hardware
|
||||
* clock node. Put differently, returns true if struct clk *p and struct clk *q
|
||||
* share the same struct clk_core object.
|
||||
*
|
||||
* Returns false otherwise. Note that two NULL clks are treated as matching.
|
||||
*/
|
||||
bool clk_is_match(const struct clk *p, const struct clk *q);
|
||||
|
||||
#else
|
||||
|
||||
static inline long clk_get_accuracy(struct clk *clk)
|
||||
|
|
@ -142,6 +155,11 @@ static inline long clk_get_phase(struct clk *clk)
|
|||
return -ENOTSUPP;
|
||||
}
|
||||
|
||||
static inline bool clk_is_match(const struct clk *p, const struct clk *q)
|
||||
{
|
||||
return p == q;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -375,6 +375,7 @@ int dm_create(int minor, struct mapped_device **md);
|
|||
*/
|
||||
struct mapped_device *dm_get_md(dev_t dev);
|
||||
void dm_get(struct mapped_device *md);
|
||||
int dm_hold(struct mapped_device *md);
|
||||
void dm_put(struct mapped_device *md);
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -166,6 +166,11 @@
|
|||
|
||||
#define GITS_TRANSLATER 0x10040
|
||||
|
||||
#define GITS_CTLR_ENABLE (1U << 0)
|
||||
#define GITS_CTLR_QUIESCENT (1U << 31)
|
||||
|
||||
#define GITS_TYPER_DEVBITS_SHIFT 13
|
||||
#define GITS_TYPER_DEVBITS(r) ((((r) >> GITS_TYPER_DEVBITS_SHIFT) & 0x1f) + 1)
|
||||
#define GITS_TYPER_PTA (1UL << 19)
|
||||
|
||||
#define GITS_CBASER_VALID (1UL << 63)
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@
|
|||
|
||||
struct kmem_cache;
|
||||
struct page;
|
||||
struct vm_struct;
|
||||
|
||||
#ifdef CONFIG_KASAN
|
||||
|
||||
|
|
@ -49,15 +50,11 @@ void kasan_krealloc(const void *object, size_t new_size);
|
|||
void kasan_slab_alloc(struct kmem_cache *s, void *object);
|
||||
void kasan_slab_free(struct kmem_cache *s, void *object);
|
||||
|
||||
#define MODULE_ALIGN (PAGE_SIZE << KASAN_SHADOW_SCALE_SHIFT)
|
||||
|
||||
int kasan_module_alloc(void *addr, size_t size);
|
||||
void kasan_module_free(void *addr);
|
||||
void kasan_free_shadow(const struct vm_struct *vm);
|
||||
|
||||
#else /* CONFIG_KASAN */
|
||||
|
||||
#define MODULE_ALIGN 1
|
||||
|
||||
static inline void kasan_unpoison_shadow(const void *address, size_t size) {}
|
||||
|
||||
static inline void kasan_enable_current(void) {}
|
||||
|
|
@ -82,7 +79,7 @@ static inline void kasan_slab_alloc(struct kmem_cache *s, void *object) {}
|
|||
static inline void kasan_slab_free(struct kmem_cache *s, void *object) {}
|
||||
|
||||
static inline int kasan_module_alloc(void *addr, size_t size) { return 0; }
|
||||
static inline void kasan_module_free(void *addr) {}
|
||||
static inline void kasan_free_shadow(const struct vm_struct *vm) {}
|
||||
|
||||
#endif /* CONFIG_KASAN */
|
||||
|
||||
|
|
|
|||
|
|
@ -344,6 +344,10 @@ struct module {
|
|||
unsigned long *ftrace_callsites;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_LIVEPATCH
|
||||
bool klp_alive;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MODULE_UNLOAD
|
||||
/* What modules depend on me? */
|
||||
struct list_head source_list;
|
||||
|
|
|
|||
|
|
@ -84,4 +84,12 @@ void module_arch_cleanup(struct module *mod);
|
|||
|
||||
/* Any cleanup before freeing mod->module_init */
|
||||
void module_arch_freeing_init(struct module *mod);
|
||||
|
||||
#ifdef CONFIG_KASAN
|
||||
#include <linux/kasan.h>
|
||||
#define MODULE_ALIGN (PAGE_SIZE << KASAN_SHADOW_SCALE_SHIFT)
|
||||
#else
|
||||
#define MODULE_ALIGN PAGE_SIZE
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -965,9 +965,12 @@ typedef u16 (*select_queue_fallback_t)(struct net_device *dev,
|
|||
* Used to add FDB entries to dump requests. Implementers should add
|
||||
* entries to skb and update idx with the number of entries.
|
||||
*
|
||||
* int (*ndo_bridge_setlink)(struct net_device *dev, struct nlmsghdr *nlh)
|
||||
* int (*ndo_bridge_setlink)(struct net_device *dev, struct nlmsghdr *nlh,
|
||||
* u16 flags)
|
||||
* int (*ndo_bridge_getlink)(struct sk_buff *skb, u32 pid, u32 seq,
|
||||
* struct net_device *dev, u32 filter_mask)
|
||||
* int (*ndo_bridge_dellink)(struct net_device *dev, struct nlmsghdr *nlh,
|
||||
* u16 flags);
|
||||
*
|
||||
* int (*ndo_change_carrier)(struct net_device *dev, bool new_carrier);
|
||||
* Called to change device carrier. Soft-devices (like dummy, team, etc)
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ static inline int of_platform_populate(struct device_node *root,
|
|||
static inline void of_platform_depopulate(struct device *parent) { }
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_OF_DYNAMIC
|
||||
#if defined(CONFIG_OF_DYNAMIC) && defined(CONFIG_OF_ADDRESS)
|
||||
extern void of_platform_register_reconfig_notifier(void);
|
||||
#else
|
||||
static inline void of_platform_register_reconfig_notifier(void) { }
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ static inline int pinctrl_gpio_direction_output(unsigned gpio)
|
|||
|
||||
static inline struct pinctrl * __must_check pinctrl_get(struct device *dev)
|
||||
{
|
||||
return ERR_PTR(-ENOSYS);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline void pinctrl_put(struct pinctrl *p)
|
||||
|
|
@ -93,7 +93,7 @@ static inline struct pinctrl_state * __must_check pinctrl_lookup_state(
|
|||
struct pinctrl *p,
|
||||
const char *name)
|
||||
{
|
||||
return ERR_PTR(-ENOSYS);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline int pinctrl_select_state(struct pinctrl *p,
|
||||
|
|
@ -104,7 +104,7 @@ static inline int pinctrl_select_state(struct pinctrl *p,
|
|||
|
||||
static inline struct pinctrl * __must_check devm_pinctrl_get(struct device *dev)
|
||||
{
|
||||
return ERR_PTR(-ENOSYS);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static inline void devm_pinctrl_put(struct pinctrl *p)
|
||||
|
|
|
|||
|
|
@ -948,6 +948,13 @@ static inline void skb_copy_hash(struct sk_buff *to, const struct sk_buff *from)
|
|||
to->l4_hash = from->l4_hash;
|
||||
};
|
||||
|
||||
static inline void skb_sender_cpu_clear(struct sk_buff *skb)
|
||||
{
|
||||
#ifdef CONFIG_XPS
|
||||
skb->sender_cpu = 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef NET_SKBUFF_DATA_USES_OFFSET
|
||||
static inline unsigned char *skb_end_pointer(const struct sk_buff *skb)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -649,7 +649,7 @@ struct spi_transfer {
|
|||
* sequence completes. On some systems, many such sequences can execute as
|
||||
* as single programmed DMA transfer. On all systems, these messages are
|
||||
* queued, and might complete after transactions to other devices. Messages
|
||||
* sent to a given spi_device are alway executed in FIFO order.
|
||||
* sent to a given spi_device are always executed in FIFO order.
|
||||
*
|
||||
* The code that submits an spi_message (and its spi_transfers)
|
||||
* to the lower layers is responsible for managing its memory.
|
||||
|
|
|
|||
|
|
@ -98,6 +98,8 @@ ssize_t iov_iter_get_pages_alloc(struct iov_iter *i, struct page ***pages,
|
|||
size_t maxsize, size_t *start);
|
||||
int iov_iter_npages(const struct iov_iter *i, int maxpages);
|
||||
|
||||
const void *dup_iter(struct iov_iter *new, struct iov_iter *old, gfp_t flags);
|
||||
|
||||
static inline size_t iov_iter_count(struct iov_iter *i)
|
||||
{
|
||||
return i->count;
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@ struct vm_area_struct; /* vma defining user mapping in mm_types.h */
|
|||
#define VM_VPAGES 0x00000010 /* buffer for pages was vmalloc'ed */
|
||||
#define VM_UNINITIALIZED 0x00000020 /* vm_struct is not fully initialized */
|
||||
#define VM_NO_GUARD 0x00000040 /* don't add guard page */
|
||||
#define VM_KASAN 0x00000080 /* has allocated kasan shadow memory */
|
||||
/* bits [20..32] reserved for arch specific ioremap internals */
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -70,7 +70,8 @@ enum {
|
|||
/* data contains off-queue information when !WORK_STRUCT_PWQ */
|
||||
WORK_OFFQ_FLAG_BASE = WORK_STRUCT_COLOR_SHIFT,
|
||||
|
||||
WORK_OFFQ_CANCELING = (1 << WORK_OFFQ_FLAG_BASE),
|
||||
__WORK_OFFQ_CANCELING = WORK_OFFQ_FLAG_BASE,
|
||||
WORK_OFFQ_CANCELING = (1 << __WORK_OFFQ_CANCELING),
|
||||
|
||||
/*
|
||||
* When a work item is off queue, its high bits point to the last
|
||||
|
|
|
|||
Loading…
Reference in a new issue