diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/bootmem.h | 5 | ||||
-rw-r--r-- | include/linux/gpio.h | 4 | ||||
-rw-r--r-- | include/linux/memblock.h | 4 | ||||
-rw-r--r-- | include/linux/mmzone.h | 2 | ||||
-rw-r--r-- | include/linux/pci.h | 2 | ||||
-rw-r--r-- | include/linux/prctl.h | 2 | ||||
-rw-r--r-- | include/linux/rpmsg.h | 6 | ||||
-rw-r--r-- | include/scsi/libsas.h | 6 | ||||
-rw-r--r-- | include/scsi/scsi_cmnd.h | 8 |
9 files changed, 28 insertions, 11 deletions
diff --git a/include/linux/bootmem.h b/include/linux/bootmem.h index 324fe08ea3b1..6d6795d46a75 100644 --- a/include/linux/bootmem.h +++ b/include/linux/bootmem.h | |||
@@ -91,6 +91,11 @@ extern void *__alloc_bootmem_node_nopanic(pg_data_t *pgdat, | |||
91 | unsigned long size, | 91 | unsigned long size, |
92 | unsigned long align, | 92 | unsigned long align, |
93 | unsigned long goal); | 93 | unsigned long goal); |
94 | void *___alloc_bootmem_node_nopanic(pg_data_t *pgdat, | ||
95 | unsigned long size, | ||
96 | unsigned long align, | ||
97 | unsigned long goal, | ||
98 | unsigned long limit); | ||
94 | extern void *__alloc_bootmem_low(unsigned long size, | 99 | extern void *__alloc_bootmem_low(unsigned long size, |
95 | unsigned long align, | 100 | unsigned long align, |
96 | unsigned long goal); | 101 | unsigned long goal); |
diff --git a/include/linux/gpio.h b/include/linux/gpio.h index f07fc2d08159..2e31e8b3a190 100644 --- a/include/linux/gpio.h +++ b/include/linux/gpio.h | |||
@@ -22,8 +22,8 @@ | |||
22 | /* Gpio pin is open source */ | 22 | /* Gpio pin is open source */ |
23 | #define GPIOF_OPEN_SOURCE (1 << 3) | 23 | #define GPIOF_OPEN_SOURCE (1 << 3) |
24 | 24 | ||
25 | #define GPIOF_EXPORT (1 << 2) | 25 | #define GPIOF_EXPORT (1 << 4) |
26 | #define GPIOF_EXPORT_CHANGEABLE (1 << 3) | 26 | #define GPIOF_EXPORT_CHANGEABLE (1 << 5) |
27 | #define GPIOF_EXPORT_DIR_FIXED (GPIOF_EXPORT) | 27 | #define GPIOF_EXPORT_DIR_FIXED (GPIOF_EXPORT) |
28 | #define GPIOF_EXPORT_DIR_CHANGEABLE (GPIOF_EXPORT | GPIOF_EXPORT_CHANGEABLE) | 28 | #define GPIOF_EXPORT_DIR_CHANGEABLE (GPIOF_EXPORT | GPIOF_EXPORT_CHANGEABLE) |
29 | 29 | ||
diff --git a/include/linux/memblock.h b/include/linux/memblock.h index a6bb10235148..19dc455b4f3d 100644 --- a/include/linux/memblock.h +++ b/include/linux/memblock.h | |||
@@ -50,9 +50,7 @@ phys_addr_t memblock_find_in_range_node(phys_addr_t start, phys_addr_t end, | |||
50 | phys_addr_t size, phys_addr_t align, int nid); | 50 | phys_addr_t size, phys_addr_t align, int nid); |
51 | phys_addr_t memblock_find_in_range(phys_addr_t start, phys_addr_t end, | 51 | phys_addr_t memblock_find_in_range(phys_addr_t start, phys_addr_t end, |
52 | phys_addr_t size, phys_addr_t align); | 52 | phys_addr_t size, phys_addr_t align); |
53 | int memblock_free_reserved_regions(void); | 53 | phys_addr_t get_allocated_memblock_reserved_regions_info(phys_addr_t *addr); |
54 | int memblock_reserve_reserved_regions(void); | ||
55 | |||
56 | void memblock_allow_resize(void); | 54 | void memblock_allow_resize(void); |
57 | int memblock_add_node(phys_addr_t base, phys_addr_t size, int nid); | 55 | int memblock_add_node(phys_addr_t base, phys_addr_t size, int nid); |
58 | int memblock_add(phys_addr_t base, phys_addr_t size); | 56 | int memblock_add(phys_addr_t base, phys_addr_t size); |
diff --git a/include/linux/mmzone.h b/include/linux/mmzone.h index 2427706f78b4..68c569fcbb66 100644 --- a/include/linux/mmzone.h +++ b/include/linux/mmzone.h | |||
@@ -694,7 +694,7 @@ typedef struct pglist_data { | |||
694 | range, including holes */ | 694 | range, including holes */ |
695 | int node_id; | 695 | int node_id; |
696 | wait_queue_head_t kswapd_wait; | 696 | wait_queue_head_t kswapd_wait; |
697 | struct task_struct *kswapd; | 697 | struct task_struct *kswapd; /* Protected by lock_memory_hotplug() */ |
698 | int kswapd_max_order; | 698 | int kswapd_max_order; |
699 | enum zone_type classzone_idx; | 699 | enum zone_type classzone_idx; |
700 | } pg_data_t; | 700 | } pg_data_t; |
diff --git a/include/linux/pci.h b/include/linux/pci.h index fefb4e19bf6a..d8c379dba6ad 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h | |||
@@ -176,8 +176,6 @@ enum pci_dev_flags { | |||
176 | PCI_DEV_FLAGS_NO_D3 = (__force pci_dev_flags_t) 2, | 176 | PCI_DEV_FLAGS_NO_D3 = (__force pci_dev_flags_t) 2, |
177 | /* Provide indication device is assigned by a Virtual Machine Manager */ | 177 | /* Provide indication device is assigned by a Virtual Machine Manager */ |
178 | PCI_DEV_FLAGS_ASSIGNED = (__force pci_dev_flags_t) 4, | 178 | PCI_DEV_FLAGS_ASSIGNED = (__force pci_dev_flags_t) 4, |
179 | /* Device causes system crash if in D3 during S3 sleep */ | ||
180 | PCI_DEV_FLAGS_NO_D3_DURING_SLEEP = (__force pci_dev_flags_t) 8, | ||
181 | }; | 179 | }; |
182 | 180 | ||
183 | enum pci_irq_reroute_variant { | 181 | enum pci_irq_reroute_variant { |
diff --git a/include/linux/prctl.h b/include/linux/prctl.h index 3988012255dc..289760f424aa 100644 --- a/include/linux/prctl.h +++ b/include/linux/prctl.h | |||
@@ -141,6 +141,8 @@ | |||
141 | * Changing LSM security domain is considered a new privilege. So, for example, | 141 | * Changing LSM security domain is considered a new privilege. So, for example, |
142 | * asking selinux for a specific new context (e.g. with runcon) will result | 142 | * asking selinux for a specific new context (e.g. with runcon) will result |
143 | * in execve returning -EPERM. | 143 | * in execve returning -EPERM. |
144 | * | ||
145 | * See Documentation/prctl/no_new_privs.txt for more details. | ||
144 | */ | 146 | */ |
145 | #define PR_SET_NO_NEW_PRIVS 38 | 147 | #define PR_SET_NO_NEW_PRIVS 38 |
146 | #define PR_GET_NO_NEW_PRIVS 39 | 148 | #define PR_GET_NO_NEW_PRIVS 39 |
diff --git a/include/linux/rpmsg.h b/include/linux/rpmsg.h index a8e50e44203c..82a673905edb 100644 --- a/include/linux/rpmsg.h +++ b/include/linux/rpmsg.h | |||
@@ -38,6 +38,8 @@ | |||
38 | #include <linux/types.h> | 38 | #include <linux/types.h> |
39 | #include <linux/device.h> | 39 | #include <linux/device.h> |
40 | #include <linux/mod_devicetable.h> | 40 | #include <linux/mod_devicetable.h> |
41 | #include <linux/kref.h> | ||
42 | #include <linux/mutex.h> | ||
41 | 43 | ||
42 | /* The feature bitmap for virtio rpmsg */ | 44 | /* The feature bitmap for virtio rpmsg */ |
43 | #define VIRTIO_RPMSG_F_NS 0 /* RP supports name service notifications */ | 45 | #define VIRTIO_RPMSG_F_NS 0 /* RP supports name service notifications */ |
@@ -120,7 +122,9 @@ typedef void (*rpmsg_rx_cb_t)(struct rpmsg_channel *, void *, int, void *, u32); | |||
120 | /** | 122 | /** |
121 | * struct rpmsg_endpoint - binds a local rpmsg address to its user | 123 | * struct rpmsg_endpoint - binds a local rpmsg address to its user |
122 | * @rpdev: rpmsg channel device | 124 | * @rpdev: rpmsg channel device |
125 | * @refcount: when this drops to zero, the ept is deallocated | ||
123 | * @cb: rx callback handler | 126 | * @cb: rx callback handler |
127 | * @cb_lock: must be taken before accessing/changing @cb | ||
124 | * @addr: local rpmsg address | 128 | * @addr: local rpmsg address |
125 | * @priv: private data for the driver's use | 129 | * @priv: private data for the driver's use |
126 | * | 130 | * |
@@ -140,7 +144,9 @@ typedef void (*rpmsg_rx_cb_t)(struct rpmsg_channel *, void *, int, void *, u32); | |||
140 | */ | 144 | */ |
141 | struct rpmsg_endpoint { | 145 | struct rpmsg_endpoint { |
142 | struct rpmsg_channel *rpdev; | 146 | struct rpmsg_channel *rpdev; |
147 | struct kref refcount; | ||
143 | rpmsg_rx_cb_t cb; | 148 | rpmsg_rx_cb_t cb; |
149 | struct mutex cb_lock; | ||
144 | u32 addr; | 150 | u32 addr; |
145 | void *priv; | 151 | void *priv; |
146 | }; | 152 | }; |
diff --git a/include/scsi/libsas.h b/include/scsi/libsas.h index f4f1c96dca72..10ce74f589c5 100644 --- a/include/scsi/libsas.h +++ b/include/scsi/libsas.h | |||
@@ -163,6 +163,8 @@ enum ata_command_set { | |||
163 | ATAPI_COMMAND_SET = 1, | 163 | ATAPI_COMMAND_SET = 1, |
164 | }; | 164 | }; |
165 | 165 | ||
166 | #define ATA_RESP_FIS_SIZE 24 | ||
167 | |||
166 | struct sata_device { | 168 | struct sata_device { |
167 | enum ata_command_set command_set; | 169 | enum ata_command_set command_set; |
168 | struct smp_resp rps_resp; /* report_phy_sata_resp */ | 170 | struct smp_resp rps_resp; /* report_phy_sata_resp */ |
@@ -171,7 +173,7 @@ struct sata_device { | |||
171 | 173 | ||
172 | struct ata_port *ap; | 174 | struct ata_port *ap; |
173 | struct ata_host ata_host; | 175 | struct ata_host ata_host; |
174 | struct ata_taskfile tf; | 176 | u8 fis[ATA_RESP_FIS_SIZE]; |
175 | }; | 177 | }; |
176 | 178 | ||
177 | enum { | 179 | enum { |
@@ -537,7 +539,7 @@ enum exec_status { | |||
537 | */ | 539 | */ |
538 | struct ata_task_resp { | 540 | struct ata_task_resp { |
539 | u16 frame_len; | 541 | u16 frame_len; |
540 | u8 ending_fis[24]; /* dev to host or data-in */ | 542 | u8 ending_fis[ATA_RESP_FIS_SIZE]; /* dev to host or data-in */ |
541 | }; | 543 | }; |
542 | 544 | ||
543 | #define SAS_STATUS_BUF_SIZE 96 | 545 | #define SAS_STATUS_BUF_SIZE 96 |
diff --git a/include/scsi/scsi_cmnd.h b/include/scsi/scsi_cmnd.h index 1e1198546c72..ac06cc595890 100644 --- a/include/scsi/scsi_cmnd.h +++ b/include/scsi/scsi_cmnd.h | |||
@@ -134,10 +134,16 @@ struct scsi_cmnd { | |||
134 | 134 | ||
135 | static inline struct scsi_driver *scsi_cmd_to_driver(struct scsi_cmnd *cmd) | 135 | static inline struct scsi_driver *scsi_cmd_to_driver(struct scsi_cmnd *cmd) |
136 | { | 136 | { |
137 | struct scsi_driver **sdp; | ||
138 | |||
137 | if (!cmd->request->rq_disk) | 139 | if (!cmd->request->rq_disk) |
138 | return NULL; | 140 | return NULL; |
139 | 141 | ||
140 | return *(struct scsi_driver **)cmd->request->rq_disk->private_data; | 142 | sdp = (struct scsi_driver **)cmd->request->rq_disk->private_data; |
143 | if (!sdp) | ||
144 | return NULL; | ||
145 | |||
146 | return *sdp; | ||
141 | } | 147 | } |
142 | 148 | ||
143 | extern struct scsi_cmnd *scsi_get_command(struct scsi_device *, gfp_t); | 149 | extern struct scsi_cmnd *scsi_get_command(struct scsi_device *, gfp_t); |