From mboxrd@z Thu Jan 1 00:00:00 1970 From: Grant Likely Subject: Re: [PATCH v3 07/24] C6X: devicetree support Date: Wed, 28 Sep 2011 18:11:12 -0500 Message-ID: <20110928231112.GE2838@ponder.secretlab.ca> References: <1317155405-26235-1-git-send-email-msalter@redhat.com> <1317155405-26235-8-git-send-email-msalter@redhat.com> <201109281531.36792.arnd@arndb.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Content-Disposition: inline In-Reply-To: <201109281531.36792.arnd@arndb.de> Sender: linux-kernel-owner@vger.kernel.org To: Arnd Bergmann Cc: Mark Salter , linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, devicetree-discuss@lists.ozlabs.org List-Id: devicetree@vger.kernel.org On Wed, Sep 28, 2011 at 03:31:36PM +0200, Arnd Bergmann wrote: > On Tuesday 27 September 2011, Mark Salter wrote: > > diff --git a/arch/c6x/boot/install-dtb.c b/arch/c6x/boot/install-dtb.c > > new file mode 100644 > > index 0000000..fa979ce > > --- /dev/null > > +++ b/arch/c6x/boot/install-dtb.c > > @@ -0,0 +1,333 @@ > > +/* > > + * Program to hack in a DTB to an ELF file having a placeholder > > + * section named __fst_blob. > > + * > > + * This allows for building multiple images with builtin DTBs > > + * using a single vmlinux image. This is only necessary until > > + * bootloader support exists. > > + * > > + * Copyright 2011 Texas Instruments Incorporated > > + * > > + * This program is free software; you can redistribute it and/or > > + * modify it under the terms of the GNU General Public License > > + * as published by the Free Software Foundation; either version > > + * 2 of the License, or (at your option) any later version. > > + * > > + * Usage: install-dtb > > + */ > > Other architectures allow simply appending the device tree to the > kernel image file, which is more convenient for users and does > not require much kernel support. Have you tried this? > > > diff --git a/arch/c6x/platforms/platform.c b/arch/c6x/platforms/platform.c > > new file mode 100644 > > index 0000000..ad4651c > > --- /dev/null > > +++ b/arch/c6x/platforms/platform.c > > @@ -0,0 +1,17 @@ > > + > > +static int __init c6x_device_probe(void) > > +{ > > + of_platform_bus_probe(NULL, of_default_bus_match_table, NULL); > > + return 0; > > +} > > +device_initcall(c6x_device_probe); > > device_initcall is run rather late. I think it would be more useful > to run this as early as possible, in order to make it possible to > have more of the core services probed through the device tree. > > I also think that for probing the device tree root, you should be > using of_platform_populate instead of of_platform_bus_probe > nowadays. Maybe Grant can provide more information on this. Yes. Use of_platform_populate(). It's better. g.