mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 20:48:49 +08:00
mtd: spi-nor: micron-st.c: Replace hardcoded values for addr_nbytes/addr_mode_nbytes
We track in the core the internal address mode of the flash. Stop using hardcoded values for the number of bytes of address and use nor->addr_nbytes and nor->params->addr_mode_nbytes instead. Signed-off-by: Tudor Ambarus <tudor.ambarus@microchip.com> Link: https://lore.kernel.org/r/20220728041451.85559-3-tudor.ambarus@microchip.com
This commit is contained in:
parent
05ebc1ccb8
commit
2fe99a8670
@ -52,18 +52,21 @@ static int micron_st_nor_octal_dtr_en(struct spi_nor *nor)
|
||||
struct spi_mem_op op;
|
||||
u8 *buf = nor->bouncebuf;
|
||||
int ret;
|
||||
u8 addr_mode_nbytes = nor->params->addr_mode_nbytes;
|
||||
|
||||
/* Use 20 dummy cycles for memory array reads. */
|
||||
*buf = 20;
|
||||
op = (struct spi_mem_op)
|
||||
MICRON_ST_NOR_WR_ANY_REG_OP(3, SPINOR_REG_MT_CFR1V, 1, buf);
|
||||
MICRON_ST_NOR_WR_ANY_REG_OP(addr_mode_nbytes,
|
||||
SPINOR_REG_MT_CFR1V, 1, buf);
|
||||
ret = spi_nor_write_any_volatile_reg(nor, &op, nor->reg_proto);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
buf[0] = SPINOR_MT_OCT_DTR;
|
||||
op = (struct spi_mem_op)
|
||||
MICRON_ST_NOR_WR_ANY_REG_OP(3, SPINOR_REG_MT_CFR0V, 1, buf);
|
||||
MICRON_ST_NOR_WR_ANY_REG_OP(addr_mode_nbytes,
|
||||
SPINOR_REG_MT_CFR0V, 1, buf);
|
||||
ret = spi_nor_write_any_volatile_reg(nor, &op, nor->reg_proto);
|
||||
if (ret)
|
||||
return ret;
|
||||
@ -98,7 +101,8 @@ static int micron_st_nor_octal_dtr_dis(struct spi_nor *nor)
|
||||
buf[0] = SPINOR_MT_EXSPI;
|
||||
buf[1] = SPINOR_REG_MT_CFR1V_DEF;
|
||||
op = (struct spi_mem_op)
|
||||
MICRON_ST_NOR_WR_ANY_REG_OP(4, SPINOR_REG_MT_CFR0V, 2, buf);
|
||||
MICRON_ST_NOR_WR_ANY_REG_OP(nor->addr_nbytes,
|
||||
SPINOR_REG_MT_CFR0V, 2, buf);
|
||||
ret = spi_nor_write_any_volatile_reg(nor, &op, SNOR_PROTO_8_8_8_DTR);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
Loading…
Reference in New Issue
Block a user