On Thu, Aug 24, 2017 at 11:37:01AM -0700, Stephen Boyd wrote: > On 08/24, Shawn Guo wrote: > > On Tue, Aug 22, 2017 at 01:31:32PM -0700, Stephen Boyd wrote: > > > Also, I see that on v4.13-rc series the read/write checks are > > > causing the led driver to fail in a different way: > > > > > > spmi spmi-0: error: impermissible write to peripheral sid:0 addr:0xc040 > > > qcom-spmi-gpio 200f000.spmi:pm8916@0:gpios@c000: write 0x40 failed > > > leds-gpio soc:leds: Error applying setting, reverse things back > > > spmi spmi-0: error: impermissible write to peripheral sid:0 addr:0xc041 > > > qcom-spmi-gpio 200f000.spmi:pm8916@0:gpios@c000: write 0x41 failed > > > leds-gpio: probe of soc:leds failed with error -1 > > > > > > Are you seeing similar behavior? > > > > Yes. I forgot to mention that, and leds-gpio failure is gone after > > applying Kiran's patch below. > > > > spmi: pmic-arb: remove the read/write access checks > > > > Sure. Removing the checks will silence the warnings, but it still > means that we're attempting to configure GPIOs that we shouldn't > be configuring. The driver is attempting to configure the GPIOs that device tree tells to. led@3 { label = "apq8016-sbc:green:user3"; gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>; linux,default-trigger = "mmc1"; default-state = "off"; }; Are you saying, in case of user3 led above, device tree shouldn't use GPIO <&pm8916_gpios 1> there at all? > Is there some sort of default configuration that > gets applied to all pins by default? I do not quite understand what you are asking and how that is related to the thing we discuss here. But my understanding is that spmi_arb read/write access is used not only by pinctrl API to set up pinmux for GPIO function, but also by GPIO API to actually drive the GPIO. Shawn -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html