diff options
Diffstat (limited to 'include')
26 files changed, 107 insertions, 25 deletions
diff --git a/include/dt-bindings/pinctrl/am33xx.h b/include/dt-bindings/pinctrl/am33xx.h index 2fbc804e1a45..226f77246a70 100644 --- a/include/dt-bindings/pinctrl/am33xx.h +++ b/include/dt-bindings/pinctrl/am33xx.h | |||
| @@ -13,7 +13,8 @@ | |||
| 13 | 13 | ||
| 14 | #define PULL_DISABLE (1 << 3) | 14 | #define PULL_DISABLE (1 << 3) |
| 15 | #define INPUT_EN (1 << 5) | 15 | #define INPUT_EN (1 << 5) |
| 16 | #define SLEWCTRL_FAST (1 << 6) | 16 | #define SLEWCTRL_SLOW (1 << 6) |
| 17 | #define SLEWCTRL_FAST 0 | ||
| 17 | 18 | ||
| 18 | /* update macro depending on INPUT_EN and PULL_ENA */ | 19 | /* update macro depending on INPUT_EN and PULL_ENA */ |
| 19 | #undef PIN_OUTPUT | 20 | #undef PIN_OUTPUT |
diff --git a/include/dt-bindings/pinctrl/am43xx.h b/include/dt-bindings/pinctrl/am43xx.h index 9c2e4f82381e..5f4d01898c9c 100644 --- a/include/dt-bindings/pinctrl/am43xx.h +++ b/include/dt-bindings/pinctrl/am43xx.h | |||
| @@ -18,7 +18,8 @@ | |||
| 18 | #define PULL_DISABLE (1 << 16) | 18 | #define PULL_DISABLE (1 << 16) |
| 19 | #define PULL_UP (1 << 17) | 19 | #define PULL_UP (1 << 17) |
| 20 | #define INPUT_EN (1 << 18) | 20 | #define INPUT_EN (1 << 18) |
| 21 | #define SLEWCTRL_FAST (1 << 19) | 21 | #define SLEWCTRL_SLOW (1 << 19) |
| 22 | #define SLEWCTRL_FAST 0 | ||
| 22 | #define DS0_PULL_UP_DOWN_EN (1 << 27) | 23 | #define DS0_PULL_UP_DOWN_EN (1 << 27) |
| 23 | 24 | ||
| 24 | #define PIN_OUTPUT (PULL_DISABLE) | 25 | #define PIN_OUTPUT (PULL_DISABLE) |
diff --git a/include/kvm/arm_vgic.h b/include/kvm/arm_vgic.h index 7c55dd5dd2c9..66203b268984 100644 --- a/include/kvm/arm_vgic.h +++ b/include/kvm/arm_vgic.h | |||
| @@ -114,6 +114,7 @@ struct vgic_ops { | |||
| 114 | void (*sync_lr_elrsr)(struct kvm_vcpu *, int, struct vgic_lr); | 114 | void (*sync_lr_elrsr)(struct kvm_vcpu *, int, struct vgic_lr); |
| 115 | u64 (*get_elrsr)(const struct kvm_vcpu *vcpu); | 115 | u64 (*get_elrsr)(const struct kvm_vcpu *vcpu); |
| 116 | u64 (*get_eisr)(const struct kvm_vcpu *vcpu); | 116 | u64 (*get_eisr)(const struct kvm_vcpu *vcpu); |
| 117 | void (*clear_eisr)(struct kvm_vcpu *vcpu); | ||
| 117 | u32 (*get_interrupt_status)(const struct kvm_vcpu *vcpu); | 118 | u32 (*get_interrupt_status)(const struct kvm_vcpu *vcpu); |
| 118 | void (*enable_underflow)(struct kvm_vcpu *vcpu); | 119 | void (*enable_underflow)(struct kvm_vcpu *vcpu); |
| 119 | void (*disable_underflow)(struct kvm_vcpu *vcpu); | 120 | void (*disable_underflow)(struct kvm_vcpu *vcpu); |
diff --git a/include/linux/clk.h b/include/linux/clk.h index 8381bbfbc308..68c16a6bedb3 100644 --- a/include/linux/clk.h +++ b/include/linux/clk.h | |||
| @@ -125,6 +125,19 @@ int clk_set_phase(struct clk *clk, int degrees); | |||
| 125 | */ | 125 | */ |
| 126 | int clk_get_phase(struct clk *clk); | 126 | int clk_get_phase(struct clk *clk); |
| 127 | 127 | ||
| 128 | /** | ||
| 129 | * clk_is_match - check if two clk's point to the same hardware clock | ||
| 130 | * @p: clk compared against q | ||
| 131 | * @q: clk compared against p | ||
| 132 | * | ||
| 133 | * Returns true if the two struct clk pointers both point to the same hardware | ||
| 134 | * clock node. Put differently, returns true if struct clk *p and struct clk *q | ||
| 135 | * share the same struct clk_core object. | ||
| 136 | * | ||
| 137 | * Returns false otherwise. Note that two NULL clks are treated as matching. | ||
| 138 | */ | ||
| 139 | bool clk_is_match(const struct clk *p, const struct clk *q); | ||
| 140 | |||
| 128 | #else | 141 | #else |
| 129 | 142 | ||
| 130 | static inline long clk_get_accuracy(struct clk *clk) | 143 | static inline long clk_get_accuracy(struct clk *clk) |
| @@ -142,6 +155,11 @@ static inline long clk_get_phase(struct clk *clk) | |||
| 142 | return -ENOTSUPP; | 155 | return -ENOTSUPP; |
| 143 | } | 156 | } |
| 144 | 157 | ||
| 158 | static inline bool clk_is_match(const struct clk *p, const struct clk *q) | ||
| 159 | { | ||
| 160 | return p == q; | ||
| 161 | } | ||
| 162 | |||
| 145 | #endif | 163 | #endif |
| 146 | 164 | ||
| 147 | /** | 165 | /** |
diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h index 2646aed1d3fe..fd23978d93fe 100644 --- a/include/linux/device-mapper.h +++ b/include/linux/device-mapper.h | |||
| @@ -375,6 +375,7 @@ int dm_create(int minor, struct mapped_device **md); | |||
| 375 | */ | 375 | */ |
| 376 | struct mapped_device *dm_get_md(dev_t dev); | 376 | struct mapped_device *dm_get_md(dev_t dev); |
| 377 | void dm_get(struct mapped_device *md); | 377 | void dm_get(struct mapped_device *md); |
| 378 | int dm_hold(struct mapped_device *md); | ||
| 378 | void dm_put(struct mapped_device *md); | 379 | void dm_put(struct mapped_device *md); |
| 379 | 380 | ||
| 380 | /* | 381 | /* |
diff --git a/include/linux/irqchip/arm-gic-v3.h b/include/linux/irqchip/arm-gic-v3.h index 800544bc7bfd..781974afff9f 100644 --- a/include/linux/irqchip/arm-gic-v3.h +++ b/include/linux/irqchip/arm-gic-v3.h | |||
| @@ -166,6 +166,11 @@ | |||
| 166 | 166 | ||
| 167 | #define GITS_TRANSLATER 0x10040 | 167 | #define GITS_TRANSLATER 0x10040 |
| 168 | 168 | ||
| 169 | #define GITS_CTLR_ENABLE (1U << 0) | ||
| 170 | #define GITS_CTLR_QUIESCENT (1U << 31) | ||
| 171 | |||
| 172 | #define GITS_TYPER_DEVBITS_SHIFT 13 | ||
| 173 | #define GITS_TYPER_DEVBITS(r) ((((r) >> GITS_TYPER_DEVBITS_SHIFT) & 0x1f) + 1) | ||
| 169 | #define GITS_TYPER_PTA (1UL << 19) | 174 | #define GITS_TYPER_PTA (1UL << 19) |
| 170 | 175 | ||
| 171 | #define GITS_CBASER_VALID (1UL << 63) | 176 | #define GITS_CBASER_VALID (1UL << 63) |
diff --git a/include/linux/kasan.h b/include/linux/kasan.h index 72ba725ddf9c..5bb074431eb0 100644 --- a/include/linux/kasan.h +++ b/include/linux/kasan.h | |||
| @@ -5,6 +5,7 @@ | |||
| 5 | 5 | ||
| 6 | struct kmem_cache; | 6 | struct kmem_cache; |
| 7 | struct page; | 7 | struct page; |
| 8 | struct vm_struct; | ||
| 8 | 9 | ||
| 9 | #ifdef CONFIG_KASAN | 10 | #ifdef CONFIG_KASAN |
| 10 | 11 | ||
| @@ -49,15 +50,11 @@ void kasan_krealloc(const void *object, size_t new_size); | |||
| 49 | void kasan_slab_alloc(struct kmem_cache *s, void *object); | 50 | void kasan_slab_alloc(struct kmem_cache *s, void *object); |
| 50 | void kasan_slab_free(struct kmem_cache *s, void *object); | 51 | void kasan_slab_free(struct kmem_cache *s, void *object); |
| 51 | 52 | ||
| 52 | #define MODULE_ALIGN (PAGE_SIZE << KASAN_SHADOW_SCALE_SHIFT) | ||
| 53 | |||
| 54 | int kasan_module_alloc(void *addr, size_t size); | 53 | int kasan_module_alloc(void *addr, size_t size); |
| 55 | void kasan_module_free(void *addr); | 54 | void kasan_free_shadow(const struct vm_struct *vm); |
| 56 | 55 | ||
| 57 | #else /* CONFIG_KASAN */ | 56 | #else /* CONFIG_KASAN */ |
| 58 | 57 | ||
| 59 | #define MODULE_ALIGN 1 | ||
| 60 | |||
| 61 | static inline void kasan_unpoison_shadow(const void *address, size_t size) {} | 58 | static inline void kasan_unpoison_shadow(const void *address, size_t size) {} |
| 62 | 59 | ||
| 63 | static inline void kasan_enable_current(void) {} | 60 | static inline void kasan_enable_current(void) {} |
| @@ -82,7 +79,7 @@ static inline void kasan_slab_alloc(struct kmem_cache *s, void *object) {} | |||
| 82 | static inline void kasan_slab_free(struct kmem_cache *s, void *object) {} | 79 | static inline void kasan_slab_free(struct kmem_cache *s, void *object) {} |
| 83 | 80 | ||
| 84 | static inline int kasan_module_alloc(void *addr, size_t size) { return 0; } | 81 | static inline int kasan_module_alloc(void *addr, size_t size) { return 0; } |
| 85 | static inline void kasan_module_free(void *addr) {} | 82 | static inline void kasan_free_shadow(const struct vm_struct *vm) {} |
| 86 | 83 | ||
| 87 | #endif /* CONFIG_KASAN */ | 84 | #endif /* CONFIG_KASAN */ |
| 88 | 85 | ||
diff --git a/include/linux/module.h b/include/linux/module.h index 42999fe2dbd0..b03485bcb82a 100644 --- a/include/linux/module.h +++ b/include/linux/module.h | |||
| @@ -344,6 +344,10 @@ struct module { | |||
| 344 | unsigned long *ftrace_callsites; | 344 | unsigned long *ftrace_callsites; |
| 345 | #endif | 345 | #endif |
| 346 | 346 | ||
| 347 | #ifdef CONFIG_LIVEPATCH | ||
| 348 | bool klp_alive; | ||
| 349 | #endif | ||
| 350 | |||
| 347 | #ifdef CONFIG_MODULE_UNLOAD | 351 | #ifdef CONFIG_MODULE_UNLOAD |
| 348 | /* What modules depend on me? */ | 352 | /* What modules depend on me? */ |
| 349 | struct list_head source_list; | 353 | struct list_head source_list; |
diff --git a/include/linux/moduleloader.h b/include/linux/moduleloader.h index f7556261fe3c..4d0cb9bba93e 100644 --- a/include/linux/moduleloader.h +++ b/include/linux/moduleloader.h | |||
| @@ -84,4 +84,12 @@ void module_arch_cleanup(struct module *mod); | |||
| 84 | 84 | ||
| 85 | /* Any cleanup before freeing mod->module_init */ | 85 | /* Any cleanup before freeing mod->module_init */ |
| 86 | void module_arch_freeing_init(struct module *mod); | 86 | void module_arch_freeing_init(struct module *mod); |
| 87 | |||
| 88 | #ifdef CONFIG_KASAN | ||
| 89 | #include <linux/kasan.h> | ||
| 90 | #define MODULE_ALIGN (PAGE_SIZE << KASAN_SHADOW_SCALE_SHIFT) | ||
| 91 | #else | ||
| 92 | #define MODULE_ALIGN PAGE_SIZE | ||
| 93 | #endif | ||
| 94 | |||
| 87 | #endif | 95 | #endif |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 429d1790a27e..dcf6ec27739b 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -965,9 +965,12 @@ typedef u16 (*select_queue_fallback_t)(struct net_device *dev, | |||
| 965 | * Used to add FDB entries to dump requests. Implementers should add | 965 | * Used to add FDB entries to dump requests. Implementers should add |
| 966 | * entries to skb and update idx with the number of entries. | 966 | * entries to skb and update idx with the number of entries. |
| 967 | * | 967 | * |
| 968 | * int (*ndo_bridge_setlink)(struct net_device *dev, struct nlmsghdr *nlh) | 968 | * int (*ndo_bridge_setlink)(struct net_device *dev, struct nlmsghdr *nlh, |
| 969 | * u16 flags) | ||
| 969 | * int (*ndo_bridge_getlink)(struct sk_buff *skb, u32 pid, u32 seq, | 970 | * int (*ndo_bridge_getlink)(struct sk_buff *skb, u32 pid, u32 seq, |
| 970 | * struct net_device *dev, u32 filter_mask) | 971 | * struct net_device *dev, u32 filter_mask) |
| 972 | * int (*ndo_bridge_dellink)(struct net_device *dev, struct nlmsghdr *nlh, | ||
| 973 | * u16 flags); | ||
| 971 | * | 974 | * |
| 972 | * int (*ndo_change_carrier)(struct net_device *dev, bool new_carrier); | 975 | * int (*ndo_change_carrier)(struct net_device *dev, bool new_carrier); |
| 973 | * Called to change device carrier. Soft-devices (like dummy, team, etc) | 976 | * Called to change device carrier. Soft-devices (like dummy, team, etc) |
diff --git a/include/linux/of_platform.h b/include/linux/of_platform.h index 8a860f096c35..611a691145c4 100644 --- a/include/linux/of_platform.h +++ b/include/linux/of_platform.h | |||
| @@ -84,7 +84,7 @@ static inline int of_platform_populate(struct device_node *root, | |||
| 84 | static inline void of_platform_depopulate(struct device *parent) { } | 84 | static inline void of_platform_depopulate(struct device *parent) { } |
| 85 | #endif | 85 | #endif |
| 86 | 86 | ||
| 87 | #ifdef CONFIG_OF_DYNAMIC | 87 | #if defined(CONFIG_OF_DYNAMIC) && defined(CONFIG_OF_ADDRESS) |
| 88 | extern void of_platform_register_reconfig_notifier(void); | 88 | extern void of_platform_register_reconfig_notifier(void); |
| 89 | #else | 89 | #else |
| 90 | static inline void of_platform_register_reconfig_notifier(void) { } | 90 | static inline void of_platform_register_reconfig_notifier(void) { } |
diff --git a/include/linux/pinctrl/consumer.h b/include/linux/pinctrl/consumer.h index 72c0415d6c21..18eccefea06e 100644 --- a/include/linux/pinctrl/consumer.h +++ b/include/linux/pinctrl/consumer.h | |||
| @@ -82,7 +82,7 @@ static inline int pinctrl_gpio_direction_output(unsigned gpio) | |||
| 82 | 82 | ||
| 83 | static inline struct pinctrl * __must_check pinctrl_get(struct device *dev) | 83 | static inline struct pinctrl * __must_check pinctrl_get(struct device *dev) |
| 84 | { | 84 | { |
| 85 | return ERR_PTR(-ENOSYS); | 85 | return NULL; |
| 86 | } | 86 | } |
| 87 | 87 | ||
| 88 | static inline void pinctrl_put(struct pinctrl *p) | 88 | static inline void pinctrl_put(struct pinctrl *p) |
| @@ -93,7 +93,7 @@ static inline struct pinctrl_state * __must_check pinctrl_lookup_state( | |||
| 93 | struct pinctrl *p, | 93 | struct pinctrl *p, |
| 94 | const char *name) | 94 | const char *name) |
| 95 | { | 95 | { |
| 96 | return ERR_PTR(-ENOSYS); | 96 | return NULL; |
| 97 | } | 97 | } |
| 98 | 98 | ||
| 99 | static inline int pinctrl_select_state(struct pinctrl *p, | 99 | static inline int pinctrl_select_state(struct pinctrl *p, |
| @@ -104,7 +104,7 @@ static inline int pinctrl_select_state(struct pinctrl *p, | |||
| 104 | 104 | ||
| 105 | static inline struct pinctrl * __must_check devm_pinctrl_get(struct device *dev) | 105 | static inline struct pinctrl * __must_check devm_pinctrl_get(struct device *dev) |
| 106 | { | 106 | { |
| 107 | return ERR_PTR(-ENOSYS); | 107 | return NULL; |
| 108 | } | 108 | } |
| 109 | 109 | ||
| 110 | static inline void devm_pinctrl_put(struct pinctrl *p) | 110 | static inline void devm_pinctrl_put(struct pinctrl *p) |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 30007afe70b3..f54d6659713a 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
| @@ -948,6 +948,13 @@ static inline void skb_copy_hash(struct sk_buff *to, const struct sk_buff *from) | |||
| 948 | to->l4_hash = from->l4_hash; | 948 | to->l4_hash = from->l4_hash; |
| 949 | }; | 949 | }; |
| 950 | 950 | ||
| 951 | static inline void skb_sender_cpu_clear(struct sk_buff *skb) | ||
| 952 | { | ||
| 953 | #ifdef CONFIG_XPS | ||
| 954 | skb->sender_cpu = 0; | ||
| 955 | #endif | ||
| 956 | } | ||
| 957 | |||
| 951 | #ifdef NET_SKBUFF_DATA_USES_OFFSET | 958 | #ifdef NET_SKBUFF_DATA_USES_OFFSET |
| 952 | static inline unsigned char *skb_end_pointer(const struct sk_buff *skb) | 959 | static inline unsigned char *skb_end_pointer(const struct sk_buff *skb) |
| 953 | { | 960 | { |
diff --git a/include/linux/spi/spi.h b/include/linux/spi/spi.h index ed9489d893a4..856d34dde79b 100644 --- a/include/linux/spi/spi.h +++ b/include/linux/spi/spi.h | |||
| @@ -649,7 +649,7 @@ struct spi_transfer { | |||
| 649 | * sequence completes. On some systems, many such sequences can execute as | 649 | * sequence completes. On some systems, many such sequences can execute as |
| 650 | * as single programmed DMA transfer. On all systems, these messages are | 650 | * as single programmed DMA transfer. On all systems, these messages are |
| 651 | * queued, and might complete after transactions to other devices. Messages | 651 | * queued, and might complete after transactions to other devices. Messages |
| 652 | * sent to a given spi_device are alway executed in FIFO order. | 652 | * sent to a given spi_device are always executed in FIFO order. |
| 653 | * | 653 | * |
| 654 | * The code that submits an spi_message (and its spi_transfers) | 654 | * The code that submits an spi_message (and its spi_transfers) |
| 655 | * to the lower layers is responsible for managing its memory. | 655 | * to the lower layers is responsible for managing its memory. |
diff --git a/include/linux/uio.h b/include/linux/uio.h index 07a022641996..71880299ed48 100644 --- a/include/linux/uio.h +++ b/include/linux/uio.h | |||
| @@ -98,6 +98,8 @@ ssize_t iov_iter_get_pages_alloc(struct iov_iter *i, struct page ***pages, | |||
| 98 | size_t maxsize, size_t *start); | 98 | size_t maxsize, size_t *start); |
| 99 | int iov_iter_npages(const struct iov_iter *i, int maxpages); | 99 | int iov_iter_npages(const struct iov_iter *i, int maxpages); |
| 100 | 100 | ||
| 101 | const void *dup_iter(struct iov_iter *new, struct iov_iter *old, gfp_t flags); | ||
| 102 | |||
| 101 | static inline size_t iov_iter_count(struct iov_iter *i) | 103 | static inline size_t iov_iter_count(struct iov_iter *i) |
| 102 | { | 104 | { |
| 103 | return i->count; | 105 | return i->count; |
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h index 7d7acb35603d..0ec598381f97 100644 --- a/include/linux/vmalloc.h +++ b/include/linux/vmalloc.h | |||
| @@ -17,6 +17,7 @@ struct vm_area_struct; /* vma defining user mapping in mm_types.h */ | |||
| 17 | #define VM_VPAGES 0x00000010 /* buffer for pages was vmalloc'ed */ | 17 | #define VM_VPAGES 0x00000010 /* buffer for pages was vmalloc'ed */ |
| 18 | #define VM_UNINITIALIZED 0x00000020 /* vm_struct is not fully initialized */ | 18 | #define VM_UNINITIALIZED 0x00000020 /* vm_struct is not fully initialized */ |
| 19 | #define VM_NO_GUARD 0x00000040 /* don't add guard page */ | 19 | #define VM_NO_GUARD 0x00000040 /* don't add guard page */ |
| 20 | #define VM_KASAN 0x00000080 /* has allocated kasan shadow memory */ | ||
| 20 | /* bits [20..32] reserved for arch specific ioremap internals */ | 21 | /* bits [20..32] reserved for arch specific ioremap internals */ |
| 21 | 22 | ||
| 22 | /* | 23 | /* |
diff --git a/include/linux/workqueue.h b/include/linux/workqueue.h index 74db135f9957..f597846ff605 100644 --- a/include/linux/workqueue.h +++ b/include/linux/workqueue.h | |||
| @@ -70,7 +70,8 @@ enum { | |||
| 70 | /* data contains off-queue information when !WORK_STRUCT_PWQ */ | 70 | /* data contains off-queue information when !WORK_STRUCT_PWQ */ |
| 71 | WORK_OFFQ_FLAG_BASE = WORK_STRUCT_COLOR_SHIFT, | 71 | WORK_OFFQ_FLAG_BASE = WORK_STRUCT_COLOR_SHIFT, |
| 72 | 72 | ||
| 73 | WORK_OFFQ_CANCELING = (1 << WORK_OFFQ_FLAG_BASE), | 73 | __WORK_OFFQ_CANCELING = WORK_OFFQ_FLAG_BASE, |
| 74 | WORK_OFFQ_CANCELING = (1 << __WORK_OFFQ_CANCELING), | ||
| 74 | 75 | ||
| 75 | /* | 76 | /* |
| 76 | * When a work item is off queue, its high bits point to the last | 77 | * When a work item is off queue, its high bits point to the last |
diff --git a/include/net/dst.h b/include/net/dst.h index a8ae4e760778..0fb99a26e973 100644 --- a/include/net/dst.h +++ b/include/net/dst.h | |||
| @@ -481,6 +481,7 @@ void dst_init(void); | |||
| 481 | enum { | 481 | enum { |
| 482 | XFRM_LOOKUP_ICMP = 1 << 0, | 482 | XFRM_LOOKUP_ICMP = 1 << 0, |
| 483 | XFRM_LOOKUP_QUEUE = 1 << 1, | 483 | XFRM_LOOKUP_QUEUE = 1 << 1, |
| 484 | XFRM_LOOKUP_KEEP_DST_REF = 1 << 2, | ||
| 484 | }; | 485 | }; |
| 485 | 486 | ||
| 486 | struct flowi; | 487 | struct flowi; |
diff --git a/include/net/netfilter/nf_tables.h b/include/net/netfilter/nf_tables.h index 9eaaa7884586..decb9a095ae7 100644 --- a/include/net/netfilter/nf_tables.h +++ b/include/net/netfilter/nf_tables.h | |||
| @@ -119,6 +119,22 @@ int nft_validate_data_load(const struct nft_ctx *ctx, enum nft_registers reg, | |||
| 119 | const struct nft_data *data, | 119 | const struct nft_data *data, |
| 120 | enum nft_data_types type); | 120 | enum nft_data_types type); |
| 121 | 121 | ||
| 122 | |||
| 123 | /** | ||
| 124 | * struct nft_userdata - user defined data associated with an object | ||
| 125 | * | ||
| 126 | * @len: length of the data | ||
| 127 | * @data: content | ||
| 128 | * | ||
| 129 | * The presence of user data is indicated in an object specific fashion, | ||
| 130 | * so a length of zero can't occur and the value "len" indicates data | ||
| 131 | * of length len + 1. | ||
| 132 | */ | ||
| 133 | struct nft_userdata { | ||
| 134 | u8 len; | ||
| 135 | unsigned char data[0]; | ||
| 136 | }; | ||
| 137 | |||
| 122 | /** | 138 | /** |
| 123 | * struct nft_set_elem - generic representation of set elements | 139 | * struct nft_set_elem - generic representation of set elements |
| 124 | * | 140 | * |
| @@ -380,7 +396,7 @@ static inline void *nft_expr_priv(const struct nft_expr *expr) | |||
| 380 | * @handle: rule handle | 396 | * @handle: rule handle |
| 381 | * @genmask: generation mask | 397 | * @genmask: generation mask |
| 382 | * @dlen: length of expression data | 398 | * @dlen: length of expression data |
| 383 | * @ulen: length of user data (used for comments) | 399 | * @udata: user data is appended to the rule |
| 384 | * @data: expression data | 400 | * @data: expression data |
| 385 | */ | 401 | */ |
| 386 | struct nft_rule { | 402 | struct nft_rule { |
| @@ -388,7 +404,7 @@ struct nft_rule { | |||
| 388 | u64 handle:42, | 404 | u64 handle:42, |
| 389 | genmask:2, | 405 | genmask:2, |
| 390 | dlen:12, | 406 | dlen:12, |
| 391 | ulen:8; | 407 | udata:1; |
| 392 | unsigned char data[] | 408 | unsigned char data[] |
| 393 | __attribute__((aligned(__alignof__(struct nft_expr)))); | 409 | __attribute__((aligned(__alignof__(struct nft_expr)))); |
| 394 | }; | 410 | }; |
| @@ -476,7 +492,7 @@ static inline struct nft_expr *nft_expr_last(const struct nft_rule *rule) | |||
| 476 | return (struct nft_expr *)&rule->data[rule->dlen]; | 492 | return (struct nft_expr *)&rule->data[rule->dlen]; |
| 477 | } | 493 | } |
| 478 | 494 | ||
| 479 | static inline void *nft_userdata(const struct nft_rule *rule) | 495 | static inline struct nft_userdata *nft_userdata(const struct nft_rule *rule) |
| 480 | { | 496 | { |
| 481 | return (void *)&rule->data[rule->dlen]; | 497 | return (void *)&rule->data[rule->dlen]; |
| 482 | } | 498 | } |
diff --git a/include/net/vxlan.h b/include/net/vxlan.h index eabd3a038674..c73e7abbbaa5 100644 --- a/include/net/vxlan.h +++ b/include/net/vxlan.h | |||
| @@ -91,6 +91,7 @@ struct vxlanhdr { | |||
| 91 | 91 | ||
| 92 | #define VXLAN_N_VID (1u << 24) | 92 | #define VXLAN_N_VID (1u << 24) |
| 93 | #define VXLAN_VID_MASK (VXLAN_N_VID - 1) | 93 | #define VXLAN_VID_MASK (VXLAN_N_VID - 1) |
| 94 | #define VXLAN_VNI_MASK (VXLAN_VID_MASK << 8) | ||
| 94 | #define VXLAN_HLEN (sizeof(struct udphdr) + sizeof(struct vxlanhdr)) | 95 | #define VXLAN_HLEN (sizeof(struct udphdr) + sizeof(struct vxlanhdr)) |
| 95 | 96 | ||
| 96 | struct vxlan_metadata { | 97 | struct vxlan_metadata { |
diff --git a/include/soc/at91/at91sam9_ddrsdr.h b/include/soc/at91/at91sam9_ddrsdr.h index 0210797abf2e..dc10c52e0e91 100644 --- a/include/soc/at91/at91sam9_ddrsdr.h +++ b/include/soc/at91/at91sam9_ddrsdr.h | |||
| @@ -92,7 +92,7 @@ | |||
| 92 | #define AT91_DDRSDRC_UPD_MR (3 << 20) /* Update load mode register and extended mode register */ | 92 | #define AT91_DDRSDRC_UPD_MR (3 << 20) /* Update load mode register and extended mode register */ |
| 93 | 93 | ||
| 94 | #define AT91_DDRSDRC_MDR 0x20 /* Memory Device Register */ | 94 | #define AT91_DDRSDRC_MDR 0x20 /* Memory Device Register */ |
| 95 | #define AT91_DDRSDRC_MD (3 << 0) /* Memory Device Type */ | 95 | #define AT91_DDRSDRC_MD (7 << 0) /* Memory Device Type */ |
| 96 | #define AT91_DDRSDRC_MD_SDR 0 | 96 | #define AT91_DDRSDRC_MD_SDR 0 |
| 97 | #define AT91_DDRSDRC_MD_LOW_POWER_SDR 1 | 97 | #define AT91_DDRSDRC_MD_LOW_POWER_SDR 1 |
| 98 | #define AT91_DDRSDRC_MD_LOW_POWER_DDR 3 | 98 | #define AT91_DDRSDRC_MD_LOW_POWER_DDR 3 |
diff --git a/include/target/target_core_backend.h b/include/target/target_core_backend.h index db81c65b8f48..d61be7297b2c 100644 --- a/include/target/target_core_backend.h +++ b/include/target/target_core_backend.h | |||
| @@ -111,6 +111,7 @@ void array_free(void *array, int n); | |||
| 111 | void target_core_setup_sub_cits(struct se_subsystem_api *); | 111 | void target_core_setup_sub_cits(struct se_subsystem_api *); |
| 112 | 112 | ||
| 113 | /* attribute helpers from target_core_device.c for backend drivers */ | 113 | /* attribute helpers from target_core_device.c for backend drivers */ |
| 114 | bool se_dev_check_wce(struct se_device *); | ||
| 114 | int se_dev_set_max_unmap_lba_count(struct se_device *, u32); | 115 | int se_dev_set_max_unmap_lba_count(struct se_device *, u32); |
| 115 | int se_dev_set_max_unmap_block_desc_count(struct se_device *, u32); | 116 | int se_dev_set_max_unmap_block_desc_count(struct se_device *, u32); |
| 116 | int se_dev_set_unmap_granularity(struct se_device *, u32); | 117 | int se_dev_set_unmap_granularity(struct se_device *, u32); |
diff --git a/include/uapi/linux/virtio_blk.h b/include/uapi/linux/virtio_blk.h index 3c53eec4ae22..19c66fcbab8a 100644 --- a/include/uapi/linux/virtio_blk.h +++ b/include/uapi/linux/virtio_blk.h | |||
| @@ -60,7 +60,7 @@ struct virtio_blk_config { | |||
| 60 | __u32 size_max; | 60 | __u32 size_max; |
| 61 | /* The maximum number of segments (if VIRTIO_BLK_F_SEG_MAX) */ | 61 | /* The maximum number of segments (if VIRTIO_BLK_F_SEG_MAX) */ |
| 62 | __u32 seg_max; | 62 | __u32 seg_max; |
| 63 | /* geometry the device (if VIRTIO_BLK_F_GEOMETRY) */ | 63 | /* geometry of the device (if VIRTIO_BLK_F_GEOMETRY) */ |
| 64 | struct virtio_blk_geometry { | 64 | struct virtio_blk_geometry { |
| 65 | __u16 cylinders; | 65 | __u16 cylinders; |
| 66 | __u8 heads; | 66 | __u8 heads; |
| @@ -119,7 +119,11 @@ struct virtio_blk_config { | |||
| 119 | #define VIRTIO_BLK_T_BARRIER 0x80000000 | 119 | #define VIRTIO_BLK_T_BARRIER 0x80000000 |
| 120 | #endif /* !VIRTIO_BLK_NO_LEGACY */ | 120 | #endif /* !VIRTIO_BLK_NO_LEGACY */ |
| 121 | 121 | ||
| 122 | /* This is the first element of the read scatter-gather list. */ | 122 | /* |
| 123 | * This comes first in the read scatter-gather list. | ||
| 124 | * For legacy virtio, if VIRTIO_F_ANY_LAYOUT is not negotiated, | ||
| 125 | * this is the first element of the read scatter-gather list. | ||
| 126 | */ | ||
| 123 | struct virtio_blk_outhdr { | 127 | struct virtio_blk_outhdr { |
| 124 | /* VIRTIO_BLK_T* */ | 128 | /* VIRTIO_BLK_T* */ |
| 125 | __virtio32 type; | 129 | __virtio32 type; |
diff --git a/include/uapi/linux/virtio_scsi.h b/include/uapi/linux/virtio_scsi.h index 42b9370771b0..cc18ef8825c0 100644 --- a/include/uapi/linux/virtio_scsi.h +++ b/include/uapi/linux/virtio_scsi.h | |||
| @@ -29,8 +29,16 @@ | |||
| 29 | 29 | ||
| 30 | #include <linux/virtio_types.h> | 30 | #include <linux/virtio_types.h> |
| 31 | 31 | ||
| 32 | #define VIRTIO_SCSI_CDB_SIZE 32 | 32 | /* Default values of the CDB and sense data size configuration fields */ |
| 33 | #define VIRTIO_SCSI_SENSE_SIZE 96 | 33 | #define VIRTIO_SCSI_CDB_DEFAULT_SIZE 32 |
| 34 | #define VIRTIO_SCSI_SENSE_DEFAULT_SIZE 96 | ||
| 35 | |||
| 36 | #ifndef VIRTIO_SCSI_CDB_SIZE | ||
| 37 | #define VIRTIO_SCSI_CDB_SIZE VIRTIO_SCSI_CDB_DEFAULT_SIZE | ||
| 38 | #endif | ||
| 39 | #ifndef VIRTIO_SCSI_SENSE_SIZE | ||
| 40 | #define VIRTIO_SCSI_SENSE_SIZE VIRTIO_SCSI_SENSE_DEFAULT_SIZE | ||
| 41 | #endif | ||
| 34 | 42 | ||
| 35 | /* SCSI command request, followed by data-out */ | 43 | /* SCSI command request, followed by data-out */ |
| 36 | struct virtio_scsi_cmd_req { | 44 | struct virtio_scsi_cmd_req { |
diff --git a/include/video/omapdss.h b/include/video/omapdss.h index 60de61fea8e3..c8ed15daad02 100644 --- a/include/video/omapdss.h +++ b/include/video/omapdss.h | |||
| @@ -689,6 +689,7 @@ struct omapdss_dsi_ops { | |||
| 689 | }; | 689 | }; |
| 690 | 690 | ||
| 691 | struct omap_dss_device { | 691 | struct omap_dss_device { |
| 692 | struct kobject kobj; | ||
| 692 | struct device *dev; | 693 | struct device *dev; |
| 693 | 694 | ||
| 694 | struct module *owner; | 695 | struct module *owner; |
diff --git a/include/xen/xenbus.h b/include/xen/xenbus.h index b78f21caf55a..b0f1c9e5d687 100644 --- a/include/xen/xenbus.h +++ b/include/xen/xenbus.h | |||
| @@ -114,9 +114,9 @@ int __must_check __xenbus_register_backend(struct xenbus_driver *drv, | |||
| 114 | const char *mod_name); | 114 | const char *mod_name); |
| 115 | 115 | ||
| 116 | #define xenbus_register_frontend(drv) \ | 116 | #define xenbus_register_frontend(drv) \ |
| 117 | __xenbus_register_frontend(drv, THIS_MODULE, KBUILD_MODNAME); | 117 | __xenbus_register_frontend(drv, THIS_MODULE, KBUILD_MODNAME) |
| 118 | #define xenbus_register_backend(drv) \ | 118 | #define xenbus_register_backend(drv) \ |
| 119 | __xenbus_register_backend(drv, THIS_MODULE, KBUILD_MODNAME); | 119 | __xenbus_register_backend(drv, THIS_MODULE, KBUILD_MODNAME) |
| 120 | 120 | ||
| 121 | void xenbus_unregister_driver(struct xenbus_driver *drv); | 121 | void xenbus_unregister_driver(struct xenbus_driver *drv); |
| 122 | 122 | ||
