2011/6/2 Grant Likely <[email protected]>:
> On Wed, Jun 1, 2011 at 1:07 AM, Barry Song <[email protected]> wrote:
>> 2011/5/28 John Bonesio <[email protected]>:
>>> This patch makes it so the top level audio card is initialized from the
>>> device
>>> tree. This is just the first step getting the audio complex of devices
>>> iniialized from device tree nodes.
>>>
>>> Signed-off-by: John Bonesio<[email protected]>
>>> ---
>>>
>>> arch/arm/boot/dts/tegra-harmony.dts | 4 +++
>>> arch/arm/mach-tegra/board-dt.c | 3 ++
>>> sound/soc/tegra/harmony.c | 45
>>> ++++++++++++++++++++++++++++++++---
>>> 3 files changed, 48 insertions(+), 4 deletions(-)
>>>
>>> diff --git a/arch/arm/boot/dts/tegra-harmony.dts
>>> b/arch/arm/boot/dts/tegra-harmony.dts
>>> index 05521a5..217a7f0 100644
>>> --- a/arch/arm/boot/dts/tegra-harmony.dts
>>> +++ b/arch/arm/boot/dts/tegra-harmony.dts
>>> @@ -53,6 +53,10 @@
>>> clock-frequency = <400000>;
>>> };
>>>
>>> + harmony_audio: audio_card {
>>> + compatible = "nvidia,harmony-audio";
>>> + };
>>> +
>>> serial@70006300 {
>>> status = "ok";
>>> clock-frequency = < 216000000 >;
>>> diff --git a/arch/arm/mach-tegra/board-dt.c b/arch/arm/mach-tegra/board-dt.c
>>> index c498e84..a569ad9 100644
>>> --- a/arch/arm/mach-tegra/board-dt.c
>>> +++ b/arch/arm/mach-tegra/board-dt.c
>>> @@ -56,6 +56,9 @@ static struct platform_device *tegra250_devices[]
>>> __initdata = {
>>> &tegra_i2c_device2,
>>> &tegra_i2c_device3,
>>> &tegra_i2c_device4,
>>> + &tegra_i2s_device1,
>>> + &tegra_das_device,
>>> + &tegra_pcm_device,
>>
>> i am thinking whether platform_device should be created by
>> of_platform_device_create after scanning device tree, but not by
>> hard-code? looks like the two patches are only trying to let device
>> tree deliver gpio to drivers?
>
> Can you please restate your question? I don't think I understand what
> you are trying to ask.
i mean we don't need to have this platform device registerred by the
old way here. we may get it by matching information in dts and delete
all platform_device and related codes in arch/arm. For example:
dts:
amba {
compatible = "simple-bus";
#address-cells = <1>;
#size-cells = <1>;
ranges;
harmony_audio: audio_card {
compatible = "nvidia,harmony-audio";
.....
};
....
....
}
then in arch/arm board file, let the platform device registerred automatically:
static struct of_device_id cell_bus_ids[] __initdata = {
{ .compatible = "simple-bus", },
{},
};
static int __init cell_publish_devices(void)
{
of_platform_bus_probe(NULL, cell_bus_ids, NULL);
return 0;
}
>
> g.
>
> _______________________________________________
> linux-arm-kernel mailing list
> [email protected]
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>
_______________________________________________
devicetree-discuss mailing list
[email protected]
https://lists.ozlabs.org/listinfo/devicetree-discuss