Re: [PATCH] pinctrl:intel: Retain HOSTSW_OWN for requested gpio pin

From: Andy Shevchenko
Date: Mon Apr 08 2019 - 06:09:53 EST


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