On 28.09.26 01:57, Mikhail Kshevetskiy wrote:
> Main changes:
>  * add support for spinand operations working in octal DTR mode
>  * randomizer support
>  * continuous mode improvements
>  * more flashes supported

The subject line mentions Linux 7.3 as the source of these changes.
Maybe you can make this a bit clearer by referencing v7.3-rc6.

Also this patch is really big and contains multiple squashed upstream
commits. Is there any way you could split this up, maybe even using the
original commits from Linux? The minimum would be to split the core
changes from the vendor driver updates.

> 
> Signed-off-by: Mikhail Kshevetskiy <[email protected]>
> ---
>  drivers/mtd/nand/spi/Makefile     |   5 +-
>  drivers/mtd/nand/spi/core.c       | 504 +++++++++++++++++++++++++-----
>  drivers/mtd/nand/spi/dosilicon.c  |  93 ++++++
>  drivers/mtd/nand/spi/esmt.c       |  30 +-
>  drivers/mtd/nand/spi/fmsh.c       | 175 +++++++++++
>  drivers/mtd/nand/spi/foresee.c    |  34 ++
>  drivers/mtd/nand/spi/gigadevice.c | 117 ++++++-
>  drivers/mtd/nand/spi/heyangtek.c  | 132 ++++++++
>  drivers/mtd/nand/spi/macronix.c   |  87 +++++-
>  drivers/mtd/nand/spi/micron.c     |   8 +-
>  drivers/mtd/nand/spi/toshiba.c    |   3 +-
>  drivers/mtd/nand/spi/winbond.c    | 466 +++++++++++++++++++++------
>  include/linux/mtd/spinand.h       | 198 ++++++++++--
>  13 files changed, 1639 insertions(+), 213 deletions(-)
>  create mode 100644 drivers/mtd/nand/spi/dosilicon.c
>  create mode 100644 drivers/mtd/nand/spi/heyangtek.c
> 

[...]

>  
> +static int spinand_randomizer_init(struct spinand_device *spinand)
> +{
> +     struct udevice *dev = spinand->slave->dev;
> +     bool enabled;
> +
> +     if (!spinand->set_randomizer)
> +             return 0;
> +
> +     enabled = dev_read_bool(dev, "nand-randomizer");

In Linux, we read this as u32 and leave the state unchanged if the
property is absent instead of disabling it. We should use dev_read_u32()
here and skip calling set_randomizer() if the property is absent.

> +
> +     return spinand->set_randomizer(spinand, enabled);
> +}
> +
>  static const struct nand_ops spinand_ops = {
>       .erase = spinand_erase,
>       .markbad = spinand_markbad,
> @@ -1226,10 +1366,13 @@ static const struct nand_ops spinand_ops = {
>  static const struct spinand_manufacturer *spinand_manufacturers[] = {
>       &alliancememory_spinand_manufacturer,
>       &ato_spinand_manufacturer,
> +     &dosilicon_spinand_manufacturer,
> +     &esmt_8c_spinand_manufacturer,
>       &esmt_c8_spinand_manufacturer,
>       &fmsh_spinand_manufacturer,
>       &foresee_spinand_manufacturer,
>       &gigadevice_spinand_manufacturer,
> +     &heyangtek_spinand_manufacturer,
>       &macronix_spinand_manufacturer,
>       &micron_spinand_manufacturer,
>       &paragon_spinand_manufacturer,
[...]

Reply via email to