From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 32488 invoked by alias); 19 Feb 2009 15:13:02 -0000 Received: (qmail 32472 invoked by uid 22791); 19 Feb 2009 15:13:01 -0000 X-SWARE-Spam-Status: No, hits=-1.3 required=5.0 tests=AWL,BAYES_00,SARE_FWDLOOK,SPF_PASS X-Spam-Check-By: sourceware.org Received: from hagrid.ecoscentric.com (HELO mail.ecoscentric.com) (212.13.207.197) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 19 Feb 2009 15:12:55 +0000 Received: from localhost (hagrid.ecoscentric.com [127.0.0.1]) by mail.ecoscentric.com (Postfix) with ESMTP id CD44660B800E; Thu, 19 Feb 2009 15:12:52 +0000 (GMT) Received: from mail.ecoscentric.com ([127.0.0.1]) by localhost (hagrid.ecoscentric.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4O6vSmwPFByu; Thu, 19 Feb 2009 15:12:51 +0000 (GMT) Date: Thu, 19 Feb 2009 15:13:00 -0000 Message-Id: From: Bart Veer To: John Dallaway CC: jifl@ecoscentric.com, ecos-maintainers@ecos.sourceware.org In-reply-to: <499D6F37.7090902@dallaway.org.uk> (message from John Dallaway on Thu, 19 Feb 2009 14:39:51 +0000) Subject: Re: Flash subsystem update References: <4992951D.10004@dallaway.org.uk> <499A12DD.4060609@eCosCentric.com> <499A849D.6030809@dallaway.org.uk> <499B33AE.6050608@dallaway.org.uk> <499CA2FD.2000504@eCosCentric.com> <499D6F37.7090902@dallaway.org.uk> Mailing-List: contact ecos-maintainers-help@ecos.sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: ecos-maintainers-owner@ecos.sourceware.org X-SW-Source: 2009-02/txt/msg00038.txt.bz2 >>>>> "John" == John Dallaway 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