| .. | .. |
|---|
| 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: |
|---|