Subject: GPIO regression in Linux next caused by syscon change

From: [email-masked] (Tony Lindgren)
Date: Mon, 15 Feb 2016 08:47:57 -0800

* Philipp Zabel <[email-masked]> [160215 08:17]:
> Am Montag, den 15.02.2016, 08:01 -0800 schrieb Tony Lindgren:
> > * Philipp Zabel <[email-masked]> [160214 11:24]:
> > > I've just replaced the of_iomap() call with an open coded version,
> > > calling of_address_to_resource() and ioremap() directly. That was
> > > needed so I can use the struct resource returned by
> > > of_address_to_resource() to set the syscon_config.max_register. I
> > > don't see where this could cause resource overlap. Does just setting
> > > syscon_config.max_register to zero again make the problem disappear?
> > 
> > Yes commenting out the syscon_config.max_register line in your patch
> > makes things work again.
> > 
> > So what does that tell us about the problem?
> 
> Maybe some out of bounds writes that previously worked are now catched
> by the max_register check in regmap_writable and regmap_write returns
> -EIO instead of the write being executed.

Hmm weird that something like that would not produce errors?

> Is there any omap_ctrl_write?() call with an offset > 0x32c into
> scm_conf?

Indeed, that's where things go wrong. Adding Tero to Cc, something
is wrong there.

Regards,

Tony