diff options
author | madmonkey <madfkingmonkey@gmail.com> | 2018-07-26 01:47:45 +0300 |
---|---|---|
committer | madmonkey <madfkingmonkey@gmail.com> | 2018-07-26 02:05:38 +0300 |
commit | 9f53fdde860f03c64b78091dea3b1055652965a0 (patch) | |
tree | 09b584c85761d1a95cbc6fe27c96d425f599282b /include | |
parent | 625bbe29047b654b511443263d7cd28ee4810638 (diff) |
update to 3.4.113
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/acpi.h | 6 | ||||
-rw-r--r-- | include/linux/compiler-gcc6.h | 66 | ||||
-rw-r--r-- | include/linux/enclosure.h | 4 | ||||
-rw-r--r-- | include/linux/jbd2.h | 1 | ||||
-rw-r--r-- | include/linux/mm.h | 1 | ||||
-rw-r--r-- | include/linux/usb/quirks.h | 3 | ||||
-rw-r--r-- | include/net/af_unix.h | 5 | ||||
-rw-r--r-- | include/net/ip6_fib.h | 1 | ||||
-rw-r--r-- | include/net/ndisc.h | 2 | ||||
-rw-r--r-- | include/net/sctp/structs.h | 3 | ||||
-rw-r--r-- | include/video/drv_display.h | 4 | ||||
-rw-r--r-- | include/xen/interface/io/ring.h | 14 |
12 files changed, 104 insertions, 6 deletions
diff --git a/include/linux/acpi.h b/include/linux/acpi.h index f421dd84..668351a6 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -110,6 +110,12 @@ int acpi_unregister_ioapic(acpi_handle handle, u32 gsi_base); void acpi_irq_stats_init(void); extern u32 acpi_irq_handled; extern u32 acpi_irq_not_handled; +extern unsigned int acpi_sci_irq; +#define INVALID_ACPI_IRQ ((unsigned)-1) +static inline bool acpi_sci_irq_valid(void) +{ + return acpi_sci_irq != INVALID_ACPI_IRQ; +} extern int sbf_port; extern unsigned long acpi_realmode_flags; diff --git a/include/linux/compiler-gcc6.h b/include/linux/compiler-gcc6.h new file mode 100644 index 00000000..a3d00d8d --- /dev/null +++ b/include/linux/compiler-gcc6.h @@ -0,0 +1,66 @@ +#ifndef __LINUX_COMPILER_H +#error "Please don't include <linux/compiler-gcc6.h> directly, include <linux/compiler.h> instead." +#endif + +#define __used __attribute__((__used__)) +#define __must_check __attribute__((warn_unused_result)) +#define __compiler_offsetof(a, b) __builtin_offsetof(a, b) + +/* Mark functions as cold. gcc will assume any path leading to a call + to them will be unlikely. This means a lot of manual unlikely()s + are unnecessary now for any paths leading to the usual suspects + like BUG(), printk(), panic() etc. [but let's keep them for now for + older compilers] + + Early snapshots of gcc 4.3 don't support this and we can't detect this + in the preprocessor, but we can live with this because they're unreleased. + Maketime probing would be overkill here. + + gcc also has a __attribute__((__hot__)) to move hot functions into + a special section, but I don't see any sense in this right now in + the kernel context */ +#define __cold __attribute__((__cold__)) + +#define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__) + +#ifndef __CHECKER__ +# define __compiletime_warning(message) __attribute__((warning(message))) +# define __compiletime_error(message) __attribute__((error(message))) +#endif /* __CHECKER__ */ + +/* + * Mark a position in code as unreachable. This can be used to + * suppress control flow warnings after asm blocks that transfer + * control elsewhere. + * + * Early snapshots of gcc 4.5 don't support this and we can't detect + * this in the preprocessor, but we can live with this because they're + * unreleased. Really, we need to have autoconf for the kernel. + */ +#define unreachable() __builtin_unreachable() + +/* Mark a function definition as prohibited from being cloned. */ +#define __noclone __attribute__((__noclone__)) + +/* + * Tell the optimizer that something else uses this function or variable. + */ +#define __visible __attribute__((externally_visible)) + +/* + * GCC 'asm goto' miscompiles certain code sequences: + * + * http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58670 + * + * Work it around via a compiler barrier quirk suggested by Jakub Jelinek. + * Fixed in GCC 4.8.2 and later versions. + * + * (asm goto is automatically volatile - the naming reflects this.) + */ +#define asm_volatile_goto(x...) do { asm goto(x); asm (""); } while (0) + +#ifdef CONFIG_ARCH_USE_BUILTIN_BSWAP +#define __HAVE_BUILTIN_BSWAP32__ +#define __HAVE_BUILTIN_BSWAP64__ +#define __HAVE_BUILTIN_BSWAP16__ +#endif /* CONFIG_ARCH_USE_BUILTIN_BSWAP */ diff --git a/include/linux/enclosure.h b/include/linux/enclosure.h index 9a33c5f7..f6c229e2 100644 --- a/include/linux/enclosure.h +++ b/include/linux/enclosure.h @@ -29,7 +29,11 @@ /* A few generic types ... taken from ses-2 */ enum enclosure_component_type { ENCLOSURE_COMPONENT_DEVICE = 0x01, + ENCLOSURE_COMPONENT_CONTROLLER_ELECTRONICS = 0x07, + ENCLOSURE_COMPONENT_SCSI_TARGET_PORT = 0x14, + ENCLOSURE_COMPONENT_SCSI_INITIATOR_PORT = 0x15, ENCLOSURE_COMPONENT_ARRAY_DEVICE = 0x17, + ENCLOSURE_COMPONENT_SAS_EXPANDER = 0x18, }; /* ses-2 common element status */ diff --git a/include/linux/jbd2.h b/include/linux/jbd2.h index 2179d78b..ee8090f3 100644 --- a/include/linux/jbd2.h +++ b/include/linux/jbd2.h @@ -954,6 +954,7 @@ struct journal_s #define JBD2_ABORT_ON_SYNCDATA_ERR 0x040 /* Abort the journal on file * data write error in ordered * mode */ +#define JBD2_REC_ERR 0x080 /* The errno in the sb has been recorded */ /* * Function declarations for the journaling transaction and buffer diff --git a/include/linux/mm.h b/include/linux/mm.h index de81c803..de5d6e71 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1526,6 +1526,7 @@ struct page *follow_page(struct vm_area_struct *, unsigned long address, #define FOLL_MLOCK 0x40 /* mark page as mlocked */ #define FOLL_SPLIT 0x80 /* don't return transhuge pages, split them */ #define FOLL_HWPOISON 0x100 /* check page is hwpoisoned */ +#define FOLL_COW 0x4000 /* internal GUP flag */ typedef int (*pte_fn_t)(pte_t *pte, pgtable_t token, unsigned long addr, void *data); diff --git a/include/linux/usb/quirks.h b/include/linux/usb/quirks.h index 0972470b..a67e7d13 100644 --- a/include/linux/usb/quirks.h +++ b/include/linux/usb/quirks.h @@ -30,9 +30,6 @@ descriptor */ #define USB_QUIRK_DELAY_INIT 0x00000040 -/* device generates spurious wakeup, ignore remote wakeup capability */ -#define USB_QUIRK_IGNORE_REMOTE_WAKEUP 0x00000200 - /* device can't handle device_qualifier descriptor requests */ #define USB_QUIRK_DEVICE_QUALIFIER 0x00000100 diff --git a/include/net/af_unix.h b/include/net/af_unix.h index d29a576e..f3cbf1c1 100644 --- a/include/net/af_unix.h +++ b/include/net/af_unix.h @@ -56,9 +56,10 @@ struct unix_sock { struct list_head link; atomic_long_t inflight; spinlock_t lock; - unsigned int gc_candidate : 1; - unsigned int gc_maybe_cycle : 1; unsigned char recursion_level; + unsigned long gc_flags; +#define UNIX_GC_CANDIDATE 0 +#define UNIX_GC_MAYBE_CYCLE 1 struct socket_wq peer_wq; wait_queue_t peer_wake; }; diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index 49c4cfe8..acaab5e5 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h @@ -37,6 +37,7 @@ struct fib6_config { int fc_ifindex; u32 fc_flags; u32 fc_protocol; + u32 fc_type; /* only 8 bits are used */ struct in6_addr fc_dst; struct in6_addr fc_src; diff --git a/include/net/ndisc.h b/include/net/ndisc.h index 6f9c25a7..cd205e93 100644 --- a/include/net/ndisc.h +++ b/include/net/ndisc.h @@ -117,7 +117,9 @@ static inline struct neighbour *__ipv6_neigh_lookup(struct neigh_table *tbl, str } extern int ndisc_init(void); +extern int ndisc_late_init(void); +extern void ndisc_late_cleanup(void); extern void ndisc_cleanup(void); extern int ndisc_rcv(struct sk_buff *skb); diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index 4ea0ec64..e60eb403 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h @@ -1587,7 +1587,8 @@ struct sctp_association { * : order. When DATA chunks are out of order, * : SACK's are not delayed (see Section 6). */ - __u8 sack_needed; /* Do we need to sack the peer? */ + __u8 sack_needed:1, /* Do we need to sack the peer? */ + zero_window_announced:1; __u32 sack_cnt; /* These are capabilities which our peer advertised. */ diff --git a/include/video/drv_display.h b/include/video/drv_display.h index a76d6fba..60891b3d 100644 --- a/include/video/drv_display.h +++ b/include/video/drv_display.h @@ -510,6 +510,7 @@ typedef struct typedef struct { unsigned int lcd_gamma_tbl[256]; + unsigned int lcd_gamma_tbl_dimmed[256]; unsigned int lcd_cmap_tbl[2][3][4]; unsigned int lcd_bright_curve_tbl[256]; }panel_extend_para; @@ -577,6 +578,7 @@ typedef struct unsigned int lcd_cmap_en; unsigned int lcd_bright_curve_en; panel_extend_para lcd_extend_para; + unsigned int lcd_dimming_en; char lcd_size[8]; //e.g. 7.9, 9.7 char lcd_model_name[32]; @@ -749,6 +751,8 @@ typedef enum tag_DISP_CMD DISP_CMD_LCD_USER_DEFINED_FUNC = 0x10e, DISP_CMD_LCD_CHECK_OPEN_FINISH = 0x10f, DISP_CMD_LCD_CHECK_CLOSE_FINISH = 0x110, + DISP_CMD_LCD_SET_DIMMING = 0x111, + DISP_CMD_LCD_GET_DIMMING = 0x112, //---- capture --- DISP_CMD_CAPTURE_SCREEN = 0x140,//caputre screen and scaler to dram diff --git a/include/xen/interface/io/ring.h b/include/xen/interface/io/ring.h index 7d28aff6..7dc685b4 100644 --- a/include/xen/interface/io/ring.h +++ b/include/xen/interface/io/ring.h @@ -181,6 +181,20 @@ struct __name##_back_ring { \ #define RING_GET_REQUEST(_r, _idx) \ (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].req)) +/* + * Get a local copy of a request. + * + * Use this in preference to RING_GET_REQUEST() so all processing is + * done on a local copy that cannot be modified by the other end. + * + * Note that https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58145 may cause this + * to be ineffective where _req is a struct which consists of only bitfields. + */ +#define RING_COPY_REQUEST(_r, _idx, _req) do { \ + /* Use volatile to force the copy into _req. */ \ + *(_req) = *(volatile typeof(_req))RING_GET_REQUEST(_r, _idx); \ +} while (0) + #define RING_GET_RESPONSE(_r, _idx) \ (&((_r)->sring->ring[((_idx) & (RING_SIZE(_r) - 1))].rsp)) |