[RFC 1/2] ARM:Tegra: Device Tree Support: Initialize the audio card from the device tree.

Barry Song 21cnbao at gmail.com
Mon Jun 6 23:44:01 EDT 2011


2011/6/3 Barry Song <21cnbao at gmail.com>:
> 2011/6/3 Russell King - ARM Linux <linux at arm.linux.org.uk>:
>> On Thu, Jun 02, 2011 at 10:04:45AM -0600, Grant Likely wrote:
>>> Right now we can't do dynamic registration for on-chip devices in a
>>> lot of cases because we don't have the infrastructure to hook up the
>>> associated struct clks.
>>
>> I've been wondering about this, and I don't see it as a blocking problem
>> as you seem to be.
>>
>> I assume platform devices have stable names when they're created from
>> the device tree?  If yes, there's no problem having the DT start to
>> describe the SoC specific devices _today_ - all that the clk API using
>> clkdev requires is a stable device name.
>
> when i write the following nodes in dts,
>
> uart0: uart at 0xb0060000 {
>        compatible = "sirf,uart";
>        ...
> }
>
> uart1: uart at 0xb0050000 {
>        compatible = "sirf,uart";
>        ...
> }
>
> uart2: uart at 0xb0070000 {
>        compatible = "sirf,uart";
>        ...
> }
>
> then create these platform devices by of_platform_xxx things, i get
> some platform devices like the below.
>
> b0060000.uart
> b0050000.uart
> b0070000.uart
>
> so these are the "stable names" you are talking about? or something else?

if so, we will need some clk_lookup table like:

#define CLK(_clk, _devname, _conname)                   \
        {                                               \
                .clk    = &clk_##_clk,                  \
                .dev_id = _devname,                     \
                .con_id = _conname,                     \
        }

CLK(uart0,      "b0060000.uart",        NULL),
CLK(uart1,      "b0050000.uart",        NULL),
CLK(uart2,      "b0070000.uart",        NULL),

it looks not like what we want too.

>
>>
>



More information about the linux-arm-kernel mailing list