.. | .. |
---|
174 | 174 | switch (info->bch_type) { |
---|
175 | 175 | case BCH8_ECC: |
---|
176 | 176 | /* syndrome fragment 0 = ecc[9-12B] */ |
---|
177 | | - val = cpu_to_be32(*(u32 *) &ecc[9]); |
---|
| 177 | + val = (__force u32)cpu_to_be32(*(u32 *)&ecc[9]); |
---|
178 | 178 | elm_write_reg(info, offset, val); |
---|
179 | 179 | |
---|
180 | 180 | /* syndrome fragment 1 = ecc[5-8B] */ |
---|
181 | 181 | offset += 4; |
---|
182 | | - val = cpu_to_be32(*(u32 *) &ecc[5]); |
---|
| 182 | + val = (__force u32)cpu_to_be32(*(u32 *)&ecc[5]); |
---|
183 | 183 | elm_write_reg(info, offset, val); |
---|
184 | 184 | |
---|
185 | 185 | /* syndrome fragment 2 = ecc[1-4B] */ |
---|
186 | 186 | offset += 4; |
---|
187 | | - val = cpu_to_be32(*(u32 *) &ecc[1]); |
---|
| 187 | + val = (__force u32)cpu_to_be32(*(u32 *)&ecc[1]); |
---|
188 | 188 | elm_write_reg(info, offset, val); |
---|
189 | 189 | |
---|
190 | 190 | /* syndrome fragment 3 = ecc[0B] */ |
---|
.. | .. |
---|
194 | 194 | break; |
---|
195 | 195 | case BCH4_ECC: |
---|
196 | 196 | /* syndrome fragment 0 = ecc[20-52b] bits */ |
---|
197 | | - val = (cpu_to_be32(*(u32 *) &ecc[3]) >> 4) | |
---|
| 197 | + val = ((__force u32)cpu_to_be32(*(u32 *)&ecc[3]) >> 4) | |
---|
198 | 198 | ((ecc[2] & 0xf) << 28); |
---|
199 | 199 | elm_write_reg(info, offset, val); |
---|
200 | 200 | |
---|
201 | 201 | /* syndrome fragment 1 = ecc[0-20b] bits */ |
---|
202 | 202 | offset += 4; |
---|
203 | | - val = cpu_to_be32(*(u32 *) &ecc[0]) >> 12; |
---|
| 203 | + val = (__force u32)cpu_to_be32(*(u32 *)&ecc[0]) >> 12; |
---|
204 | 204 | elm_write_reg(info, offset, val); |
---|
205 | 205 | break; |
---|
206 | 206 | case BCH16_ECC: |
---|
207 | | - val = cpu_to_be32(*(u32 *) &ecc[22]); |
---|
| 207 | + val = (__force u32)cpu_to_be32(*(u32 *)&ecc[22]); |
---|
208 | 208 | elm_write_reg(info, offset, val); |
---|
209 | 209 | offset += 4; |
---|
210 | | - val = cpu_to_be32(*(u32 *) &ecc[18]); |
---|
| 210 | + val = (__force u32)cpu_to_be32(*(u32 *)&ecc[18]); |
---|
211 | 211 | elm_write_reg(info, offset, val); |
---|
212 | 212 | offset += 4; |
---|
213 | | - val = cpu_to_be32(*(u32 *) &ecc[14]); |
---|
| 213 | + val = (__force u32)cpu_to_be32(*(u32 *)&ecc[14]); |
---|
214 | 214 | elm_write_reg(info, offset, val); |
---|
215 | 215 | offset += 4; |
---|
216 | | - val = cpu_to_be32(*(u32 *) &ecc[10]); |
---|
| 216 | + val = (__force u32)cpu_to_be32(*(u32 *)&ecc[10]); |
---|
217 | 217 | elm_write_reg(info, offset, val); |
---|
218 | 218 | offset += 4; |
---|
219 | | - val = cpu_to_be32(*(u32 *) &ecc[6]); |
---|
| 219 | + val = (__force u32)cpu_to_be32(*(u32 *)&ecc[6]); |
---|
220 | 220 | elm_write_reg(info, offset, val); |
---|
221 | 221 | offset += 4; |
---|
222 | | - val = cpu_to_be32(*(u32 *) &ecc[2]); |
---|
| 222 | + val = (__force u32)cpu_to_be32(*(u32 *)&ecc[2]); |
---|
223 | 223 | elm_write_reg(info, offset, val); |
---|
224 | 224 | offset += 4; |
---|
225 | | - val = cpu_to_be32(*(u32 *) &ecc[0]) >> 16; |
---|
| 225 | + val = (__force u32)cpu_to_be32(*(u32 *)&ecc[0]) >> 16; |
---|
226 | 226 | elm_write_reg(info, offset, val); |
---|
227 | 227 | break; |
---|
228 | 228 | default: |
---|