@@ -364,11 +364,7 @@ int spi_nor_write_enable(struct spi_nor *nor)
364364 int ret ;
365365
366366 if (nor -> spimem ) {
367- struct spi_mem_op op =
368- SPI_MEM_OP (SPI_MEM_OP_CMD (SPINOR_OP_WREN , 0 ),
369- SPI_MEM_OP_NO_ADDR ,
370- SPI_MEM_OP_NO_DUMMY ,
371- SPI_MEM_OP_NO_DATA );
367+ struct spi_mem_op op = SPI_NOR_WREN_OP ;
372368
373369 spi_nor_spimem_setup_op (nor , & op , nor -> reg_proto );
374370
@@ -395,11 +391,7 @@ int spi_nor_write_disable(struct spi_nor *nor)
395391 int ret ;
396392
397393 if (nor -> spimem ) {
398- struct spi_mem_op op =
399- SPI_MEM_OP (SPI_MEM_OP_CMD (SPINOR_OP_WRDI , 0 ),
400- SPI_MEM_OP_NO_ADDR ,
401- SPI_MEM_OP_NO_DUMMY ,
402- SPI_MEM_OP_NO_DATA );
394+ struct spi_mem_op op = SPI_NOR_WRDI_OP ;
403395
404396 spi_nor_spimem_setup_op (nor , & op , nor -> reg_proto );
405397
@@ -459,11 +451,7 @@ int spi_nor_read_sr(struct spi_nor *nor, u8 *sr)
459451 int ret ;
460452
461453 if (nor -> spimem ) {
462- struct spi_mem_op op =
463- SPI_MEM_OP (SPI_MEM_OP_CMD (SPINOR_OP_RDSR , 0 ),
464- SPI_MEM_OP_NO_ADDR ,
465- SPI_MEM_OP_NO_DUMMY ,
466- SPI_MEM_OP_DATA_IN (1 , sr , 0 ));
454+ struct spi_mem_op op = SPI_NOR_RDSR_OP (sr );
467455
468456 if (nor -> reg_proto == SNOR_PROTO_8_8_8_DTR ) {
469457 op .addr .nbytes = nor -> params -> rdsr_addr_nbytes ;
@@ -503,11 +491,7 @@ int spi_nor_read_cr(struct spi_nor *nor, u8 *cr)
503491 int ret ;
504492
505493 if (nor -> spimem ) {
506- struct spi_mem_op op =
507- SPI_MEM_OP (SPI_MEM_OP_CMD (SPINOR_OP_RDCR , 0 ),
508- SPI_MEM_OP_NO_ADDR ,
509- SPI_MEM_OP_NO_DUMMY ,
510- SPI_MEM_OP_DATA_IN (1 , cr , 0 ));
494+ struct spi_mem_op op = SPI_NOR_RDCR_OP (cr );
511495
512496 spi_nor_spimem_setup_op (nor , & op , nor -> reg_proto );
513497
@@ -536,14 +520,7 @@ int spi_nor_set_4byte_addr_mode(struct spi_nor *nor, bool enable)
536520 int ret ;
537521
538522 if (nor -> spimem ) {
539- struct spi_mem_op op =
540- SPI_MEM_OP (SPI_MEM_OP_CMD (enable ?
541- SPINOR_OP_EN4B :
542- SPINOR_OP_EX4B ,
543- 0 ),
544- SPI_MEM_OP_NO_ADDR ,
545- SPI_MEM_OP_NO_DUMMY ,
546- SPI_MEM_OP_NO_DATA );
523+ struct spi_mem_op op = SPI_NOR_EN4B_EX4B_OP (enable );
547524
548525 spi_nor_spimem_setup_op (nor , & op , nor -> reg_proto );
549526
@@ -577,11 +554,7 @@ static int spansion_set_4byte_addr_mode(struct spi_nor *nor, bool enable)
577554 nor -> bouncebuf [0 ] = enable << 7 ;
578555
579556 if (nor -> spimem ) {
580- struct spi_mem_op op =
581- SPI_MEM_OP (SPI_MEM_OP_CMD (SPINOR_OP_BRWR , 0 ),
582- SPI_MEM_OP_NO_ADDR ,
583- SPI_MEM_OP_NO_DUMMY ,
584- SPI_MEM_OP_DATA_OUT (1 , nor -> bouncebuf , 0 ));
557+ struct spi_mem_op op = SPI_NOR_BRWR_OP (nor -> bouncebuf );
585558
586559 spi_nor_spimem_setup_op (nor , & op , nor -> reg_proto );
587560
@@ -611,11 +584,7 @@ int spi_nor_write_ear(struct spi_nor *nor, u8 ear)
611584 nor -> bouncebuf [0 ] = ear ;
612585
613586 if (nor -> spimem ) {
614- struct spi_mem_op op =
615- SPI_MEM_OP (SPI_MEM_OP_CMD (SPINOR_OP_WREAR , 0 ),
616- SPI_MEM_OP_NO_ADDR ,
617- SPI_MEM_OP_NO_DUMMY ,
618- SPI_MEM_OP_DATA_OUT (1 , nor -> bouncebuf , 0 ));
587+ struct spi_mem_op op = SPI_NOR_WREAR_OP (nor -> bouncebuf );
619588
620589 spi_nor_spimem_setup_op (nor , & op , nor -> reg_proto );
621590
@@ -726,11 +695,7 @@ int spi_nor_global_block_unlock(struct spi_nor *nor)
726695 return ret ;
727696
728697 if (nor -> spimem ) {
729- struct spi_mem_op op =
730- SPI_MEM_OP (SPI_MEM_OP_CMD (SPINOR_OP_GBULK , 0 ),
731- SPI_MEM_OP_NO_ADDR ,
732- SPI_MEM_OP_NO_DUMMY ,
733- SPI_MEM_OP_NO_DATA );
698+ struct spi_mem_op op = SPI_NOR_GBULK_OP ;
734699
735700 spi_nor_spimem_setup_op (nor , & op , nor -> reg_proto );
736701
@@ -765,11 +730,7 @@ int spi_nor_write_sr(struct spi_nor *nor, const u8 *sr, size_t len)
765730 return ret ;
766731
767732 if (nor -> spimem ) {
768- struct spi_mem_op op =
769- SPI_MEM_OP (SPI_MEM_OP_CMD (SPINOR_OP_WRSR , 0 ),
770- SPI_MEM_OP_NO_ADDR ,
771- SPI_MEM_OP_NO_DUMMY ,
772- SPI_MEM_OP_DATA_OUT (len , sr , 0 ));
733+ struct spi_mem_op op = SPI_NOR_WRSR_OP (sr , len );
773734
774735 spi_nor_spimem_setup_op (nor , & op , nor -> reg_proto );
775736
@@ -978,11 +939,7 @@ static int spi_nor_write_sr2(struct spi_nor *nor, const u8 *sr2)
978939 return ret ;
979940
980941 if (nor -> spimem ) {
981- struct spi_mem_op op =
982- SPI_MEM_OP (SPI_MEM_OP_CMD (SPINOR_OP_WRSR2 , 0 ),
983- SPI_MEM_OP_NO_ADDR ,
984- SPI_MEM_OP_NO_DUMMY ,
985- SPI_MEM_OP_DATA_OUT (1 , sr2 , 0 ));
942+ struct spi_mem_op op = SPI_NOR_WRSR2_OP (sr2 );
986943
987944 spi_nor_spimem_setup_op (nor , & op , nor -> reg_proto );
988945
@@ -1014,11 +971,7 @@ static int spi_nor_read_sr2(struct spi_nor *nor, u8 *sr2)
1014971 int ret ;
1015972
1016973 if (nor -> spimem ) {
1017- struct spi_mem_op op =
1018- SPI_MEM_OP (SPI_MEM_OP_CMD (SPINOR_OP_RDSR2 , 0 ),
1019- SPI_MEM_OP_NO_ADDR ,
1020- SPI_MEM_OP_NO_DUMMY ,
1021- SPI_MEM_OP_DATA_IN (1 , sr2 , 0 ));
974+ struct spi_mem_op op = SPI_NOR_RDSR2_OP (sr2 );
1022975
1023976 spi_nor_spimem_setup_op (nor , & op , nor -> reg_proto );
1024977
@@ -1047,11 +1000,7 @@ static int spi_nor_erase_chip(struct spi_nor *nor)
10471000 dev_dbg (nor -> dev , " %lldKiB\n" , (long long )(nor -> mtd .size >> 10 ));
10481001
10491002 if (nor -> spimem ) {
1050- struct spi_mem_op op =
1051- SPI_MEM_OP (SPI_MEM_OP_CMD (SPINOR_OP_CHIP_ERASE , 0 ),
1052- SPI_MEM_OP_NO_ADDR ,
1053- SPI_MEM_OP_NO_DUMMY ,
1054- SPI_MEM_OP_NO_DATA );
1003+ struct spi_mem_op op = SPI_NOR_CHIP_ERASE_OP ;
10551004
10561005 spi_nor_spimem_setup_op (nor , & op , nor -> write_proto );
10571006
@@ -1193,10 +1142,8 @@ int spi_nor_erase_sector(struct spi_nor *nor, u32 addr)
11931142
11941143 if (nor -> spimem ) {
11951144 struct spi_mem_op op =
1196- SPI_MEM_OP (SPI_MEM_OP_CMD (nor -> erase_opcode , 0 ),
1197- SPI_MEM_OP_ADDR (nor -> addr_width , addr , 0 ),
1198- SPI_MEM_OP_NO_DUMMY ,
1199- SPI_MEM_OP_NO_DATA );
1145+ SPI_NOR_SECTOR_ERASE_OP (nor -> erase_opcode ,
1146+ nor -> addr_width , addr );
12001147
12011148 spi_nor_spimem_setup_op (nor , & op , nor -> write_proto );
12021149
@@ -1992,10 +1939,7 @@ static int spi_nor_spimem_check_op(struct spi_nor *nor,
19921939static int spi_nor_spimem_check_readop (struct spi_nor * nor ,
19931940 const struct spi_nor_read_command * read )
19941941{
1995- struct spi_mem_op op = SPI_MEM_OP (SPI_MEM_OP_CMD (read -> opcode , 0 ),
1996- SPI_MEM_OP_ADDR (3 , 0 , 0 ),
1997- SPI_MEM_OP_DUMMY (1 , 0 ),
1998- SPI_MEM_OP_DATA_IN (2 , NULL , 0 ));
1942+ struct spi_mem_op op = SPI_NOR_READ_OP (read -> opcode );
19991943
20001944 spi_nor_spimem_setup_op (nor , & op , read -> proto );
20011945
@@ -2018,10 +1962,7 @@ static int spi_nor_spimem_check_readop(struct spi_nor *nor,
20181962static int spi_nor_spimem_check_pp (struct spi_nor * nor ,
20191963 const struct spi_nor_pp_command * pp )
20201964{
2021- struct spi_mem_op op = SPI_MEM_OP (SPI_MEM_OP_CMD (pp -> opcode , 0 ),
2022- SPI_MEM_OP_ADDR (3 , 0 , 0 ),
2023- SPI_MEM_OP_NO_DUMMY ,
2024- SPI_MEM_OP_DATA_OUT (2 , NULL , 0 ));
1965+ struct spi_mem_op op = SPI_NOR_PP_OP (pp -> opcode );
20251966
20261967 spi_nor_spimem_setup_op (nor , & op , pp -> proto );
20271968
@@ -2845,10 +2786,7 @@ static void spi_nor_soft_reset(struct spi_nor *nor)
28452786 struct spi_mem_op op ;
28462787 int ret ;
28472788
2848- op = (struct spi_mem_op )SPI_MEM_OP (SPI_MEM_OP_CMD (SPINOR_OP_SRSTEN , 0 ),
2849- SPI_MEM_OP_NO_DUMMY ,
2850- SPI_MEM_OP_NO_ADDR ,
2851- SPI_MEM_OP_NO_DATA );
2789+ op = (struct spi_mem_op )SPINOR_SRSTEN_OP ;
28522790
28532791 spi_nor_spimem_setup_op (nor , & op , nor -> reg_proto );
28542792
@@ -2858,10 +2796,7 @@ static void spi_nor_soft_reset(struct spi_nor *nor)
28582796 return ;
28592797 }
28602798
2861- op = (struct spi_mem_op )SPI_MEM_OP (SPI_MEM_OP_CMD (SPINOR_OP_SRST , 0 ),
2862- SPI_MEM_OP_NO_DUMMY ,
2863- SPI_MEM_OP_NO_ADDR ,
2864- SPI_MEM_OP_NO_DATA );
2799+ op = (struct spi_mem_op )SPINOR_SRST_OP ;
28652800
28662801 spi_nor_spimem_setup_op (nor , & op , nor -> reg_proto );
28672802
0 commit comments