Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit d6084fc8 authored by Kamal Dasu's avatar Kamal Dasu Committed by Cyrille Pitchen
Browse files

mtd: spi-nor: Add spi-nor mtd resume handler



Implemented and populated spi-nor mtd PM handlers for resume ops.
spi-nor resume op re-initializes spi-nor flash to its probed
state by calling the newly implemented spi_nor_init() function.

Signed-off-by: default avatarKamal Dasu <kdasu.kdev@gmail.com>
Signed-off-by: default avatarCyrille Pitchen <cyrille.pitchen@wedev4u.fr>
parent 46dde01f
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -2670,6 +2670,19 @@ static int spi_nor_init(struct spi_nor *nor)
	return 0;
}

/* mtd resume handler */
static void spi_nor_resume(struct mtd_info *mtd)
{
	struct spi_nor *nor = mtd_to_spi_nor(mtd);
	struct device *dev = nor->dev;
	int ret;

	/* re-initialize the nor chip */
	ret = spi_nor_init(nor);
	if (ret)
		dev_err(dev, "resume() failed\n");
}

int spi_nor_scan(struct spi_nor *nor, const char *name,
		 const struct spi_nor_hwcaps *hwcaps)
{
@@ -2746,6 +2759,7 @@ int spi_nor_scan(struct spi_nor *nor, const char *name,
	mtd->size = params.size;
	mtd->_erase = spi_nor_erase;
	mtd->_read = spi_nor_read;
	mtd->_resume = spi_nor_resume;

	/* NOR protection support for STmicro/Micron chips and similar */
	if (JEDEC_MFR(info) == SNOR_MFR_MICRON ||