diff options
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-generic/word-at-a-time.h | 8 | ||||
| -rw-r--r-- | include/crypto/scatterwalk.h | 2 | ||||
| -rw-r--r-- | include/linux/assoc_array.h | 6 | ||||
| -rw-r--r-- | include/linux/compiler-intel.h | 2 | ||||
| -rw-r--r-- | include/linux/cpufreq.h | 8 | ||||
| -rw-r--r-- | include/linux/dcache.h | 2 | ||||
| -rw-r--r-- | include/linux/hid-sensor-hub.h | 2 | ||||
| -rw-r--r-- | include/linux/hid-sensor-ids.h | 12 | ||||
| -rw-r--r-- | include/linux/hugetlb.h | 5 | ||||
| -rw-r--r-- | include/linux/ipv6.h | 1 | ||||
| -rw-r--r-- | include/linux/kernel.h | 3 | ||||
| -rw-r--r-- | include/linux/kexec.h | 3 | ||||
| -rw-r--r-- | include/linux/mfd/samsung/core.h | 3 | ||||
| -rw-r--r-- | include/linux/micrel_phy.h | 2 | ||||
| -rw-r--r-- | include/linux/net.h | 2 | ||||
| -rw-r--r-- | include/linux/netdevice.h | 2 | ||||
| -rw-r--r-- | include/linux/pci.h | 31 | ||||
| -rw-r--r-- | include/linux/shmem_fs.h | 2 | ||||
| -rw-r--r-- | include/linux/skbuff.h | 39 | ||||
| -rw-r--r-- | include/linux/usb.h | 2 | ||||
| -rw-r--r-- | include/linux/usb/wusb.h | 2 | ||||
| -rw-r--r-- | include/media/videobuf2-core.h | 2 | ||||
| -rw-r--r-- | include/net/ipv6.h | 3 | ||||
| -rw-r--r-- | include/net/sctp/structs.h | 6 | ||||
| -rw-r--r-- | include/net/sock.h | 6 | ||||
| -rw-r--r-- | include/uapi/linux/input.h | 3 | ||||
| -rw-r--r-- | include/uapi/linux/mic_common.h | 40 |
27 files changed, 108 insertions, 91 deletions
diff --git a/include/asm-generic/word-at-a-time.h b/include/asm-generic/word-at-a-time.h index 3f21f1b72e45..d3909effd725 100644 --- a/include/asm-generic/word-at-a-time.h +++ b/include/asm-generic/word-at-a-time.h | |||
| @@ -49,4 +49,12 @@ static inline bool has_zero(unsigned long val, unsigned long *data, const struct | |||
| 49 | return (val + c->high_bits) & ~rhs; | 49 | return (val + c->high_bits) & ~rhs; |
| 50 | } | 50 | } |
| 51 | 51 | ||
| 52 | #ifndef zero_bytemask | ||
| 53 | #ifdef CONFIG_64BIT | ||
| 54 | #define zero_bytemask(mask) (~0ul << fls64(mask)) | ||
| 55 | #else | ||
| 56 | #define zero_bytemask(mask) (~0ul << fls(mask)) | ||
| 57 | #endif /* CONFIG_64BIT */ | ||
| 58 | #endif /* zero_bytemask */ | ||
| 59 | |||
| 52 | #endif /* _ASM_WORD_AT_A_TIME_H */ | 60 | #endif /* _ASM_WORD_AT_A_TIME_H */ |
diff --git a/include/crypto/scatterwalk.h b/include/crypto/scatterwalk.h index 64ebede184f1..6a626a507b8c 100644 --- a/include/crypto/scatterwalk.h +++ b/include/crypto/scatterwalk.h | |||
| @@ -44,7 +44,7 @@ static inline struct scatterlist *scatterwalk_sg_next(struct scatterlist *sg) | |||
| 44 | if (sg_is_last(sg)) | 44 | if (sg_is_last(sg)) |
| 45 | return NULL; | 45 | return NULL; |
| 46 | 46 | ||
| 47 | return (++sg)->length ? sg : (void *)sg_page(sg); | 47 | return (++sg)->length ? sg : sg_chain_ptr(sg); |
| 48 | } | 48 | } |
| 49 | 49 | ||
| 50 | static inline void scatterwalk_crypto_chain(struct scatterlist *head, | 50 | static inline void scatterwalk_crypto_chain(struct scatterlist *head, |
diff --git a/include/linux/assoc_array.h b/include/linux/assoc_array.h index 9a193b84238a..a89df3be1686 100644 --- a/include/linux/assoc_array.h +++ b/include/linux/assoc_array.h | |||
| @@ -41,10 +41,10 @@ struct assoc_array_ops { | |||
| 41 | /* Is this the object we're looking for? */ | 41 | /* Is this the object we're looking for? */ |
| 42 | bool (*compare_object)(const void *object, const void *index_key); | 42 | bool (*compare_object)(const void *object, const void *index_key); |
| 43 | 43 | ||
| 44 | /* How different are two objects, to a bit position in their keys? (or | 44 | /* How different is an object from an index key, to a bit position in |
| 45 | * -1 if they're the same) | 45 | * their keys? (or -1 if they're the same) |
| 46 | */ | 46 | */ |
| 47 | int (*diff_objects)(const void *a, const void *b); | 47 | int (*diff_objects)(const void *object, const void *index_key); |
| 48 | 48 | ||
| 49 | /* Method to free an object. */ | 49 | /* Method to free an object. */ |
| 50 | void (*free_object)(void *object); | 50 | void (*free_object)(void *object); |
diff --git a/include/linux/compiler-intel.h b/include/linux/compiler-intel.h index 973ce10c40b6..dc1bd3dcf11f 100644 --- a/include/linux/compiler-intel.h +++ b/include/linux/compiler-intel.h | |||
| @@ -28,8 +28,6 @@ | |||
| 28 | 28 | ||
| 29 | #endif | 29 | #endif |
| 30 | 30 | ||
| 31 | #define uninitialized_var(x) x | ||
| 32 | |||
| 33 | #ifndef __HAVE_BUILTIN_BSWAP16__ | 31 | #ifndef __HAVE_BUILTIN_BSWAP16__ |
| 34 | /* icc has this, but it's called _bswap16 */ | 32 | /* icc has this, but it's called _bswap16 */ |
| 35 | #define __HAVE_BUILTIN_BSWAP16__ | 33 | #define __HAVE_BUILTIN_BSWAP16__ |
diff --git a/include/linux/cpufreq.h b/include/linux/cpufreq.h index ee5fe9d77ae8..dc196bbcf227 100644 --- a/include/linux/cpufreq.h +++ b/include/linux/cpufreq.h | |||
| @@ -280,14 +280,6 @@ cpufreq_verify_within_cpu_limits(struct cpufreq_policy *policy) | |||
| 280 | policy->cpuinfo.max_freq); | 280 | policy->cpuinfo.max_freq); |
| 281 | } | 281 | } |
| 282 | 282 | ||
| 283 | #ifdef CONFIG_CPU_FREQ | ||
| 284 | void cpufreq_suspend(void); | ||
| 285 | void cpufreq_resume(void); | ||
| 286 | #else | ||
| 287 | static inline void cpufreq_suspend(void) {} | ||
| 288 | static inline void cpufreq_resume(void) {} | ||
| 289 | #endif | ||
| 290 | |||
| 291 | /********************************************************************* | 283 | /********************************************************************* |
| 292 | * CPUFREQ NOTIFIER INTERFACE * | 284 | * CPUFREQ NOTIFIER INTERFACE * |
| 293 | *********************************************************************/ | 285 | *********************************************************************/ |
diff --git a/include/linux/dcache.h b/include/linux/dcache.h index 57e87e749a48..bf72e9ac6de0 100644 --- a/include/linux/dcache.h +++ b/include/linux/dcache.h | |||
| @@ -29,8 +29,10 @@ struct vfsmount; | |||
| 29 | /* The hash is always the low bits of hash_len */ | 29 | /* The hash is always the low bits of hash_len */ |
| 30 | #ifdef __LITTLE_ENDIAN | 30 | #ifdef __LITTLE_ENDIAN |
| 31 | #define HASH_LEN_DECLARE u32 hash; u32 len; | 31 | #define HASH_LEN_DECLARE u32 hash; u32 len; |
| 32 | #define bytemask_from_count(cnt) (~(~0ul << (cnt)*8)) | ||
| 32 | #else | 33 | #else |
| 33 | #define HASH_LEN_DECLARE u32 len; u32 hash; | 34 | #define HASH_LEN_DECLARE u32 len; u32 hash; |
| 35 | #define bytemask_from_count(cnt) (~(~0ul >> (cnt)*8)) | ||
| 34 | #endif | 36 | #endif |
| 35 | 37 | ||
| 36 | /* | 38 | /* |
diff --git a/include/linux/hid-sensor-hub.h b/include/linux/hid-sensor-hub.h index 206a2af6b62b..b914ca3f57ba 100644 --- a/include/linux/hid-sensor-hub.h +++ b/include/linux/hid-sensor-hub.h | |||
| @@ -42,6 +42,8 @@ struct hid_sensor_hub_attribute_info { | |||
| 42 | s32 units; | 42 | s32 units; |
| 43 | s32 unit_expo; | 43 | s32 unit_expo; |
| 44 | s32 size; | 44 | s32 size; |
| 45 | s32 logical_minimum; | ||
| 46 | s32 logical_maximum; | ||
| 45 | }; | 47 | }; |
| 46 | 48 | ||
| 47 | /** | 49 | /** |
diff --git a/include/linux/hid-sensor-ids.h b/include/linux/hid-sensor-ids.h index 4f945d3ed49f..8323775ac21d 100644 --- a/include/linux/hid-sensor-ids.h +++ b/include/linux/hid-sensor-ids.h | |||
| @@ -117,4 +117,16 @@ | |||
| 117 | #define HID_USAGE_SENSOR_PROP_REPORT_STATE 0x200316 | 117 | #define HID_USAGE_SENSOR_PROP_REPORT_STATE 0x200316 |
| 118 | #define HID_USAGE_SENSOR_PROY_POWER_STATE 0x200319 | 118 | #define HID_USAGE_SENSOR_PROY_POWER_STATE 0x200319 |
| 119 | 119 | ||
| 120 | /* Power state enumerations */ | ||
| 121 | #define HID_USAGE_SENSOR_PROP_POWER_STATE_UNDEFINED_ENUM 0x00 | ||
| 122 | #define HID_USAGE_SENSOR_PROP_POWER_STATE_D0_FULL_POWER_ENUM 0x01 | ||
| 123 | #define HID_USAGE_SENSOR_PROP_POWER_STATE_D1_LOW_POWER_ENUM 0x02 | ||
| 124 | #define HID_USAGE_SENSOR_PROP_POWER_STATE_D2_STANDBY_WITH_WAKE_ENUM 0x03 | ||
| 125 | #define HID_USAGE_SENSOR_PROP_POWER_STATE_D3_SLEEP_WITH_WAKE_ENUM 0x04 | ||
| 126 | #define HID_USAGE_SENSOR_PROP_POWER_STATE_D4_POWER_OFF_ENUM 0x05 | ||
| 127 | |||
| 128 | /* Report State enumerations */ | ||
| 129 | #define HID_USAGE_SENSOR_PROP_REPORTING_STATE_NO_EVENTS_ENUM 0x00 | ||
| 130 | #define HID_USAGE_SENSOR_PROP_REPORTING_STATE_ALL_EVENTS_ENUM 0x01 | ||
| 131 | |||
| 120 | #endif | 132 | #endif |
diff --git a/include/linux/hugetlb.h b/include/linux/hugetlb.h index 9649ff0c63f8..bd7e98752222 100644 --- a/include/linux/hugetlb.h +++ b/include/linux/hugetlb.h | |||
| @@ -142,7 +142,10 @@ static inline int dequeue_hwpoisoned_huge_page(struct page *page) | |||
| 142 | return 0; | 142 | return 0; |
| 143 | } | 143 | } |
| 144 | 144 | ||
| 145 | #define isolate_huge_page(p, l) false | 145 | static inline bool isolate_huge_page(struct page *page, struct list_head *list) |
| 146 | { | ||
| 147 | return false; | ||
| 148 | } | ||
| 146 | #define putback_active_hugepage(p) do {} while (0) | 149 | #define putback_active_hugepage(p) do {} while (0) |
| 147 | #define is_hugepage_active(x) false | 150 | #define is_hugepage_active(x) false |
| 148 | 151 | ||
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h index 5d89d1b808a6..c56c350324e4 100644 --- a/include/linux/ipv6.h +++ b/include/linux/ipv6.h | |||
| @@ -4,6 +4,7 @@ | |||
| 4 | #include <uapi/linux/ipv6.h> | 4 | #include <uapi/linux/ipv6.h> |
| 5 | 5 | ||
| 6 | #define ipv6_optlen(p) (((p)->hdrlen+1) << 3) | 6 | #define ipv6_optlen(p) (((p)->hdrlen+1) << 3) |
| 7 | #define ipv6_authlen(p) (((p)->hdrlen+2) << 2) | ||
| 7 | /* | 8 | /* |
| 8 | * This structure contains configuration options per IPv6 link. | 9 | * This structure contains configuration options per IPv6 link. |
| 9 | */ | 10 | */ |
diff --git a/include/linux/kernel.h b/include/linux/kernel.h index d4e98d13eff4..ecb87544cc5d 100644 --- a/include/linux/kernel.h +++ b/include/linux/kernel.h | |||
| @@ -193,7 +193,8 @@ extern int _cond_resched(void); | |||
| 193 | (__x < 0) ? -__x : __x; \ | 193 | (__x < 0) ? -__x : __x; \ |
| 194 | }) | 194 | }) |
| 195 | 195 | ||
| 196 | #if defined(CONFIG_PROVE_LOCKING) || defined(CONFIG_DEBUG_ATOMIC_SLEEP) | 196 | #if defined(CONFIG_MMU) && \ |
| 197 | (defined(CONFIG_PROVE_LOCKING) || defined(CONFIG_DEBUG_ATOMIC_SLEEP)) | ||
| 197 | void might_fault(void); | 198 | void might_fault(void); |
| 198 | #else | 199 | #else |
| 199 | static inline void might_fault(void) { } | 200 | static inline void might_fault(void) { } |
diff --git a/include/linux/kexec.h b/include/linux/kexec.h index d78d28a733b1..5fd33dc1fe3a 100644 --- a/include/linux/kexec.h +++ b/include/linux/kexec.h | |||
| @@ -198,6 +198,9 @@ extern u32 vmcoreinfo_note[VMCOREINFO_NOTE_SIZE/4]; | |||
| 198 | extern size_t vmcoreinfo_size; | 198 | extern size_t vmcoreinfo_size; |
| 199 | extern size_t vmcoreinfo_max_size; | 199 | extern size_t vmcoreinfo_max_size; |
| 200 | 200 | ||
| 201 | /* flag to track if kexec reboot is in progress */ | ||
| 202 | extern bool kexec_in_progress; | ||
| 203 | |||
| 201 | int __init parse_crashkernel(char *cmdline, unsigned long long system_ram, | 204 | int __init parse_crashkernel(char *cmdline, unsigned long long system_ram, |
| 202 | unsigned long long *crash_size, unsigned long long *crash_base); | 205 | unsigned long long *crash_size, unsigned long long *crash_base); |
| 203 | int parse_crashkernel_high(char *cmdline, unsigned long long system_ram, | 206 | int parse_crashkernel_high(char *cmdline, unsigned long long system_ram, |
diff --git a/include/linux/mfd/samsung/core.h b/include/linux/mfd/samsung/core.h index 2d0c9071bcfb..cab2dd279076 100644 --- a/include/linux/mfd/samsung/core.h +++ b/include/linux/mfd/samsung/core.h | |||
| @@ -39,7 +39,8 @@ enum sec_device_type { | |||
| 39 | struct sec_pmic_dev { | 39 | struct sec_pmic_dev { |
| 40 | struct device *dev; | 40 | struct device *dev; |
| 41 | struct sec_platform_data *pdata; | 41 | struct sec_platform_data *pdata; |
| 42 | struct regmap *regmap; | 42 | struct regmap *regmap_pmic; |
| 43 | struct regmap *regmap_rtc; | ||
| 43 | struct i2c_client *i2c; | 44 | struct i2c_client *i2c; |
| 44 | struct i2c_client *rtc; | 45 | struct i2c_client *rtc; |
| 45 | 46 | ||
diff --git a/include/linux/micrel_phy.h b/include/linux/micrel_phy.h index ad05ce60c1c9..2e5b194b9b19 100644 --- a/include/linux/micrel_phy.h +++ b/include/linux/micrel_phy.h | |||
| @@ -22,6 +22,8 @@ | |||
| 22 | #define PHY_ID_KSZ8021 0x00221555 | 22 | #define PHY_ID_KSZ8021 0x00221555 |
| 23 | #define PHY_ID_KSZ8031 0x00221556 | 23 | #define PHY_ID_KSZ8031 0x00221556 |
| 24 | #define PHY_ID_KSZ8041 0x00221510 | 24 | #define PHY_ID_KSZ8041 0x00221510 |
| 25 | /* undocumented */ | ||
| 26 | #define PHY_ID_KSZ8041RNLI 0x00221537 | ||
| 25 | #define PHY_ID_KSZ8051 0x00221550 | 27 | #define PHY_ID_KSZ8051 0x00221550 |
| 26 | /* same id: ks8001 Rev. A/B, and ks8721 Rev 3. */ | 28 | /* same id: ks8001 Rev. A/B, and ks8721 Rev 3. */ |
| 27 | #define PHY_ID_KSZ8001 0x0022161A | 29 | #define PHY_ID_KSZ8001 0x0022161A |
diff --git a/include/linux/net.h b/include/linux/net.h index 4bcee94cef93..69be3e6079c8 100644 --- a/include/linux/net.h +++ b/include/linux/net.h | |||
| @@ -181,7 +181,7 @@ struct proto_ops { | |||
| 181 | int offset, size_t size, int flags); | 181 | int offset, size_t size, int flags); |
| 182 | ssize_t (*splice_read)(struct socket *sock, loff_t *ppos, | 182 | ssize_t (*splice_read)(struct socket *sock, loff_t *ppos, |
| 183 | struct pipe_inode_info *pipe, size_t len, unsigned int flags); | 183 | struct pipe_inode_info *pipe, size_t len, unsigned int flags); |
| 184 | void (*set_peek_off)(struct sock *sk, int val); | 184 | int (*set_peek_off)(struct sock *sk, int val); |
| 185 | }; | 185 | }; |
| 186 | 186 | ||
| 187 | #define DECLARE_SOCKADDR(type, dst, src) \ | 187 | #define DECLARE_SOCKADDR(type, dst, src) \ |
diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 7f0ed423a360..d9a550bf3e8e 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h | |||
| @@ -1255,7 +1255,7 @@ struct net_device { | |||
| 1255 | unsigned char perm_addr[MAX_ADDR_LEN]; /* permanent hw address */ | 1255 | unsigned char perm_addr[MAX_ADDR_LEN]; /* permanent hw address */ |
| 1256 | unsigned char addr_assign_type; /* hw address assignment type */ | 1256 | unsigned char addr_assign_type; /* hw address assignment type */ |
| 1257 | unsigned char addr_len; /* hardware address length */ | 1257 | unsigned char addr_len; /* hardware address length */ |
| 1258 | unsigned char neigh_priv_len; | 1258 | unsigned short neigh_priv_len; |
| 1259 | unsigned short dev_id; /* Used to differentiate devices | 1259 | unsigned short dev_id; /* Used to differentiate devices |
| 1260 | * that share the same link | 1260 | * that share the same link |
| 1261 | * layer address | 1261 | * layer address |
diff --git a/include/linux/pci.h b/include/linux/pci.h index 1084a15175e0..a13d6825e586 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
| @@ -960,6 +960,7 @@ void pci_update_resource(struct pci_dev *dev, int resno); | |||
| 960 | int __must_check pci_assign_resource(struct pci_dev *dev, int i); | 960 | int __must_check pci_assign_resource(struct pci_dev *dev, int i); |
| 961 | int __must_check pci_reassign_resource(struct pci_dev *dev, int i, resource_size_t add_size, resource_size_t align); | 961 | int __must_check pci_reassign_resource(struct pci_dev *dev, int i, resource_size_t add_size, resource_size_t align); |
| 962 | int pci_select_bars(struct pci_dev *dev, unsigned long flags); | 962 | int pci_select_bars(struct pci_dev *dev, unsigned long flags); |
| 963 | bool pci_device_is_present(struct pci_dev *pdev); | ||
| 963 | 964 | ||
| 964 | /* ROM control related routines */ | 965 | /* ROM control related routines */ |
| 965 | int pci_enable_rom(struct pci_dev *pdev); | 966 | int pci_enable_rom(struct pci_dev *pdev); |
| @@ -1567,65 +1568,65 @@ enum pci_fixup_pass { | |||
| 1567 | /* Anonymous variables would be nice... */ | 1568 | /* Anonymous variables would be nice... */ |
| 1568 | #define DECLARE_PCI_FIXUP_SECTION(section, name, vendor, device, class, \ | 1569 | #define DECLARE_PCI_FIXUP_SECTION(section, name, vendor, device, class, \ |
| 1569 | class_shift, hook) \ | 1570 | class_shift, hook) \ |
| 1570 | static const struct pci_fixup __pci_fixup_##name __used \ | 1571 | static const struct pci_fixup __PASTE(__pci_fixup_##name,__LINE__) __used \ |
| 1571 | __attribute__((__section__(#section), aligned((sizeof(void *))))) \ | 1572 | __attribute__((__section__(#section), aligned((sizeof(void *))))) \ |
| 1572 | = { vendor, device, class, class_shift, hook }; | 1573 | = { vendor, device, class, class_shift, hook }; |
| 1573 | 1574 | ||
| 1574 | #define DECLARE_PCI_FIXUP_CLASS_EARLY(vendor, device, class, \ | 1575 | #define DECLARE_PCI_FIXUP_CLASS_EARLY(vendor, device, class, \ |
| 1575 | class_shift, hook) \ | 1576 | class_shift, hook) \ |
| 1576 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_early, \ | 1577 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_early, \ |
| 1577 | vendor##device##hook, vendor, device, class, class_shift, hook) | 1578 | hook, vendor, device, class, class_shift, hook) |
| 1578 | #define DECLARE_PCI_FIXUP_CLASS_HEADER(vendor, device, class, \ | 1579 | #define DECLARE_PCI_FIXUP_CLASS_HEADER(vendor, device, class, \ |
| 1579 | class_shift, hook) \ | 1580 | class_shift, hook) \ |
| 1580 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ | 1581 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ |
| 1581 | vendor##device##hook, vendor, device, class, class_shift, hook) | 1582 | hook, vendor, device, class, class_shift, hook) |
| 1582 | #define DECLARE_PCI_FIXUP_CLASS_FINAL(vendor, device, class, \ | 1583 | #define DECLARE_PCI_FIXUP_CLASS_FINAL(vendor, device, class, \ |
| 1583 | class_shift, hook) \ | 1584 | class_shift, hook) \ |
| 1584 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_final, \ | 1585 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_final, \ |
| 1585 | vendor##device##hook, vendor, device, class, class_shift, hook) | 1586 | hook, vendor, device, class, class_shift, hook) |
| 1586 | #define DECLARE_PCI_FIXUP_CLASS_ENABLE(vendor, device, class, \ | 1587 | #define DECLARE_PCI_FIXUP_CLASS_ENABLE(vendor, device, class, \ |
| 1587 | class_shift, hook) \ | 1588 | class_shift, hook) \ |
| 1588 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_enable, \ | 1589 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_enable, \ |
| 1589 | vendor##device##hook, vendor, device, class, class_shift, hook) | 1590 | hook, vendor, device, class, class_shift, hook) |
| 1590 | #define DECLARE_PCI_FIXUP_CLASS_RESUME(vendor, device, class, \ | 1591 | #define DECLARE_PCI_FIXUP_CLASS_RESUME(vendor, device, class, \ |
| 1591 | class_shift, hook) \ | 1592 | class_shift, hook) \ |
| 1592 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume, \ | 1593 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume, \ |
| 1593 | resume##vendor##device##hook, vendor, device, class, \ | 1594 | resume##hook, vendor, device, class, \ |
| 1594 | class_shift, hook) | 1595 | class_shift, hook) |
| 1595 | #define DECLARE_PCI_FIXUP_CLASS_RESUME_EARLY(vendor, device, class, \ | 1596 | #define DECLARE_PCI_FIXUP_CLASS_RESUME_EARLY(vendor, device, class, \ |
| 1596 | class_shift, hook) \ | 1597 | class_shift, hook) \ |
| 1597 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume_early, \ | 1598 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume_early, \ |
| 1598 | resume_early##vendor##device##hook, vendor, device, \ | 1599 | resume_early##hook, vendor, device, \ |
| 1599 | class, class_shift, hook) | 1600 | class, class_shift, hook) |
| 1600 | #define DECLARE_PCI_FIXUP_CLASS_SUSPEND(vendor, device, class, \ | 1601 | #define DECLARE_PCI_FIXUP_CLASS_SUSPEND(vendor, device, class, \ |
| 1601 | class_shift, hook) \ | 1602 | class_shift, hook) \ |
| 1602 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_suspend, \ | 1603 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_suspend, \ |
| 1603 | suspend##vendor##device##hook, vendor, device, class, \ | 1604 | suspend##hook, vendor, device, class, \ |
| 1604 | class_shift, hook) | 1605 | class_shift, hook) |
| 1605 | 1606 | ||
| 1606 | #define DECLARE_PCI_FIXUP_EARLY(vendor, device, hook) \ | 1607 | #define DECLARE_PCI_FIXUP_EARLY(vendor, device, hook) \ |
| 1607 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_early, \ | 1608 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_early, \ |
| 1608 | vendor##device##hook, vendor, device, PCI_ANY_ID, 0, hook) | 1609 | hook, vendor, device, PCI_ANY_ID, 0, hook) |
| 1609 | #define DECLARE_PCI_FIXUP_HEADER(vendor, device, hook) \ | 1610 | #define DECLARE_PCI_FIXUP_HEADER(vendor, device, hook) \ |
| 1610 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ | 1611 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_header, \ |
| 1611 | vendor##device##hook, vendor, device, PCI_ANY_ID, 0, hook) | 1612 | hook, vendor, device, PCI_ANY_ID, 0, hook) |
| 1612 | #define DECLARE_PCI_FIXUP_FINAL(vendor, device, hook) \ | 1613 | #define DECLARE_PCI_FIXUP_FINAL(vendor, device, hook) \ |
| 1613 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_final, \ | 1614 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_final, \ |
| 1614 | vendor##device##hook, vendor, device, PCI_ANY_ID, 0, hook) | 1615 | hook, vendor, device, PCI_ANY_ID, 0, hook) |
| 1615 | #define DECLARE_PCI_FIXUP_ENABLE(vendor, device, hook) \ | 1616 | #define DECLARE_PCI_FIXUP_ENABLE(vendor, device, hook) \ |
| 1616 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_enable, \ | 1617 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_enable, \ |
| 1617 | vendor##device##hook, vendor, device, PCI_ANY_ID, 0, hook) | 1618 | hook, vendor, device, PCI_ANY_ID, 0, hook) |
| 1618 | #define DECLARE_PCI_FIXUP_RESUME(vendor, device, hook) \ | 1619 | #define DECLARE_PCI_FIXUP_RESUME(vendor, device, hook) \ |
| 1619 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume, \ | 1620 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume, \ |
| 1620 | resume##vendor##device##hook, vendor, device, \ | 1621 | resume##hook, vendor, device, \ |
| 1621 | PCI_ANY_ID, 0, hook) | 1622 | PCI_ANY_ID, 0, hook) |
| 1622 | #define DECLARE_PCI_FIXUP_RESUME_EARLY(vendor, device, hook) \ | 1623 | #define DECLARE_PCI_FIXUP_RESUME_EARLY(vendor, device, hook) \ |
| 1623 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume_early, \ | 1624 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_resume_early, \ |
| 1624 | resume_early##vendor##device##hook, vendor, device, \ | 1625 | resume_early##hook, vendor, device, \ |
| 1625 | PCI_ANY_ID, 0, hook) | 1626 | PCI_ANY_ID, 0, hook) |
| 1626 | #define DECLARE_PCI_FIXUP_SUSPEND(vendor, device, hook) \ | 1627 | #define DECLARE_PCI_FIXUP_SUSPEND(vendor, device, hook) \ |
| 1627 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_suspend, \ | 1628 | DECLARE_PCI_FIXUP_SECTION(.pci_fixup_suspend, \ |
| 1628 | suspend##vendor##device##hook, vendor, device, \ | 1629 | suspend##hook, vendor, device, \ |
| 1629 | PCI_ANY_ID, 0, hook) | 1630 | PCI_ANY_ID, 0, hook) |
| 1630 | 1631 | ||
| 1631 | #ifdef CONFIG_PCI_QUIRKS | 1632 | #ifdef CONFIG_PCI_QUIRKS |
diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h index 30aa0dc60d75..9d55438bc4ad 100644 --- a/include/linux/shmem_fs.h +++ b/include/linux/shmem_fs.h | |||
| @@ -47,6 +47,8 @@ extern int shmem_init(void); | |||
| 47 | extern int shmem_fill_super(struct super_block *sb, void *data, int silent); | 47 | extern int shmem_fill_super(struct super_block *sb, void *data, int silent); |
| 48 | extern struct file *shmem_file_setup(const char *name, | 48 | extern struct file *shmem_file_setup(const char *name, |
| 49 | loff_t size, unsigned long flags); | 49 | loff_t size, unsigned long flags); |
| 50 | extern struct file *shmem_kernel_file_setup(const char *name, loff_t size, | ||
| 51 | unsigned long flags); | ||
| 50 | extern int shmem_zero_setup(struct vm_area_struct *); | 52 | extern int shmem_zero_setup(struct vm_area_struct *); |
| 51 | extern int shmem_lock(struct file *file, int lock, struct user_struct *user); | 53 | extern int shmem_lock(struct file *file, int lock, struct user_struct *user); |
| 52 | extern void shmem_unlock_mapping(struct address_space *mapping); | 54 | extern void shmem_unlock_mapping(struct address_space *mapping); |
diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h index bec1cc7d5e3c..215b5ea1cb30 100644 --- a/include/linux/skbuff.h +++ b/include/linux/skbuff.h | |||
| @@ -2263,6 +2263,24 @@ static inline void skb_postpull_rcsum(struct sk_buff *skb, | |||
| 2263 | 2263 | ||
| 2264 | unsigned char *skb_pull_rcsum(struct sk_buff *skb, unsigned int len); | 2264 | unsigned char *skb_pull_rcsum(struct sk_buff *skb, unsigned int len); |
| 2265 | 2265 | ||
| 2266 | /** | ||
| 2267 | * pskb_trim_rcsum - trim received skb and update checksum | ||
| 2268 | * @skb: buffer to trim | ||
| 2269 | * @len: new length | ||
| 2270 | * | ||
| 2271 | * This is exactly the same as pskb_trim except that it ensures the | ||
| 2272 | * checksum of received packets are still valid after the operation. | ||
| 2273 | */ | ||
| 2274 | |||
| 2275 | static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len) | ||
| 2276 | { | ||
| 2277 | if (likely(len >= skb->len)) | ||
| 2278 | return 0; | ||
| 2279 | if (skb->ip_summed == CHECKSUM_COMPLETE) | ||
| 2280 | skb->ip_summed = CHECKSUM_NONE; | ||
| 2281 | return __pskb_trim(skb, len); | ||
| 2282 | } | ||
| 2283 | |||
| 2266 | #define skb_queue_walk(queue, skb) \ | 2284 | #define skb_queue_walk(queue, skb) \ |
| 2267 | for (skb = (queue)->next; \ | 2285 | for (skb = (queue)->next; \ |
| 2268 | skb != (struct sk_buff *)(queue); \ | 2286 | skb != (struct sk_buff *)(queue); \ |
| @@ -2360,27 +2378,6 @@ __wsum __skb_checksum(const struct sk_buff *skb, int offset, int len, | |||
| 2360 | __wsum skb_checksum(const struct sk_buff *skb, int offset, int len, | 2378 | __wsum skb_checksum(const struct sk_buff *skb, int offset, int len, |
| 2361 | __wsum csum); | 2379 | __wsum csum); |
| 2362 | 2380 | ||
| 2363 | /** | ||
| 2364 | * pskb_trim_rcsum - trim received skb and update checksum | ||
| 2365 | * @skb: buffer to trim | ||
| 2366 | * @len: new length | ||
| 2367 | * | ||
| 2368 | * This is exactly the same as pskb_trim except that it ensures the | ||
| 2369 | * checksum of received packets are still valid after the operation. | ||
| 2370 | */ | ||
| 2371 | |||
| 2372 | static inline int pskb_trim_rcsum(struct sk_buff *skb, unsigned int len) | ||
| 2373 | { | ||
| 2374 | if (likely(len >= skb->len)) | ||
| 2375 | return 0; | ||
| 2376 | if (skb->ip_summed == CHECKSUM_COMPLETE) { | ||
| 2377 | __wsum adj = skb_checksum(skb, len, skb->len - len, 0); | ||
| 2378 | |||
| 2379 | skb->csum = csum_sub(skb->csum, adj); | ||
| 2380 | } | ||
| 2381 | return __pskb_trim(skb, len); | ||
| 2382 | } | ||
| 2383 | |||
| 2384 | static inline void *skb_header_pointer(const struct sk_buff *skb, int offset, | 2381 | static inline void *skb_header_pointer(const struct sk_buff *skb, int offset, |
| 2385 | int len, void *buffer) | 2382 | int len, void *buffer) |
| 2386 | { | 2383 | { |
diff --git a/include/linux/usb.h b/include/linux/usb.h index 7454865ad148..512ab162832c 100644 --- a/include/linux/usb.h +++ b/include/linux/usb.h | |||
| @@ -1264,6 +1264,8 @@ typedef void (*usb_complete_t)(struct urb *); | |||
| 1264 | * @sg: scatter gather buffer list, the buffer size of each element in | 1264 | * @sg: scatter gather buffer list, the buffer size of each element in |
| 1265 | * the list (except the last) must be divisible by the endpoint's | 1265 | * the list (except the last) must be divisible by the endpoint's |
| 1266 | * max packet size if no_sg_constraint isn't set in 'struct usb_bus' | 1266 | * max packet size if no_sg_constraint isn't set in 'struct usb_bus' |
| 1267 | * (FIXME: scatter-gather under xHCI is broken for periodic transfers. | ||
| 1268 | * Do not use urb->sg for interrupt endpoints for now, only bulk.) | ||
| 1267 | * @num_mapped_sgs: (internal) number of mapped sg entries | 1269 | * @num_mapped_sgs: (internal) number of mapped sg entries |
| 1268 | * @num_sgs: number of entries in the sg list | 1270 | * @num_sgs: number of entries in the sg list |
| 1269 | * @transfer_buffer_length: How big is transfer_buffer. The transfer may | 1271 | * @transfer_buffer_length: How big is transfer_buffer. The transfer may |
diff --git a/include/linux/usb/wusb.h b/include/linux/usb/wusb.h index 0c4d4ca370ec..eeb28329fa3c 100644 --- a/include/linux/usb/wusb.h +++ b/include/linux/usb/wusb.h | |||
| @@ -271,6 +271,8 @@ static inline u8 wusb_key_index(int index, int type, int originator) | |||
| 271 | #define WUSB_KEY_INDEX_TYPE_GTK 2 | 271 | #define WUSB_KEY_INDEX_TYPE_GTK 2 |
| 272 | #define WUSB_KEY_INDEX_ORIGINATOR_HOST 0 | 272 | #define WUSB_KEY_INDEX_ORIGINATOR_HOST 0 |
| 273 | #define WUSB_KEY_INDEX_ORIGINATOR_DEVICE 1 | 273 | #define WUSB_KEY_INDEX_ORIGINATOR_DEVICE 1 |
| 274 | /* bits 0-3 used for the key index. */ | ||
| 275 | #define WUSB_KEY_INDEX_MAX 15 | ||
| 274 | 276 | ||
| 275 | /* A CCM Nonce, defined in WUSB1.0[6.4.1] */ | 277 | /* A CCM Nonce, defined in WUSB1.0[6.4.1] */ |
| 276 | struct aes_ccm_nonce { | 278 | struct aes_ccm_nonce { |
diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h index bd8218b15009..941055e9d125 100644 --- a/include/media/videobuf2-core.h +++ b/include/media/videobuf2-core.h | |||
| @@ -83,7 +83,7 @@ struct vb2_fileio_data; | |||
| 83 | struct vb2_mem_ops { | 83 | struct vb2_mem_ops { |
| 84 | void *(*alloc)(void *alloc_ctx, unsigned long size, gfp_t gfp_flags); | 84 | void *(*alloc)(void *alloc_ctx, unsigned long size, gfp_t gfp_flags); |
| 85 | void (*put)(void *buf_priv); | 85 | void (*put)(void *buf_priv); |
| 86 | struct dma_buf *(*get_dmabuf)(void *buf_priv); | 86 | struct dma_buf *(*get_dmabuf)(void *buf_priv, unsigned long flags); |
| 87 | 87 | ||
| 88 | void *(*get_userptr)(void *alloc_ctx, unsigned long vaddr, | 88 | void *(*get_userptr)(void *alloc_ctx, unsigned long vaddr, |
| 89 | unsigned long size, int write); | 89 | unsigned long size, int write); |
diff --git a/include/net/ipv6.h b/include/net/ipv6.h index eb198acaac1d..488316e339a1 100644 --- a/include/net/ipv6.h +++ b/include/net/ipv6.h | |||
| @@ -110,7 +110,8 @@ struct frag_hdr { | |||
| 110 | __be32 identification; | 110 | __be32 identification; |
| 111 | }; | 111 | }; |
| 112 | 112 | ||
| 113 | #define IP6_MF 0x0001 | 113 | #define IP6_MF 0x0001 |
| 114 | #define IP6_OFFSET 0xFFF8 | ||
| 114 | 115 | ||
| 115 | #include <net/sock.h> | 116 | #include <net/sock.h> |
| 116 | 117 | ||
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index ea0ca5f6e629..67b5d0068273 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
| @@ -1726,12 +1726,6 @@ struct sctp_association { | |||
| 1726 | /* How many duplicated TSNs have we seen? */ | 1726 | /* How many duplicated TSNs have we seen? */ |
| 1727 | int numduptsns; | 1727 | int numduptsns; |
| 1728 | 1728 | ||
| 1729 | /* Number of seconds of idle time before an association is closed. | ||
| 1730 | * In the association context, this is really used as a boolean | ||
| 1731 | * since the real timeout is stored in the timeouts array | ||
| 1732 | */ | ||
| 1733 | __u32 autoclose; | ||
| 1734 | |||
| 1735 | /* These are to support | 1729 | /* These are to support |
| 1736 | * "SCTP Extensions for Dynamic Reconfiguration of IP Addresses | 1730 | * "SCTP Extensions for Dynamic Reconfiguration of IP Addresses |
| 1737 | * and Enforcement of Flow and Message Limits" | 1731 | * and Enforcement of Flow and Message Limits" |
diff --git a/include/net/sock.h b/include/net/sock.h index e3a18ff0c38b..2ef3c3eca47a 100644 --- a/include/net/sock.h +++ b/include/net/sock.h | |||
| @@ -1035,7 +1035,6 @@ enum cg_proto_flags { | |||
| 1035 | }; | 1035 | }; |
| 1036 | 1036 | ||
| 1037 | struct cg_proto { | 1037 | struct cg_proto { |
| 1038 | void (*enter_memory_pressure)(struct sock *sk); | ||
| 1039 | struct res_counter memory_allocated; /* Current allocated memory. */ | 1038 | struct res_counter memory_allocated; /* Current allocated memory. */ |
| 1040 | struct percpu_counter sockets_allocated; /* Current number of sockets. */ | 1039 | struct percpu_counter sockets_allocated; /* Current number of sockets. */ |
| 1041 | int memory_pressure; | 1040 | int memory_pressure; |
| @@ -1155,8 +1154,7 @@ static inline void sk_leave_memory_pressure(struct sock *sk) | |||
| 1155 | struct proto *prot = sk->sk_prot; | 1154 | struct proto *prot = sk->sk_prot; |
| 1156 | 1155 | ||
| 1157 | for (; cg_proto; cg_proto = parent_cg_proto(prot, cg_proto)) | 1156 | for (; cg_proto; cg_proto = parent_cg_proto(prot, cg_proto)) |
| 1158 | if (cg_proto->memory_pressure) | 1157 | cg_proto->memory_pressure = 0; |
| 1159 | cg_proto->memory_pressure = 0; | ||
| 1160 | } | 1158 | } |
| 1161 | 1159 | ||
| 1162 | } | 1160 | } |
| @@ -1171,7 +1169,7 @@ static inline void sk_enter_memory_pressure(struct sock *sk) | |||
| 1171 | struct proto *prot = sk->sk_prot; | 1169 | struct proto *prot = sk->sk_prot; |
| 1172 | 1170 | ||
| 1173 | for (; cg_proto; cg_proto = parent_cg_proto(prot, cg_proto)) | 1171 | for (; cg_proto; cg_proto = parent_cg_proto(prot, cg_proto)) |
| 1174 | cg_proto->enter_memory_pressure(sk); | 1172 | cg_proto->memory_pressure = 1; |
| 1175 | } | 1173 | } |
| 1176 | 1174 | ||
| 1177 | sk->sk_prot->enter_memory_pressure(sk); | 1175 | sk->sk_prot->enter_memory_pressure(sk); |
diff --git a/include/uapi/linux/input.h b/include/uapi/linux/input.h index a3726275876d..ecc88592ecbe 100644 --- a/include/uapi/linux/input.h +++ b/include/uapi/linux/input.h | |||
| @@ -719,6 +719,8 @@ struct input_keymap_entry { | |||
| 719 | #define BTN_DPAD_LEFT 0x222 | 719 | #define BTN_DPAD_LEFT 0x222 |
| 720 | #define BTN_DPAD_RIGHT 0x223 | 720 | #define BTN_DPAD_RIGHT 0x223 |
| 721 | 721 | ||
| 722 | #define KEY_ALS_TOGGLE 0x230 /* Ambient light sensor */ | ||
| 723 | |||
| 722 | #define BTN_TRIGGER_HAPPY 0x2c0 | 724 | #define BTN_TRIGGER_HAPPY 0x2c0 |
| 723 | #define BTN_TRIGGER_HAPPY1 0x2c0 | 725 | #define BTN_TRIGGER_HAPPY1 0x2c0 |
| 724 | #define BTN_TRIGGER_HAPPY2 0x2c1 | 726 | #define BTN_TRIGGER_HAPPY2 0x2c1 |
| @@ -856,6 +858,7 @@ struct input_keymap_entry { | |||
| 856 | #define SW_FRONT_PROXIMITY 0x0b /* set = front proximity sensor active */ | 858 | #define SW_FRONT_PROXIMITY 0x0b /* set = front proximity sensor active */ |
| 857 | #define SW_ROTATE_LOCK 0x0c /* set = rotate locked/disabled */ | 859 | #define SW_ROTATE_LOCK 0x0c /* set = rotate locked/disabled */ |
| 858 | #define SW_LINEIN_INSERT 0x0d /* set = inserted */ | 860 | #define SW_LINEIN_INSERT 0x0d /* set = inserted */ |
| 861 | #define SW_MUTE_DEVICE 0x0e /* set = device disabled */ | ||
| 859 | #define SW_MAX 0x0f | 862 | #define SW_MAX 0x0f |
| 860 | #define SW_CNT (SW_MAX+1) | 863 | #define SW_CNT (SW_MAX+1) |
| 861 | 864 | ||
diff --git a/include/uapi/linux/mic_common.h b/include/uapi/linux/mic_common.h index 17e7d95e4f53..6eb40244e019 100644 --- a/include/uapi/linux/mic_common.h +++ b/include/uapi/linux/mic_common.h | |||
| @@ -23,12 +23,7 @@ | |||
| 23 | 23 | ||
| 24 | #include <linux/virtio_ring.h> | 24 | #include <linux/virtio_ring.h> |
| 25 | 25 | ||
| 26 | #ifndef __KERNEL__ | 26 | #define __mic_align(a, x) (((a) + (x) - 1) & ~((x) - 1)) |
| 27 | #define ALIGN(a, x) (((a) + (x) - 1) & ~((x) - 1)) | ||
| 28 | #define __aligned(x) __attribute__ ((aligned(x))) | ||
| 29 | #endif | ||
| 30 | |||
| 31 | #define mic_aligned_size(x) ALIGN(sizeof(x), 8) | ||
| 32 | 27 | ||
| 33 | /** | 28 | /** |
| 34 | * struct mic_device_desc: Virtio device information shared between the | 29 | * struct mic_device_desc: Virtio device information shared between the |
| @@ -48,8 +43,8 @@ struct mic_device_desc { | |||
| 48 | __u8 feature_len; | 43 | __u8 feature_len; |
| 49 | __u8 config_len; | 44 | __u8 config_len; |
| 50 | __u8 status; | 45 | __u8 status; |
| 51 | __u64 config[0]; | 46 | __le64 config[0]; |
| 52 | } __aligned(8); | 47 | } __attribute__ ((aligned(8))); |
| 53 | 48 | ||
| 54 | /** | 49 | /** |
| 55 | * struct mic_device_ctrl: Per virtio device information in the device page | 50 | * struct mic_device_ctrl: Per virtio device information in the device page |
| @@ -66,7 +61,7 @@ struct mic_device_desc { | |||
| 66 | * @h2c_vdev_db: The doorbell number to be used by host. Set by guest. | 61 | * @h2c_vdev_db: The doorbell number to be used by host. Set by guest. |
| 67 | */ | 62 | */ |
| 68 | struct mic_device_ctrl { | 63 | struct mic_device_ctrl { |
| 69 | __u64 vdev; | 64 | __le64 vdev; |
| 70 | __u8 config_change; | 65 | __u8 config_change; |
| 71 | __u8 vdev_reset; | 66 | __u8 vdev_reset; |
| 72 | __u8 guest_ack; | 67 | __u8 guest_ack; |
| @@ -74,7 +69,7 @@ struct mic_device_ctrl { | |||
| 74 | __u8 used_address_updated; | 69 | __u8 used_address_updated; |
| 75 | __s8 c2h_vdev_db; | 70 | __s8 c2h_vdev_db; |
| 76 | __s8 h2c_vdev_db; | 71 | __s8 h2c_vdev_db; |
| 77 | } __aligned(8); | 72 | } __attribute__ ((aligned(8))); |
| 78 | 73 | ||
| 79 | /** | 74 | /** |
| 80 | * struct mic_bootparam: Virtio device independent information in device page | 75 | * struct mic_bootparam: Virtio device independent information in device page |
| @@ -87,13 +82,13 @@ struct mic_device_ctrl { | |||
| 87 | * @shutdown_card: Set to 1 by the host when a card shutdown is initiated | 82 | * @shutdown_card: Set to 1 by the host when a card shutdown is initiated |
| 88 | */ | 83 | */ |
| 89 | struct mic_bootparam { | 84 | struct mic_bootparam { |
| 90 | __u32 magic; | 85 | __le32 magic; |
| 91 | __s8 c2h_shutdown_db; | 86 | __s8 c2h_shutdown_db; |
| 92 | __s8 h2c_shutdown_db; | 87 | __s8 h2c_shutdown_db; |
| 93 | __s8 h2c_config_db; | 88 | __s8 h2c_config_db; |
| 94 | __u8 shutdown_status; | 89 | __u8 shutdown_status; |
| 95 | __u8 shutdown_card; | 90 | __u8 shutdown_card; |
| 96 | } __aligned(8); | 91 | } __attribute__ ((aligned(8))); |
| 97 | 92 | ||
| 98 | /** | 93 | /** |
| 99 | * struct mic_device_page: High level representation of the device page | 94 | * struct mic_device_page: High level representation of the device page |
| @@ -116,10 +111,10 @@ struct mic_device_page { | |||
| 116 | * @num: The number of entries in the virtio_ring | 111 | * @num: The number of entries in the virtio_ring |
| 117 | */ | 112 | */ |
| 118 | struct mic_vqconfig { | 113 | struct mic_vqconfig { |
| 119 | __u64 address; | 114 | __le64 address; |
| 120 | __u64 used_address; | 115 | __le64 used_address; |
| 121 | __u16 num; | 116 | __le16 num; |
| 122 | } __aligned(8); | 117 | } __attribute__ ((aligned(8))); |
| 123 | 118 | ||
| 124 | /* | 119 | /* |
| 125 | * The alignment to use between consumer and producer parts of vring. | 120 | * The alignment to use between consumer and producer parts of vring. |
| @@ -154,7 +149,7 @@ struct mic_vqconfig { | |||
| 154 | */ | 149 | */ |
| 155 | struct _mic_vring_info { | 150 | struct _mic_vring_info { |
| 156 | __u16 avail_idx; | 151 | __u16 avail_idx; |
| 157 | int magic; | 152 | __le32 magic; |
| 158 | }; | 153 | }; |
| 159 | 154 | ||
| 160 | /** | 155 | /** |
| @@ -173,15 +168,13 @@ struct mic_vring { | |||
| 173 | int len; | 168 | int len; |
| 174 | }; | 169 | }; |
| 175 | 170 | ||
| 176 | #define mic_aligned_desc_size(d) ALIGN(mic_desc_size(d), 8) | 171 | #define mic_aligned_desc_size(d) __mic_align(mic_desc_size(d), 8) |
| 177 | 172 | ||
| 178 | #ifndef INTEL_MIC_CARD | 173 | #ifndef INTEL_MIC_CARD |
| 179 | static inline unsigned mic_desc_size(const struct mic_device_desc *desc) | 174 | static inline unsigned mic_desc_size(const struct mic_device_desc *desc) |
| 180 | { | 175 | { |
| 181 | return mic_aligned_size(*desc) | 176 | return sizeof(*desc) + desc->num_vq * sizeof(struct mic_vqconfig) |
| 182 | + desc->num_vq * mic_aligned_size(struct mic_vqconfig) | 177 | + desc->feature_len * 2 + desc->config_len; |
| 183 | + desc->feature_len * 2 | ||
| 184 | + desc->config_len; | ||
| 185 | } | 178 | } |
| 186 | 179 | ||
| 187 | static inline struct mic_vqconfig * | 180 | static inline struct mic_vqconfig * |
| @@ -201,8 +194,7 @@ static inline __u8 *mic_vq_configspace(const struct mic_device_desc *desc) | |||
| 201 | } | 194 | } |
| 202 | static inline unsigned mic_total_desc_size(struct mic_device_desc *desc) | 195 | static inline unsigned mic_total_desc_size(struct mic_device_desc *desc) |
| 203 | { | 196 | { |
| 204 | return mic_aligned_desc_size(desc) + | 197 | return mic_aligned_desc_size(desc) + sizeof(struct mic_device_ctrl); |
| 205 | mic_aligned_size(struct mic_device_ctrl); | ||
| 206 | } | 198 | } |
| 207 | #endif | 199 | #endif |
| 208 | 200 | ||
