Re: [PATCH v2 0/4] Support for Qualcomm QPNP PMIC's

From: Grant Likely
Date: Tue Jul 29 2014 - 20:56:32 EST


On Fri, 18 Jul 2014 19:13:52 +0300, Stanimir Varbanov <svarbanov@xxxxxxxxxx> wrote:
> On 07/18/2014 02:10 AM, Stephen Boyd wrote:
> > On 07/17/14 09:17, Stanimir Varbanov wrote:
> >> Hello everyone,
> >>
> >> Here is the continuation of patch sets sent recently about Qualcomm
> >> QPNP SPMI PMICs.
> >>
> >> The previous version of the patch set can be found at [1].
> >>
> >> Changes since v1:
> >> - removed completely custom *of* parser
> >> - renamed the mfd driver from qpnp-spmi to pm8xxx-spmi
> >> - now MFD_PM8XXX_SPMI Kconfig option depends on SPMI
> >>
> >> Removing of the custom *of* parser leads to that that the *reg* devicetree
> >> property cannot exist and therefore cannot be parsed to get PMIC peripheral
> >> resources. I took this step aside because no one from mfd drivers does this
> >> parsing. This will lead to inconvenience in the peripheral drivers to define
> >> internally the SPMI base addresses depending on the compatible property
> >> i.e. PMIC version.
> >
> > We should teach the of platform layer to translate reg properties up
> > until the point that they can't be translated anymore. If they can't be
> > translated all the way back to cpu addresses we can make the resource
> > have IORESOURCE_REG instead of IORESOURCE_MEM and then said pmic
> > platform drivers can use platform_get_resource() with IORESOURCE_REG
> > instead of IORESOURCE_MEM to get the addresses.
> >
>
> I considered this as an option, if it is acceptable by OF maintainers it
> will be awesome.
>
> Rob, Grant, is that feasible?

It doesn't really make sense to do that kind of translation because the
resulting address only makes sense if you also know which node the
translation stopped at.

A better solution is a new api for retrieving bus-local addresses
instead of a global physical address. That would requires passing in a
node or device to use as the translation root. If the child isn't a
descended of that node, or if translation isn't possible then it should
straight out fail instead of providing a partially translated value.

g.

--
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/