Merge 3.18-rc7 into usb-next
We need the xhci fixes here and this resolves a merge issue with drivers/usb/dwc3/ep0.c Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
@@ -60,7 +60,7 @@
|
||||
#define ESC1_CLK_SRC 43
|
||||
#define HDMI_CLK_SRC 44
|
||||
#define VSYNC_CLK_SRC 45
|
||||
#define RBCPR_CLK_SRC 46
|
||||
#define MMSS_RBCPR_CLK_SRC 46
|
||||
#define RBBMTIMER_CLK_SRC 47
|
||||
#define MAPLE_CLK_SRC 48
|
||||
#define VDP_CLK_SRC 49
|
||||
|
||||
@@ -40,8 +40,8 @@
|
||||
|
||||
/* Active pin states */
|
||||
#define PIN_OUTPUT (0 | PULL_DIS)
|
||||
#define PIN_OUTPUT_PULLUP (PIN_OUTPUT | PULL_ENA | PULL_UP)
|
||||
#define PIN_OUTPUT_PULLDOWN (PIN_OUTPUT | PULL_ENA)
|
||||
#define PIN_OUTPUT_PULLUP (PULL_UP)
|
||||
#define PIN_OUTPUT_PULLDOWN (0)
|
||||
#define PIN_INPUT (INPUT_EN | PULL_DIS)
|
||||
#define PIN_INPUT_SLEW (INPUT_EN | SLEWCONTROL)
|
||||
#define PIN_INPUT_PULLUP (PULL_ENA | INPUT_EN | PULL_UP)
|
||||
|
||||
@@ -18,8 +18,11 @@
|
||||
* position @h. For example
|
||||
* GENMASK_ULL(39, 21) gives us the 64bit vector 0x000000ffffe00000.
|
||||
*/
|
||||
#define GENMASK(h, l) (((U32_C(1) << ((h) - (l) + 1)) - 1) << (l))
|
||||
#define GENMASK_ULL(h, l) (((U64_C(1) << ((h) - (l) + 1)) - 1) << (l))
|
||||
#define GENMASK(h, l) \
|
||||
(((~0UL) << (l)) & (~0UL >> (BITS_PER_LONG - 1 - (h))))
|
||||
|
||||
#define GENMASK_ULL(h, l) \
|
||||
(((~0ULL) << (l)) & (~0ULL >> (BITS_PER_LONG_LONG - 1 - (h))))
|
||||
|
||||
extern unsigned int __sw_hweight8(unsigned int w);
|
||||
extern unsigned int __sw_hweight16(unsigned int w);
|
||||
|
||||
@@ -46,6 +46,7 @@ extern unsigned long init_bootmem_node(pg_data_t *pgdat,
|
||||
extern unsigned long init_bootmem(unsigned long addr, unsigned long memend);
|
||||
|
||||
extern unsigned long free_all_bootmem(void);
|
||||
extern void reset_node_managed_pages(pg_data_t *pgdat);
|
||||
extern void reset_all_zones_managed_pages(void);
|
||||
|
||||
extern void free_bootmem_node(pg_data_t *pgdat,
|
||||
|
||||
@@ -99,6 +99,12 @@ inval_skb:
|
||||
return 1;
|
||||
}
|
||||
|
||||
static inline bool can_is_canfd_skb(const struct sk_buff *skb)
|
||||
{
|
||||
/* the CAN specific type of skb is identified by its data length */
|
||||
return skb->len == CANFD_MTU;
|
||||
}
|
||||
|
||||
/* get data length from can_dlc with sanitized can_dlc */
|
||||
u8 can_dlc2len(u8 can_dlc);
|
||||
|
||||
|
||||
@@ -352,7 +352,6 @@ struct clk_divider {
|
||||
#define CLK_DIVIDER_READ_ONLY BIT(5)
|
||||
|
||||
extern const struct clk_ops clk_divider_ops;
|
||||
extern const struct clk_ops clk_divider_ro_ops;
|
||||
struct clk *clk_register_divider(struct device *dev, const char *name,
|
||||
const char *parent_name, unsigned long flags,
|
||||
void __iomem *reg, u8 shift, u8 width,
|
||||
|
||||
@@ -72,7 +72,7 @@ struct iio_event_data {
|
||||
|
||||
#define IIO_EVENT_CODE_EXTRACT_TYPE(mask) ((mask >> 56) & 0xFF)
|
||||
|
||||
#define IIO_EVENT_CODE_EXTRACT_DIR(mask) ((mask >> 48) & 0xCF)
|
||||
#define IIO_EVENT_CODE_EXTRACT_DIR(mask) ((mask >> 48) & 0x7F)
|
||||
|
||||
#define IIO_EVENT_CODE_EXTRACT_CHAN_TYPE(mask) ((mask >> 32) & 0xFF)
|
||||
|
||||
|
||||
@@ -242,7 +242,7 @@ static inline void in_dev_put(struct in_device *idev)
|
||||
static __inline__ __be32 inet_make_mask(int logmask)
|
||||
{
|
||||
if (logmask)
|
||||
return htonl(~((1<<(32-logmask))-1));
|
||||
return htonl(~((1U<<(32-logmask))-1));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
@@ -77,11 +77,6 @@ static inline unsigned int kstat_cpu_irqs_sum(unsigned int cpu)
|
||||
return kstat_cpu(cpu).irqs_sum;
|
||||
}
|
||||
|
||||
/*
|
||||
* Lock/unlock the current runqueue - to extract task statistics:
|
||||
*/
|
||||
extern unsigned long long task_delta_exec(struct task_struct *);
|
||||
|
||||
extern void account_user_time(struct task_struct *, cputime_t, cputime_t);
|
||||
extern void account_system_time(struct task_struct *, int, cputime_t, cputime_t);
|
||||
extern void account_steal_time(cputime_t);
|
||||
|
||||
@@ -703,7 +703,7 @@ void kvm_arch_sync_events(struct kvm *kvm);
|
||||
int kvm_cpu_has_pending_timer(struct kvm_vcpu *vcpu);
|
||||
void kvm_vcpu_kick(struct kvm_vcpu *vcpu);
|
||||
|
||||
bool kvm_is_mmio_pfn(pfn_t pfn);
|
||||
bool kvm_is_reserved_pfn(pfn_t pfn);
|
||||
|
||||
struct kvm_irq_ack_notifier {
|
||||
struct hlist_node link;
|
||||
|
||||
@@ -330,6 +330,13 @@ enum max77693_irq_source {
|
||||
MAX77693_IRQ_GROUP_NR,
|
||||
};
|
||||
|
||||
#define SRC_IRQ_CHARGER BIT(0)
|
||||
#define SRC_IRQ_TOP BIT(1)
|
||||
#define SRC_IRQ_FLASH BIT(2)
|
||||
#define SRC_IRQ_MUIC BIT(3)
|
||||
#define SRC_IRQ_ALL (SRC_IRQ_CHARGER | SRC_IRQ_TOP \
|
||||
| SRC_IRQ_FLASH | SRC_IRQ_MUIC)
|
||||
|
||||
#define LED_IRQ_FLED2_OPEN BIT(0)
|
||||
#define LED_IRQ_FLED2_SHORT BIT(1)
|
||||
#define LED_IRQ_FLED1_OPEN BIT(2)
|
||||
|
||||
@@ -431,6 +431,15 @@ struct zone {
|
||||
*/
|
||||
int nr_migrate_reserve_block;
|
||||
|
||||
#ifdef CONFIG_MEMORY_ISOLATION
|
||||
/*
|
||||
* Number of isolated pageblock. It is used to solve incorrect
|
||||
* freepage counting problem due to racy retrieving migratetype
|
||||
* of pageblock. Protected by zone->lock.
|
||||
*/
|
||||
unsigned long nr_isolate_pageblock;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MEMORY_HOTPLUG
|
||||
/* see spanned/present_pages for more description */
|
||||
seqlock_t span_seqlock;
|
||||
|
||||
@@ -1224,11 +1224,22 @@ struct nfs41_free_stateid_res {
|
||||
unsigned int status;
|
||||
};
|
||||
|
||||
static inline void
|
||||
nfs_free_pnfs_ds_cinfo(struct pnfs_ds_commit_info *cinfo)
|
||||
{
|
||||
kfree(cinfo->buckets);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
struct pnfs_ds_commit_info {
|
||||
};
|
||||
|
||||
static inline void
|
||||
nfs_free_pnfs_ds_cinfo(struct pnfs_ds_commit_info *cinfo)
|
||||
{
|
||||
}
|
||||
|
||||
#endif /* CONFIG_NFS_V4_1 */
|
||||
|
||||
#ifdef CONFIG_NFS_V4_2
|
||||
|
||||
@@ -2,6 +2,10 @@
|
||||
#define __LINUX_PAGEISOLATION_H
|
||||
|
||||
#ifdef CONFIG_MEMORY_ISOLATION
|
||||
static inline bool has_isolate_pageblock(struct zone *zone)
|
||||
{
|
||||
return zone->nr_isolate_pageblock;
|
||||
}
|
||||
static inline bool is_migrate_isolate_page(struct page *page)
|
||||
{
|
||||
return get_pageblock_migratetype(page) == MIGRATE_ISOLATE;
|
||||
@@ -11,6 +15,10 @@ static inline bool is_migrate_isolate(int migratetype)
|
||||
return migratetype == MIGRATE_ISOLATE;
|
||||
}
|
||||
#else
|
||||
static inline bool has_isolate_pageblock(struct zone *zone)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
static inline bool is_migrate_isolate_page(struct page *page)
|
||||
{
|
||||
return false;
|
||||
|
||||
@@ -331,6 +331,7 @@ struct pci_dev {
|
||||
unsigned int is_added:1;
|
||||
unsigned int is_busmaster:1; /* device is busmaster */
|
||||
unsigned int no_msi:1; /* device may not use msi */
|
||||
unsigned int no_64bit_msi:1; /* device may only use 32-bit MSIs */
|
||||
unsigned int block_cfg_access:1; /* config space access is blocked */
|
||||
unsigned int broken_parity_status:1; /* Device generates false positive parity */
|
||||
unsigned int irq_reroute_variant:2; /* device needs IRQ rerouting variant */
|
||||
|
||||
@@ -133,7 +133,13 @@ static inline bool __ref_is_percpu(struct percpu_ref *ref,
|
||||
/* paired with smp_store_release() in percpu_ref_reinit() */
|
||||
smp_read_barrier_depends();
|
||||
|
||||
if (unlikely(percpu_ptr & __PERCPU_REF_ATOMIC))
|
||||
/*
|
||||
* Theoretically, the following could test just ATOMIC; however,
|
||||
* then we'd have to mask off DEAD separately as DEAD may be
|
||||
* visible without ATOMIC if we race with percpu_ref_kill(). DEAD
|
||||
* implies ATOMIC anyway. Test them together.
|
||||
*/
|
||||
if (unlikely(percpu_ptr & __PERCPU_REF_ATOMIC_DEAD))
|
||||
return false;
|
||||
|
||||
*percpu_countp = (unsigned long __percpu *)percpu_ptr;
|
||||
|
||||
@@ -72,8 +72,10 @@ struct generic_pm_domain {
|
||||
bool max_off_time_changed;
|
||||
bool cached_power_down_ok;
|
||||
struct gpd_cpuidle_data *cpuidle_data;
|
||||
void (*attach_dev)(struct device *dev);
|
||||
void (*detach_dev)(struct device *dev);
|
||||
int (*attach_dev)(struct generic_pm_domain *domain,
|
||||
struct device *dev);
|
||||
void (*detach_dev)(struct generic_pm_domain *domain,
|
||||
struct device *dev);
|
||||
};
|
||||
|
||||
static inline struct generic_pm_domain *pd_to_genpd(struct dev_pm_domain *pd)
|
||||
@@ -104,7 +106,7 @@ struct generic_pm_domain_data {
|
||||
struct notifier_block nb;
|
||||
struct mutex lock;
|
||||
unsigned int refcount;
|
||||
bool need_restore;
|
||||
int need_restore;
|
||||
};
|
||||
|
||||
#ifdef CONFIG_PM_GENERIC_DOMAINS
|
||||
|
||||
@@ -253,9 +253,6 @@ struct charger_manager {
|
||||
struct device *dev;
|
||||
struct charger_desc *desc;
|
||||
|
||||
struct power_supply *fuel_gauge;
|
||||
struct power_supply **charger_stat;
|
||||
|
||||
#ifdef CONFIG_THERMAL
|
||||
struct thermal_zone_device *tzd_batt;
|
||||
#endif
|
||||
|
||||
@@ -200,6 +200,12 @@ struct power_supply {
|
||||
void (*external_power_changed)(struct power_supply *psy);
|
||||
void (*set_charged)(struct power_supply *psy);
|
||||
|
||||
/*
|
||||
* Set if thermal zone should not be created for this power supply.
|
||||
* For example for virtual supplies forwarding calls to actual
|
||||
* sensors or other supplies.
|
||||
*/
|
||||
bool no_thermal;
|
||||
/* For APM emulation, think legacy userspace. */
|
||||
int use_for_apm;
|
||||
|
||||
|
||||
@@ -97,7 +97,7 @@ __ring_buffer_alloc(unsigned long size, unsigned flags, struct lock_class_key *k
|
||||
__ring_buffer_alloc((size), (flags), &__key); \
|
||||
})
|
||||
|
||||
int ring_buffer_wait(struct ring_buffer *buffer, int cpu);
|
||||
int ring_buffer_wait(struct ring_buffer *buffer, int cpu, bool full);
|
||||
int ring_buffer_poll_wait(struct ring_buffer *buffer, int cpu,
|
||||
struct file *filp, poll_table *poll_table);
|
||||
|
||||
|
||||
@@ -256,7 +256,7 @@ struct ucred {
|
||||
#define MSG_EOF MSG_FIN
|
||||
|
||||
#define MSG_FASTOPEN 0x20000000 /* Send data in TCP SYN */
|
||||
#define MSG_CMSG_CLOEXEC 0x40000000 /* Set close_on_exit for file
|
||||
#define MSG_CMSG_CLOEXEC 0x40000000 /* Set close_on_exec for file
|
||||
descriptor received through
|
||||
SCM_RIGHTS */
|
||||
#if defined(CONFIG_COMPAT)
|
||||
|
||||
@@ -34,7 +34,6 @@
|
||||
* @list: used to maintain a list of currently available transports
|
||||
* @name: the human-readable name of the transport
|
||||
* @maxsize: transport provided maximum packet size
|
||||
* @pref: Preferences of this transport
|
||||
* @def: set if this transport should be considered the default
|
||||
* @create: member function to create a new connection on this transport
|
||||
* @close: member function to discard a connection on this transport
|
||||
|
||||
@@ -37,6 +37,8 @@ int inet_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg);
|
||||
int inet_ctl_sock_create(struct sock **sk, unsigned short family,
|
||||
unsigned short type, unsigned char protocol,
|
||||
struct net *net);
|
||||
int inet_recv_error(struct sock *sk, struct msghdr *msg, int len,
|
||||
int *addr_len);
|
||||
|
||||
static inline void inet_ctl_sock_destroy(struct sock *sk)
|
||||
{
|
||||
|
||||
@@ -396,14 +396,12 @@ struct nft_rule {
|
||||
/**
|
||||
* struct nft_trans - nf_tables object update in transaction
|
||||
*
|
||||
* @rcu_head: rcu head to defer release of transaction data
|
||||
* @list: used internally
|
||||
* @msg_type: message type
|
||||
* @ctx: transaction context
|
||||
* @data: internal information related to the transaction
|
||||
*/
|
||||
struct nft_trans {
|
||||
struct rcu_head rcu_head;
|
||||
struct list_head list;
|
||||
int msg_type;
|
||||
struct nft_ctx ctx;
|
||||
|
||||
@@ -100,6 +100,15 @@ static inline struct sk_buff *udp_tunnel_handle_offloads(struct sk_buff *skb,
|
||||
return iptunnel_handle_offloads(skb, udp_csum, type);
|
||||
}
|
||||
|
||||
static inline void udp_tunnel_gro_complete(struct sk_buff *skb, int nhoff)
|
||||
{
|
||||
struct udphdr *uh;
|
||||
|
||||
uh = (struct udphdr *)(skb->data + nhoff - sizeof(struct udphdr));
|
||||
skb_shinfo(skb)->gso_type |= uh->check ?
|
||||
SKB_GSO_UDP_TUNNEL_CSUM : SKB_GSO_UDP_TUNNEL;
|
||||
}
|
||||
|
||||
static inline void udp_tunnel_encap_enable(struct socket *sock)
|
||||
{
|
||||
#if IS_ENABLED(CONFIG_IPV6)
|
||||
|
||||
@@ -8,6 +8,12 @@
|
||||
#define VNI_HASH_BITS 10
|
||||
#define VNI_HASH_SIZE (1<<VNI_HASH_BITS)
|
||||
|
||||
/* VXLAN protocol header */
|
||||
struct vxlanhdr {
|
||||
__be32 vx_flags;
|
||||
__be32 vx_vni;
|
||||
};
|
||||
|
||||
struct vxlan_sock;
|
||||
typedef void (vxlan_rcv_t)(struct vxlan_sock *vh, struct sk_buff *skb, __be32 key);
|
||||
|
||||
@@ -45,6 +51,18 @@ int vxlan_xmit_skb(struct vxlan_sock *vs,
|
||||
__be32 src, __be32 dst, __u8 tos, __u8 ttl, __be16 df,
|
||||
__be16 src_port, __be16 dst_port, __be32 vni, bool xnet);
|
||||
|
||||
static inline bool vxlan_gso_check(struct sk_buff *skb)
|
||||
{
|
||||
if ((skb_shinfo(skb)->gso_type & SKB_GSO_UDP_TUNNEL) &&
|
||||
(skb->inner_protocol_type != ENCAP_TYPE_ETHER ||
|
||||
skb->inner_protocol != htons(ETH_P_TEB) ||
|
||||
(skb_inner_mac_header(skb) - skb_transport_header(skb) !=
|
||||
sizeof(struct udphdr) + sizeof(struct vxlanhdr))))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/* IP header + UDP + VXLAN + Ethernet header */
|
||||
#define VXLAN_HEADROOM (20 + 8 + 8 + 14)
|
||||
/* IPv6 header + UDP + VXLAN + Ethernet header */
|
||||
|
||||
@@ -184,6 +184,8 @@ struct snd_pcm_ops {
|
||||
#define SNDRV_PCM_FMTBIT_DSD_U8 _SNDRV_PCM_FMTBIT(DSD_U8)
|
||||
#define SNDRV_PCM_FMTBIT_DSD_U16_LE _SNDRV_PCM_FMTBIT(DSD_U16_LE)
|
||||
#define SNDRV_PCM_FMTBIT_DSD_U32_LE _SNDRV_PCM_FMTBIT(DSD_U32_LE)
|
||||
#define SNDRV_PCM_FMTBIT_DSD_U16_BE _SNDRV_PCM_FMTBIT(DSD_U16_BE)
|
||||
#define SNDRV_PCM_FMTBIT_DSD_U32_BE _SNDRV_PCM_FMTBIT(DSD_U32_BE)
|
||||
|
||||
#ifdef SNDRV_LITTLE_ENDIAN
|
||||
#define SNDRV_PCM_FMTBIT_S16 SNDRV_PCM_FMTBIT_S16_LE
|
||||
|
||||
@@ -102,6 +102,8 @@ struct snd_soc_dpcm_runtime {
|
||||
/* state and update */
|
||||
enum snd_soc_dpcm_update runtime_update;
|
||||
enum snd_soc_dpcm_state state;
|
||||
|
||||
int trigger_pending; /* trigger cmd + 1 if pending, 0 if not */
|
||||
};
|
||||
|
||||
/* can this BE stop and free */
|
||||
|
||||
@@ -125,6 +125,7 @@ header-y += filter.h
|
||||
header-y += firewire-cdev.h
|
||||
header-y += firewire-constants.h
|
||||
header-y += flat.h
|
||||
header-y += fou.h
|
||||
header-y += fs.h
|
||||
header-y += fsl_hypervisor.h
|
||||
header-y += fuse.h
|
||||
@@ -141,6 +142,7 @@ header-y += hid.h
|
||||
header-y += hiddev.h
|
||||
header-y += hidraw.h
|
||||
header-y += hpet.h
|
||||
header-y += hsr_netlink.h
|
||||
header-y += hyperv.h
|
||||
header-y += hysdn_if.h
|
||||
header-y += i2c-dev.h
|
||||
@@ -251,6 +253,7 @@ header-y += mii.h
|
||||
header-y += minix_fs.h
|
||||
header-y += mman.h
|
||||
header-y += mmtimer.h
|
||||
header-y += mpls.h
|
||||
header-y += mqueue.h
|
||||
header-y += mroute.h
|
||||
header-y += mroute6.h
|
||||
@@ -424,6 +427,7 @@ header-y += virtio_net.h
|
||||
header-y += virtio_pci.h
|
||||
header-y += virtio_ring.h
|
||||
header-y += virtio_rng.h
|
||||
header=y += vm_sockets.h
|
||||
header-y += vt.h
|
||||
header-y += wait.h
|
||||
header-y += wanrouter.h
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/if_ether.h>
|
||||
#include <linux/in6.h>
|
||||
|
||||
#define SYSFS_BRIDGE_ATTR "bridge"
|
||||
#define SYSFS_BRIDGE_FDB "brforward"
|
||||
|
||||
@@ -220,7 +220,9 @@ typedef int __bitwise snd_pcm_format_t;
|
||||
#define SNDRV_PCM_FORMAT_DSD_U8 ((__force snd_pcm_format_t) 48) /* DSD, 1-byte samples DSD (x8) */
|
||||
#define SNDRV_PCM_FORMAT_DSD_U16_LE ((__force snd_pcm_format_t) 49) /* DSD, 2-byte samples DSD (x16), little endian */
|
||||
#define SNDRV_PCM_FORMAT_DSD_U32_LE ((__force snd_pcm_format_t) 50) /* DSD, 4-byte samples DSD (x32), little endian */
|
||||
#define SNDRV_PCM_FORMAT_LAST SNDRV_PCM_FORMAT_DSD_U32_LE
|
||||
#define SNDRV_PCM_FORMAT_DSD_U16_BE ((__force snd_pcm_format_t) 51) /* DSD, 2-byte samples DSD (x16), big endian */
|
||||
#define SNDRV_PCM_FORMAT_DSD_U32_BE ((__force snd_pcm_format_t) 52) /* DSD, 4-byte samples DSD (x32), big endian */
|
||||
#define SNDRV_PCM_FORMAT_LAST SNDRV_PCM_FORMAT_DSD_U32_BE
|
||||
|
||||
#ifdef SNDRV_LITTLE_ENDIAN
|
||||
#define SNDRV_PCM_FORMAT_S16 SNDRV_PCM_FORMAT_S16_LE
|
||||
|
||||
Reference in New Issue
Block a user