Re: [PATCH 2/2] drivercore: Fix unregistration path of platform devices

From: Tony Lindgren
Date: Tue Jun 16 2015 - 03:58:28 EST


* Rob Herring <robherring2@xxxxxxxxx> [150610 07:06]:
>
> I've looked at some of the failures. Armada 370 looks normal AFAICT,
> but the network device evidently does not probe. i.MX6 has no log, but
> IIRC it is what failed previously on Grant's last attempt. For OMAP4,
> I found the overlapping region here:
>
> omap4_padconf_core: scm@100000 {
> compatible = "ti,omap4-scm-padconf-core",
> "simple-bus";
> #address-cells = <1>;
> #size-cells = <1>;
> ranges = <0 0x100000 0x1000>;
>
> omap4_pmx_core: pinmux@40 {
> compatible = "ti,omap4-padconf",
> "pinctrl-single";
> reg = <0x40 0x0196>;
> #address-cells = <1>;
> #size-cells = <0>;
> #interrupt-cells = <1>;
> interrupt-controller;
> pinctrl-single,register-width = <16>;
> pinctrl-single,function-mask = <0x7fff>;
> };
>
> omap4_padconf_global: omap4_padconf_global@5a0 {
> compatible = "syscon";
> reg = <0x5a0 0x170>;
> #address-cells = <1>;
> #size-cells = <1>;
>
> pbias_regulator: pbias_regulator {
> compatible = "ti,pbias-omap";
> reg = <0x60 0x4>;
>
> 0x60 is within the pinmux range of 0x40-0x1d6.
>
> But why is the regulator a sub node here instead of omap4_pmx_core?

I don't think the reg entry is in use here as the pbias_regulator uses
syscon_regmap_lookup_by_phandle via syscon.

> syscon =
> <&omap4_padconf_global>;
>
> This seems to indicate that 0x60 is supposed to be an offset from
> 0x5a0. That would require a ranges property in the parent. Is this an
> error?

Yeah we should add ranges to padconf_global so drivers not using syscon
can just do of_ioremap for a dedicated range of registers within the
padconf_global. That area has things like PHYs, regulators and clocks.

Regards,

Tony
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/