Hi Simon On Sat, 15 Dec 2012, Simon Horman wrote:
> On Fri, Dec 14, 2012 at 05:45:29PM +0100, Guennadi Liakhovetski wrote: > > For boards booting without DT no changes should be caused by this patch. > > When booting with DT, devices, whose drivers support DT probing, will not > > be registered. > > This relates in part to my comment on "ARM: sh7372: support mixed DT and > board code interrupt controller init". > > It is my understanding that sh7372_add_standard_devices_dt() already > exists in setup-sh7372.c and that it is appropriate to use for bring > up boards with DT. I think, we partially clarified this already in the discussion of patch 6/7. This patch makes it possible to use standard functions, e.g. sh7372_add_standard_devices() from both DT and non-DT boots. Whereas when booting with DT, devices, for which sufficient DT support already exists, have to be initialised from DT. Thanks Guennadi > > Signed-off-by: Guennadi Liakhovetski <[email protected]> > > --- > > arch/arm/mach-shmobile/setup-sh7372.c | 17 ++++++++++++++--- > > 1 files changed, 14 insertions(+), 3 deletions(-) > > > > diff --git a/arch/arm/mach-shmobile/setup-sh7372.c > > b/arch/arm/mach-shmobile/setup-sh7372.c > > index bbe6e2a..3e6bf3d 100644 > > --- a/arch/arm/mach-shmobile/setup-sh7372.c > > +++ b/arch/arm/mach-shmobile/setup-sh7372.c > > @@ -981,9 +981,12 @@ static struct platform_device *sh7372_early_devices[] > > __initdata = { > > &tmu01_device, > > }; > > > > -static struct platform_device *sh7372_late_devices[] __initdata = { > > +static struct platform_device *sh7372_late_devices_dt[] __initdata = { > > &iic0_device, > > &iic1_device, > > +}; > > + > > +static struct platform_device *sh7372_late_devices[] __initdata = { > > &dma0_device, > > &dma1_device, > > &dma2_device, > > @@ -1012,13 +1015,11 @@ void __init sh7372_add_standard_devices(void) > > { "A3SP", &scif4_device, }, > > { "A3SP", &scif5_device, }, > > { "A3SP", &scif6_device, }, > > - { "A3SP", &iic1_device, }, > > { "A3SP", &dma0_device, }, > > { "A3SP", &dma1_device, }, > > { "A3SP", &dma2_device, }, > > { "A3SP", &usb_dma0_device, }, > > { "A3SP", &usb_dma1_device, }, > > - { "A4R", &iic0_device, }, > > { "A4R", &veu0_device, }, > > { "A4R", &veu1_device, }, > > { "A4R", &veu2_device, }, > > @@ -1027,6 +1028,10 @@ void __init sh7372_add_standard_devices(void) > > { "A4R", &tmu00_device, }, > > { "A4R", &tmu01_device, }, > > }; > > + struct pm_domain_device domain_devices_dt[] = { > > + { "A3SP", &iic1_device, }, > > + { "A4R", &iic0_device, }, > > + }; > > > > sh7372_init_pm_domains(); > > > > @@ -1035,9 +1040,15 @@ void __init sh7372_add_standard_devices(void) > > > > platform_add_devices(sh7372_late_devices, > > ARRAY_SIZE(sh7372_late_devices)); > > + if (!of_have_populated_dt()) > > + platform_add_devices(sh7372_late_devices_dt, > > + ARRAY_SIZE(sh7372_late_devices_dt)); > > > > rmobile_add_devices_to_domains(domain_devices, > > ARRAY_SIZE(domain_devices)); > > + if (!of_have_populated_dt()) > > + rmobile_add_devices_to_domains(domain_devices_dt, > > + ARRAY_SIZE(domain_devices_dt)); > > } > > > > static void __init sh7372_earlytimer_init(void) > > -- > > 1.7.2.5 --- Guennadi Liakhovetski, Ph.D. Freelance Open-Source Software Developer http://www.open-technology.de/ _______________________________________________ devicetree-discuss mailing list [email protected] https://lists.ozlabs.org/listinfo/devicetree-discuss
