Hi Ronald,

> Or require users to do this manually (card=X insmod
> option)... Anyway, that option isn't finished yet. Didn't
> work on it the past few days (school started again).

Ah. School... *grin* :-)
Well, actually, I wish I had as much free time now as when I was at school :-)

> It's actually a gcc-3.2 problem. With gcc-2.96, it works
> fine. I think you have to use non-concatenated strings
> and use __FUNCTION__

gcc-3.2 is C99 compliant (at least more than gcc 2.95), and C99 defines __func__ as if

static const char __func__[] = \"functionname\";

was inserted at the beginning of each function. It thus does not concatenate. gcc-2.95 let __func__ concatenate, but this is against the C99 standard.

From the gcc-3.2.1 manual, about __FUNCTION__,

\"Note that these semantics are deprecated, and that GCC 3.2 will handle __FUNCTION__ and __PRETTY_FUNCTION__ the same way as __func__. __func__ is defined by th! e ISO standard C99.\"

I thus suggest that we change

printk(KERN_INFO \"%s: \" __func__ \" - blabla \", zr->name);

to

printk(KERN_INFO \"%s: %s - blabla \", zr->name, __func__ );

which would work for both gcc-2.95 and gcc-3.2, and be in accordance with the C99 standard.

Any comment ?

Laurent Pinchart

Reply via email to