From: Marek Vasut <marex@denx.de>
To: Paul Eggleton <paul.eggleton@linux.intel.com>
Cc: openembedded-core@lists.openembedded.org
Subject: Re: [PATCH 4/8] kernel: Pull uImage generation into separate class
Date: Tue, 12 May 2015 21:27:30 +0200 [thread overview]
Message-ID: <201505122127.30772.marex@denx.de> (raw)
In-Reply-To: <2038782.k0jOjIWbIe@peggleto-mobl.ger.corp.intel.com>
On Tuesday, May 12, 2015 at 06:18:15 PM, Paul Eggleton wrote:
> On Tuesday 12 May 2015 11:38:14 Bruce Ashfield wrote:
> > On 2015-05-12 10:15 AM, Paul Eggleton wrote:
> > > On Monday 04 May 2015 23:41:47 Marek Vasut wrote:
> > >> On Tuesday, April 28, 2015 at 11:16:17 PM, Marek Vasut wrote:
> > >>> On Tuesday, April 28, 2015 at 08:44:54 PM, Bruce Ashfield wrote:
> > >>>> On 2015-04-28 12:38 PM, Marek Vasut wrote:
> > >>>>> Pull the uImage image format generation from kernel.bbclass into
> > >>>>> a separate kernel-uimage.bbclass. The recipes which now need to
> > >>>>> generate an uImage will have to inherit kernel-uimage instead of
> > >>>>> kernel class.
> > >>>>>
> > >>>>> Signed-off-by: Marek Vasut <marex@denx.de>
> > >>>>> Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
> > >>>>> Cc: Koen Kooi <koen@dominion.thruhere.net>
> > >>>>> Cc: Paul Eggleton <paul.eggleton@linux.intel.com>
> > >>>>> Cc: Ross Burton <ross.burton@intel.com>
> > >>>>> Cc: Bruce Ashfield <bruce.ashfield@windriver.com>
> > >>>>> ---
> > >>>>>
> > >>>>> meta/classes/kernel-uimage.bbclass | 48
> > >>>>> +++++++++++++++++++++++++++++++++ meta/classes/kernel.bbclass
> > >>>>>
> > >>>>> | 55 +++++++------------------------------- 2 files changed, 58
> > >>>>>
> > >>>>> insertions(+), 45 deletions(-)
> > >>>>> create mode 100644 meta/classes/kernel-uimage.bbclass
> > >>>>>
> > >>>>> NOTE: The "inherit kernel-uimage" in kernel.bbclass should be
> > >>>>> changed to
> > >>>>>
> > >>>>> something like "inherit
> > >>>>> kernel-${@d.getVar("KERNEL_IMAGETYPE", True).lower()}" but
> > >>>>> the problem is that I only want to perform the inheritance
> > >>>>> for uimage and fitimage, the other image types don't need
> > >>>>> to inherit any additional special stuff. Paul suggested I
> > >>>>> can do "inherit <empty here>". This would at least let me
> > >>>>> implement a python function which returns either
> > >>>>> "kernel-uimage", "kernel-fitimage" or "" and based on
> > >>>>> that, I could inherit the particular image type specifics
> > >>>>> into kernel.bbclass.
> > >>>>> What I don't know how to implement well is this function
> > >>>>> which returns those three strings based on the
> > >>>>> KERNEL_IMAGETYPE. What
> > >>>>> I would like to avoid is encoding those strings explicitly
> > >>>>> into
> > >>>>> the function, since that would force each new kernel image
> > >>>>> format to also edit this function in kernel.bbclass .
> > >>>>> Apparently, checking whether class exists and inheriting it
> > >>>>> only if it does is also not a simple task.
> > >>>>
> > >>>> Agreed that this would be better. It would remove a lot of the
> > >>>> checks in the other tasks for the image type.
> > >>>
> > >>> Hi!
> > >>>
> > >>> Yes, that's indeed true. All the image type checks would disappear
> > >>> from kernel-uimage and kernel-fitimage bbclasses.
> > >>>
> > >>>> I'm not aware of the exact details on how to make this work, but
> > >>>> hopefully others have the foo.
> > >>
> > >> Any ideas please ?
> > >
> > > To me this is about how we wish to structure these classes. That's not
> > > my call, but to enumerate the options - unless I'm missing something
> > > we have to choose between:
> > >
> > > 1) Hardcode uimage/fitimage. Hard to extend.
> > >
> > > 2) inherit kernel-<type> and just insist that a class for every image
> > > type exists. Ugly and kernel-*.bbclass already exists.
> > >
> > > 3) Try to search for a kernel-<type> class and inherit it if one is
> > > found. AFAIK we don't do this kind of thing anywhere else so this
> > > doesn't seem right to me.
> > >
> > > 4) Establish some other mechanism for registering kernel image type
> > > classes
> > > (KERNEL_CLASSES ?). Not sure if we want to do this but it is at least a
> > > common mechanism elsewhere in the system.
> >
> > I wasn't familiar with an option like this, but if we can do something
> > for the kernel classes that follows the existing patterns .. it makes
> > a lot of sense. I really don't want to invent something new here either.
> >
> > So something along the lines of the way that image.bbclass works with
> > the IMAGE_CLASSES ?
>
> Indeed, that's what I was referring to.
Doesn't that mean it would be possible for kernel.bbclass to inherit multiple
classes -- for example kernel-uimage.bbclass and kernel-fitimage.bbclass -- at
the same time ? Won't that make it impossible to remove the kernel type checks
in kernel-uimage.bbclass ? But maybe having those checks in place is the right
thing to do since there might be a target building both fitImage and uImage at
the same time?
next prev parent reply other threads:[~2015-05-12 19:32 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-04-28 16:38 [PATCH 0/8] Add basic fitImage support Marek Vasut
2015-04-28 16:38 ` [PATCH 1/8] kernel: Clean up KERNEL_IMAGETYPE_FOR_MAKE Marek Vasut
2015-04-28 16:38 ` [PATCH 2/8] kernel: Rework do_uboot_mkimage Marek Vasut
2015-04-28 16:38 ` [PATCH 3/8] kernel: Pull out the linux.bin generation Marek Vasut
2015-04-28 16:38 ` [PATCH 4/8] kernel: Pull uImage generation into separate class Marek Vasut
2015-04-28 18:44 ` Bruce Ashfield
2015-04-28 21:16 ` Marek Vasut
2015-05-04 21:41 ` Marek Vasut
2015-05-12 14:15 ` Paul Eggleton
2015-05-12 15:38 ` Bruce Ashfield
2015-05-12 16:18 ` Paul Eggleton
2015-05-12 19:27 ` Marek Vasut [this message]
2015-05-12 20:57 ` Paul Eggleton
2015-05-12 22:18 ` Marek Vasut
2015-05-12 22:27 ` Paul Eggleton
2015-05-13 7:17 ` Marek Vasut
2015-04-28 16:38 ` [PATCH 5/8] kernel: Separate out uboot_prep_kimage Marek Vasut
2015-04-28 16:38 ` [PATCH 6/8] kernel: Build DTBs early Marek Vasut
2015-04-28 16:38 ` [PATCH 7/8] kernel: Add basic fitImage support Marek Vasut
2015-04-28 16:38 ` [PATCH 8/8] kernel: Build uImage only when really needed Marek Vasut
2015-04-28 18:43 ` Bruce Ashfield
2015-04-28 21:15 ` Marek Vasut
2015-04-28 18:45 ` [PATCH 0/8] Add basic fitImage support Bruce Ashfield
2015-04-28 20:06 ` Marek Vasut
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201505122127.30772.marex@denx.de \
--to=marex@denx.de \
--cc=openembedded-core@lists.openembedded.org \
--cc=paul.eggleton@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox