Openembedded Core Discussions
 help / color / mirror / Atom feed
From: Bruce Ashfield <bruce.ashfield@windriver.com>
To: Paul Eggleton <paul.eggleton@linux.intel.com>,
	<openembedded-core@lists.openembedded.org>
Cc: Marek Vasut <marex@denx.de>
Subject: Re: [PATCH 4/8] kernel: Pull uImage generation into separate class
Date: Tue, 12 May 2015 11:38:14 -0400	[thread overview]
Message-ID: <55521E66.4090908@windriver.com> (raw)
In-Reply-To: <59645923.jaN1ZMuDDz@peggleto-mobl.ger.corp.intel.com>

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 ?

Bruce

>
> Cheers,
> Paul
>



  reply	other threads:[~2015-05-12 15:38 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 [this message]
2015-05-12 16:18             ` Paul Eggleton
2015-05-12 19:27               ` Marek Vasut
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=55521E66.4090908@windriver.com \
    --to=bruce.ashfield@windriver.com \
    --cc=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