Re: [PATCH v2 1/5] mtd: spinand: make spinand_{read,write}_page global
From: Miquel Raynal
Date: Tue Oct 01 2024 - 05:13:05 EST
Hi Martin,
mmkurbanov@xxxxxxxxxxxxxxxxx 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@xxxxxxxxxxxxxxxxx>
> ---
> 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