[PATCH v2 1/5] mtd: spinand: make spinand_{read,write}_page global

Miquel Raynal miquel.raynal at bootlin.com
Tue Oct 1 02:12:49 PDT 2024


Hi Martin,

mmkurbanov at salutedevices.com wrote on Tue, 27 Aug 2024 20:48:59 +0300:

> Change these functions from static to global so that to use them later
> in OTP operations. Since reading OTP pages is no different from reading
> pages from the main area.
> 
> Signed-off-by: Martin Kurbanov <mmkurbanov at salutedevices.com>
> ---
>  drivers/mtd/nand/spi/core.c | 24 ++++++++++++++++++++----
>  include/linux/mtd/spinand.h |  6 ++++++
>  2 files changed, 26 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/mtd/nand/spi/core.c b/drivers/mtd/nand/spi/core.c
> index e0b6715e5dfed..807c24b0c7c4f 100644
> --- a/drivers/mtd/nand/spi/core.c
> +++ b/drivers/mtd/nand/spi/core.c
> @@ -566,8 +566,16 @@ static int spinand_lock_block(struct spinand_device *spinand, u8 lock)
>  	return spinand_write_reg_op(spinand, REG_BLOCK_LOCK, lock);
>  }
>  
> -static int spinand_read_page(struct spinand_device *spinand,
> -			     const struct nand_page_io_req *req)
> +/**
> + * spinand_read_page() - Read the page

				 a page? (same below)

> + * @spinand: the spinand device
> + * @req: the I/O request
> + *
> + * Return: 0 or a positive number of bitflips corrected on success.
> + * A negative error code otherwise.
> + */
> +int spinand_read_page(struct spinand_device *spinand,
> +		      const struct nand_page_io_req *req)
>  {
>  	struct nand_device *nand = spinand_to_nand(spinand);
>  	u8 status;
> @@ -597,8 +605,16 @@ static int spinand_read_page(struct spinand_device *spinand,
>  	return nand_ecc_finish_io_req(nand, (struct nand_page_io_req *)req);
>  }
>  
> -static int spinand_write_page(struct spinand_device *spinand,
> -			      const struct nand_page_io_req *req)
> +/**
> + * spinand_write_page() - Write the page
> + * @spinand: the spinand device
> + * @req: the I/O request
> + *
> + * Return: 0 or a positive number of bitflips corrected on success.
> + * A negative error code otherwise.
> + */
> +int spinand_write_page(struct spinand_device *spinand,
> +		       const struct nand_page_io_req *req)
>  {
>  	struct nand_device *nand = spinand_to_nand(spinand);
>  	u8 status;
> diff --git a/include/linux/mtd/spinand.h b/include/linux/mtd/spinand.h
> index 5c19ead604996..555846517faf6 100644
> --- a/include/linux/mtd/spinand.h
> +++ b/include/linux/mtd/spinand.h
> @@ -519,4 +519,10 @@ int spinand_match_and_init(struct spinand_device *spinand,
>  int spinand_upd_cfg(struct spinand_device *spinand, u8 mask, u8 val);
>  int spinand_select_target(struct spinand_device *spinand, unsigned int target);
>  
> +int spinand_read_page(struct spinand_device *spinand,
> +		      const struct nand_page_io_req *req);
> +
> +int spinand_write_page(struct spinand_device *spinand,
> +		       const struct nand_page_io_req *req);
> +
>  #endif /* __LINUX_MTD_SPINAND_H */


Thanks,
Miquèl



More information about the linux-mtd mailing list