On Mon, Apr 08, 2019 at 10:41:06AM +0300, Mika Westerberg wrote:
> On Mon, Apr 08, 2019 at 12:21:03PM +0800, Chris Chiu wrote:
> > +static void

static u32

(see below why)

> > +intel_gpio_update_pad_mode(void __iomem *hostown, u32 mask, u32 value)
> > +{
> > +   u32 curr = readl(hostown);
> > +   u32 updated = (curr & ~mask) | (value & mask);
> 
> I think here we should first complain if the expected ownership is not
> correct. Warning or info level probably enough.

It is easy to achieve, something like

if ((value ^ saved) & requeted)
        dev_warn(...);

See also below.

(I had mentioned this earlier)

> > +   return writel(updated, hostown);

writel() is a void function, this is wrong. We need to return curr instead to
make above working to issue a warning message.

> Also if the pin is not requested and not changed we should not touch the
> register.

I don't think it brings any value here, if mask is 0 we will write back the
same value we read.

> Otherwise this looks good to me.

-- 
With Best Regards,
Andy Shevchenko


Reply via email to