fw_devlink on will break all snps,dw-apb-gpio users

Jisheng Zhang Jisheng.Zhang at synaptics.com
Wed Oct 14 07:12:35 EDT 2020


Hi,

If set fw_devlink as on, any consumers of dw apb gpio won't probe.

The related dts looks like:

gpio0: gpio at 2400 {
       compatible = "snps,dw-apb-gpio";
       #address-cells = <1>;
       #size-cells = <0>;

       porta: gpio-port at 0 {
              compatible = "snps,dw-apb-gpio-port";
              gpio-controller;
              #gpio-cells = <2>;
              ngpios = <32>;
              reg = <0>;
       };
};

device_foo {
	status = "okay"
	...;
	reset-gpio = <&porta, 0, GPIO_ACTIVE_HIGH>;
};

If I change the reset-gpio property to use another kind of gpio phandle,
e.g gpio expander, then device_foo can be probed successfully.

The gpio expander dt node looks like:

	expander3: gpio at 44 {
                compatible = "fcs,fxl6408";
                pinctrl-names = "default";
                pinctrl-0 = <&expander3_pmux>;
                reg = <0x44>;
                gpio-controller;
                #gpio-cells = <2>;
                interrupt-parent = <&portb>;
                interrupts = <23 IRQ_TYPE_NONE>;
                interrupt-controller;
                #interrupt-cells = <2>;
        };

The common pattern looks like the devlink can't cope with suppliers from
child dt node.

Any suggestions?

Thanks in advance,
Jisheng



More information about the linux-arm-kernel mailing list