PM for physmap.c ?
Hi all,
for quite some time physmap.c uses platform_{device,driver}.
I wonder why it does not contain any (generic) code for power management yet, i.e. .suspend/.resume functions.
Is it correct that all I would need to survive a suspend/resume cycle is something like
int physmap_flash_suspend(struct platform_device *dev, pm_message_t state)
{
struct sa_info *info = platform_get_drvdata(dev);
int ret = 0;
if (info)
ret = info->mtd->suspend(info->mtd);
return ret;
}int physmap_flash_resume(struct platform_device *dev)
{
struct sa_info *info = platform_get_drvdata(dev);
if (info)
info->mtd->resume(info->mtd);
return 0;
}as stolen from sa1100-flash.c? Or is PM done at some other/higher layer of the MTD stuff?
Cheers,
Signature · 1 line
Steven
Quoted 1 line · Steven Scholz
Hi all,
Hello,
Quoted 18 lines
for quite some time
physmap.cuses platform_{device,driver}.I wonder why it does not contain any (generic) code for power management yet, i.e. .suspend/.resume functions.
Is it correct that all I would need to survive a suspend/resume cycle is something like
int
physmap_flash_suspend(struct platform_device *dev, pm_message_t state){ struct sa_info *info = platform_get_drvdata(dev); int ret = 0; if (info) ret = info->mtd->suspend(info->mtd); return ret; }int
physmap_flash_resume(struct platform_device *dev)
Quoted 8 lines
{ struct sa_info *info = platform_get_drvdata(dev); if (info) info->mtd->resume(info->mtd); return 0; }as stolen from
sa1100-flash.c?
Looks OK to me, but that doesn't say much.
cheers,
Lennert
Lennert,
Quoted 25 lines
Quoted 25 lines
for quite some time
physmap.cuses platform_{device,driver}.I wonder why it does not contain any (generic) code for power management yet, i.e. .suspend/.resume functions.
Is it correct that all I would need to survive a suspend/resume cycle is something like
int
physmap_flash_suspend(struct platform_device *dev, pm_message_t state){ struct sa_info *info = platform_get_drvdata(dev); int ret = 0; if (info) ret = info->mtd->suspend(info->mtd); return ret; }int
physmap_flash_resume(struct platform_device *dev){ struct sa_info *info = platform_get_drvdata(dev); if (info) info->mtd->resume(info->mtd); return 0; }
Quoted 3 lines
Quoted 1 line
as stolen from
sa1100-flash.c?Looks OK to me, but that doesn't say much.
;-) Thanks for your reply anyway. Thought I am getting ignored for asking stupid things...
However could one of the MTD gurus please state on the following:
- Would the above be enough?
- Is it needed at all? For normal NOR flash (that's what physmap.c is for?).
- What could happen without proper PM handling?
- Is it worth it to provide a proper patch?
Thanks a million!
--
Steven