All of lore.kernel.org
 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.