Patches to add basic support for the Suunto EON Steel

Jef Driesen jef at libdivecomputer.org
Mon Nov 3 15:18:20 PST 2014


On 03-11-14 17:31, Linus Torvalds wrote:
>
> On Nov 3, 2014 8:12 AM, "Jef Driesen" <jef at libdivecomputer.org
> <mailto:jef at libdivecomputer.org>> wrote:
>  >
>  > Also, my patch with the casts was merely to indicate where the problems were,
> and not supposed to be applied as is. Ideally I would rather see the root
> problem "fixed" instead of fixing the symptoms.
>
> But the root problem is that you're compiler is wrong. Anything else is just
> papering over that issue. The code is C, and better idiomatic C at that.
>
> How the heck can I fix the "root" problem that you aren't even using a proper C
> compiler, and then make up your own rules about what code is supposed to look
> like, but those rules aren't even the patches you send me?
>
> Jef, that's just crazy. If you have random personal rules that don't even make
> sense in the context of the language, then make those changes yourself. Don't
> make me have to guess what your are thinking. I don't have ESP and unlike you I
> don't have a broken  compiler, or think that I should care about the
> known-broken warning messages from it.
>
> So now you tell me that the patch y patch sent me want even what you wanted.
> Really, I'm not willing to play some clown to your crazy rules.
>
> Dirk, please take over. I'm done.

Well, I can't really do much about the lack of C99 support in the msvc compiler. 
I'm the first to admit that compiling as C++ is one ugly hack. But I'm willing 
to pay that price because msvc support matters for many Windows developers (and 
no, I'm not one of those). Windows happens to be one of the officially supported 
platforms. It's fine if *you* don't care about that, but libdivecomputer does... 
and thus every new backend too.

Anyway, I was just trying to be helpful and point out where the issues with msvc 
where, in order to get the eonsteel backend ready as soon as possible. I don't 
think I ever said you have to fix those issues all by yourself. If you told me 
"Hey Jef, Here's what I have already. It works fine on Linux, but I don't want 
to deal with all those crazy msvc workarounds. Just take the code and do 
whatever you need to do to get it working with msvc." or something like that, 
then that would have been fine too. Then me, or someone else, can take care of 
that. It's a public mailinglist after all. Granted, it would likely take a bit 
longer before I would be able to work on that.

But... and correct me if I wrong, I had the impression that we wanted to have 
this ready as fast as possible. So I did an effort to provide feedback as quick 
as possible and try to clearly explain the kind of changes I wanted. And that 
included those extra msvc tricks. So I just fired up my Windows VM to check what 
the msvc compiler didn't like and send you a quick "patch". Maybe I should have 
been a bit more explicit there.


Do you really consider the changes I asked unreasonable? The only changes I 
really insist on are proper integration into the existing infrastructure, and a 
working build on all supported platforms. That doesn't sound crazy to me. And 
here I'm not even talking about those pointer casts (which are strictly speaking 
also required for proper C code, except for void pointers).

A small analogy. What would you say if I submit a linux kernel patch and say 
"Hey, I didn't like the existing printk function, so I just used my own custom 
logging function." Won't your response be something along the lines of "Hey, 
whether you like it or not, but the kernel uses printk, so please use that."? 
Because that's what I have been asking.


So how do we proceed next? Do I take your code and integrate the logging and 
msvc stuff myself?

Jef


More information about the devel mailing list