public inbox for ecos-devel@sourceware.org
 help / color / mirror / Atom feed
From: John Dallaway <john@dallaway.org.uk>
To: Jonathan Larmour <jifl@jifvik.org>
Cc: eCos development list <ecos-devel@ecos.sourceware.org>
Subject: Re: CDL usage and improvements
Date: Sun, 15 Apr 2012 19:10:00 -0000	[thread overview]
Message-ID: <4F8B1D26.30908@dallaway.org.uk> (raw)
In-Reply-To: <4F7DFFC8.8010209@jifvik.org>

Hi Jifl

Jonathan Larmour wrote:

> On 05/04/12 20:13, John Dallaway wrote:

>> Jonathan Larmour wrote:
> 
> [Wanting to stop using set_value]
> 
>>> Not really, no. Firstly, other targets use it. Secondly, the design intention
>>> for CDL is that targets should be defined by platform packages, albeit with
>>> "requires" rather than "set_value". As such this is much closer to the way
>>> things are intended to be. Yes it originated as a solution to a specific
>>> problem, but then so is ecos.db, which shouldn't exist at all. What we can do
>>> at the moment is make the transition to a future improved world easier, so that
>>> makes this approach better.
>> 
>> Jifl, there are just four other instances of the use of set_value in
>> ecos.db at present and in every case the command is actually unnecessary
>> as it sets the user_value of a CDL option to the same value as the
>> default_value.
> 
> Actually, you also need to equivalently consider the use "enable", which
> is pointlessly used by the snds, but usefully used by the adder / adderII.

I agree. So prior to your check-in we had 4 unnecessary instances of
"set_value", 3 instances of "enable" (of which 1 was unnecessary) and no
instances of "disable".

>> Discouraging the use of what is known to be a problematic
>> command seems entirely reasonable to me. I think you may be
>> underestimating how useful the "Restore Defaults" command is to regular
>> configtool users. Certainly I would not regard this command 'obscure' by
>> any means.
> 
> Okay, hands up any configtool users (not maintainers) out there who have
> used this command, AND it's done what they wanted.

No responses to date, but I think you would agree that this polling
technique is not the most objective. :-)

> Also, given that the config tool has a long-standing problem of invoking
> the inference engine incorrectly, I would consider "restore defaults" to
> be a rather risky operation - the graphical config tool's inference engine
> has the potential to do something different once things set via templates
> are unwound. It would certainly be extremely noisy. I would have thought
> no-one would use "restore defaults", but instead just create a new
> configuration. That's more straightforward, more familiar and more likely
> to work. "Restore defaults" is probably a misnomer, because it isn't the
> defaults you get when you create a new configuration (although if you are
> lucky it may end up that way after inference / conflict resolution).

In fact, "Restore Defaults" is much more useful when invoked at the CDL
package or CDL component level rather than across the entire eCos
configuration. Creating a new configuration is no substitute in these
scenarios.

>> Given that the design intention is to use platform packages to define
>> targets, I don't understand why you would regard using a "set_value"
>> command (located outside the HAL package hierarchy) as being closer to
>> how things are supposed to be.
> 
> Because the setting of options is associated with the target entry, which
> comes from the platform HAL package.
> 
>> I am suggesting that we use additional
>> platform packages to set configuration options appropriate for specific
>> targets. This seems absolutely aligned with the design intention which
>> allows a combination of HAL packages to describe the hardware.
> 
> I'm not saying it wouldn't work. But I'm against a pointless package
> cluttering up the target-side repository.

I don't think that using separate CDL packages to provide common and
board-specific parts of a platform HAL is so very different from the
partitioning of the HAL across multiple packages to accommodate
processor variants, or other functional blocks with some common
features. One of the great benefits of CDL is that it provides the
flexibility to accommodate abstractions that were not necessarily
envisaged at design-time. The capabilities are all there without the
need for the set_value/enable/disable hacks that deliver user_values
where default_values are required and were never intended to be used
outside the Red Hat test farm.

Jifl, it seems that both our views are quite firm. Since you have
already checked-in the new code and it is unlikely to impact too many
people, I am not inclined to argue this further. However, I would still
recommend that eCos developers avoid use of the "set_value", "enable"
and "disable" commands in ecos.db where possible.

John Dallaway
eCos maintainer
http://www.dallaway.org.uk/john

  parent reply	other threads:[~2012-04-15 19:10 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-05 19:14 John Dallaway
2012-04-05 20:26 ` Jonathan Larmour
2012-04-05 20:34   ` Jonathan Larmour
2012-04-15 19:10   ` John Dallaway [this message]
2012-04-16 15:26     ` Jonathan Larmour

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=4F8B1D26.30908@dallaway.org.uk \
    --to=john@dallaway.org.uk \
    --cc=ecos-devel@ecos.sourceware.org \
    --cc=jifl@jifvik.org \
    /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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).