[En-Nut-Discussion] Next Nut/OS 5 release candidate
Uwe Bonnes
bon at elektron.ikp.physik.tu-darmstadt.de
Thu Oct 11 16:25:39 CEST 2012
>>>>> "Harald" == Harald Kipp <harald.kipp at egnite.de> writes:
Harald> Hi Uwe, On 11.10.2012 12:28, Uwe Bonnes wrote:
>>>>>>> "Harald" == Harald Kipp <harald.kipp at egnite.de> writes:
Harald> And the latter causes the following problem (probably on all ARM
Harald> targets):
>> Could you test current svn?
Harald> r4751 fixed this.
Good
>> I started a discusssion some time ago about the need for most
>> GPIO_CFG defines common. I couldn't make my arguments
>> understandable. Are they more understandable now?
Harald> What thread are you referring to. This one?
Harald> http://lists.egnite.de/pipermail/en-nut-discussion/2012-September/013942.html
No. I meant
http://lists.egnite.de/pipermail/en-nut-discussion/2012-July/013712.html
>> Rethinking the commit, probably in nut/include/dev/gpio.h after all
>> includes #if !defined(GPIO_CFG_INIT_HIGH) #define GPIO_CFG_INIT_HIGH
>> 0 #endif
>>
>> #if !defined(GPIO_CFG_INIT_LOW) #define GPIO_CFG_INIT_LOW 0 #endif
>>
>> would have been better. Should I do another commit?
Harald> No, I'd prefer the current solution. With the one above the
Harald> individual driver is no longer able to properly adapt to a
Harald> missing feature, like
Harald> int FooBarApi(void) {
Harald> #ifdef GPIO_CFG_INIT_HIGH /* Normal code. */
Harald> ... return 0;
Harald> #else /* Not supported, return an error. */
Harald> return -1;
Harald> #endif
Harald> }
But with nut/include/dev/gpio.h containing
#define GPIO_CFG_UNIMPLEMENTED 0
#if !defined(GPIO_CFG_INIT_HIGH)
#define GPIO_CFG_INIT_HIGH GPIO_CFG_UNIMPLEMENTED
#endif
#if !defined(GPIO_CFG_INIT_LOW)
#define GPIO_CFG_INIT_LOW GPIO_CFG_UNIMPLEMENTED
#endif
, your user code above _can_ do
#if (GPIO_CFG_INIT_LOW == GPIO_CFG_UNIMPLEMENTED)
==warn user==
#endif
if the requested feature is essential, but compile will _not_ break if user
code handles the feature as a welcome feature, not a must..
As with time more architectures will implement the feature, the always
needed check in your code above become more and more superfluous...
Bye
--
Uwe Bonnes bon at elektron.ikp.physik.tu-darmstadt.de
Institut fuer Kernphysik Schlossgartenstrasse 9 64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------
More information about the En-Nut-Discussion
mailing list