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: Kamal Dasu <kdasu.kdev@gmail.com> Signed-off-by: Cyrille Pitchen <cyrille.pitchen@wedev4u.fr>
This commit is contained in:
parent
46dde01f6b
commit
d6084fc83c
|
@ -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 ||
|
||||
|
|
Loading…
Reference in New Issue