Re: [PATCH 1/2] regulator: pbias: use untranslated address to program pbias regulator

From: Grygorii Strashko
Date: Thu Aug 06 2015 - 05:58:22 EST


On 08/06/2015 09:26 AM, Tony Lindgren wrote:
> * Kishon Vijay Abraham I <kishon@xxxxxx> [150805 07:59]:
>> Hi Tony,
>>
>> On Wednesday 05 August 2015 03:17 PM, Tony Lindgren wrote:
>>> * Kishon Vijay Abraham I <kishon@xxxxxx> [150727 04:27]:
>>>> vsel_reg and enable_reg of the pbias regulator descriptor should actually
>>>> have the offset from syscon. However after the pbias device tree node
>>>> is moved as a child node of syscon, vsel_reg and enable_reg has the
>>>> absolute address because of the address translation that happens while
>>>> creating device from device tree node.
>>>> So avoid using platform_get_resource and use of_get_address in order to
>>>> get only the offset (untranslated address) and populate these in
>>>> vsel_reg and enable_reg.
>>>
>>> I think this gets fixed automatically with your other series
>>> adding the "simple-bus" to the nodes. For the children of_ioremap
>>
>> Nope. The probe of pbias regulator fails as Grygorii has already pointed out
>> here [1].
>
> Oh I see, you want the offset from syscon, not the virtual address of
> the register. Yeah then it makes sense to me. You could also get the
> offset by doing res->start & 0xff or something but I don't know if
> that's any better. I guess ideallly we'd have some syscon function
> to get the offest from the syscon base if it does not exist already.

Hypothetically, the "syscon" property can be used to get register offset
syscon = <&scm_conf 0xe00>;
and even "reg" property can be dropped if driver uses syscon/regmap only for io.

But, in this particular case, such change will lead to DT compatibility issues :(

--
regards,
-grygorii
--
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/