public inbox for ecos-maintainers@sourceware.org
 help / color / mirror / Atom feed
From: Bart Veer <bartv@ecoscentric.com>
To: John Dallaway <john@dallaway.org.uk>
Cc: jifl@ecoscentric.com, ecos-maintainers@ecos.sourceware.org
Subject: Re: Flash subsystem update
Date: Thu, 19 Feb 2009 15:13:00 -0000	[thread overview]
Message-ID: <pnhc2qjw99.fsf@delenn.bartv.net> (raw)
In-Reply-To: <499D6F37.7090902@dallaway.org.uk> (message from John Dallaway on 	Thu, 19 Feb 2009 14:39:51 +0000)

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 3072 bytes --]

>>>>> "John" == John Dallaway <john@dallaway.org.uk> writes:

    John> Hi Jifl and Bart
    John> Jonathan Larmour wrote:

    >> ... I'm checking in a patch which updates cyg_flash_init to remove
    >> its argument (I toyed with keeping the argument and deprecating it
    >> but that seemed the worst of all worlds by hiding the change for any
    >> existing API users). And the main benefit of doing so is that later
    >> on we can do:
    >> #define cyg_flash_init() CYG_EMPTY_STATEMENT
    >> and there's no overhead, and no API breakage.

    John> and Bart Veer replied:

    >> Your change to cyg_flash_init() has broken API compatibility
    >> for every flash-using application that has used the V2 flash
    >> branch since it was created. It has also broken API
    >> compatibility for every application that has used the V2 flash
    >> API since that was merged into the anoncvs trunk. It has also
    >> broken API compatibility for every eCosPro release for the last
    >> four years or so.

    John> So it seems you have opposite perspectives on whether it is
    John> preferable to:

    John> a) preserve API compatibility when the flash subsystem
    John> switches over to using a prioritized constructor, leaving
    John> legacy support code in place for the foreseeable future

    John> or

    John> b) break API compatibility now, drawing the attention of
    John> developers to the forthcoming change and providing a route
    John> to the complete elimination of deprecated code in the future

    John> There is no "right answer" here, but I would note that:

    John> * A major new release of the code is the best time to make
    John> forward-looking API changes

    John> * As things stand, breakage to existing application builds will be
    John> trivial to fix at the application level

    John> I suggest we give the other eCos maintainers an opportunity
    John> to comment today. I will defer branching for eCos 3.0 until
    John> tomorrow morning.

No, you still don't understand. My original proposal NEVER breaks
compatibility. Not now, because it involved zero changes to the API.
Not in future, because there will always be a cyg_flash_init() with
the exact same interface as it does now. It will become deprecated but
it will still exist.

Jifl's patches have broken API compatibility with existing code. In
future his modified cyg_flash_init() will still exist but it will be
deprecated in the same way as per my proposal.

So Jifl's patches have gained us absolutely nothing. However they have
broken compatibility for existing applications, and with 4+ years of
eCosPro releases.

Bart

-- 
Bart Veer                                   eCos Configuration Architect
eCosCentric Limited    The eCos experts      http://www.ecoscentric.com/
Barnwell House, Barnwell Drive, Cambridge, UK.      Tel: +44 1223 245571
Registered in England and Wales: Reg No 4422071.
Besuchen Sie uns vom 3.-5.03.09 auf der Embedded World 2009, Stand 11-300
Visit us at Embedded World 2009, Nürnberg, Germany, 3-5 Mar, Stand 11-300

  reply	other threads:[~2009-02-19 15:13 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-02-11  9:07 eCos 3.0 beta 1 punch list #2 John Dallaway
2009-02-13 19:56 ` Bart Veer
2009-02-17  1:29   ` Jonathan Larmour
2009-02-17  9:18     ` Jonathan Larmour
2009-02-17  9:34     ` Flash subsystem update [ was Re: eCos 3.0 beta 1 punch list #2 ] John Dallaway
2009-02-17 22:01       ` Flash subsystem update John Dallaway
2009-02-18 12:47         ` Bart Veer
2009-02-19  0:08           ` Jonathan Larmour
2009-02-19 11:50             ` Bart Veer
2009-02-19 14:40               ` John Dallaway
2009-02-19 15:13                 ` Bart Veer [this message]
2009-02-19 20:53                   ` Jonathan Larmour
2009-02-20  9:16                 ` John Dallaway
2009-02-19 20:31               ` Jonathan Larmour
2009-02-20 12:55                 ` Bart Veer
2009-02-20 21:22                   ` Jonathan Larmour
2009-02-17 21:07     ` eCos 3.0 beta 1 punch list #2 Bart Veer
2009-02-17 23:10       ` Jonathan Larmour
2009-02-19  0:48 ` 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=pnhc2qjw99.fsf@delenn.bartv.net \
    --to=bartv@ecoscentric.com \
    --cc=ecos-maintainers@ecos.sourceware.org \
    --cc=jifl@ecoscentric.com \
    --cc=john@dallaway.org.uk \
    /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).