Re: [PATCH v3] PM / core: conditionally skip system pm in device/driver model

From: Guan-Yu Lin
Date: Tue Feb 27 2024 - 01:47:31 EST


On Mon, Feb 26, 2024 at 10:03 PM Andy Shevchenko
<andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
>
> On Mon, Feb 26, 2024 at 05:15:00PM +0800, Guan-Yu Lin wrote:
> > On Fri, Feb 23, 2024 at 11:18 PM Andy Shevchenko
> > <andriy.shevchenko@xxxxxxxxxxxxxxx> wrote:
> > > On Fri, Feb 23, 2024 at 02:38:29PM +0000, Guan-Yu Lin wrote:
>
> ...
>
> > > > + if (kstrtoint(buf, 0, &ret))
> > >
> > > Why is it int? It seems like flags, should not be unsigned as u32 or so?
> >
> > The ".event" member in struct pm_message is an int, but the values
> > assigned to it are used like bit flags (e.g. PM_EVENT_FREEZE=0x1,
> > PM_EVENT_SUSPEND=0x2, PM_EVENT_HIBERNATE=0x4). Is this an intentional
> > design choice? We might need to change the design accordingly.
>
> It might give a subtle errors related to promoted signdness.
>

Should we refrain from using the bitwise operation here? Or should we
just change the type here to u32?

> --
> With Best Regards,
> Andy Shevchenko
>
>