Re: [PATCH V2] spmi: pmic-arb: Enforce the ownership check optionally
From: Shawn Guo <hidden>
Date: 2017-08-26 03:47:00
Also in:
linux-arm-msm, lkml
On Fri, Aug 25, 2017 at 04:18:18PM -0700, Stephen Boyd wrote:
On 08/25, Shawn Guo wrote:quoted
On Thu, Aug 24, 2017 at 11:37:01AM -0700, Stephen Boyd wrote:quoted
On 08/24, Shawn Guo wrote:quoted
On Tue, Aug 22, 2017 at 01:31:32PM -0700, Stephen Boyd wrote:quoted
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 checksSure. 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?Right. Does the GPIO work? If so, it sounds like the read/write access checks in spmi pmic arb don't work properly.
The check works. With the check in there, PM8916 GPIO doesn't work. However, the consequence is that not only user3 but all GPIO leds under 'leds' node will fail to register, because any GPIO led's failing on create_gpio_led() makes leds-gpio driver probe fail as a while. That's how leds-gpio driver works. Also, per schematics, PM8916 GPIO1 is indeed routed to user3 LED on db410c board. Why do you think apq8016-sbc device tree shouldn't use the GPIO for that at all? Isn't it firmware's fault that the ownership of the peripheral is not properly configured? Shawn -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html