hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/mtd/nand/raw/omap_elm.c
....@@ -174,17 +174,17 @@
174174 switch (info->bch_type) {
175175 case BCH8_ECC:
176176 /* syndrome fragment 0 = ecc[9-12B] */
177
- val = cpu_to_be32(*(u32 *) &ecc[9]);
177
+ val = (__force u32)cpu_to_be32(*(u32 *)&ecc[9]);
178178 elm_write_reg(info, offset, val);
179179
180180 /* syndrome fragment 1 = ecc[5-8B] */
181181 offset += 4;
182
- val = cpu_to_be32(*(u32 *) &ecc[5]);
182
+ val = (__force u32)cpu_to_be32(*(u32 *)&ecc[5]);
183183 elm_write_reg(info, offset, val);
184184
185185 /* syndrome fragment 2 = ecc[1-4B] */
186186 offset += 4;
187
- val = cpu_to_be32(*(u32 *) &ecc[1]);
187
+ val = (__force u32)cpu_to_be32(*(u32 *)&ecc[1]);
188188 elm_write_reg(info, offset, val);
189189
190190 /* syndrome fragment 3 = ecc[0B] */
....@@ -194,35 +194,35 @@
194194 break;
195195 case BCH4_ECC:
196196 /* 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) |
198198 ((ecc[2] & 0xf) << 28);
199199 elm_write_reg(info, offset, val);
200200
201201 /* syndrome fragment 1 = ecc[0-20b] bits */
202202 offset += 4;
203
- val = cpu_to_be32(*(u32 *) &ecc[0]) >> 12;
203
+ val = (__force u32)cpu_to_be32(*(u32 *)&ecc[0]) >> 12;
204204 elm_write_reg(info, offset, val);
205205 break;
206206 case BCH16_ECC:
207
- val = cpu_to_be32(*(u32 *) &ecc[22]);
207
+ val = (__force u32)cpu_to_be32(*(u32 *)&ecc[22]);
208208 elm_write_reg(info, offset, val);
209209 offset += 4;
210
- val = cpu_to_be32(*(u32 *) &ecc[18]);
210
+ val = (__force u32)cpu_to_be32(*(u32 *)&ecc[18]);
211211 elm_write_reg(info, offset, val);
212212 offset += 4;
213
- val = cpu_to_be32(*(u32 *) &ecc[14]);
213
+ val = (__force u32)cpu_to_be32(*(u32 *)&ecc[14]);
214214 elm_write_reg(info, offset, val);
215215 offset += 4;
216
- val = cpu_to_be32(*(u32 *) &ecc[10]);
216
+ val = (__force u32)cpu_to_be32(*(u32 *)&ecc[10]);
217217 elm_write_reg(info, offset, val);
218218 offset += 4;
219
- val = cpu_to_be32(*(u32 *) &ecc[6]);
219
+ val = (__force u32)cpu_to_be32(*(u32 *)&ecc[6]);
220220 elm_write_reg(info, offset, val);
221221 offset += 4;
222
- val = cpu_to_be32(*(u32 *) &ecc[2]);
222
+ val = (__force u32)cpu_to_be32(*(u32 *)&ecc[2]);
223223 elm_write_reg(info, offset, val);
224224 offset += 4;
225
- val = cpu_to_be32(*(u32 *) &ecc[0]) >> 16;
225
+ val = (__force u32)cpu_to_be32(*(u32 *)&ecc[0]) >> 16;
226226 elm_write_reg(info, offset, val);
227227 break;
228228 default: