@@ -82,6 +82,23 @@ static int spi_nor_spimem_exec_op(struct spi_nor *nor, struct spi_mem_op *op)
82
82
return spi_mem_exec_op (nor -> spimem , op );
83
83
}
84
84
85
+ static int spi_nor_controller_ops_read_reg (struct spi_nor * nor , u8 opcode ,
86
+ u8 * buf , size_t len )
87
+ {
88
+ return nor -> controller_ops -> read_reg (nor , opcode , buf , len );
89
+ }
90
+
91
+ static int spi_nor_controller_ops_write_reg (struct spi_nor * nor , u8 opcode ,
92
+ const u8 * buf , size_t len )
93
+ {
94
+ return nor -> controller_ops -> write_reg (nor , opcode , buf , len );
95
+ }
96
+
97
+ static int spi_nor_controller_ops_erase (struct spi_nor * nor , loff_t offs )
98
+ {
99
+ return nor -> controller_ops -> erase (nor , offs );
100
+ }
101
+
85
102
/**
86
103
* spi_nor_spimem_read_data() - read data from flash's memory region via
87
104
* spi-mem
@@ -229,8 +246,8 @@ int spi_nor_write_enable(struct spi_nor *nor)
229
246
230
247
ret = spi_mem_exec_op (nor -> spimem , & op );
231
248
} else {
232
- ret = nor -> controller_ops -> write_reg (nor , SPINOR_OP_WREN ,
233
- NULL , 0 );
249
+ ret = spi_nor_controller_ops_write_reg (nor , SPINOR_OP_WREN ,
250
+ NULL , 0 );
234
251
}
235
252
236
253
if (ret )
@@ -258,8 +275,8 @@ int spi_nor_write_disable(struct spi_nor *nor)
258
275
259
276
ret = spi_mem_exec_op (nor -> spimem , & op );
260
277
} else {
261
- ret = nor -> controller_ops -> write_reg (nor , SPINOR_OP_WRDI ,
262
- NULL , 0 );
278
+ ret = spi_nor_controller_ops_write_reg (nor , SPINOR_OP_WRDI ,
279
+ NULL , 0 );
263
280
}
264
281
265
282
if (ret )
@@ -289,8 +306,8 @@ static int spi_nor_read_sr(struct spi_nor *nor, u8 *sr)
289
306
290
307
ret = spi_mem_exec_op (nor -> spimem , & op );
291
308
} else {
292
- ret = nor -> controller_ops -> read_reg (nor , SPINOR_OP_RDSR ,
293
- sr , 1 );
309
+ ret = spi_nor_controller_ops_read_reg (nor , SPINOR_OP_RDSR , sr ,
310
+ 1 );
294
311
}
295
312
296
313
if (ret )
@@ -320,8 +337,8 @@ static int spi_nor_read_fsr(struct spi_nor *nor, u8 *fsr)
320
337
321
338
ret = spi_mem_exec_op (nor -> spimem , & op );
322
339
} else {
323
- ret = nor -> controller_ops -> read_reg (nor , SPINOR_OP_RDFSR ,
324
- fsr , 1 );
340
+ ret = spi_nor_controller_ops_read_reg (nor , SPINOR_OP_RDFSR , fsr ,
341
+ 1 );
325
342
}
326
343
327
344
if (ret )
@@ -352,7 +369,8 @@ static int spi_nor_read_cr(struct spi_nor *nor, u8 *cr)
352
369
353
370
ret = spi_mem_exec_op (nor -> spimem , & op );
354
371
} else {
355
- ret = nor -> controller_ops -> read_reg (nor , SPINOR_OP_RDCR , cr , 1 );
372
+ ret = spi_nor_controller_ops_read_reg (nor , SPINOR_OP_RDCR , cr ,
373
+ 1 );
356
374
}
357
375
358
376
if (ret )
@@ -385,10 +403,10 @@ int spi_nor_set_4byte_addr_mode(struct spi_nor *nor, bool enable)
385
403
386
404
ret = spi_mem_exec_op (nor -> spimem , & op );
387
405
} else {
388
- ret = nor -> controller_ops -> write_reg (nor ,
389
- enable ? SPINOR_OP_EN4B :
390
- SPINOR_OP_EX4B ,
391
- NULL , 0 );
406
+ ret = spi_nor_controller_ops_write_reg (nor ,
407
+ enable ? SPINOR_OP_EN4B :
408
+ SPINOR_OP_EX4B ,
409
+ NULL , 0 );
392
410
}
393
411
394
412
if (ret )
@@ -421,8 +439,8 @@ static int spansion_set_4byte_addr_mode(struct spi_nor *nor, bool enable)
421
439
422
440
ret = spi_mem_exec_op (nor -> spimem , & op );
423
441
} else {
424
- ret = nor -> controller_ops -> write_reg (nor , SPINOR_OP_BRWR ,
425
- nor -> bouncebuf , 1 );
442
+ ret = spi_nor_controller_ops_write_reg (nor , SPINOR_OP_BRWR ,
443
+ nor -> bouncebuf , 1 );
426
444
}
427
445
428
446
if (ret )
@@ -453,8 +471,8 @@ int spi_nor_write_ear(struct spi_nor *nor, u8 ear)
453
471
454
472
ret = spi_mem_exec_op (nor -> spimem , & op );
455
473
} else {
456
- ret = nor -> controller_ops -> write_reg (nor , SPINOR_OP_WREAR ,
457
- nor -> bouncebuf , 1 );
474
+ ret = spi_nor_controller_ops_write_reg (nor , SPINOR_OP_WREAR ,
475
+ nor -> bouncebuf , 1 );
458
476
}
459
477
460
478
if (ret )
@@ -484,8 +502,8 @@ int spi_nor_xread_sr(struct spi_nor *nor, u8 *sr)
484
502
485
503
ret = spi_mem_exec_op (nor -> spimem , & op );
486
504
} else {
487
- ret = nor -> controller_ops -> read_reg (nor , SPINOR_OP_XRDSR ,
488
- sr , 1 );
505
+ ret = spi_nor_controller_ops_read_reg (nor , SPINOR_OP_XRDSR , sr ,
506
+ 1 );
489
507
}
490
508
491
509
if (ret )
@@ -529,8 +547,8 @@ static void spi_nor_clear_sr(struct spi_nor *nor)
529
547
530
548
ret = spi_mem_exec_op (nor -> spimem , & op );
531
549
} else {
532
- ret = nor -> controller_ops -> write_reg (nor , SPINOR_OP_CLSR ,
533
- NULL , 0 );
550
+ ret = spi_nor_controller_ops_write_reg (nor , SPINOR_OP_CLSR ,
551
+ NULL , 0 );
534
552
}
535
553
536
554
if (ret )
@@ -593,8 +611,8 @@ static void spi_nor_clear_fsr(struct spi_nor *nor)
593
611
594
612
ret = spi_mem_exec_op (nor -> spimem , & op );
595
613
} else {
596
- ret = nor -> controller_ops -> write_reg (nor , SPINOR_OP_CLFSR ,
597
- NULL , 0 );
614
+ ret = spi_nor_controller_ops_write_reg (nor , SPINOR_OP_CLFSR ,
615
+ NULL , 0 );
598
616
}
599
617
600
618
if (ret )
@@ -737,8 +755,8 @@ static int spi_nor_write_sr(struct spi_nor *nor, const u8 *sr, size_t len)
737
755
738
756
ret = spi_mem_exec_op (nor -> spimem , & op );
739
757
} else {
740
- ret = nor -> controller_ops -> write_reg (nor , SPINOR_OP_WRSR ,
741
- sr , len );
758
+ ret = spi_nor_controller_ops_write_reg (nor , SPINOR_OP_WRSR , sr ,
759
+ len );
742
760
}
743
761
744
762
if (ret ) {
@@ -939,8 +957,8 @@ static int spi_nor_write_sr2(struct spi_nor *nor, const u8 *sr2)
939
957
940
958
ret = spi_mem_exec_op (nor -> spimem , & op );
941
959
} else {
942
- ret = nor -> controller_ops -> write_reg (nor , SPINOR_OP_WRSR2 ,
943
- sr2 , 1 );
960
+ ret = spi_nor_controller_ops_write_reg (nor , SPINOR_OP_WRSR2 ,
961
+ sr2 , 1 );
944
962
}
945
963
946
964
if (ret ) {
@@ -973,8 +991,8 @@ static int spi_nor_read_sr2(struct spi_nor *nor, u8 *sr2)
973
991
974
992
ret = spi_mem_exec_op (nor -> spimem , & op );
975
993
} else {
976
- ret = nor -> controller_ops -> read_reg (nor , SPINOR_OP_RDSR2 ,
977
- sr2 , 1 );
994
+ ret = spi_nor_controller_ops_read_reg (nor , SPINOR_OP_RDSR2 , sr2 ,
995
+ 1 );
978
996
}
979
997
980
998
if (ret )
@@ -1004,8 +1022,9 @@ static int spi_nor_erase_chip(struct spi_nor *nor)
1004
1022
1005
1023
ret = spi_mem_exec_op (nor -> spimem , & op );
1006
1024
} else {
1007
- ret = nor -> controller_ops -> write_reg (nor , SPINOR_OP_CHIP_ERASE ,
1008
- NULL , 0 );
1025
+ ret = spi_nor_controller_ops_write_reg (nor ,
1026
+ SPINOR_OP_CHIP_ERASE ,
1027
+ NULL , 0 );
1009
1028
}
1010
1029
1011
1030
if (ret )
@@ -1146,7 +1165,7 @@ static int spi_nor_erase_sector(struct spi_nor *nor, u32 addr)
1146
1165
1147
1166
return spi_mem_exec_op (nor -> spimem , & op );
1148
1167
} else if (nor -> controller_ops -> erase ) {
1149
- return nor -> controller_ops -> erase (nor , addr );
1168
+ return spi_nor_controller_ops_erase (nor , addr );
1150
1169
}
1151
1170
1152
1171
/*
@@ -1158,8 +1177,8 @@ static int spi_nor_erase_sector(struct spi_nor *nor, u32 addr)
1158
1177
addr >>= 8 ;
1159
1178
}
1160
1179
1161
- return nor -> controller_ops -> write_reg (nor , nor -> erase_opcode ,
1162
- nor -> bouncebuf , nor -> addr_width );
1180
+ return spi_nor_controller_ops_write_reg (nor , nor -> erase_opcode ,
1181
+ nor -> bouncebuf , nor -> addr_width );
1163
1182
}
1164
1183
1165
1184
/**
0 commit comments