Hi, On 19. 1. 25. 오후 10:54, Marek Szyprowski wrote: > This way devfreq core ensures that all its devices will be set to safe > operation points before reboot operation. There are board on which some > aggressive power saving operation points are behind the capabilities of > the bootloader to properly reset the hardware and boot the board. This > way one can avoid board crash early after reboot. > > Similar pattern is used in CPUfreq subsystem. > > Reported-by: Markus Reichl <m.reichl@xxxxxxxxxxxxx> > Signed-off-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx> > --- > drivers/devfreq/devfreq.c | 7 +++++++ > 1 file changed, 7 insertions(+) > > diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c > index 0ae3de76833b..f6aba8344c56 100644 > --- a/drivers/devfreq/devfreq.c > +++ b/drivers/devfreq/devfreq.c > @@ -23,6 +23,7 @@ > #include <linux/devfreq.h> > #include <linux/workqueue.h> > #include <linux/platform_device.h> > +#include <linux/syscore_ops.h> > #include <linux/list.h> > #include <linux/printk.h> > #include <linux/hrtimer.h> > @@ -1422,6 +1423,10 @@ static struct attribute *devfreq_attrs[] = { > }; > ATTRIBUTE_GROUPS(devfreq); > > +static struct syscore_ops devfreq_syscore_ops = { > + .shutdown = devfreq_suspend, > +}; > + > static int __init devfreq_init(void) > { > devfreq_class = class_create(THIS_MODULE, "devfreq"); > @@ -1438,6 +1443,8 @@ static int __init devfreq_init(void) > } > devfreq_class->dev_groups = devfreq_groups; > > + register_syscore_ops(&devfreq_syscore_ops); > + > return 0; > } > subsys_initcall(devfreq_init); > Looks good to me. Reviewed-by: Chanwoo Choi <cw00.choi@xxxxxxxxxxx> -- Best Regards, Chanwoo Choi Samsung Electronics