mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-24 05:29:04 -04:00
Merge 4.5-rc6 into usb-next
We want the USB fixes in here as well. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
commit
71e41bbb43
537 changed files with 7314 additions and 4374 deletions
|
|
@ -144,7 +144,7 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect);
|
|||
*/
|
||||
#define if(cond, ...) __trace_if( (cond , ## __VA_ARGS__) )
|
||||
#define __trace_if(cond) \
|
||||
if (__builtin_constant_p((cond)) ? !!(cond) : \
|
||||
if (__builtin_constant_p(!!(cond)) ? !!(cond) : \
|
||||
({ \
|
||||
int ______r; \
|
||||
static struct ftrace_branch_data \
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
ssize_t dax_do_io(struct kiocb *, struct inode *, struct iov_iter *, loff_t,
|
||||
get_block_t, dio_iodone_t, int flags);
|
||||
int dax_clear_blocks(struct inode *, sector_t block, long size);
|
||||
int dax_clear_sectors(struct block_device *bdev, sector_t _sector, long _size);
|
||||
int dax_zero_page_range(struct inode *, loff_t from, unsigned len, get_block_t);
|
||||
int dax_truncate_page(struct inode *, loff_t from, get_block_t);
|
||||
int dax_fault(struct vm_area_struct *, struct vm_fault *, get_block_t,
|
||||
|
|
@ -52,6 +52,8 @@ static inline bool dax_mapping(struct address_space *mapping)
|
|||
{
|
||||
return mapping->host && IS_DAX(mapping->host);
|
||||
}
|
||||
int dax_writeback_mapping_range(struct address_space *mapping, loff_t start,
|
||||
loff_t end);
|
||||
|
||||
struct writeback_control;
|
||||
int dax_writeback_mapping_range(struct address_space *mapping,
|
||||
struct block_device *bdev, struct writeback_control *wbc);
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -1199,7 +1199,10 @@ int efivar_entry_iter(int (*func)(struct efivar_entry *, void *),
|
|||
struct efivar_entry *efivar_entry_find(efi_char16_t *name, efi_guid_t guid,
|
||||
struct list_head *head, bool remove);
|
||||
|
||||
bool efivar_validate(efi_char16_t *var_name, u8 *data, unsigned long len);
|
||||
bool efivar_validate(efi_guid_t vendor, efi_char16_t *var_name, u8 *data,
|
||||
unsigned long data_size);
|
||||
bool efivar_variable_is_removable(efi_guid_t vendor, const char *name,
|
||||
size_t len);
|
||||
|
||||
extern struct work_struct efivar_work;
|
||||
void efivar_run_worker(void);
|
||||
|
|
|
|||
|
|
@ -220,10 +220,7 @@ struct fsnotify_mark {
|
|||
/* List of marks by group->i_fsnotify_marks. Also reused for queueing
|
||||
* mark into destroy_list when it's waiting for the end of SRCU period
|
||||
* before it can be freed. [group->mark_mutex] */
|
||||
union {
|
||||
struct list_head g_list;
|
||||
struct rcu_head g_rcu;
|
||||
};
|
||||
struct list_head g_list;
|
||||
/* Protects inode / mnt pointers, flags, masks */
|
||||
spinlock_t lock;
|
||||
/* List of marks for inode / vfsmount [obj_lock] */
|
||||
|
|
|
|||
|
|
@ -603,6 +603,7 @@ extern int ftrace_arch_read_dyn_info(char *buf, int size);
|
|||
|
||||
extern int skip_trace(unsigned long ip);
|
||||
extern void ftrace_module_init(struct module *mod);
|
||||
extern void ftrace_module_enable(struct module *mod);
|
||||
extern void ftrace_release_mod(struct module *mod);
|
||||
|
||||
extern void ftrace_disable_daemon(void);
|
||||
|
|
@ -612,8 +613,9 @@ static inline int skip_trace(unsigned long ip) { return 0; }
|
|||
static inline int ftrace_force_update(void) { return 0; }
|
||||
static inline void ftrace_disable_daemon(void) { }
|
||||
static inline void ftrace_enable_daemon(void) { }
|
||||
static inline void ftrace_release_mod(struct module *mod) {}
|
||||
static inline void ftrace_module_init(struct module *mod) {}
|
||||
static inline void ftrace_module_init(struct module *mod) { }
|
||||
static inline void ftrace_module_enable(struct module *mod) { }
|
||||
static inline void ftrace_release_mod(struct module *mod) { }
|
||||
static inline __init int register_ftrace_command(struct ftrace_func_command *cmd)
|
||||
{
|
||||
return -EINVAL;
|
||||
|
|
|
|||
|
|
@ -235,6 +235,9 @@ static inline void dmar_writeq(void __iomem *addr, u64 val)
|
|||
/* low 64 bit */
|
||||
#define dma_frcd_page_addr(d) (d & (((u64)-1) << PAGE_SHIFT))
|
||||
|
||||
/* PRS_REG */
|
||||
#define DMA_PRS_PPR ((u32)1)
|
||||
|
||||
#define IOMMU_WAIT_OP(iommu, offset, op, cond, sts) \
|
||||
do { \
|
||||
cycles_t start_time = get_cycles(); \
|
||||
|
|
|
|||
|
|
@ -26,9 +26,8 @@ enum {
|
|||
|
||||
/* need to set a limit somewhere, but yes, this is likely overkill */
|
||||
ND_IOCTL_MAX_BUFLEN = SZ_4M,
|
||||
ND_CMD_MAX_ELEM = 4,
|
||||
ND_CMD_MAX_ELEM = 5,
|
||||
ND_CMD_MAX_ENVELOPE = 16,
|
||||
ND_CMD_ARS_STATUS_MAX = SZ_4K,
|
||||
ND_MAX_MAPPINGS = 32,
|
||||
|
||||
/* region flag indicating to direct-map persistent memory by default */
|
||||
|
|
|
|||
|
|
@ -135,6 +135,10 @@ enum {
|
|||
/* Memory types */
|
||||
NVM_ID_FMTYPE_SLC = 0,
|
||||
NVM_ID_FMTYPE_MLC = 1,
|
||||
|
||||
/* Device capabilities */
|
||||
NVM_ID_DCAP_BBLKMGMT = 0x1,
|
||||
NVM_UD_DCAP_ECC = 0x2,
|
||||
};
|
||||
|
||||
struct nvm_id_lp_mlc {
|
||||
|
|
|
|||
|
|
@ -44,6 +44,8 @@
|
|||
|
||||
#include <linux/timecounter.h>
|
||||
|
||||
#define DEFAULT_UAR_PAGE_SHIFT 12
|
||||
|
||||
#define MAX_MSIX_P_PORT 17
|
||||
#define MAX_MSIX 64
|
||||
#define MIN_MSIX_P_PORT 5
|
||||
|
|
@ -856,6 +858,7 @@ struct mlx4_dev {
|
|||
u64 regid_promisc_array[MLX4_MAX_PORTS + 1];
|
||||
u64 regid_allmulti_array[MLX4_MAX_PORTS + 1];
|
||||
struct mlx4_vf_dev *dev_vfs;
|
||||
u8 uar_page_shift;
|
||||
};
|
||||
|
||||
struct mlx4_clock_params {
|
||||
|
|
@ -1528,4 +1531,14 @@ int mlx4_ACCESS_PTYS_REG(struct mlx4_dev *dev,
|
|||
int mlx4_get_internal_clock_params(struct mlx4_dev *dev,
|
||||
struct mlx4_clock_params *params);
|
||||
|
||||
static inline int mlx4_to_hw_uar_index(struct mlx4_dev *dev, int index)
|
||||
{
|
||||
return (index << (PAGE_SHIFT - dev->uar_page_shift));
|
||||
}
|
||||
|
||||
static inline int mlx4_get_num_reserved_uar(struct mlx4_dev *dev)
|
||||
{
|
||||
/* The first 128 UARs are used for EQ doorbells */
|
||||
return (128 >> (PAGE_SHIFT - dev->uar_page_shift));
|
||||
}
|
||||
#endif /* MLX4_DEVICE_H */
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -3718,7 +3718,7 @@ void *netdev_lower_get_next_private_rcu(struct net_device *dev,
|
|||
void *netdev_lower_get_next(struct net_device *dev,
|
||||
struct list_head **iter);
|
||||
#define netdev_for_each_lower_dev(dev, ldev, iter) \
|
||||
for (iter = &(dev)->adj_list.lower, \
|
||||
for (iter = (dev)->adj_list.lower.next, \
|
||||
ldev = netdev_lower_get_next(dev, &(iter)); \
|
||||
ldev; \
|
||||
ldev = netdev_lower_get_next(dev, &(iter)))
|
||||
|
|
|
|||
|
|
@ -550,9 +550,7 @@ extern int nfs_readpage_async(struct nfs_open_context *, struct inode *,
|
|||
|
||||
static inline loff_t nfs_size_to_loff_t(__u64 size)
|
||||
{
|
||||
if (size > (__u64) OFFSET_MAX - 1)
|
||||
return OFFSET_MAX - 1;
|
||||
return (loff_t) size;
|
||||
return min_t(u64, size, OFFSET_MAX);
|
||||
}
|
||||
|
||||
static inline ino_t
|
||||
|
|
|
|||
|
|
@ -275,6 +275,7 @@ struct nfs4_layoutcommit_args {
|
|||
size_t layoutupdate_len;
|
||||
struct page *layoutupdate_page;
|
||||
struct page **layoutupdate_pages;
|
||||
__be32 *start_p;
|
||||
};
|
||||
|
||||
struct nfs4_layoutcommit_res {
|
||||
|
|
|
|||
|
|
@ -988,23 +988,6 @@ static inline int pci_is_managed(struct pci_dev *pdev)
|
|||
return pdev->is_managed;
|
||||
}
|
||||
|
||||
static inline void pci_set_managed_irq(struct pci_dev *pdev, unsigned int irq)
|
||||
{
|
||||
pdev->irq = irq;
|
||||
pdev->irq_managed = 1;
|
||||
}
|
||||
|
||||
static inline void pci_reset_managed_irq(struct pci_dev *pdev)
|
||||
{
|
||||
pdev->irq = 0;
|
||||
pdev->irq_managed = 0;
|
||||
}
|
||||
|
||||
static inline bool pci_has_managed_irq(struct pci_dev *pdev)
|
||||
{
|
||||
return pdev->irq_managed && pdev->irq > 0;
|
||||
}
|
||||
|
||||
void pci_disable_device(struct pci_dev *dev);
|
||||
|
||||
extern unsigned int pcibios_max_latency;
|
||||
|
|
|
|||
|
|
@ -397,6 +397,7 @@ struct pmu {
|
|||
* enum perf_event_active_state - the states of a event
|
||||
*/
|
||||
enum perf_event_active_state {
|
||||
PERF_EVENT_STATE_DEAD = -4,
|
||||
PERF_EVENT_STATE_EXIT = -3,
|
||||
PERF_EVENT_STATE_ERROR = -2,
|
||||
PERF_EVENT_STATE_OFF = -1,
|
||||
|
|
@ -905,7 +906,7 @@ perf_sw_event_sched(u32 event_id, u64 nr, u64 addr)
|
|||
}
|
||||
}
|
||||
|
||||
extern struct static_key_deferred perf_sched_events;
|
||||
extern struct static_key_false perf_sched_events;
|
||||
|
||||
static __always_inline bool
|
||||
perf_sw_migrate_enabled(void)
|
||||
|
|
@ -924,7 +925,7 @@ static inline void perf_event_task_migrate(struct task_struct *task)
|
|||
static inline void perf_event_task_sched_in(struct task_struct *prev,
|
||||
struct task_struct *task)
|
||||
{
|
||||
if (static_key_false(&perf_sched_events.key))
|
||||
if (static_branch_unlikely(&perf_sched_events))
|
||||
__perf_event_task_sched_in(prev, task);
|
||||
|
||||
if (perf_sw_migrate_enabled() && task->sched_migrated) {
|
||||
|
|
@ -941,7 +942,7 @@ static inline void perf_event_task_sched_out(struct task_struct *prev,
|
|||
{
|
||||
perf_sw_event_sched(PERF_COUNT_SW_CONTEXT_SWITCHES, 1, 0);
|
||||
|
||||
if (static_key_false(&perf_sched_events.key))
|
||||
if (static_branch_unlikely(&perf_sched_events))
|
||||
__perf_event_task_sched_out(prev, next);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,6 +49,7 @@ struct bq27xxx_reg_cache {
|
|||
|
||||
struct bq27xxx_device_info {
|
||||
struct device *dev;
|
||||
int id;
|
||||
enum bq27xxx_chip chip;
|
||||
const char *name;
|
||||
struct bq27xxx_access_methods bus;
|
||||
|
|
|
|||
|
|
@ -34,6 +34,7 @@ extern const struct file_operations random_fops, urandom_fops;
|
|||
#endif
|
||||
|
||||
unsigned int get_random_int(void);
|
||||
unsigned long get_random_long(void);
|
||||
unsigned long randomize_range(unsigned long start, unsigned long end, unsigned long len);
|
||||
|
||||
u32 prandom_u32(void);
|
||||
|
|
|
|||
|
|
@ -44,6 +44,7 @@
|
|||
|
||||
#define KNAV_DMA_NUM_EPIB_WORDS 4
|
||||
#define KNAV_DMA_NUM_PS_WORDS 16
|
||||
#define KNAV_DMA_NUM_SW_DATA_WORDS 4
|
||||
#define KNAV_DMA_FDQ_PER_CHAN 4
|
||||
|
||||
/* Tx channel scheduling priority */
|
||||
|
|
@ -142,6 +143,7 @@ struct knav_dma_cfg {
|
|||
* @orig_buff: buff pointer since 'buff' can be overwritten
|
||||
* @epib: Extended packet info block
|
||||
* @psdata: Protocol specific
|
||||
* @sw_data: Software private data not touched by h/w
|
||||
*/
|
||||
struct knav_dma_desc {
|
||||
__le32 desc_info;
|
||||
|
|
@ -154,7 +156,7 @@ struct knav_dma_desc {
|
|||
__le32 orig_buff;
|
||||
__le32 epib[KNAV_DMA_NUM_EPIB_WORDS];
|
||||
__le32 psdata[KNAV_DMA_NUM_PS_WORDS];
|
||||
__le32 pad[4];
|
||||
u32 sw_data[KNAV_DMA_NUM_SW_DATA_WORDS];
|
||||
} ____cacheline_aligned;
|
||||
|
||||
#if IS_ENABLED(CONFIG_KEYSTONE_NAVIGATOR_DMA)
|
||||
|
|
|
|||
|
|
@ -14,8 +14,10 @@
|
|||
* See the file COPYING for more details.
|
||||
*/
|
||||
|
||||
#include <linux/smp.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/cpumask.h>
|
||||
#include <linux/rcupdate.h>
|
||||
#include <linux/tracepoint-defs.h>
|
||||
|
||||
|
|
@ -132,6 +134,9 @@ extern void syscall_unregfunc(void);
|
|||
void *it_func; \
|
||||
void *__data; \
|
||||
\
|
||||
if (!cpu_online(raw_smp_processor_id())) \
|
||||
return; \
|
||||
\
|
||||
if (!(cond)) \
|
||||
return; \
|
||||
prercu; \
|
||||
|
|
|
|||
|
|
@ -11,4 +11,8 @@ unsigned long ucs2_strlen(const ucs2_char_t *s);
|
|||
unsigned long ucs2_strsize(const ucs2_char_t *data, unsigned long maxlength);
|
||||
int ucs2_strncmp(const ucs2_char_t *a, const ucs2_char_t *b, size_t len);
|
||||
|
||||
unsigned long ucs2_utf8size(const ucs2_char_t *src);
|
||||
unsigned long ucs2_as_utf8(u8 *dest, const ucs2_char_t *src,
|
||||
unsigned long maxlength);
|
||||
|
||||
#endif /* _LINUX_UCS2_STRING_H_ */
|
||||
|
|
|
|||
Loading…
Reference in a new issue