diff options
| author | Zhang Rui <rui.zhang@intel.com> | 2015-06-11 00:52:14 -0400 |
|---|---|---|
| committer | Zhang Rui <rui.zhang@intel.com> | 2015-06-11 00:52:14 -0400 |
| commit | 111b23cf895b5cbcdc1b2c6580be1bb78a577d05 (patch) | |
| tree | 89b840115ccd753216ba0b26e587e52699b99310 /include | |
| parent | 6a6bcf08e5d1834447655a762dfaf552b675cc54 (diff) | |
| parent | 53daf9383f34d7bf61358a37449fb4d59fbdafc2 (diff) | |
Merge branches 'release' and 'thermal-soc' of .git into next
Diffstat (limited to 'include')
54 files changed, 551 insertions, 112 deletions
diff --git a/include/acpi/actypes.h b/include/acpi/actypes.h index f5ca0e989bba..1c3002e1db20 100644 --- a/include/acpi/actypes.h +++ b/include/acpi/actypes.h | |||
| @@ -124,7 +124,6 @@ | |||
| 124 | #ifndef ACPI_USE_SYSTEM_INTTYPES | 124 | #ifndef ACPI_USE_SYSTEM_INTTYPES |
| 125 | 125 | ||
| 126 | typedef unsigned char u8; | 126 | typedef unsigned char u8; |
| 127 | typedef unsigned char u8; | ||
| 128 | typedef unsigned short u16; | 127 | typedef unsigned short u16; |
| 129 | typedef short s16; | 128 | typedef short s16; |
| 130 | typedef COMPILER_DEPENDENT_UINT64 u64; | 129 | typedef COMPILER_DEPENDENT_UINT64 u64; |
diff --git a/include/drm/drm_pciids.h b/include/drm/drm_pciids.h index 2dd405c9be78..45c39a37f924 100644 --- a/include/drm/drm_pciids.h +++ b/include/drm/drm_pciids.h | |||
| @@ -186,6 +186,7 @@ | |||
| 186 | {0x1002, 0x6658, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \ | 186 | {0x1002, 0x6658, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \ |
| 187 | {0x1002, 0x665c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \ | 187 | {0x1002, 0x665c, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \ |
| 188 | {0x1002, 0x665d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \ | 188 | {0x1002, 0x665d, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \ |
| 189 | {0x1002, 0x665f, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_BONAIRE|RADEON_NEW_MEMMAP}, \ | ||
| 189 | {0x1002, 0x6660, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 190 | {0x1002, 0x6660, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
| 190 | {0x1002, 0x6663, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 191 | {0x1002, 0x6663, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
| 191 | {0x1002, 0x6664, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ | 192 | {0x1002, 0x6664, PCI_ANY_ID, PCI_ANY_ID, 0, 0, CHIP_HAINAN|RADEON_IS_MOBILITY|RADEON_NEW_MEMMAP}, \ |
diff --git a/include/linux/blk_types.h b/include/linux/blk_types.h index a1b25e35ea5f..b7299febc4b4 100644 --- a/include/linux/blk_types.h +++ b/include/linux/blk_types.h | |||
| @@ -220,7 +220,7 @@ enum rq_flag_bits { | |||
| 220 | 220 | ||
| 221 | /* This mask is used for both bio and request merge checking */ | 221 | /* This mask is used for both bio and request merge checking */ |
| 222 | #define REQ_NOMERGE_FLAGS \ | 222 | #define REQ_NOMERGE_FLAGS \ |
| 223 | (REQ_NOMERGE | REQ_STARTED | REQ_SOFTBARRIER | REQ_FLUSH | REQ_FUA) | 223 | (REQ_NOMERGE | REQ_STARTED | REQ_SOFTBARRIER | REQ_FLUSH | REQ_FUA | REQ_FLUSH_SEQ) |
| 224 | 224 | ||
| 225 | #define REQ_RAHEAD (1ULL << __REQ_RAHEAD) | 225 | #define REQ_RAHEAD (1ULL << __REQ_RAHEAD) |
| 226 | #define REQ_THROTTLED (1ULL << __REQ_THROTTLED) | 226 | #define REQ_THROTTLED (1ULL << __REQ_THROTTLED) |
diff --git a/include/linux/compiler-gcc.h b/include/linux/compiler-gcc.h index cdf13ca7cac3..371e560d13cf 100644 --- a/include/linux/compiler-gcc.h +++ b/include/linux/compiler-gcc.h | |||
| @@ -9,10 +9,24 @@ | |||
| 9 | + __GNUC_MINOR__ * 100 \ | 9 | + __GNUC_MINOR__ * 100 \ |
| 10 | + __GNUC_PATCHLEVEL__) | 10 | + __GNUC_PATCHLEVEL__) |
| 11 | 11 | ||
| 12 | |||
| 13 | /* Optimization barrier */ | 12 | /* Optimization barrier */ |
| 13 | |||
| 14 | /* The "volatile" is due to gcc bugs */ | 14 | /* The "volatile" is due to gcc bugs */ |
| 15 | #define barrier() __asm__ __volatile__("": : :"memory") | 15 | #define barrier() __asm__ __volatile__("": : :"memory") |
| 16 | /* | ||
| 17 | * This version is i.e. to prevent dead stores elimination on @ptr | ||
| 18 | * where gcc and llvm may behave differently when otherwise using | ||
| 19 | * normal barrier(): while gcc behavior gets along with a normal | ||
| 20 | * barrier(), llvm needs an explicit input variable to be assumed | ||
| 21 | * clobbered. The issue is as follows: while the inline asm might | ||
| 22 | * access any memory it wants, the compiler could have fit all of | ||
| 23 | * @ptr into memory registers instead, and since @ptr never escaped | ||
| 24 | * from that, it proofed that the inline asm wasn't touching any of | ||
| 25 | * it. This version works well with both compilers, i.e. we're telling | ||
| 26 | * the compiler that the inline asm absolutely may see the contents | ||
| 27 | * of @ptr. See also: https://llvm.org/bugs/show_bug.cgi?id=15495 | ||
| 28 | */ | ||
| 29 | #define barrier_data(ptr) __asm__ __volatile__("": :"r"(ptr) :"memory") | ||
| 16 | 30 | ||
| 17 | /* | 31 | /* |
| 18 | * This macro obfuscates arithmetic on a variable address so that gcc | 32 | * This macro obfuscates arithmetic on a variable address so that gcc |
diff --git a/include/linux/compiler-intel.h b/include/linux/compiler-intel.h index ba147a1727e6..0c9a2f2c2802 100644 --- a/include/linux/compiler-intel.h +++ b/include/linux/compiler-intel.h | |||
| @@ -13,9 +13,12 @@ | |||
| 13 | /* Intel ECC compiler doesn't support gcc specific asm stmts. | 13 | /* Intel ECC compiler doesn't support gcc specific asm stmts. |
| 14 | * It uses intrinsics to do the equivalent things. | 14 | * It uses intrinsics to do the equivalent things. |
| 15 | */ | 15 | */ |
| 16 | #undef barrier_data | ||
| 16 | #undef RELOC_HIDE | 17 | #undef RELOC_HIDE |
| 17 | #undef OPTIMIZER_HIDE_VAR | 18 | #undef OPTIMIZER_HIDE_VAR |
| 18 | 19 | ||
| 20 | #define barrier_data(ptr) barrier() | ||
| 21 | |||
| 19 | #define RELOC_HIDE(ptr, off) \ | 22 | #define RELOC_HIDE(ptr, off) \ |
| 20 | ({ unsigned long __ptr; \ | 23 | ({ unsigned long __ptr; \ |
| 21 | __ptr = (unsigned long) (ptr); \ | 24 | __ptr = (unsigned long) (ptr); \ |
diff --git a/include/linux/compiler.h b/include/linux/compiler.h index 0e41ca0e5927..867722591be2 100644 --- a/include/linux/compiler.h +++ b/include/linux/compiler.h | |||
| @@ -169,6 +169,10 @@ void ftrace_likely_update(struct ftrace_branch_data *f, int val, int expect); | |||
| 169 | # define barrier() __memory_barrier() | 169 | # define barrier() __memory_barrier() |
| 170 | #endif | 170 | #endif |
| 171 | 171 | ||
| 172 | #ifndef barrier_data | ||
| 173 | # define barrier_data(ptr) barrier() | ||
| 174 | #endif | ||
| 175 | |||
| 172 | /* Unreachable code */ | 176 | /* Unreachable code */ |
| 173 | #ifndef unreachable | 177 | #ifndef unreachable |
| 174 | # define unreachable() do { } while (1) | 178 | # define unreachable() do { } while (1) |
diff --git a/include/linux/cpu_cooling.h b/include/linux/cpu_cooling.h index bd955270d5aa..c156f5082758 100644 --- a/include/linux/cpu_cooling.h +++ b/include/linux/cpu_cooling.h | |||
| @@ -28,6 +28,9 @@ | |||
| 28 | #include <linux/thermal.h> | 28 | #include <linux/thermal.h> |
| 29 | #include <linux/cpumask.h> | 29 | #include <linux/cpumask.h> |
| 30 | 30 | ||
| 31 | typedef int (*get_static_t)(cpumask_t *cpumask, int interval, | ||
| 32 | unsigned long voltage, u32 *power); | ||
| 33 | |||
| 31 | #ifdef CONFIG_CPU_THERMAL | 34 | #ifdef CONFIG_CPU_THERMAL |
| 32 | /** | 35 | /** |
| 33 | * cpufreq_cooling_register - function to create cpufreq cooling device. | 36 | * cpufreq_cooling_register - function to create cpufreq cooling device. |
| @@ -36,6 +39,10 @@ | |||
| 36 | struct thermal_cooling_device * | 39 | struct thermal_cooling_device * |
| 37 | cpufreq_cooling_register(const struct cpumask *clip_cpus); | 40 | cpufreq_cooling_register(const struct cpumask *clip_cpus); |
| 38 | 41 | ||
| 42 | struct thermal_cooling_device * | ||
| 43 | cpufreq_power_cooling_register(const struct cpumask *clip_cpus, | ||
| 44 | u32 capacitance, get_static_t plat_static_func); | ||
| 45 | |||
| 39 | /** | 46 | /** |
| 40 | * of_cpufreq_cooling_register - create cpufreq cooling device based on DT. | 47 | * of_cpufreq_cooling_register - create cpufreq cooling device based on DT. |
| 41 | * @np: a valid struct device_node to the cooling device device tree node. | 48 | * @np: a valid struct device_node to the cooling device device tree node. |
| @@ -45,6 +52,12 @@ cpufreq_cooling_register(const struct cpumask *clip_cpus); | |||
| 45 | struct thermal_cooling_device * | 52 | struct thermal_cooling_device * |
| 46 | of_cpufreq_cooling_register(struct device_node *np, | 53 | of_cpufreq_cooling_register(struct device_node *np, |
| 47 | const struct cpumask *clip_cpus); | 54 | const struct cpumask *clip_cpus); |
| 55 | |||
| 56 | struct thermal_cooling_device * | ||
| 57 | of_cpufreq_power_cooling_register(struct device_node *np, | ||
| 58 | const struct cpumask *clip_cpus, | ||
| 59 | u32 capacitance, | ||
| 60 | get_static_t plat_static_func); | ||
| 48 | #else | 61 | #else |
| 49 | static inline struct thermal_cooling_device * | 62 | static inline struct thermal_cooling_device * |
| 50 | of_cpufreq_cooling_register(struct device_node *np, | 63 | of_cpufreq_cooling_register(struct device_node *np, |
| @@ -52,6 +65,15 @@ of_cpufreq_cooling_register(struct device_node *np, | |||
| 52 | { | 65 | { |
| 53 | return ERR_PTR(-ENOSYS); | 66 | return ERR_PTR(-ENOSYS); |
| 54 | } | 67 | } |
| 68 | |||
| 69 | static inline struct thermal_cooling_device * | ||
| 70 | of_cpufreq_power_cooling_register(struct device_node *np, | ||
| 71 | const struct cpumask *clip_cpus, | ||
| 72 | u32 capacitance, | ||
| 73 | get_static_t plat_static_func) | ||
| 74 | { | ||
| 75 | return NULL; | ||
| 76 | } | ||
| 55 | #endif | 77 | #endif |
| 56 | 78 | ||
| 57 | /** | 79 | /** |
| @@ -68,11 +90,28 @@ cpufreq_cooling_register(const struct cpumask *clip_cpus) | |||
| 68 | return ERR_PTR(-ENOSYS); | 90 | return ERR_PTR(-ENOSYS); |
| 69 | } | 91 | } |
| 70 | static inline struct thermal_cooling_device * | 92 | static inline struct thermal_cooling_device * |
| 93 | cpufreq_power_cooling_register(const struct cpumask *clip_cpus, | ||
| 94 | u32 capacitance, get_static_t plat_static_func) | ||
| 95 | { | ||
| 96 | return NULL; | ||
| 97 | } | ||
| 98 | |||
| 99 | static inline struct thermal_cooling_device * | ||
| 71 | of_cpufreq_cooling_register(struct device_node *np, | 100 | of_cpufreq_cooling_register(struct device_node *np, |
| 72 | const struct cpumask *clip_cpus) | 101 | const struct cpumask *clip_cpus) |
| 73 | { | 102 | { |
| 74 | return ERR_PTR(-ENOSYS); | 103 | return ERR_PTR(-ENOSYS); |
| 75 | } | 104 | } |
| 105 | |||
| 106 | static inline struct thermal_cooling_device * | ||
| 107 | of_cpufreq_power_cooling_register(struct device_node *np, | ||
| 108 | const struct cpumask *clip_cpus, | ||
| 109 | u32 capacitance, | ||
| 110 | get_static_t plat_static_func) | ||
| 111 | { | ||
| 112 | return NULL; | ||
| 113 | } | ||
| 114 | |||
| 76 | static inline | 115 | static inline |
| 77 | void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev) | 116 | void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev) |
| 78 | { | 117 | { |
diff --git a/include/linux/ftrace_event.h b/include/linux/ftrace_event.h index 46e83c2156c6..f9ecf63d47f1 100644 --- a/include/linux/ftrace_event.h +++ b/include/linux/ftrace_event.h | |||
| @@ -46,7 +46,7 @@ const char *ftrace_print_hex_seq(struct trace_seq *p, | |||
| 46 | const unsigned char *buf, int len); | 46 | const unsigned char *buf, int len); |
| 47 | 47 | ||
| 48 | const char *ftrace_print_array_seq(struct trace_seq *p, | 48 | const char *ftrace_print_array_seq(struct trace_seq *p, |
| 49 | const void *buf, int buf_len, | 49 | const void *buf, int count, |
| 50 | size_t el_size); | 50 | size_t el_size); |
| 51 | 51 | ||
| 52 | struct trace_iterator; | 52 | struct trace_iterator; |
diff --git a/include/linux/gfp.h b/include/linux/gfp.h index 97a9373e61e8..15928f0647e4 100644 --- a/include/linux/gfp.h +++ b/include/linux/gfp.h | |||
| @@ -30,6 +30,7 @@ struct vm_area_struct; | |||
| 30 | #define ___GFP_HARDWALL 0x20000u | 30 | #define ___GFP_HARDWALL 0x20000u |
| 31 | #define ___GFP_THISNODE 0x40000u | 31 | #define ___GFP_THISNODE 0x40000u |
| 32 | #define ___GFP_RECLAIMABLE 0x80000u | 32 | #define ___GFP_RECLAIMABLE 0x80000u |
| 33 | #define ___GFP_NOACCOUNT 0x100000u | ||
| 33 | #define ___GFP_NOTRACK 0x200000u | 34 | #define ___GFP_NOTRACK 0x200000u |
| 34 | #define ___GFP_NO_KSWAPD 0x400000u | 35 | #define ___GFP_NO_KSWAPD 0x400000u |
| 35 | #define ___GFP_OTHER_NODE 0x800000u | 36 | #define ___GFP_OTHER_NODE 0x800000u |
| @@ -87,6 +88,7 @@ struct vm_area_struct; | |||
| 87 | #define __GFP_HARDWALL ((__force gfp_t)___GFP_HARDWALL) /* Enforce hardwall cpuset memory allocs */ | 88 | #define __GFP_HARDWALL ((__force gfp_t)___GFP_HARDWALL) /* Enforce hardwall cpuset memory allocs */ |
| 88 | #define __GFP_THISNODE ((__force gfp_t)___GFP_THISNODE)/* No fallback, no policies */ | 89 | #define __GFP_THISNODE ((__force gfp_t)___GFP_THISNODE)/* No fallback, no policies */ |
| 89 | #define __GFP_RECLAIMABLE ((__force gfp_t)___GFP_RECLAIMABLE) /* Page is reclaimable */ | 90 | #define __GFP_RECLAIMABLE ((__force gfp_t)___GFP_RECLAIMABLE) /* Page is reclaimable */ |
| 91 | #define __GFP_NOACCOUNT ((__force gfp_t)___GFP_NOACCOUNT) /* Don't account to kmemcg */ | ||
| 90 | #define __GFP_NOTRACK ((__force gfp_t)___GFP_NOTRACK) /* Don't track with kmemcheck */ | 92 | #define __GFP_NOTRACK ((__force gfp_t)___GFP_NOTRACK) /* Don't track with kmemcheck */ |
| 91 | 93 | ||
| 92 | #define __GFP_NO_KSWAPD ((__force gfp_t)___GFP_NO_KSWAPD) | 94 | #define __GFP_NO_KSWAPD ((__force gfp_t)___GFP_NO_KSWAPD) |
diff --git a/include/linux/irqchip/arm-gic.h b/include/linux/irqchip/arm-gic.h index 36ec4ae74634..9de976b4f9a7 100644 --- a/include/linux/irqchip/arm-gic.h +++ b/include/linux/irqchip/arm-gic.h | |||
| @@ -95,8 +95,6 @@ | |||
| 95 | 95 | ||
| 96 | struct device_node; | 96 | struct device_node; |
| 97 | 97 | ||
| 98 | extern struct irq_chip gic_arch_extn; | ||
| 99 | |||
| 100 | void gic_set_irqchip_flags(unsigned long flags); | 98 | void gic_set_irqchip_flags(unsigned long flags); |
| 101 | void gic_init_bases(unsigned int, int, void __iomem *, void __iomem *, | 99 | void gic_init_bases(unsigned int, int, void __iomem *, void __iomem *, |
| 102 | u32 offset, struct device_node *); | 100 | u32 offset, struct device_node *); |
diff --git a/include/linux/kexec.h b/include/linux/kexec.h index e60a745ac198..e804306ef5e8 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h | |||
| @@ -40,6 +40,10 @@ | |||
| 40 | #error KEXEC_CONTROL_MEMORY_LIMIT not defined | 40 | #error KEXEC_CONTROL_MEMORY_LIMIT not defined |
| 41 | #endif | 41 | #endif |
| 42 | 42 | ||
| 43 | #ifndef KEXEC_CONTROL_MEMORY_GFP | ||
| 44 | #define KEXEC_CONTROL_MEMORY_GFP GFP_KERNEL | ||
| 45 | #endif | ||
| 46 | |||
| 43 | #ifndef KEXEC_CONTROL_PAGE_SIZE | 47 | #ifndef KEXEC_CONTROL_PAGE_SIZE |
| 44 | #error KEXEC_CONTROL_PAGE_SIZE not defined | 48 | #error KEXEC_CONTROL_PAGE_SIZE not defined |
| 45 | #endif | 49 | #endif |
diff --git a/include/linux/libata.h b/include/linux/libata.h index 8dad4a307bb8..28aeae46f355 100644 --- a/include/linux/libata.h +++ b/include/linux/libata.h | |||
| @@ -205,6 +205,7 @@ enum { | |||
| 205 | ATA_LFLAG_SW_ACTIVITY = (1 << 7), /* keep activity stats */ | 205 | ATA_LFLAG_SW_ACTIVITY = (1 << 7), /* keep activity stats */ |
| 206 | ATA_LFLAG_NO_LPM = (1 << 8), /* disable LPM on this link */ | 206 | ATA_LFLAG_NO_LPM = (1 << 8), /* disable LPM on this link */ |
| 207 | ATA_LFLAG_RST_ONCE = (1 << 9), /* limit recovery to one reset */ | 207 | ATA_LFLAG_RST_ONCE = (1 << 9), /* limit recovery to one reset */ |
| 208 | ATA_LFLAG_CHANGED = (1 << 10), /* LPM state changed on this link */ | ||
| 208 | 209 | ||
| 209 | /* struct ata_port flags */ | 210 | /* struct ata_port flags */ |
| 210 | ATA_FLAG_SLAVE_POSS = (1 << 0), /* host supports slave dev */ | 211 | ATA_FLAG_SLAVE_POSS = (1 << 0), /* host supports slave dev */ |
| @@ -309,6 +310,12 @@ enum { | |||
| 309 | */ | 310 | */ |
| 310 | ATA_TMOUT_PMP_SRST_WAIT = 5000, | 311 | ATA_TMOUT_PMP_SRST_WAIT = 5000, |
| 311 | 312 | ||
| 313 | /* When the LPM policy is set to ATA_LPM_MAX_POWER, there might | ||
| 314 | * be a spurious PHY event, so ignore the first PHY event that | ||
| 315 | * occurs within 10s after the policy change. | ||
| 316 | */ | ||
| 317 | ATA_TMOUT_SPURIOUS_PHY = 10000, | ||
| 318 | |||
| 312 | /* ATA bus states */ | 319 | /* ATA bus states */ |
| 313 | BUS_UNKNOWN = 0, | 320 | BUS_UNKNOWN = 0, |
| 314 | BUS_DMA = 1, | 321 | BUS_DMA = 1, |
| @@ -788,6 +795,8 @@ struct ata_link { | |||
| 788 | struct ata_eh_context eh_context; | 795 | struct ata_eh_context eh_context; |
| 789 | 796 | ||
| 790 | struct ata_device device[ATA_MAX_DEVICES]; | 797 | struct ata_device device[ATA_MAX_DEVICES]; |
| 798 | |||
| 799 | unsigned long last_lpm_change; /* when last LPM change happened */ | ||
| 791 | }; | 800 | }; |
| 792 | #define ATA_LINK_CLEAR_BEGIN offsetof(struct ata_link, active_tag) | 801 | #define ATA_LINK_CLEAR_BEGIN offsetof(struct ata_link, active_tag) |
| 793 | #define ATA_LINK_CLEAR_END offsetof(struct ata_link, device[0]) | 802 | #define ATA_LINK_CLEAR_END offsetof(struct ata_link, device[0]) |
| @@ -1201,6 +1210,7 @@ extern struct ata_device *ata_dev_pair(struct ata_device *adev); | |||
| 1201 | extern int ata_do_set_mode(struct ata_link *link, struct ata_device **r_failed_dev); | 1210 | extern int ata_do_set_mode(struct ata_link *link, struct ata_device **r_failed_dev); |
| 1202 | extern void ata_scsi_port_error_handler(struct Scsi_Host *host, struct ata_port *ap); | 1211 | extern void ata_scsi_port_error_handler(struct Scsi_Host *host, struct ata_port *ap); |
| 1203 | extern void ata_scsi_cmd_error_handler(struct Scsi_Host *host, struct ata_port *ap, struct list_head *eh_q); | 1212 | extern void ata_scsi_cmd_error_handler(struct Scsi_Host *host, struct ata_port *ap, struct list_head *eh_q); |
| 1213 | extern bool sata_lpm_ignore_phy_events(struct ata_link *link); | ||
| 1204 | 1214 | ||
| 1205 | extern int ata_cable_40wire(struct ata_port *ap); | 1215 | extern int ata_cable_40wire(struct ata_port *ap); |
| 1206 | extern int ata_cable_80wire(struct ata_port *ap); | 1216 | extern int ata_cable_80wire(struct ata_port *ap); |
diff --git a/include/linux/memcontrol.h b/include/linux/memcontrol.h index 72dff5fb0d0c..6c8918114804 100644 --- a/include/linux/memcontrol.h +++ b/include/linux/memcontrol.h | |||
| @@ -463,6 +463,8 @@ memcg_kmem_newpage_charge(gfp_t gfp, struct mem_cgroup **memcg, int order) | |||
| 463 | if (!memcg_kmem_enabled()) | 463 | if (!memcg_kmem_enabled()) |
| 464 | return true; | 464 | return true; |
| 465 | 465 | ||
| 466 | if (gfp & __GFP_NOACCOUNT) | ||
| 467 | return true; | ||
| 466 | /* | 468 | /* |
| 467 | * __GFP_NOFAIL allocations will move on even if charging is not | 469 | * __GFP_NOFAIL allocations will move on even if charging is not |
| 468 | * possible. Therefore we don't even try, and have this allocation | 470 | * possible. Therefore we don't even try, and have this allocation |
| @@ -522,6 +524,8 @@ memcg_kmem_get_cache(struct kmem_cache *cachep, gfp_t gfp) | |||
| 522 | { | 524 | { |
| 523 | if (!memcg_kmem_enabled()) | 525 | if (!memcg_kmem_enabled()) |
| 524 | return cachep; | 526 | return cachep; |
| 527 | if (gfp & __GFP_NOACCOUNT) | ||
| 528 | return cachep; | ||
| 525 | if (gfp & __GFP_NOFAIL) | 529 | if (gfp & __GFP_NOFAIL) |
| 526 | return cachep; | 530 | return cachep; |
| 527 | if (in_interrupt() || (!current->mm) || (current->flags & PF_KTHREAD)) | 531 | if (in_interrupt() || (!current->mm) || (current->flags & PF_KTHREAD)) |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index bcbde799ec69..05b9a694e213 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -25,7 +25,6 @@ | |||
| 25 | #ifndef _LINUX_NETDEVICE_H | 25 | #ifndef _LINUX_NETDEVICE_H |
| 26 | #define _LINUX_NETDEVICE_H | 26 | #define _LINUX_NETDEVICE_H |
| 27 | 27 | ||
| 28 | #include <linux/pm_qos.h> | ||
| 29 | #include <linux/timer.h> | 28 | #include <linux/timer.h> |
| 30 | #include <linux/bug.h> | 29 | #include <linux/bug.h> |
| 31 | #include <linux/delay.h> | 30 | #include <linux/delay.h> |
| @@ -60,6 +59,7 @@ struct phy_device; | |||
| 60 | struct wireless_dev; | 59 | struct wireless_dev; |
| 61 | /* 802.15.4 specific */ | 60 | /* 802.15.4 specific */ |
| 62 | struct wpan_dev; | 61 | struct wpan_dev; |
| 62 | struct mpls_dev; | ||
| 63 | 63 | ||
| 64 | void netdev_set_default_ethtool_ops(struct net_device *dev, | 64 | void netdev_set_default_ethtool_ops(struct net_device *dev, |
| 65 | const struct ethtool_ops *ops); | 65 | const struct ethtool_ops *ops); |
| @@ -976,7 +976,8 @@ typedef u16 (*select_queue_fallback_t)(struct net_device *dev, | |||
| 976 | * int (*ndo_bridge_setlink)(struct net_device *dev, struct nlmsghdr *nlh, | 976 | * int (*ndo_bridge_setlink)(struct net_device *dev, struct nlmsghdr *nlh, |
| 977 | * u16 flags) | 977 | * u16 flags) |
| 978 | * int (*ndo_bridge_getlink)(struct sk_buff *skb, u32 pid, u32 seq, | 978 | * int (*ndo_bridge_getlink)(struct sk_buff *skb, u32 pid, u32 seq, |
| 979 | * struct net_device *dev, u32 filter_mask) | 979 | * struct net_device *dev, u32 filter_mask, |
| 980 | * int nlflags) | ||
| 980 | * int (*ndo_bridge_dellink)(struct net_device *dev, struct nlmsghdr *nlh, | 981 | * int (*ndo_bridge_dellink)(struct net_device *dev, struct nlmsghdr *nlh, |
| 981 | * u16 flags); | 982 | * u16 flags); |
| 982 | * | 983 | * |
| @@ -1172,7 +1173,8 @@ struct net_device_ops { | |||
| 1172 | int (*ndo_bridge_getlink)(struct sk_buff *skb, | 1173 | int (*ndo_bridge_getlink)(struct sk_buff *skb, |
| 1173 | u32 pid, u32 seq, | 1174 | u32 pid, u32 seq, |
| 1174 | struct net_device *dev, | 1175 | struct net_device *dev, |
| 1175 | u32 filter_mask); | 1176 | u32 filter_mask, |
| 1177 | int nlflags); | ||
| 1176 | int (*ndo_bridge_dellink)(struct net_device *dev, | 1178 | int (*ndo_bridge_dellink)(struct net_device *dev, |
| 1177 | struct nlmsghdr *nlh, | 1179 | struct nlmsghdr *nlh, |
| 1178 | u16 flags); | 1180 | u16 flags); |
| @@ -1496,8 +1498,6 @@ enum netdev_priv_flags { | |||
| 1496 | * | 1498 | * |
| 1497 | * @qdisc_tx_busylock: XXX: need comments on this one | 1499 | * @qdisc_tx_busylock: XXX: need comments on this one |
| 1498 | * | 1500 | * |
| 1499 | * @pm_qos_req: Power Management QoS object | ||
| 1500 | * | ||
| 1501 | * FIXME: cleanup struct net_device such that network protocol info | 1501 | * FIXME: cleanup struct net_device such that network protocol info |
| 1502 | * moves out. | 1502 | * moves out. |
| 1503 | */ | 1503 | */ |
| @@ -1627,6 +1627,9 @@ struct net_device { | |||
| 1627 | void *ax25_ptr; | 1627 | void *ax25_ptr; |
| 1628 | struct wireless_dev *ieee80211_ptr; | 1628 | struct wireless_dev *ieee80211_ptr; |
| 1629 | struct wpan_dev *ieee802154_ptr; | 1629 | struct wpan_dev *ieee802154_ptr; |
| 1630 | #if IS_ENABLED(CONFIG_MPLS_ROUTING) | ||
| 1631 | struct mpls_dev __rcu *mpls_ptr; | ||
| 1632 | #endif | ||
| 1630 | 1633 | ||
| 1631 | /* | 1634 | /* |
| 1632 | * Cache lines mostly used on receive path (including eth_type_trans()) | 1635 | * Cache lines mostly used on receive path (including eth_type_trans()) |
| @@ -2021,10 +2024,10 @@ struct pcpu_sw_netstats { | |||
| 2021 | ({ \ | 2024 | ({ \ |
| 2022 | typeof(type) __percpu *pcpu_stats = alloc_percpu(type); \ | 2025 | typeof(type) __percpu *pcpu_stats = alloc_percpu(type); \ |
| 2023 | if (pcpu_stats) { \ | 2026 | if (pcpu_stats) { \ |
| 2024 | int i; \ | 2027 | int __cpu; \ |
| 2025 | for_each_possible_cpu(i) { \ | 2028 | for_each_possible_cpu(__cpu) { \ |
| 2026 | typeof(type) *stat; \ | 2029 | typeof(type) *stat; \ |
| 2027 | stat = per_cpu_ptr(pcpu_stats, i); \ | 2030 | stat = per_cpu_ptr(pcpu_stats, __cpu); \ |
| 2028 | u64_stats_init(&stat->syncp); \ | 2031 | u64_stats_init(&stat->syncp); \ |
| 2029 | } \ | 2032 | } \ |
| 2030 | } \ | 2033 | } \ |
diff --git a/include/linux/netfilter_bridge.h b/include/linux/netfilter_bridge.h index ab8f76dba668..f2fdb5a52070 100644 --- a/include/linux/netfilter_bridge.h +++ b/include/linux/netfilter_bridge.h | |||
| @@ -39,12 +39,24 @@ static inline void br_drop_fake_rtable(struct sk_buff *skb) | |||
| 39 | 39 | ||
| 40 | static inline int nf_bridge_get_physinif(const struct sk_buff *skb) | 40 | static inline int nf_bridge_get_physinif(const struct sk_buff *skb) |
| 41 | { | 41 | { |
| 42 | return skb->nf_bridge ? skb->nf_bridge->physindev->ifindex : 0; | 42 | struct nf_bridge_info *nf_bridge; |
| 43 | |||
| 44 | if (skb->nf_bridge == NULL) | ||
| 45 | return 0; | ||
| 46 | |||
| 47 | nf_bridge = skb->nf_bridge; | ||
| 48 | return nf_bridge->physindev ? nf_bridge->physindev->ifindex : 0; | ||
| 43 | } | 49 | } |
| 44 | 50 | ||
| 45 | static inline int nf_bridge_get_physoutif(const struct sk_buff *skb) | 51 | static inline int nf_bridge_get_physoutif(const struct sk_buff *skb) |
| 46 | { | 52 | { |
| 47 | return skb->nf_bridge ? skb->nf_bridge->physoutdev->ifindex : 0; | 53 | struct nf_bridge_info *nf_bridge; |
| 54 | |||
| 55 | if (skb->nf_bridge == NULL) | ||
| 56 | return 0; | ||
| 57 | |||
| 58 | nf_bridge = skb->nf_bridge; | ||
| 59 | return nf_bridge->physoutdev ? nf_bridge->physoutdev->ifindex : 0; | ||
| 48 | } | 60 | } |
| 49 | 61 | ||
| 50 | static inline struct net_device * | 62 | static inline struct net_device * |
diff --git a/include/linux/nilfs2_fs.h b/include/linux/nilfs2_fs.h index ff3fea3194c6..9abb763e4b86 100644 --- a/include/linux/nilfs2_fs.h +++ b/include/linux/nilfs2_fs.h | |||
| @@ -460,7 +460,7 @@ struct nilfs_btree_node { | |||
| 460 | /* level */ | 460 | /* level */ |
| 461 | #define NILFS_BTREE_LEVEL_DATA 0 | 461 | #define NILFS_BTREE_LEVEL_DATA 0 |
| 462 | #define NILFS_BTREE_LEVEL_NODE_MIN (NILFS_BTREE_LEVEL_DATA + 1) | 462 | #define NILFS_BTREE_LEVEL_NODE_MIN (NILFS_BTREE_LEVEL_DATA + 1) |
| 463 | #define NILFS_BTREE_LEVEL_MAX 14 | 463 | #define NILFS_BTREE_LEVEL_MAX 14 /* Max level (exclusive) */ |
| 464 | 464 | ||
| 465 | /** | 465 | /** |
| 466 | * struct nilfs_palloc_group_desc - block group descriptor | 466 | * struct nilfs_palloc_group_desc - block group descriptor |
diff --git a/include/linux/pci_ids.h b/include/linux/pci_ids.h index 38cff8f6716d..2f7b9a40f627 100644 --- a/include/linux/pci_ids.h +++ b/include/linux/pci_ids.h | |||
| @@ -2541,10 +2541,6 @@ | |||
| 2541 | 2541 | ||
| 2542 | #define PCI_VENDOR_ID_INTEL 0x8086 | 2542 | #define PCI_VENDOR_ID_INTEL 0x8086 |
| 2543 | #define PCI_DEVICE_ID_INTEL_EESSC 0x0008 | 2543 | #define PCI_DEVICE_ID_INTEL_EESSC 0x0008 |
| 2544 | #define PCI_DEVICE_ID_INTEL_SNB_IMC 0x0100 | ||
| 2545 | #define PCI_DEVICE_ID_INTEL_IVB_IMC 0x0154 | ||
| 2546 | #define PCI_DEVICE_ID_INTEL_IVB_E3_IMC 0x0150 | ||
| 2547 | #define PCI_DEVICE_ID_INTEL_HSW_IMC 0x0c00 | ||
| 2548 | #define PCI_DEVICE_ID_INTEL_PXHD_0 0x0320 | 2544 | #define PCI_DEVICE_ID_INTEL_PXHD_0 0x0320 |
| 2549 | #define PCI_DEVICE_ID_INTEL_PXHD_1 0x0321 | 2545 | #define PCI_DEVICE_ID_INTEL_PXHD_1 0x0321 |
| 2550 | #define PCI_DEVICE_ID_INTEL_PXH_0 0x0329 | 2546 | #define PCI_DEVICE_ID_INTEL_PXH_0 0x0329 |
diff --git a/include/linux/rhashtable.h b/include/linux/rhashtable.h index e23d242d1230..dbcbcc59aa92 100644 --- a/include/linux/rhashtable.h +++ b/include/linux/rhashtable.h | |||
| @@ -282,7 +282,8 @@ static inline bool rht_shrink_below_30(const struct rhashtable *ht, | |||
| 282 | static inline bool rht_grow_above_100(const struct rhashtable *ht, | 282 | static inline bool rht_grow_above_100(const struct rhashtable *ht, |
| 283 | const struct bucket_table *tbl) | 283 | const struct bucket_table *tbl) |
| 284 | { | 284 | { |
| 285 | return atomic_read(&ht->nelems) > tbl->size; | 285 | return atomic_read(&ht->nelems) > tbl->size && |
| 286 | (!ht->p.max_size || tbl->size < ht->p.max_size); | ||
| 286 | } | 287 | } |
| 287 | 288 | ||
| 288 | /* The bucket lock is selected based on the hash and protects mutations | 289 | /* The bucket lock is selected based on the hash and protects mutations |
diff --git a/include/linux/rtnetlink.h b/include/linux/rtnetlink.h index 2da5d1081ad9..7b8e260c4a27 100644 --- a/include/linux/rtnetlink.h +++ b/include/linux/rtnetlink.h | |||
| @@ -122,5 +122,5 @@ extern int ndo_dflt_fdb_del(struct ndmsg *ndm, | |||
| 122 | 122 | ||
| 123 | extern int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, | 123 | extern int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq, |
| 124 | struct net_device *dev, u16 mode, | 124 | struct net_device *dev, u16 mode, |
| 125 | u32 flags, u32 mask); | 125 | u32 flags, u32 mask, int nlflags); |
| 126 | #endif /* __LINUX_RTNETLINK_H */ | 126 | #endif /* __LINUX_RTNETLINK_H */ |
diff --git a/include/linux/sched.h b/include/linux/sched.h index 8222ae40ecb0..26a2e6122734 100644 --- a/include/linux/sched.h +++ b/include/linux/sched.h | |||
| @@ -175,14 +175,6 @@ extern void get_iowait_load(unsigned long *nr_waiters, unsigned long *load); | |||
| 175 | extern void calc_global_load(unsigned long ticks); | 175 | extern void calc_global_load(unsigned long ticks); |
| 176 | extern void update_cpu_load_nohz(void); | 176 | extern void update_cpu_load_nohz(void); |
| 177 | 177 | ||
| 178 | /* Notifier for when a task gets migrated to a new CPU */ | ||
| 179 | struct task_migration_notifier { | ||
| 180 | struct task_struct *task; | ||
| 181 | int from_cpu; | ||
| 182 | int to_cpu; | ||
| 183 | }; | ||
| 184 | extern void register_task_migration_notifier(struct notifier_block *n); | ||
| 185 | |||
| 186 | extern unsigned long get_parent_ip(unsigned long addr); | 178 | extern unsigned long get_parent_ip(unsigned long addr); |
| 187 | 179 | ||
| 188 | extern void dump_cpu_task(int cpu); | 180 | extern void dump_cpu_task(int cpu); |
diff --git a/include/linux/sched/rt.h b/include/linux/sched/rt.h index 6341f5be6e24..a30b172df6e1 100644 --- a/include/linux/sched/rt.h +++ b/include/linux/sched/rt.h | |||
| @@ -18,7 +18,7 @@ static inline int rt_task(struct task_struct *p) | |||
| 18 | #ifdef CONFIG_RT_MUTEXES | 18 | #ifdef CONFIG_RT_MUTEXES |
| 19 | extern int rt_mutex_getprio(struct task_struct *p); | 19 | extern int rt_mutex_getprio(struct task_struct *p); |
| 20 | extern void rt_mutex_setprio(struct task_struct *p, int prio); | 20 | extern void rt_mutex_setprio(struct task_struct *p, int prio); |
| 21 | extern int rt_mutex_check_prio(struct task_struct *task, int newprio); | 21 | extern int rt_mutex_get_effective_prio(struct task_struct *task, int newprio); |
| 22 | extern struct task_struct *rt_mutex_get_top_task(struct task_struct *task); | 22 | extern struct task_struct *rt_mutex_get_top_task(struct task_struct *task); |
| 23 | extern void rt_mutex_adjust_pi(struct task_struct *p); | 23 | extern void rt_mutex_adjust_pi(struct task_struct *p); |
| 24 | static inline bool tsk_is_pi_blocked(struct task_struct *tsk) | 24 | static inline bool tsk_is_pi_blocked(struct task_struct *tsk) |
| @@ -31,9 +31,10 @@ static inline int rt_mutex_getprio(struct task_struct *p) | |||
| 31 | return p->normal_prio; | 31 | return p->normal_prio; |
| 32 | } | 32 | } |
| 33 | 33 | ||
| 34 | static inline int rt_mutex_check_prio(struct task_struct *task, int newprio) | 34 | static inline int rt_mutex_get_effective_prio(struct task_struct *task, |
| 35 | int newprio) | ||
| 35 | { | 36 | { |
| 36 | return 0; | 37 | return newprio; |
| 37 | } | 38 | } |
| 38 | 39 | ||
| 39 | static inline struct task_struct *rt_mutex_get_top_task(struct task_struct *task) | 40 | static inline struct task_struct *rt_mutex_get_top_task(struct task_struct *task) |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index 06793b598f44..66e374d62f64 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
| @@ -773,6 +773,7 @@ bool skb_try_coalesce(struct sk_buff *to, struct sk_buff *from, | |||
| 773 | 773 | ||
| 774 | struct sk_buff *__alloc_skb(unsigned int size, gfp_t priority, int flags, | 774 | struct sk_buff *__alloc_skb(unsigned int size, gfp_t priority, int flags, |
| 775 | int node); | 775 | int node); |
| 776 | struct sk_buff *__build_skb(void *data, unsigned int frag_size); | ||
| 776 | struct sk_buff *build_skb(void *data, unsigned int frag_size); | 777 | struct sk_buff *build_skb(void *data, unsigned int frag_size); |
| 777 | static inline struct sk_buff *alloc_skb(unsigned int size, | 778 | static inline struct sk_buff *alloc_skb(unsigned int size, |
| 778 | gfp_t priority) | 779 | gfp_t priority) |
diff --git a/include/linux/tcp.h b/include/linux/tcp.h index 0caa3a2d4106..3b2911502a8c 100644 --- a/include/linux/tcp.h +++ b/include/linux/tcp.h | |||
| @@ -145,11 +145,19 @@ struct tcp_sock { | |||
| 145 | * read the code and the spec side by side (and laugh ...) | 145 | * read the code and the spec side by side (and laugh ...) |
| 146 | * See RFC793 and RFC1122. The RFC writes these in capitals. | 146 | * See RFC793 and RFC1122. The RFC writes these in capitals. |
| 147 | */ | 147 | */ |
| 148 | u64 bytes_received; /* RFC4898 tcpEStatsAppHCThruOctetsReceived | ||
| 149 | * sum(delta(rcv_nxt)), or how many bytes | ||
| 150 | * were acked. | ||
| 151 | */ | ||
| 148 | u32 rcv_nxt; /* What we want to receive next */ | 152 | u32 rcv_nxt; /* What we want to receive next */ |
| 149 | u32 copied_seq; /* Head of yet unread data */ | 153 | u32 copied_seq; /* Head of yet unread data */ |
| 150 | u32 rcv_wup; /* rcv_nxt on last window update sent */ | 154 | u32 rcv_wup; /* rcv_nxt on last window update sent */ |
| 151 | u32 snd_nxt; /* Next sequence we send */ | 155 | u32 snd_nxt; /* Next sequence we send */ |
| 152 | 156 | ||
| 157 | u64 bytes_acked; /* RFC4898 tcpEStatsAppHCThruOctetsAcked | ||
| 158 | * sum(delta(snd_una)), or how many bytes | ||
| 159 | * were acked. | ||
| 160 | */ | ||
| 153 | u32 snd_una; /* First byte we want an ack for */ | 161 | u32 snd_una; /* First byte we want an ack for */ |
| 154 | u32 snd_sml; /* Last byte of the most recently transmitted small packet */ | 162 | u32 snd_sml; /* Last byte of the most recently transmitted small packet */ |
| 155 | u32 rcv_tstamp; /* timestamp of last received ACK (for keepalives) */ | 163 | u32 rcv_tstamp; /* timestamp of last received ACK (for keepalives) */ |
diff --git a/include/linux/thermal.h b/include/linux/thermal.h index 5eac316490ea..037e9df2f610 100644 --- a/include/linux/thermal.h +++ b/include/linux/thermal.h | |||
| @@ -40,6 +40,9 @@ | |||
| 40 | /* No upper/lower limit requirement */ | 40 | /* No upper/lower limit requirement */ |
| 41 | #define THERMAL_NO_LIMIT ((u32)~0) | 41 | #define THERMAL_NO_LIMIT ((u32)~0) |
| 42 | 42 | ||
| 43 | /* Default weight of a bound cooling device */ | ||
| 44 | #define THERMAL_WEIGHT_DEFAULT 0 | ||
| 45 | |||
| 43 | /* Unit conversion macros */ | 46 | /* Unit conversion macros */ |
| 44 | #define KELVIN_TO_CELSIUS(t) (long)(((long)t-2732 >= 0) ? \ | 47 | #define KELVIN_TO_CELSIUS(t) (long)(((long)t-2732 >= 0) ? \ |
| 45 | ((long)t-2732+5)/10 : ((long)t-2732-5)/10) | 48 | ((long)t-2732+5)/10 : ((long)t-2732-5)/10) |
| @@ -56,10 +59,13 @@ | |||
| 56 | #define DEFAULT_THERMAL_GOVERNOR "fair_share" | 59 | #define DEFAULT_THERMAL_GOVERNOR "fair_share" |
| 57 | #elif defined(CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE) | 60 | #elif defined(CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE) |
| 58 | #define DEFAULT_THERMAL_GOVERNOR "user_space" | 61 | #define DEFAULT_THERMAL_GOVERNOR "user_space" |
| 62 | #elif defined(CONFIG_THERMAL_DEFAULT_GOV_POWER_ALLOCATOR) | ||
| 63 | #define DEFAULT_THERMAL_GOVERNOR "power_allocator" | ||
| 59 | #endif | 64 | #endif |
| 60 | 65 | ||
| 61 | struct thermal_zone_device; | 66 | struct thermal_zone_device; |
| 62 | struct thermal_cooling_device; | 67 | struct thermal_cooling_device; |
| 68 | struct thermal_instance; | ||
| 63 | 69 | ||
| 64 | enum thermal_device_mode { | 70 | enum thermal_device_mode { |
| 65 | THERMAL_DEVICE_DISABLED = 0, | 71 | THERMAL_DEVICE_DISABLED = 0, |
| @@ -113,6 +119,12 @@ struct thermal_cooling_device_ops { | |||
| 113 | int (*get_max_state) (struct thermal_cooling_device *, unsigned long *); | 119 | int (*get_max_state) (struct thermal_cooling_device *, unsigned long *); |
| 114 | int (*get_cur_state) (struct thermal_cooling_device *, unsigned long *); | 120 | int (*get_cur_state) (struct thermal_cooling_device *, unsigned long *); |
| 115 | int (*set_cur_state) (struct thermal_cooling_device *, unsigned long); | 121 | int (*set_cur_state) (struct thermal_cooling_device *, unsigned long); |
| 122 | int (*get_requested_power)(struct thermal_cooling_device *, | ||
| 123 | struct thermal_zone_device *, u32 *); | ||
| 124 | int (*state2power)(struct thermal_cooling_device *, | ||
| 125 | struct thermal_zone_device *, unsigned long, u32 *); | ||
| 126 | int (*power2state)(struct thermal_cooling_device *, | ||
| 127 | struct thermal_zone_device *, u32, unsigned long *); | ||
| 116 | }; | 128 | }; |
| 117 | 129 | ||
| 118 | struct thermal_cooling_device { | 130 | struct thermal_cooling_device { |
| @@ -144,8 +156,7 @@ struct thermal_attr { | |||
| 144 | * @devdata: private pointer for device private data | 156 | * @devdata: private pointer for device private data |
| 145 | * @trips: number of trip points the thermal zone supports | 157 | * @trips: number of trip points the thermal zone supports |
| 146 | * @passive_delay: number of milliseconds to wait between polls when | 158 | * @passive_delay: number of milliseconds to wait between polls when |
| 147 | * performing passive cooling. Currenty only used by the | 159 | * performing passive cooling. |
| 148 | * step-wise governor | ||
| 149 | * @polling_delay: number of milliseconds to wait between polls when | 160 | * @polling_delay: number of milliseconds to wait between polls when |
| 150 | * checking whether trip points have been crossed (0 for | 161 | * checking whether trip points have been crossed (0 for |
| 151 | * interrupt driven systems) | 162 | * interrupt driven systems) |
| @@ -155,13 +166,13 @@ struct thermal_attr { | |||
| 155 | * @last_temperature: previous temperature read | 166 | * @last_temperature: previous temperature read |
| 156 | * @emul_temperature: emulated temperature when using CONFIG_THERMAL_EMULATION | 167 | * @emul_temperature: emulated temperature when using CONFIG_THERMAL_EMULATION |
| 157 | * @passive: 1 if you've crossed a passive trip point, 0 otherwise. | 168 | * @passive: 1 if you've crossed a passive trip point, 0 otherwise. |
| 158 | * Currenty only used by the step-wise governor. | ||
| 159 | * @forced_passive: If > 0, temperature at which to switch on all ACPI | 169 | * @forced_passive: If > 0, temperature at which to switch on all ACPI |
| 160 | * processor cooling devices. Currently only used by the | 170 | * processor cooling devices. Currently only used by the |
| 161 | * step-wise governor. | 171 | * step-wise governor. |
| 162 | * @ops: operations this &thermal_zone_device supports | 172 | * @ops: operations this &thermal_zone_device supports |
| 163 | * @tzp: thermal zone parameters | 173 | * @tzp: thermal zone parameters |
| 164 | * @governor: pointer to the governor for this thermal zone | 174 | * @governor: pointer to the governor for this thermal zone |
| 175 | * @governor_data: private pointer for governor data | ||
| 165 | * @thermal_instances: list of &struct thermal_instance of this thermal zone | 176 | * @thermal_instances: list of &struct thermal_instance of this thermal zone |
| 166 | * @idr: &struct idr to generate unique id for this zone's cooling | 177 | * @idr: &struct idr to generate unique id for this zone's cooling |
| 167 | * devices | 178 | * devices |
| @@ -186,8 +197,9 @@ struct thermal_zone_device { | |||
| 186 | int passive; | 197 | int passive; |
| 187 | unsigned int forced_passive; | 198 | unsigned int forced_passive; |
| 188 | struct thermal_zone_device_ops *ops; | 199 | struct thermal_zone_device_ops *ops; |
| 189 | const struct thermal_zone_params *tzp; | 200 | struct thermal_zone_params *tzp; |
| 190 | struct thermal_governor *governor; | 201 | struct thermal_governor *governor; |
| 202 | void *governor_data; | ||
| 191 | struct list_head thermal_instances; | 203 | struct list_head thermal_instances; |
| 192 | struct idr idr; | 204 | struct idr idr; |
| 193 | struct mutex lock; | 205 | struct mutex lock; |
| @@ -198,12 +210,19 @@ struct thermal_zone_device { | |||
| 198 | /** | 210 | /** |
| 199 | * struct thermal_governor - structure that holds thermal governor information | 211 | * struct thermal_governor - structure that holds thermal governor information |
| 200 | * @name: name of the governor | 212 | * @name: name of the governor |
| 213 | * @bind_to_tz: callback called when binding to a thermal zone. If it | ||
| 214 | * returns 0, the governor is bound to the thermal zone, | ||
| 215 | * otherwise it fails. | ||
| 216 | * @unbind_from_tz: callback called when a governor is unbound from a | ||
| 217 | * thermal zone. | ||
| 201 | * @throttle: callback called for every trip point even if temperature is | 218 | * @throttle: callback called for every trip point even if temperature is |
| 202 | * below the trip point temperature | 219 | * below the trip point temperature |
| 203 | * @governor_list: node in thermal_governor_list (in thermal_core.c) | 220 | * @governor_list: node in thermal_governor_list (in thermal_core.c) |
| 204 | */ | 221 | */ |
| 205 | struct thermal_governor { | 222 | struct thermal_governor { |
| 206 | char name[THERMAL_NAME_LENGTH]; | 223 | char name[THERMAL_NAME_LENGTH]; |
| 224 | int (*bind_to_tz)(struct thermal_zone_device *tz); | ||
| 225 | void (*unbind_from_tz)(struct thermal_zone_device *tz); | ||
| 207 | int (*throttle)(struct thermal_zone_device *tz, int trip); | 226 | int (*throttle)(struct thermal_zone_device *tz, int trip); |
| 208 | struct list_head governor_list; | 227 | struct list_head governor_list; |
| 209 | }; | 228 | }; |
| @@ -214,9 +233,12 @@ struct thermal_bind_params { | |||
| 214 | 233 | ||
| 215 | /* | 234 | /* |
| 216 | * This is a measure of 'how effectively these devices can | 235 | * This is a measure of 'how effectively these devices can |
| 217 | * cool 'this' thermal zone. The shall be determined by platform | 236 | * cool 'this' thermal zone. It shall be determined by |
| 218 | * characterization. This is on a 'percentage' scale. | 237 | * platform characterization. This value is relative to the |
| 219 | * See Documentation/thermal/sysfs-api.txt for more information. | 238 | * rest of the weights so a cooling device whose weight is |
| 239 | * double that of another cooling device is twice as | ||
| 240 | * effective. See Documentation/thermal/sysfs-api.txt for more | ||
| 241 | * information. | ||
| 220 | */ | 242 | */ |
| 221 | int weight; | 243 | int weight; |
| 222 | 244 | ||
| @@ -253,6 +275,44 @@ struct thermal_zone_params { | |||
| 253 | 275 | ||
| 254 | int num_tbps; /* Number of tbp entries */ | 276 | int num_tbps; /* Number of tbp entries */ |
| 255 | struct thermal_bind_params *tbp; | 277 | struct thermal_bind_params *tbp; |
| 278 | |||
| 279 | /* | ||
| 280 | * Sustainable power (heat) that this thermal zone can dissipate in | ||
| 281 | * mW | ||
| 282 | */ | ||
| 283 | u32 sustainable_power; | ||
| 284 | |||
| 285 | /* | ||
| 286 | * Proportional parameter of the PID controller when | ||
| 287 | * overshooting (i.e., when temperature is below the target) | ||
| 288 | */ | ||
| 289 | s32 k_po; | ||
| 290 | |||
| 291 | /* | ||
| 292 | * Proportional parameter of the PID controller when | ||
| 293 | * undershooting | ||
| 294 | */ | ||
| 295 | s32 k_pu; | ||
| 296 | |||
| 297 | /* Integral parameter of the PID controller */ | ||
| 298 | s32 k_i; | ||
| 299 | |||
| 300 | /* Derivative parameter of the PID controller */ | ||
| 301 | s32 k_d; | ||
| 302 | |||
| 303 | /* threshold below which the error is no longer accumulated */ | ||
| 304 | s32 integral_cutoff; | ||
| 305 | |||
| 306 | /* | ||
| 307 | * @slope: slope of a linear temperature adjustment curve. | ||
| 308 | * Used by thermal zone drivers. | ||
| 309 | */ | ||
| 310 | int slope; | ||
| 311 | /* | ||
| 312 | * @offset: offset of a linear temperature adjustment curve. | ||
| 313 | * Used by thermal zone drivers (default 0). | ||
| 314 | */ | ||
| 315 | int offset; | ||
| 256 | }; | 316 | }; |
| 257 | 317 | ||
| 258 | struct thermal_genl_event { | 318 | struct thermal_genl_event { |
| @@ -316,14 +376,25 @@ void thermal_zone_of_sensor_unregister(struct device *dev, | |||
| 316 | #endif | 376 | #endif |
| 317 | 377 | ||
| 318 | #if IS_ENABLED(CONFIG_THERMAL) | 378 | #if IS_ENABLED(CONFIG_THERMAL) |
| 379 | static inline bool cdev_is_power_actor(struct thermal_cooling_device *cdev) | ||
| 380 | { | ||
| 381 | return cdev->ops->get_requested_power && cdev->ops->state2power && | ||
| 382 | cdev->ops->power2state; | ||
| 383 | } | ||
| 384 | |||
| 385 | int power_actor_get_max_power(struct thermal_cooling_device *, | ||
| 386 | struct thermal_zone_device *tz, u32 *max_power); | ||
| 387 | int power_actor_set_power(struct thermal_cooling_device *, | ||
| 388 | struct thermal_instance *, u32); | ||
| 319 | struct thermal_zone_device *thermal_zone_device_register(const char *, int, int, | 389 | struct thermal_zone_device *thermal_zone_device_register(const char *, int, int, |
| 320 | void *, struct thermal_zone_device_ops *, | 390 | void *, struct thermal_zone_device_ops *, |
| 321 | const struct thermal_zone_params *, int, int); | 391 | struct thermal_zone_params *, int, int); |
| 322 | void thermal_zone_device_unregister(struct thermal_zone_device *); | 392 | void thermal_zone_device_unregister(struct thermal_zone_device *); |
| 323 | 393 | ||
| 324 | int thermal_zone_bind_cooling_device(struct thermal_zone_device *, int, | 394 | int thermal_zone_bind_cooling_device(struct thermal_zone_device *, int, |
| 325 | struct thermal_cooling_device *, | 395 | struct thermal_cooling_device *, |
| 326 | unsigned long, unsigned long); | 396 | unsigned long, unsigned long, |
| 397 | unsigned int); | ||
| 327 | int thermal_zone_unbind_cooling_device(struct thermal_zone_device *, int, | 398 | int thermal_zone_unbind_cooling_device(struct thermal_zone_device *, int, |
| 328 | struct thermal_cooling_device *); | 399 | struct thermal_cooling_device *); |
| 329 | void thermal_zone_device_update(struct thermal_zone_device *); | 400 | void thermal_zone_device_update(struct thermal_zone_device *); |
| @@ -343,6 +414,14 @@ struct thermal_instance *get_thermal_instance(struct thermal_zone_device *, | |||
| 343 | void thermal_cdev_update(struct thermal_cooling_device *); | 414 | void thermal_cdev_update(struct thermal_cooling_device *); |
| 344 | void thermal_notify_framework(struct thermal_zone_device *, int); | 415 | void thermal_notify_framework(struct thermal_zone_device *, int); |
| 345 | #else | 416 | #else |
| 417 | static inline bool cdev_is_power_actor(struct thermal_cooling_device *cdev) | ||
| 418 | { return false; } | ||
| 419 | static inline int power_actor_get_max_power(struct thermal_cooling_device *cdev, | ||
| 420 | struct thermal_zone_device *tz, u32 *max_power) | ||
| 421 | { return 0; } | ||
| 422 | static inline int power_actor_set_power(struct thermal_cooling_device *cdev, | ||
| 423 | struct thermal_instance *tz, u32 power) | ||
| 424 | { return 0; } | ||
| 346 | static inline struct thermal_zone_device *thermal_zone_device_register( | 425 | static inline struct thermal_zone_device *thermal_zone_device_register( |
| 347 | const char *type, int trips, int mask, void *devdata, | 426 | const char *type, int trips, int mask, void *devdata, |
| 348 | struct thermal_zone_device_ops *ops, | 427 | struct thermal_zone_device_ops *ops, |
diff --git a/include/linux/tty.h b/include/linux/tty.h index 358a337af598..d76631f615c2 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h | |||
| @@ -339,6 +339,7 @@ struct tty_file_private { | |||
| 339 | #define TTY_EXCLUSIVE 3 /* Exclusive open mode */ | 339 | #define TTY_EXCLUSIVE 3 /* Exclusive open mode */ |
| 340 | #define TTY_DEBUG 4 /* Debugging */ | 340 | #define TTY_DEBUG 4 /* Debugging */ |
| 341 | #define TTY_DO_WRITE_WAKEUP 5 /* Call write_wakeup after queuing new */ | 341 | #define TTY_DO_WRITE_WAKEUP 5 /* Call write_wakeup after queuing new */ |
| 342 | #define TTY_OTHER_DONE 6 /* Closed pty has completed input processing */ | ||
| 342 | #define TTY_LDISC_OPEN 11 /* Line discipline is open */ | 343 | #define TTY_LDISC_OPEN 11 /* Line discipline is open */ |
| 343 | #define TTY_PTY_LOCK 16 /* pty private */ | 344 | #define TTY_PTY_LOCK 16 /* pty private */ |
| 344 | #define TTY_NO_WRITE_SPLIT 17 /* Preserve write boundaries to driver */ | 345 | #define TTY_NO_WRITE_SPLIT 17 /* Preserve write boundaries to driver */ |
| @@ -462,7 +463,6 @@ extern int tty_hung_up_p(struct file *filp); | |||
| 462 | extern void do_SAK(struct tty_struct *tty); | 463 | extern void do_SAK(struct tty_struct *tty); |
| 463 | extern void __do_SAK(struct tty_struct *tty); | 464 | extern void __do_SAK(struct tty_struct *tty); |
| 464 | extern void no_tty(void); | 465 | extern void no_tty(void); |
| 465 | extern void tty_flush_to_ldisc(struct tty_struct *tty); | ||
| 466 | extern void tty_buffer_free_all(struct tty_port *port); | 466 | extern void tty_buffer_free_all(struct tty_port *port); |
| 467 | extern void tty_buffer_flush(struct tty_struct *tty, struct tty_ldisc *ld); | 467 | extern void tty_buffer_flush(struct tty_struct *tty, struct tty_ldisc *ld); |
| 468 | extern void tty_buffer_init(struct tty_port *port); | 468 | extern void tty_buffer_init(struct tty_port *port); |
| @@ -491,6 +491,7 @@ static inline speed_t tty_get_baud_rate(struct tty_struct *tty) | |||
| 491 | 491 | ||
| 492 | extern void tty_termios_copy_hw(struct ktermios *new, struct ktermios *old); | 492 | extern void tty_termios_copy_hw(struct ktermios *new, struct ktermios *old); |
| 493 | extern int tty_termios_hw_change(struct ktermios *a, struct ktermios *b); | 493 | extern int tty_termios_hw_change(struct ktermios *a, struct ktermios *b); |
| 494 | extern int tty_set_termios(struct tty_struct *tty, struct ktermios *kt); | ||
| 494 | 495 | ||
| 495 | extern struct tty_ldisc *tty_ldisc_ref(struct tty_struct *); | 496 | extern struct tty_ldisc *tty_ldisc_ref(struct tty_struct *); |
| 496 | extern void tty_ldisc_deref(struct tty_ldisc *); | 497 | extern void tty_ldisc_deref(struct tty_ldisc *); |
diff --git a/include/linux/uidgid.h b/include/linux/uidgid.h index 0ee05da38899..03835522dfcb 100644 --- a/include/linux/uidgid.h +++ b/include/linux/uidgid.h | |||
| @@ -109,12 +109,12 @@ static inline bool gid_lte(kgid_t left, kgid_t right) | |||
| 109 | 109 | ||
| 110 | static inline bool uid_valid(kuid_t uid) | 110 | static inline bool uid_valid(kuid_t uid) |
| 111 | { | 111 | { |
| 112 | return !uid_eq(uid, INVALID_UID); | 112 | return __kuid_val(uid) != (uid_t) -1; |
| 113 | } | 113 | } |
| 114 | 114 | ||
| 115 | static inline bool gid_valid(kgid_t gid) | 115 | static inline bool gid_valid(kgid_t gid) |
| 116 | { | 116 | { |
| 117 | return !gid_eq(gid, INVALID_GID); | 117 | return __kgid_val(gid) != (gid_t) -1; |
| 118 | } | 118 | } |
| 119 | 119 | ||
| 120 | #ifdef CONFIG_USER_NS | 120 | #ifdef CONFIG_USER_NS |
diff --git a/include/linux/usb_usual.h b/include/linux/usb_usual.h index a7f2604c5f25..7f5f78bd15ad 100644 --- a/include/linux/usb_usual.h +++ b/include/linux/usb_usual.h | |||
| @@ -77,6 +77,8 @@ | |||
| 77 | /* Cannot handle ATA_12 or ATA_16 CDBs */ \ | 77 | /* Cannot handle ATA_12 or ATA_16 CDBs */ \ |
| 78 | US_FLAG(NO_REPORT_OPCODES, 0x04000000) \ | 78 | US_FLAG(NO_REPORT_OPCODES, 0x04000000) \ |
| 79 | /* Cannot handle MI_REPORT_SUPPORTED_OPERATION_CODES */ \ | 79 | /* Cannot handle MI_REPORT_SUPPORTED_OPERATION_CODES */ \ |
| 80 | US_FLAG(MAX_SECTORS_240, 0x08000000) \ | ||
| 81 | /* Sets max_sectors to 240 */ \ | ||
| 80 | 82 | ||
| 81 | #define US_FLAG(name, value) US_FL_##name = value , | 83 | #define US_FLAG(name, value) US_FL_##name = value , |
| 82 | enum { US_DO_ALL_FLAGS }; | 84 | enum { US_DO_ALL_FLAGS }; |
diff --git a/include/linux/util_macros.h b/include/linux/util_macros.h index d5f4fb69dba3..f9b2ce58039b 100644 --- a/include/linux/util_macros.h +++ b/include/linux/util_macros.h | |||
| @@ -5,7 +5,7 @@ | |||
| 5 | ({ \ | 5 | ({ \ |
| 6 | typeof(as) __fc_i, __fc_as = (as) - 1; \ | 6 | typeof(as) __fc_i, __fc_as = (as) - 1; \ |
| 7 | typeof(x) __fc_x = (x); \ | 7 | typeof(x) __fc_x = (x); \ |
| 8 | typeof(*a) *__fc_a = (a); \ | 8 | typeof(*a) const *__fc_a = (a); \ |
| 9 | for (__fc_i = 0; __fc_i < __fc_as; __fc_i++) { \ | 9 | for (__fc_i = 0; __fc_i < __fc_as; __fc_i++) { \ |
| 10 | if (__fc_x op DIV_ROUND_CLOSEST(__fc_a[__fc_i] + \ | 10 | if (__fc_x op DIV_ROUND_CLOSEST(__fc_a[__fc_i] + \ |
| 11 | __fc_a[__fc_i + 1], 2)) \ | 11 | __fc_a[__fc_i + 1], 2)) \ |
diff --git a/include/net/bonding.h b/include/net/bonding.h index fda6feeb6c1f..78ed135e9dea 100644 --- a/include/net/bonding.h +++ b/include/net/bonding.h | |||
| @@ -30,13 +30,6 @@ | |||
| 30 | #include <net/bond_alb.h> | 30 | #include <net/bond_alb.h> |
| 31 | #include <net/bond_options.h> | 31 | #include <net/bond_options.h> |
| 32 | 32 | ||
| 33 | #define DRV_VERSION "3.7.1" | ||
| 34 | #define DRV_RELDATE "April 27, 2011" | ||
| 35 | #define DRV_NAME "bonding" | ||
| 36 | #define DRV_DESCRIPTION "Ethernet Channel Bonding Driver" | ||
| 37 | |||
| 38 | #define bond_version DRV_DESCRIPTION ": v" DRV_VERSION " (" DRV_RELDATE ")\n" | ||
| 39 | |||
| 40 | #define BOND_MAX_ARP_TARGETS 16 | 33 | #define BOND_MAX_ARP_TARGETS 16 |
| 41 | 34 | ||
| 42 | #define BOND_DEFAULT_MIIMON 100 | 35 | #define BOND_DEFAULT_MIIMON 100 |
diff --git a/include/net/cfg802154.h b/include/net/cfg802154.h index eeda67652766..6ea16c84293b 100644 --- a/include/net/cfg802154.h +++ b/include/net/cfg802154.h | |||
| @@ -30,11 +30,13 @@ struct wpan_phy_cca; | |||
| 30 | struct cfg802154_ops { | 30 | struct cfg802154_ops { |
| 31 | struct net_device * (*add_virtual_intf_deprecated)(struct wpan_phy *wpan_phy, | 31 | struct net_device * (*add_virtual_intf_deprecated)(struct wpan_phy *wpan_phy, |
| 32 | const char *name, | 32 | const char *name, |
| 33 | unsigned char name_assign_type, | ||
| 33 | int type); | 34 | int type); |
| 34 | void (*del_virtual_intf_deprecated)(struct wpan_phy *wpan_phy, | 35 | void (*del_virtual_intf_deprecated)(struct wpan_phy *wpan_phy, |
| 35 | struct net_device *dev); | 36 | struct net_device *dev); |
| 36 | int (*add_virtual_intf)(struct wpan_phy *wpan_phy, | 37 | int (*add_virtual_intf)(struct wpan_phy *wpan_phy, |
| 37 | const char *name, | 38 | const char *name, |
| 39 | unsigned char name_assign_type, | ||
| 38 | enum nl802154_iftype type, | 40 | enum nl802154_iftype type, |
| 39 | __le64 extended_addr); | 41 | __le64 extended_addr); |
| 40 | int (*del_virtual_intf)(struct wpan_phy *wpan_phy, | 42 | int (*del_virtual_intf)(struct wpan_phy *wpan_phy, |
diff --git a/include/net/codel.h b/include/net/codel.h index aeee28081245..1e18005f7f65 100644 --- a/include/net/codel.h +++ b/include/net/codel.h | |||
| @@ -120,11 +120,13 @@ static inline u32 codel_time_to_us(codel_time_t val) | |||
| 120 | * struct codel_params - contains codel parameters | 120 | * struct codel_params - contains codel parameters |
| 121 | * @target: target queue size (in time units) | 121 | * @target: target queue size (in time units) |
| 122 | * @interval: width of moving time window | 122 | * @interval: width of moving time window |
| 123 | * @mtu: device mtu, or minimal queue backlog in bytes. | ||
| 123 | * @ecn: is Explicit Congestion Notification enabled | 124 | * @ecn: is Explicit Congestion Notification enabled |
| 124 | */ | 125 | */ |
| 125 | struct codel_params { | 126 | struct codel_params { |
| 126 | codel_time_t target; | 127 | codel_time_t target; |
| 127 | codel_time_t interval; | 128 | codel_time_t interval; |
| 129 | u32 mtu; | ||
| 128 | bool ecn; | 130 | bool ecn; |
| 129 | }; | 131 | }; |
| 130 | 132 | ||
| @@ -166,10 +168,12 @@ struct codel_stats { | |||
| 166 | u32 ecn_mark; | 168 | u32 ecn_mark; |
| 167 | }; | 169 | }; |
| 168 | 170 | ||
| 169 | static void codel_params_init(struct codel_params *params) | 171 | static void codel_params_init(struct codel_params *params, |
| 172 | const struct Qdisc *sch) | ||
| 170 | { | 173 | { |
| 171 | params->interval = MS2TIME(100); | 174 | params->interval = MS2TIME(100); |
| 172 | params->target = MS2TIME(5); | 175 | params->target = MS2TIME(5); |
| 176 | params->mtu = psched_mtu(qdisc_dev(sch)); | ||
| 173 | params->ecn = false; | 177 | params->ecn = false; |
| 174 | } | 178 | } |
| 175 | 179 | ||
| @@ -180,7 +184,7 @@ static void codel_vars_init(struct codel_vars *vars) | |||
| 180 | 184 | ||
| 181 | static void codel_stats_init(struct codel_stats *stats) | 185 | static void codel_stats_init(struct codel_stats *stats) |
| 182 | { | 186 | { |
| 183 | stats->maxpacket = 256; | 187 | stats->maxpacket = 0; |
| 184 | } | 188 | } |
| 185 | 189 | ||
| 186 | /* | 190 | /* |
| @@ -234,7 +238,7 @@ static bool codel_should_drop(const struct sk_buff *skb, | |||
| 234 | stats->maxpacket = qdisc_pkt_len(skb); | 238 | stats->maxpacket = qdisc_pkt_len(skb); |
| 235 | 239 | ||
| 236 | if (codel_time_before(vars->ldelay, params->target) || | 240 | if (codel_time_before(vars->ldelay, params->target) || |
| 237 | sch->qstats.backlog <= stats->maxpacket) { | 241 | sch->qstats.backlog <= params->mtu) { |
| 238 | /* went below - stay below for at least interval */ | 242 | /* went below - stay below for at least interval */ |
| 239 | vars->first_above_time = 0; | 243 | vars->first_above_time = 0; |
| 240 | return false; | 244 | return false; |
diff --git a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h index 7b5887cd1172..48a815823587 100644 --- a/include/net/inet_connection_sock.h +++ b/include/net/inet_connection_sock.h | |||
| @@ -279,12 +279,6 @@ static inline void inet_csk_reqsk_queue_add(struct sock *sk, | |||
| 279 | void inet_csk_reqsk_queue_hash_add(struct sock *sk, struct request_sock *req, | 279 | void inet_csk_reqsk_queue_hash_add(struct sock *sk, struct request_sock *req, |
| 280 | unsigned long timeout); | 280 | unsigned long timeout); |
| 281 | 281 | ||
| 282 | static inline void inet_csk_reqsk_queue_removed(struct sock *sk, | ||
| 283 | struct request_sock *req) | ||
| 284 | { | ||
| 285 | reqsk_queue_removed(&inet_csk(sk)->icsk_accept_queue, req); | ||
| 286 | } | ||
| 287 | |||
| 288 | static inline void inet_csk_reqsk_queue_added(struct sock *sk, | 282 | static inline void inet_csk_reqsk_queue_added(struct sock *sk, |
| 289 | const unsigned long timeout) | 283 | const unsigned long timeout) |
| 290 | { | 284 | { |
| @@ -306,19 +300,7 @@ static inline int inet_csk_reqsk_queue_is_full(const struct sock *sk) | |||
| 306 | return reqsk_queue_is_full(&inet_csk(sk)->icsk_accept_queue); | 300 | return reqsk_queue_is_full(&inet_csk(sk)->icsk_accept_queue); |
| 307 | } | 301 | } |
| 308 | 302 | ||
| 309 | static inline void inet_csk_reqsk_queue_unlink(struct sock *sk, | 303 | void inet_csk_reqsk_queue_drop(struct sock *sk, struct request_sock *req); |
| 310 | struct request_sock *req) | ||
| 311 | { | ||
| 312 | reqsk_queue_unlink(&inet_csk(sk)->icsk_accept_queue, req); | ||
| 313 | } | ||
| 314 | |||
| 315 | static inline void inet_csk_reqsk_queue_drop(struct sock *sk, | ||
| 316 | struct request_sock *req) | ||
| 317 | { | ||
| 318 | inet_csk_reqsk_queue_unlink(sk, req); | ||
| 319 | inet_csk_reqsk_queue_removed(sk, req); | ||
| 320 | reqsk_put(req); | ||
| 321 | } | ||
| 322 | 304 | ||
| 323 | void inet_csk_destroy_sock(struct sock *sk); | 305 | void inet_csk_destroy_sock(struct sock *sk); |
| 324 | void inet_csk_prepare_forced_close(struct sock *sk); | 306 | void inet_csk_prepare_forced_close(struct sock *sk); |
diff --git a/include/net/mac80211.h b/include/net/mac80211.h index b4bef1152c05..8e3668b44c29 100644 --- a/include/net/mac80211.h +++ b/include/net/mac80211.h | |||
| @@ -1666,6 +1666,8 @@ struct ieee80211_tx_control { | |||
| 1666 | * @sta: station table entry, %NULL for per-vif queue | 1666 | * @sta: station table entry, %NULL for per-vif queue |
| 1667 | * @tid: the TID for this queue (unused for per-vif queue) | 1667 | * @tid: the TID for this queue (unused for per-vif queue) |
| 1668 | * @ac: the AC for this queue | 1668 | * @ac: the AC for this queue |
| 1669 | * @drv_priv: data area for driver use, will always be aligned to | ||
| 1670 | * sizeof(void *). | ||
| 1669 | * | 1671 | * |
| 1670 | * The driver can obtain packets from this queue by calling | 1672 | * The driver can obtain packets from this queue by calling |
| 1671 | * ieee80211_tx_dequeue(). | 1673 | * ieee80211_tx_dequeue(). |
diff --git a/include/net/mac802154.h b/include/net/mac802154.h index e18e7fd43f47..7df28a4c23f9 100644 --- a/include/net/mac802154.h +++ b/include/net/mac802154.h | |||
| @@ -247,19 +247,109 @@ static inline void ieee802154_le64_to_be64(void *be64_dst, const void *le64_src) | |||
| 247 | __put_unaligned_memmove64(swab64p(le64_src), be64_dst); | 247 | __put_unaligned_memmove64(swab64p(le64_src), be64_dst); |
| 248 | } | 248 | } |
| 249 | 249 | ||
| 250 | /* Basic interface to register ieee802154 device */ | 250 | /** |
| 251 | * ieee802154_alloc_hw - Allocate a new hardware device | ||
| 252 | * | ||
| 253 | * This must be called once for each hardware device. The returned pointer | ||
| 254 | * must be used to refer to this device when calling other functions. | ||
| 255 | * mac802154 allocates a private data area for the driver pointed to by | ||
| 256 | * @priv in &struct ieee802154_hw, the size of this area is given as | ||
| 257 | * @priv_data_len. | ||
| 258 | * | ||
| 259 | * @priv_data_len: length of private data | ||
| 260 | * @ops: callbacks for this device | ||
| 261 | * | ||
| 262 | * Return: A pointer to the new hardware device, or %NULL on error. | ||
| 263 | */ | ||
| 251 | struct ieee802154_hw * | 264 | struct ieee802154_hw * |
| 252 | ieee802154_alloc_hw(size_t priv_data_len, const struct ieee802154_ops *ops); | 265 | ieee802154_alloc_hw(size_t priv_data_len, const struct ieee802154_ops *ops); |
| 266 | |||
| 267 | /** | ||
| 268 | * ieee802154_free_hw - free hardware descriptor | ||
| 269 | * | ||
| 270 | * This function frees everything that was allocated, including the | ||
| 271 | * private data for the driver. You must call ieee802154_unregister_hw() | ||
| 272 | * before calling this function. | ||
| 273 | * | ||
| 274 | * @hw: the hardware to free | ||
| 275 | */ | ||
| 253 | void ieee802154_free_hw(struct ieee802154_hw *hw); | 276 | void ieee802154_free_hw(struct ieee802154_hw *hw); |
| 277 | |||
| 278 | /** | ||
| 279 | * ieee802154_register_hw - Register hardware device | ||
| 280 | * | ||
| 281 | * You must call this function before any other functions in | ||
| 282 | * mac802154. Note that before a hardware can be registered, you | ||
| 283 | * need to fill the contained wpan_phy's information. | ||
| 284 | * | ||
| 285 | * @hw: the device to register as returned by ieee802154_alloc_hw() | ||
| 286 | * | ||
| 287 | * Return: 0 on success. An error code otherwise. | ||
| 288 | */ | ||
| 254 | int ieee802154_register_hw(struct ieee802154_hw *hw); | 289 | int ieee802154_register_hw(struct ieee802154_hw *hw); |
| 290 | |||
| 291 | /** | ||
| 292 | * ieee802154_unregister_hw - Unregister a hardware device | ||
| 293 | * | ||
| 294 | * This function instructs mac802154 to free allocated resources | ||
| 295 | * and unregister netdevices from the networking subsystem. | ||
| 296 | * | ||
| 297 | * @hw: the hardware to unregister | ||
| 298 | */ | ||
| 255 | void ieee802154_unregister_hw(struct ieee802154_hw *hw); | 299 | void ieee802154_unregister_hw(struct ieee802154_hw *hw); |
| 256 | 300 | ||
| 301 | /** | ||
| 302 | * ieee802154_rx - receive frame | ||
| 303 | * | ||
| 304 | * Use this function to hand received frames to mac802154. The receive | ||
| 305 | * buffer in @skb must start with an IEEE 802.15.4 header. In case of a | ||
| 306 | * paged @skb is used, the driver is recommended to put the ieee802154 | ||
| 307 | * header of the frame on the linear part of the @skb to avoid memory | ||
| 308 | * allocation and/or memcpy by the stack. | ||
| 309 | * | ||
| 310 | * This function may not be called in IRQ context. Calls to this function | ||
| 311 | * for a single hardware must be synchronized against each other. | ||
| 312 | * | ||
| 313 | * @hw: the hardware this frame came in on | ||
| 314 | * @skb: the buffer to receive, owned by mac802154 after this call | ||
| 315 | */ | ||
| 257 | void ieee802154_rx(struct ieee802154_hw *hw, struct sk_buff *skb); | 316 | void ieee802154_rx(struct ieee802154_hw *hw, struct sk_buff *skb); |
| 317 | |||
| 318 | /** | ||
| 319 | * ieee802154_rx_irqsafe - receive frame | ||
| 320 | * | ||
| 321 | * Like ieee802154_rx() but can be called in IRQ context | ||
| 322 | * (internally defers to a tasklet.) | ||
| 323 | * | ||
| 324 | * @hw: the hardware this frame came in on | ||
| 325 | * @skb: the buffer to receive, owned by mac802154 after this call | ||
| 326 | * @lqi: link quality indicator | ||
| 327 | */ | ||
| 258 | void ieee802154_rx_irqsafe(struct ieee802154_hw *hw, struct sk_buff *skb, | 328 | void ieee802154_rx_irqsafe(struct ieee802154_hw *hw, struct sk_buff *skb, |
| 259 | u8 lqi); | 329 | u8 lqi); |
| 260 | 330 | /** | |
| 331 | * ieee802154_wake_queue - wake ieee802154 queue | ||
| 332 | * @hw: pointer as obtained from ieee802154_alloc_hw(). | ||
| 333 | * | ||
| 334 | * Drivers should use this function instead of netif_wake_queue. | ||
| 335 | */ | ||
| 261 | void ieee802154_wake_queue(struct ieee802154_hw *hw); | 336 | void ieee802154_wake_queue(struct ieee802154_hw *hw); |
| 337 | |||
| 338 | /** | ||
| 339 | * ieee802154_stop_queue - stop ieee802154 queue | ||
| 340 | * @hw: pointer as obtained from ieee802154_alloc_hw(). | ||
| 341 | * | ||
| 342 | * Drivers should use this function instead of netif_stop_queue. | ||
| 343 | */ | ||
| 262 | void ieee802154_stop_queue(struct ieee802154_hw *hw); | 344 | void ieee802154_stop_queue(struct ieee802154_hw *hw); |
| 345 | |||
| 346 | /** | ||
| 347 | * ieee802154_xmit_complete - frame transmission complete | ||
| 348 | * | ||
| 349 | * @hw: pointer as obtained from ieee802154_alloc_hw(). | ||
| 350 | * @skb: buffer for transmission | ||
| 351 | * @ifs_handling: indicate interframe space handling | ||
| 352 | */ | ||
| 263 | void ieee802154_xmit_complete(struct ieee802154_hw *hw, struct sk_buff *skb, | 353 | void ieee802154_xmit_complete(struct ieee802154_hw *hw, struct sk_buff *skb, |
| 264 | bool ifs_handling); | 354 | bool ifs_handling); |
| 265 | 355 | ||
diff --git a/include/net/request_sock.h b/include/net/request_sock.h index fe41f3ceb008..9f4265ce8892 100644 --- a/include/net/request_sock.h +++ b/include/net/request_sock.h | |||
| @@ -212,24 +212,6 @@ static inline int reqsk_queue_empty(struct request_sock_queue *queue) | |||
| 212 | return queue->rskq_accept_head == NULL; | 212 | return queue->rskq_accept_head == NULL; |
| 213 | } | 213 | } |
| 214 | 214 | ||
| 215 | static inline void reqsk_queue_unlink(struct request_sock_queue *queue, | ||
| 216 | struct request_sock *req) | ||
| 217 | { | ||
| 218 | struct listen_sock *lopt = queue->listen_opt; | ||
| 219 | struct request_sock **prev; | ||
| 220 | |||
| 221 | spin_lock(&queue->syn_wait_lock); | ||
| 222 | |||
| 223 | prev = &lopt->syn_table[req->rsk_hash]; | ||
| 224 | while (*prev != req) | ||
| 225 | prev = &(*prev)->dl_next; | ||
| 226 | *prev = req->dl_next; | ||
| 227 | |||
| 228 | spin_unlock(&queue->syn_wait_lock); | ||
| 229 | if (del_timer(&req->rsk_timer)) | ||
| 230 | reqsk_put(req); | ||
| 231 | } | ||
| 232 | |||
| 233 | static inline void reqsk_queue_add(struct request_sock_queue *queue, | 215 | static inline void reqsk_queue_add(struct request_sock_queue *queue, |
| 234 | struct request_sock *req, | 216 | struct request_sock *req, |
| 235 | struct sock *parent, | 217 | struct sock *parent, |
diff --git a/include/net/tcp.h b/include/net/tcp.h index 051dc5c2802d..6d204f3f9df8 100644 --- a/include/net/tcp.h +++ b/include/net/tcp.h | |||
| @@ -576,7 +576,7 @@ static inline int tcp_bound_to_half_wnd(struct tcp_sock *tp, int pktsize) | |||
| 576 | } | 576 | } |
| 577 | 577 | ||
| 578 | /* tcp.c */ | 578 | /* tcp.c */ |
| 579 | void tcp_get_info(const struct sock *, struct tcp_info *); | 579 | void tcp_get_info(struct sock *, struct tcp_info *); |
| 580 | 580 | ||
| 581 | /* Read 'sendfile()'-style from a TCP socket */ | 581 | /* Read 'sendfile()'-style from a TCP socket */ |
| 582 | typedef int (*sk_read_actor_t)(read_descriptor_t *, struct sk_buff *, | 582 | typedef int (*sk_read_actor_t)(read_descriptor_t *, struct sk_buff *, |
| @@ -804,6 +804,8 @@ enum tcp_ca_ack_event_flags { | |||
| 804 | /* Requires ECN/ECT set on all packets */ | 804 | /* Requires ECN/ECT set on all packets */ |
| 805 | #define TCP_CONG_NEEDS_ECN 0x2 | 805 | #define TCP_CONG_NEEDS_ECN 0x2 |
| 806 | 806 | ||
| 807 | union tcp_cc_info; | ||
| 808 | |||
| 807 | struct tcp_congestion_ops { | 809 | struct tcp_congestion_ops { |
| 808 | struct list_head list; | 810 | struct list_head list; |
| 809 | u32 key; | 811 | u32 key; |
| @@ -829,7 +831,8 @@ struct tcp_congestion_ops { | |||
| 829 | /* hook for packet ack accounting (optional) */ | 831 | /* hook for packet ack accounting (optional) */ |
| 830 | void (*pkts_acked)(struct sock *sk, u32 num_acked, s32 rtt_us); | 832 | void (*pkts_acked)(struct sock *sk, u32 num_acked, s32 rtt_us); |
| 831 | /* get info for inet_diag (optional) */ | 833 | /* get info for inet_diag (optional) */ |
| 832 | int (*get_info)(struct sock *sk, u32 ext, struct sk_buff *skb); | 834 | size_t (*get_info)(struct sock *sk, u32 ext, int *attr, |
| 835 | union tcp_cc_info *info); | ||
| 833 | 836 | ||
| 834 | char name[TCP_CA_NAME_MAX]; | 837 | char name[TCP_CA_NAME_MAX]; |
| 835 | struct module *owner; | 838 | struct module *owner; |
diff --git a/include/rdma/ib_addr.h b/include/rdma/ib_addr.h index ce55906b54a0..ac54c27a2bfd 100644 --- a/include/rdma/ib_addr.h +++ b/include/rdma/ib_addr.h | |||
| @@ -160,7 +160,7 @@ static inline int rdma_ip2gid(struct sockaddr *addr, union ib_gid *gid) | |||
| 160 | } | 160 | } |
| 161 | 161 | ||
| 162 | /* Important - sockaddr should be a union of sockaddr_in and sockaddr_in6 */ | 162 | /* Important - sockaddr should be a union of sockaddr_in and sockaddr_in6 */ |
| 163 | static inline int rdma_gid2ip(struct sockaddr *out, union ib_gid *gid) | 163 | static inline void rdma_gid2ip(struct sockaddr *out, union ib_gid *gid) |
| 164 | { | 164 | { |
| 165 | if (ipv6_addr_v4mapped((struct in6_addr *)gid)) { | 165 | if (ipv6_addr_v4mapped((struct in6_addr *)gid)) { |
| 166 | struct sockaddr_in *out_in = (struct sockaddr_in *)out; | 166 | struct sockaddr_in *out_in = (struct sockaddr_in *)out; |
| @@ -173,7 +173,6 @@ static inline int rdma_gid2ip(struct sockaddr *out, union ib_gid *gid) | |||
| 173 | out_in->sin6_family = AF_INET6; | 173 | out_in->sin6_family = AF_INET6; |
| 174 | memcpy(&out_in->sin6_addr.s6_addr, gid->raw, 16); | 174 | memcpy(&out_in->sin6_addr.s6_addr, gid->raw, 16); |
| 175 | } | 175 | } |
| 176 | return 0; | ||
| 177 | } | 176 | } |
| 178 | 177 | ||
| 179 | static inline void iboe_addr_get_sgid(struct rdma_dev_addr *dev_addr, | 178 | static inline void iboe_addr_get_sgid(struct rdma_dev_addr *dev_addr, |
diff --git a/include/rdma/ib_cm.h b/include/rdma/ib_cm.h index 0e3ff30647d5..39ed2d2fbd51 100644 --- a/include/rdma/ib_cm.h +++ b/include/rdma/ib_cm.h | |||
| @@ -105,7 +105,8 @@ enum ib_cm_data_size { | |||
| 105 | IB_CM_SIDR_REQ_PRIVATE_DATA_SIZE = 216, | 105 | IB_CM_SIDR_REQ_PRIVATE_DATA_SIZE = 216, |
| 106 | IB_CM_SIDR_REP_PRIVATE_DATA_SIZE = 136, | 106 | IB_CM_SIDR_REP_PRIVATE_DATA_SIZE = 136, |
| 107 | IB_CM_SIDR_REP_INFO_LENGTH = 72, | 107 | IB_CM_SIDR_REP_INFO_LENGTH = 72, |
| 108 | IB_CM_COMPARE_SIZE = 64 | 108 | /* compare done u32 at a time */ |
| 109 | IB_CM_COMPARE_SIZE = (64 / sizeof(u32)) | ||
| 109 | }; | 110 | }; |
| 110 | 111 | ||
| 111 | struct ib_cm_id; | 112 | struct ib_cm_id; |
| @@ -337,8 +338,8 @@ void ib_destroy_cm_id(struct ib_cm_id *cm_id); | |||
| 337 | #define IB_SDP_SERVICE_ID_MASK cpu_to_be64(0xFFFFFFFFFFFF0000ULL) | 338 | #define IB_SDP_SERVICE_ID_MASK cpu_to_be64(0xFFFFFFFFFFFF0000ULL) |
| 338 | 339 | ||
| 339 | struct ib_cm_compare_data { | 340 | struct ib_cm_compare_data { |
| 340 | u8 data[IB_CM_COMPARE_SIZE]; | 341 | u32 data[IB_CM_COMPARE_SIZE]; |
| 341 | u8 mask[IB_CM_COMPARE_SIZE]; | 342 | u32 mask[IB_CM_COMPARE_SIZE]; |
| 342 | }; | 343 | }; |
| 343 | 344 | ||
| 344 | /** | 345 | /** |
diff --git a/include/rdma/iw_portmap.h b/include/rdma/iw_portmap.h index 928b2775e992..fda31673a562 100644 --- a/include/rdma/iw_portmap.h +++ b/include/rdma/iw_portmap.h | |||
| @@ -148,6 +148,16 @@ int iwpm_add_mapping_cb(struct sk_buff *, struct netlink_callback *); | |||
| 148 | int iwpm_add_and_query_mapping_cb(struct sk_buff *, struct netlink_callback *); | 148 | int iwpm_add_and_query_mapping_cb(struct sk_buff *, struct netlink_callback *); |
| 149 | 149 | ||
| 150 | /** | 150 | /** |
| 151 | * iwpm_remote_info_cb - Process remote connecting peer address info, which | ||
| 152 | * the port mapper has received from the connecting peer | ||
| 153 | * | ||
| 154 | * @cb: Contains the received message (payload and netlink header) | ||
| 155 | * | ||
| 156 | * Stores the IPv4/IPv6 address info in a hash table | ||
| 157 | */ | ||
| 158 | int iwpm_remote_info_cb(struct sk_buff *, struct netlink_callback *); | ||
| 159 | |||
| 160 | /** | ||
| 151 | * iwpm_mapping_error_cb - Process port mapper notification for error | 161 | * iwpm_mapping_error_cb - Process port mapper notification for error |
| 152 | * | 162 | * |
| 153 | * @skb: | 163 | * @skb: |
| @@ -175,6 +185,21 @@ int iwpm_mapping_info_cb(struct sk_buff *, struct netlink_callback *); | |||
| 175 | int iwpm_ack_mapping_info_cb(struct sk_buff *, struct netlink_callback *); | 185 | int iwpm_ack_mapping_info_cb(struct sk_buff *, struct netlink_callback *); |
| 176 | 186 | ||
| 177 | /** | 187 | /** |
| 188 | * iwpm_get_remote_info - Get the remote connecting peer address info | ||
| 189 | * | ||
| 190 | * @mapped_loc_addr: Mapped local address of the listening peer | ||
| 191 | * @mapped_rem_addr: Mapped remote address of the connecting peer | ||
| 192 | * @remote_addr: To store the remote address of the connecting peer | ||
| 193 | * @nl_client: The index of the netlink client | ||
| 194 | * | ||
| 195 | * The remote address info is retrieved and provided to the client in | ||
| 196 | * the remote_addr. After that it is removed from the hash table | ||
| 197 | */ | ||
| 198 | int iwpm_get_remote_info(struct sockaddr_storage *mapped_loc_addr, | ||
| 199 | struct sockaddr_storage *mapped_rem_addr, | ||
| 200 | struct sockaddr_storage *remote_addr, u8 nl_client); | ||
| 201 | |||
| 202 | /** | ||
| 178 | * iwpm_create_mapinfo - Store local and mapped IPv4/IPv6 address | 203 | * iwpm_create_mapinfo - Store local and mapped IPv4/IPv6 address |
| 179 | * info in a hash table | 204 | * info in a hash table |
| 180 | * @local_addr: Local ip/tcp address | 205 | * @local_addr: Local ip/tcp address |
diff --git a/include/scsi/scsi_devinfo.h b/include/scsi/scsi_devinfo.h index 183eaab7c380..96e3f56519e7 100644 --- a/include/scsi/scsi_devinfo.h +++ b/include/scsi/scsi_devinfo.h | |||
| @@ -36,5 +36,6 @@ | |||
| 36 | for sequential scan */ | 36 | for sequential scan */ |
| 37 | #define BLIST_TRY_VPD_PAGES 0x10000000 /* Attempt to read VPD pages */ | 37 | #define BLIST_TRY_VPD_PAGES 0x10000000 /* Attempt to read VPD pages */ |
| 38 | #define BLIST_NO_RSOC 0x20000000 /* don't try to issue RSOC */ | 38 | #define BLIST_NO_RSOC 0x20000000 /* don't try to issue RSOC */ |
| 39 | #define BLIST_MAX_1024 0x40000000 /* maximum 1024 sector cdb length */ | ||
| 39 | 40 | ||
| 40 | #endif | 41 | #endif |
diff --git a/include/sound/designware_i2s.h b/include/sound/designware_i2s.h index 26f406e0f673..3a8fca9409a7 100644 --- a/include/sound/designware_i2s.h +++ b/include/sound/designware_i2s.h | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * Copyright (ST) 2012 Rajeev Kumar (rajeev-dlh.kumar@st.com) | 2 | * Copyright (ST) 2012 Rajeev Kumar (rajeevkumar.linux@gmail.com) |
| 3 | * | 3 | * |
| 4 | * This program is free software; you can redistribute it and/or modify | 4 | * This program is free software; you can redistribute it and/or modify |
| 5 | * it under the terms of the GNU General Public License as published by | 5 | * it under the terms of the GNU General Public License as published by |
diff --git a/include/sound/emu10k1.h b/include/sound/emu10k1.h index 0de95ccb92cf..5bd134651f5e 100644 --- a/include/sound/emu10k1.h +++ b/include/sound/emu10k1.h | |||
| @@ -41,7 +41,8 @@ | |||
| 41 | 41 | ||
| 42 | #define EMUPAGESIZE 4096 | 42 | #define EMUPAGESIZE 4096 |
| 43 | #define MAXREQVOICES 8 | 43 | #define MAXREQVOICES 8 |
| 44 | #define MAXPAGES 8192 | 44 | #define MAXPAGES0 4096 /* 32 bit mode */ |
| 45 | #define MAXPAGES1 8192 /* 31 bit mode */ | ||
| 45 | #define RESERVED 0 | 46 | #define RESERVED 0 |
| 46 | #define NUM_MIDI 16 | 47 | #define NUM_MIDI 16 |
| 47 | #define NUM_G 64 /* use all channels */ | 48 | #define NUM_G 64 /* use all channels */ |
| @@ -50,8 +51,7 @@ | |||
| 50 | 51 | ||
| 51 | /* FIXME? - according to the OSS driver the EMU10K1 needs a 29 bit DMA mask */ | 52 | /* FIXME? - according to the OSS driver the EMU10K1 needs a 29 bit DMA mask */ |
| 52 | #define EMU10K1_DMA_MASK 0x7fffffffUL /* 31bit */ | 53 | #define EMU10K1_DMA_MASK 0x7fffffffUL /* 31bit */ |
| 53 | #define AUDIGY_DMA_MASK 0x7fffffffUL /* 31bit FIXME - 32 should work? */ | 54 | #define AUDIGY_DMA_MASK 0xffffffffUL /* 32bit mode */ |
| 54 | /* See ALSA bug #1276 - rlrevell */ | ||
| 55 | 55 | ||
| 56 | #define TMEMSIZE 256*1024 | 56 | #define TMEMSIZE 256*1024 |
| 57 | #define TMEMSIZEREG 4 | 57 | #define TMEMSIZEREG 4 |
| @@ -466,8 +466,11 @@ | |||
| 466 | 466 | ||
| 467 | #define MAPB 0x0d /* Cache map B */ | 467 | #define MAPB 0x0d /* Cache map B */ |
| 468 | 468 | ||
| 469 | #define MAP_PTE_MASK 0xffffe000 /* The 19 MSBs of the PTE indexed by the PTI */ | 469 | #define MAP_PTE_MASK0 0xfffff000 /* The 20 MSBs of the PTE indexed by the PTI */ |
| 470 | #define MAP_PTI_MASK 0x00001fff /* The 13 bit index to one of the 8192 PTE dwords */ | 470 | #define MAP_PTI_MASK0 0x00000fff /* The 12 bit index to one of the 4096 PTE dwords */ |
| 471 | |||
| 472 | #define MAP_PTE_MASK1 0xffffe000 /* The 19 MSBs of the PTE indexed by the PTI */ | ||
| 473 | #define MAP_PTI_MASK1 0x00001fff /* The 13 bit index to one of the 8192 PTE dwords */ | ||
| 471 | 474 | ||
| 472 | /* 0x0e, 0x0f: Not used */ | 475 | /* 0x0e, 0x0f: Not used */ |
| 473 | 476 | ||
| @@ -1704,6 +1707,7 @@ struct snd_emu10k1 { | |||
| 1704 | unsigned short model; /* subsystem id */ | 1707 | unsigned short model; /* subsystem id */ |
| 1705 | unsigned int card_type; /* EMU10K1_CARD_* */ | 1708 | unsigned int card_type; /* EMU10K1_CARD_* */ |
| 1706 | unsigned int ecard_ctrl; /* ecard control bits */ | 1709 | unsigned int ecard_ctrl; /* ecard control bits */ |
| 1710 | unsigned int address_mode; /* address mode */ | ||
| 1707 | unsigned long dma_mask; /* PCI DMA mask */ | 1711 | unsigned long dma_mask; /* PCI DMA mask */ |
| 1708 | unsigned int delay_pcm_irq; /* in samples */ | 1712 | unsigned int delay_pcm_irq; /* in samples */ |
| 1709 | int max_cache_pages; /* max memory size / PAGE_SIZE */ | 1713 | int max_cache_pages; /* max memory size / PAGE_SIZE */ |
diff --git a/include/sound/soc-dapm.h b/include/sound/soc-dapm.h index 0bc83647d3fa..1065095c6973 100644 --- a/include/sound/soc-dapm.h +++ b/include/sound/soc-dapm.h | |||
| @@ -287,7 +287,7 @@ struct device; | |||
| 287 | .access = SNDRV_CTL_ELEM_ACCESS_TLV_READ | SNDRV_CTL_ELEM_ACCESS_READWRITE,\ | 287 | .access = SNDRV_CTL_ELEM_ACCESS_TLV_READ | SNDRV_CTL_ELEM_ACCESS_READWRITE,\ |
| 288 | .tlv.p = (tlv_array), \ | 288 | .tlv.p = (tlv_array), \ |
| 289 | .get = snd_soc_dapm_get_volsw, .put = snd_soc_dapm_put_volsw, \ | 289 | .get = snd_soc_dapm_get_volsw, .put = snd_soc_dapm_put_volsw, \ |
| 290 | .private_value = SOC_SINGLE_VALUE(reg, shift, max, invert, 0) } | 290 | .private_value = SOC_SINGLE_VALUE(reg, shift, max, invert, 1) } |
| 291 | #define SOC_DAPM_SINGLE_TLV_VIRT(xname, max, tlv_array) \ | 291 | #define SOC_DAPM_SINGLE_TLV_VIRT(xname, max, tlv_array) \ |
| 292 | SOC_DAPM_SINGLE(xname, SND_SOC_NOPM, 0, max, 0, tlv_array) | 292 | SOC_DAPM_SINGLE(xname, SND_SOC_NOPM, 0, max, 0, tlv_array) |
| 293 | #define SOC_DAPM_ENUM(xname, xenum) \ | 293 | #define SOC_DAPM_ENUM(xname, xenum) \ |
diff --git a/include/sound/soc.h b/include/sound/soc.h index fcb312b3f258..f6226914acfe 100644 --- a/include/sound/soc.h +++ b/include/sound/soc.h | |||
| @@ -387,8 +387,20 @@ int snd_soc_codec_set_pll(struct snd_soc_codec *codec, int pll_id, int source, | |||
| 387 | int snd_soc_register_card(struct snd_soc_card *card); | 387 | int snd_soc_register_card(struct snd_soc_card *card); |
| 388 | int snd_soc_unregister_card(struct snd_soc_card *card); | 388 | int snd_soc_unregister_card(struct snd_soc_card *card); |
| 389 | int devm_snd_soc_register_card(struct device *dev, struct snd_soc_card *card); | 389 | int devm_snd_soc_register_card(struct device *dev, struct snd_soc_card *card); |
| 390 | #ifdef CONFIG_PM_SLEEP | ||
| 390 | int snd_soc_suspend(struct device *dev); | 391 | int snd_soc_suspend(struct device *dev); |
| 391 | int snd_soc_resume(struct device *dev); | 392 | int snd_soc_resume(struct device *dev); |
| 393 | #else | ||
| 394 | static inline int snd_soc_suspend(struct device *dev) | ||
| 395 | { | ||
| 396 | return 0; | ||
| 397 | } | ||
| 398 | |||
| 399 | static inline int snd_soc_resume(struct device *dev) | ||
| 400 | { | ||
| 401 | return 0; | ||
| 402 | } | ||
| 403 | #endif | ||
| 392 | int snd_soc_poweroff(struct device *dev); | 404 | int snd_soc_poweroff(struct device *dev); |
| 393 | int snd_soc_register_platform(struct device *dev, | 405 | int snd_soc_register_platform(struct device *dev, |
| 394 | const struct snd_soc_platform_driver *platform_drv); | 406 | const struct snd_soc_platform_driver *platform_drv); |
diff --git a/include/sound/spear_dma.h b/include/sound/spear_dma.h index 65aca51fe255..e290de4e7e82 100644 --- a/include/sound/spear_dma.h +++ b/include/sound/spear_dma.h | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | /* | 1 | /* |
| 2 | * linux/spear_dma.h | 2 | * linux/spear_dma.h |
| 3 | * | 3 | * |
| 4 | * Copyright (ST) 2012 Rajeev Kumar (rajeev-dlh.kumar@st.com) | 4 | * Copyright (ST) 2012 Rajeev Kumar (rajeevkumar.linux@gmail.com) |
| 5 | * | 5 | * |
| 6 | * This program is free software; you can redistribute it and/or modify | 6 | * This program is free software; you can redistribute it and/or modify |
| 7 | * it under the terms of the GNU General Public License as published by | 7 | * it under the terms of the GNU General Public License as published by |
diff --git a/include/trace/events/thermal.h b/include/trace/events/thermal.h index 0f4f95d63c03..8b1f80682b80 100644 --- a/include/trace/events/thermal.h +++ b/include/trace/events/thermal.h | |||
| @@ -77,6 +77,64 @@ TRACE_EVENT(thermal_zone_trip, | |||
| 77 | __entry->trip_type) | 77 | __entry->trip_type) |
| 78 | ); | 78 | ); |
| 79 | 79 | ||
| 80 | TRACE_EVENT(thermal_power_cpu_get_power, | ||
| 81 | TP_PROTO(const struct cpumask *cpus, unsigned long freq, u32 *load, | ||
| 82 | size_t load_len, u32 dynamic_power, u32 static_power), | ||
| 83 | |||
| 84 | TP_ARGS(cpus, freq, load, load_len, dynamic_power, static_power), | ||
| 85 | |||
| 86 | TP_STRUCT__entry( | ||
| 87 | __bitmask(cpumask, num_possible_cpus()) | ||
| 88 | __field(unsigned long, freq ) | ||
| 89 | __dynamic_array(u32, load, load_len) | ||
| 90 | __field(size_t, load_len ) | ||
| 91 | __field(u32, dynamic_power ) | ||
| 92 | __field(u32, static_power ) | ||
| 93 | ), | ||
| 94 | |||
| 95 | TP_fast_assign( | ||
| 96 | __assign_bitmask(cpumask, cpumask_bits(cpus), | ||
| 97 | num_possible_cpus()); | ||
| 98 | __entry->freq = freq; | ||
| 99 | memcpy(__get_dynamic_array(load), load, | ||
| 100 | load_len * sizeof(*load)); | ||
| 101 | __entry->load_len = load_len; | ||
| 102 | __entry->dynamic_power = dynamic_power; | ||
| 103 | __entry->static_power = static_power; | ||
| 104 | ), | ||
| 105 | |||
| 106 | TP_printk("cpus=%s freq=%lu load={%s} dynamic_power=%d static_power=%d", | ||
| 107 | __get_bitmask(cpumask), __entry->freq, | ||
| 108 | __print_array(__get_dynamic_array(load), __entry->load_len, 4), | ||
| 109 | __entry->dynamic_power, __entry->static_power) | ||
| 110 | ); | ||
| 111 | |||
| 112 | TRACE_EVENT(thermal_power_cpu_limit, | ||
| 113 | TP_PROTO(const struct cpumask *cpus, unsigned int freq, | ||
| 114 | unsigned long cdev_state, u32 power), | ||
| 115 | |||
| 116 | TP_ARGS(cpus, freq, cdev_state, power), | ||
| 117 | |||
| 118 | TP_STRUCT__entry( | ||
| 119 | __bitmask(cpumask, num_possible_cpus()) | ||
| 120 | __field(unsigned int, freq ) | ||
| 121 | __field(unsigned long, cdev_state) | ||
| 122 | __field(u32, power ) | ||
| 123 | ), | ||
| 124 | |||
| 125 | TP_fast_assign( | ||
| 126 | __assign_bitmask(cpumask, cpumask_bits(cpus), | ||
| 127 | num_possible_cpus()); | ||
| 128 | __entry->freq = freq; | ||
| 129 | __entry->cdev_state = cdev_state; | ||
| 130 | __entry->power = power; | ||
| 131 | ), | ||
| 132 | |||
| 133 | TP_printk("cpus=%s freq=%u cdev_state=%lu power=%u", | ||
| 134 | __get_bitmask(cpumask), __entry->freq, __entry->cdev_state, | ||
| 135 | __entry->power) | ||
| 136 | ); | ||
| 137 | |||
| 80 | #endif /* _TRACE_THERMAL_H */ | 138 | #endif /* _TRACE_THERMAL_H */ |
| 81 | 139 | ||
| 82 | /* This part must be outside protection */ | 140 | /* This part must be outside protection */ |
diff --git a/include/trace/events/thermal_power_allocator.h b/include/trace/events/thermal_power_allocator.h new file mode 100644 index 000000000000..12e1321c4e0c --- /dev/null +++ b/include/trace/events/thermal_power_allocator.h | |||
| @@ -0,0 +1,87 @@ | |||
| 1 | #undef TRACE_SYSTEM | ||
| 2 | #define TRACE_SYSTEM thermal_power_allocator | ||
| 3 | |||
| 4 | #if !defined(_TRACE_THERMAL_POWER_ALLOCATOR_H) || defined(TRACE_HEADER_MULTI_READ) | ||
| 5 | #define _TRACE_THERMAL_POWER_ALLOCATOR_H | ||
| 6 | |||
| 7 | #include <linux/tracepoint.h> | ||
| 8 | |||
| 9 | TRACE_EVENT(thermal_power_allocator, | ||
| 10 | TP_PROTO(struct thermal_zone_device *tz, u32 *req_power, | ||
| 11 | u32 total_req_power, u32 *granted_power, | ||
| 12 | u32 total_granted_power, size_t num_actors, | ||
| 13 | u32 power_range, u32 max_allocatable_power, | ||
| 14 | unsigned long current_temp, s32 delta_temp), | ||
| 15 | TP_ARGS(tz, req_power, total_req_power, granted_power, | ||
| 16 | total_granted_power, num_actors, power_range, | ||
| 17 | max_allocatable_power, current_temp, delta_temp), | ||
| 18 | TP_STRUCT__entry( | ||
| 19 | __field(int, tz_id ) | ||
| 20 | __dynamic_array(u32, req_power, num_actors ) | ||
| 21 | __field(u32, total_req_power ) | ||
| 22 | __dynamic_array(u32, granted_power, num_actors) | ||
| 23 | __field(u32, total_granted_power ) | ||
| 24 | __field(size_t, num_actors ) | ||
| 25 | __field(u32, power_range ) | ||
| 26 | __field(u32, max_allocatable_power ) | ||
| 27 | __field(unsigned long, current_temp ) | ||
| 28 | __field(s32, delta_temp ) | ||
| 29 | ), | ||
| 30 | TP_fast_assign( | ||
| 31 | __entry->tz_id = tz->id; | ||
| 32 | memcpy(__get_dynamic_array(req_power), req_power, | ||
| 33 | num_actors * sizeof(*req_power)); | ||
| 34 | __entry->total_req_power = total_req_power; | ||
| 35 | memcpy(__get_dynamic_array(granted_power), granted_power, | ||
| 36 | num_actors * sizeof(*granted_power)); | ||
| 37 | __entry->total_granted_power = total_granted_power; | ||
| 38 | __entry->num_actors = num_actors; | ||
| 39 | __entry->power_range = power_range; | ||
| 40 | __entry->max_allocatable_power = max_allocatable_power; | ||
| 41 | __entry->current_temp = current_temp; | ||
| 42 | __entry->delta_temp = delta_temp; | ||
| 43 | ), | ||
| 44 | |||
| 45 | TP_printk("thermal_zone_id=%d req_power={%s} total_req_power=%u granted_power={%s} total_granted_power=%u power_range=%u max_allocatable_power=%u current_temperature=%lu delta_temperature=%d", | ||
| 46 | __entry->tz_id, | ||
| 47 | __print_array(__get_dynamic_array(req_power), | ||
| 48 | __entry->num_actors, 4), | ||
| 49 | __entry->total_req_power, | ||
| 50 | __print_array(__get_dynamic_array(granted_power), | ||
| 51 | __entry->num_actors, 4), | ||
| 52 | __entry->total_granted_power, __entry->power_range, | ||
| 53 | __entry->max_allocatable_power, __entry->current_temp, | ||
| 54 | __entry->delta_temp) | ||
| 55 | ); | ||
| 56 | |||
| 57 | TRACE_EVENT(thermal_power_allocator_pid, | ||
| 58 | TP_PROTO(struct thermal_zone_device *tz, s32 err, s32 err_integral, | ||
| 59 | s64 p, s64 i, s64 d, s32 output), | ||
| 60 | TP_ARGS(tz, err, err_integral, p, i, d, output), | ||
| 61 | TP_STRUCT__entry( | ||
| 62 | __field(int, tz_id ) | ||
| 63 | __field(s32, err ) | ||
| 64 | __field(s32, err_integral) | ||
| 65 | __field(s64, p ) | ||
| 66 | __field(s64, i ) | ||
| 67 | __field(s64, d ) | ||
| 68 | __field(s32, output ) | ||
| 69 | ), | ||
| 70 | TP_fast_assign( | ||
| 71 | __entry->tz_id = tz->id; | ||
| 72 | __entry->err = err; | ||
| 73 | __entry->err_integral = err_integral; | ||
| 74 | __entry->p = p; | ||
| 75 | __entry->i = i; | ||
| 76 | __entry->d = d; | ||
| 77 | __entry->output = output; | ||
| 78 | ), | ||
| 79 | |||
| 80 | TP_printk("thermal_zone_id=%d err=%d err_integral=%d p=%lld i=%lld d=%lld output=%d", | ||
| 81 | __entry->tz_id, __entry->err, __entry->err_integral, | ||
| 82 | __entry->p, __entry->i, __entry->d, __entry->output) | ||
| 83 | ); | ||
| 84 | #endif /* _TRACE_THERMAL_POWER_ALLOCATOR_H */ | ||
| 85 | |||
| 86 | /* This part must be outside protection */ | ||
| 87 | #include <trace/define_trace.h> | ||
diff --git a/include/uapi/linux/inet_diag.h b/include/uapi/linux/inet_diag.h index d65c0a09efd3..c7093c75bdd6 100644 --- a/include/uapi/linux/inet_diag.h +++ b/include/uapi/linux/inet_diag.h | |||
| @@ -143,4 +143,8 @@ struct tcp_dctcp_info { | |||
| 143 | __u32 dctcp_ab_tot; | 143 | __u32 dctcp_ab_tot; |
| 144 | }; | 144 | }; |
| 145 | 145 | ||
| 146 | union tcp_cc_info { | ||
| 147 | struct tcpvegas_info vegas; | ||
| 148 | struct tcp_dctcp_info dctcp; | ||
| 149 | }; | ||
| 146 | #endif /* _UAPI_INET_DIAG_H_ */ | 150 | #endif /* _UAPI_INET_DIAG_H_ */ |
diff --git a/include/uapi/linux/mpls.h b/include/uapi/linux/mpls.h index bc9abfe88c9a..139d4dd1cab8 100644 --- a/include/uapi/linux/mpls.h +++ b/include/uapi/linux/mpls.h | |||
| @@ -31,4 +31,14 @@ struct mpls_label { | |||
| 31 | #define MPLS_LS_TTL_MASK 0x000000FF | 31 | #define MPLS_LS_TTL_MASK 0x000000FF |
| 32 | #define MPLS_LS_TTL_SHIFT 0 | 32 | #define MPLS_LS_TTL_SHIFT 0 |
| 33 | 33 | ||
| 34 | /* Reserved labels */ | ||
| 35 | #define MPLS_LABEL_IPV4NULL 0 /* RFC3032 */ | ||
| 36 | #define MPLS_LABEL_RTALERT 1 /* RFC3032 */ | ||
| 37 | #define MPLS_LABEL_IPV6NULL 2 /* RFC3032 */ | ||
| 38 | #define MPLS_LABEL_IMPLNULL 3 /* RFC3032 */ | ||
| 39 | #define MPLS_LABEL_ENTROPY 7 /* RFC6790 */ | ||
| 40 | #define MPLS_LABEL_GAL 13 /* RFC5586 */ | ||
| 41 | #define MPLS_LABEL_OAMALERT 14 /* RFC3429 */ | ||
| 42 | #define MPLS_LABEL_EXTENSION 15 /* RFC7274 */ | ||
| 43 | |||
| 34 | #endif /* _UAPI_MPLS_H */ | 44 | #endif /* _UAPI_MPLS_H */ |
diff --git a/include/uapi/linux/tcp.h b/include/uapi/linux/tcp.h index 3b9718328d8b..faa72f4fa547 100644 --- a/include/uapi/linux/tcp.h +++ b/include/uapi/linux/tcp.h | |||
| @@ -112,6 +112,7 @@ enum { | |||
| 112 | #define TCP_FASTOPEN 23 /* Enable FastOpen on listeners */ | 112 | #define TCP_FASTOPEN 23 /* Enable FastOpen on listeners */ |
| 113 | #define TCP_TIMESTAMP 24 | 113 | #define TCP_TIMESTAMP 24 |
| 114 | #define TCP_NOTSENT_LOWAT 25 /* limit number of unsent bytes in write queue */ | 114 | #define TCP_NOTSENT_LOWAT 25 /* limit number of unsent bytes in write queue */ |
| 115 | #define TCP_CC_INFO 26 /* Get Congestion Control (optional) info */ | ||
| 115 | 116 | ||
| 116 | struct tcp_repair_opt { | 117 | struct tcp_repair_opt { |
| 117 | __u32 opt_code; | 118 | __u32 opt_code; |
| @@ -189,6 +190,8 @@ struct tcp_info { | |||
| 189 | 190 | ||
| 190 | __u64 tcpi_pacing_rate; | 191 | __u64 tcpi_pacing_rate; |
| 191 | __u64 tcpi_max_pacing_rate; | 192 | __u64 tcpi_max_pacing_rate; |
| 193 | __u64 tcpi_bytes_acked; /* RFC4898 tcpEStatsAppHCThruOctetsAcked */ | ||
| 194 | __u64 tcpi_bytes_received; /* RFC4898 tcpEStatsAppHCThruOctetsReceived */ | ||
| 192 | }; | 195 | }; |
| 193 | 196 | ||
| 194 | /* for TCP_MD5SIG socket option */ | 197 | /* for TCP_MD5SIG socket option */ |
diff --git a/include/uapi/linux/virtio_ring.h b/include/uapi/linux/virtio_ring.h index a3318f31e8e7..915980ac68df 100644 --- a/include/uapi/linux/virtio_ring.h +++ b/include/uapi/linux/virtio_ring.h | |||
| @@ -155,7 +155,7 @@ static inline unsigned vring_size(unsigned int num, unsigned long align) | |||
| 155 | } | 155 | } |
| 156 | 156 | ||
| 157 | /* The following is used with USED_EVENT_IDX and AVAIL_EVENT_IDX */ | 157 | /* The following is used with USED_EVENT_IDX and AVAIL_EVENT_IDX */ |
| 158 | /* Assuming a given event_idx value from the other size, if | 158 | /* Assuming a given event_idx value from the other side, if |
| 159 | * we have just incremented index from old to new_idx, | 159 | * we have just incremented index from old to new_idx, |
| 160 | * should we trigger an event? */ | 160 | * should we trigger an event? */ |
| 161 | static inline int vring_need_event(__u16 event_idx, __u16 new_idx, __u16 old) | 161 | static inline int vring_need_event(__u16 event_idx, __u16 new_idx, __u16 old) |
diff --git a/include/uapi/rdma/rdma_netlink.h b/include/uapi/rdma/rdma_netlink.h index de69170a30ce..6e4bb4270ca2 100644 --- a/include/uapi/rdma/rdma_netlink.h +++ b/include/uapi/rdma/rdma_netlink.h | |||
| @@ -37,6 +37,7 @@ enum { | |||
| 37 | RDMA_NL_IWPM_ADD_MAPPING, | 37 | RDMA_NL_IWPM_ADD_MAPPING, |
| 38 | RDMA_NL_IWPM_QUERY_MAPPING, | 38 | RDMA_NL_IWPM_QUERY_MAPPING, |
| 39 | RDMA_NL_IWPM_REMOVE_MAPPING, | 39 | RDMA_NL_IWPM_REMOVE_MAPPING, |
| 40 | RDMA_NL_IWPM_REMOTE_INFO, | ||
| 40 | RDMA_NL_IWPM_HANDLE_ERR, | 41 | RDMA_NL_IWPM_HANDLE_ERR, |
| 41 | RDMA_NL_IWPM_MAPINFO, | 42 | RDMA_NL_IWPM_MAPINFO, |
| 42 | RDMA_NL_IWPM_MAPINFO_NUM, | 43 | RDMA_NL_IWPM_MAPINFO_NUM, |
diff --git a/include/xen/grant_table.h b/include/xen/grant_table.h index 143ca5ffab7a..4478f4b4aae2 100644 --- a/include/xen/grant_table.h +++ b/include/xen/grant_table.h | |||
| @@ -191,6 +191,7 @@ int gnttab_unmap_refs(struct gnttab_unmap_grant_ref *unmap_ops, | |||
| 191 | struct gnttab_unmap_grant_ref *kunmap_ops, | 191 | struct gnttab_unmap_grant_ref *kunmap_ops, |
| 192 | struct page **pages, unsigned int count); | 192 | struct page **pages, unsigned int count); |
| 193 | void gnttab_unmap_refs_async(struct gntab_unmap_queue_data* item); | 193 | void gnttab_unmap_refs_async(struct gntab_unmap_queue_data* item); |
| 194 | int gnttab_unmap_refs_sync(struct gntab_unmap_queue_data *item); | ||
| 194 | 195 | ||
| 195 | 196 | ||
| 196 | /* Perform a batch of grant map/copy operations. Retry every batch slot | 197 | /* Perform a batch of grant map/copy operations. Retry every batch slot |
diff --git a/include/xen/xen-ops.h b/include/xen/xen-ops.h index c643e6a94c9a..0ce4f32017ea 100644 --- a/include/xen/xen-ops.h +++ b/include/xen/xen-ops.h | |||
| @@ -13,6 +13,7 @@ void xen_arch_post_suspend(int suspend_cancelled); | |||
| 13 | 13 | ||
| 14 | void xen_timer_resume(void); | 14 | void xen_timer_resume(void); |
| 15 | void xen_arch_resume(void); | 15 | void xen_arch_resume(void); |
| 16 | void xen_arch_suspend(void); | ||
| 16 | 17 | ||
| 17 | void xen_resume_notifier_register(struct notifier_block *nb); | 18 | void xen_resume_notifier_register(struct notifier_block *nb); |
| 18 | void xen_resume_notifier_unregister(struct notifier_block *nb); | 19 | void xen_resume_notifier_unregister(struct notifier_block *nb); |
