Hi,
I noticed that I can't compile some out-of-tree modules like lirc,
lmpcm_usb on my 2.6.30_rc* source tree.
The compiler aborts saying "implicit declaration of function 'info'". I
googled and found the following thread
in linux-next mailing list:
http://markmail.org/message/64hm5ytumcifd3iw
I don't think that those macros are completely removed because it seems
that they're still heavily in use
after grepping on current linus-2.6 tree.
So, is it possible that there's a Kconfig option which makes the
compilation fail on those macros?
Why am I not able to compile those modules? Am I missing something?
Thanks,
Ozan Caglayan
http://www.pardus.org.tr/eng
Ozan Çağlayan schrieb:
> I noticed that I can't compile some out-of-tree modules like lirc,
> lmpcm_usb on my 2.6.30_rc* source tree.
> The compiler aborts saying "implicit declaration of function 'info'". [...]
> I don't think that those macros are completely removed because it seems
> that they're still heavily in use
> after grepping on current linus-2.6 tree.
Your grepping must have been inexact. info() and warn() have been removed
completely in 2.6.29 already, and are indeed used nowhere in the current
tree. (err() is still there, though probably not for long.)
Suitable replacements are either the dev_* macros from device.h (only
usable if there is a reliably valid device pointer available - be
careful when using them in error handling!) or the pr_* macros from
kernel.h with an appropriate definition of pr_fmt(f).
> So, is it possible that there's a Kconfig option which makes the
> compilation fail on those macros?
Definitely not. They are gone, period.
> Why am I not able to compile those modules? Am I missing something?
The out-of-tree modules have to be adapted for kernel release 2.6.29.
That's the fate of out-of-tree modules - they tend to break with every
other new kernel release.
HTH
Tilman
Tilman Schmidt wrote:
> Ozan Çağlayan schrieb:
>
>> I noticed that I can't compile some out-of-tree modules like lirc,
>> lmpcm_usb on my 2.6.30_rc* source tree.
>> The compiler aborts saying "implicit declaration of function 'info'". [...]
>> I don't think that those macros are completely removed because it seems
>> that they're still heavily in use
>> after grepping on current linus-2.6 tree.
>>
>
> Your grepping must have been inexact. info() and warn() have been removed
> completely in 2.6.29 already, and are indeed used nowhere in the current
> tree. (err() is still there, though probably not for long.)
>
> Suitable replacements are either the dev_* macros from device.h (only
> usable if there is a reliably valid device pointer available - be
> careful when using them in error handling!) or the pr_* macros from
> kernel.h with an appropriate definition of pr_fmt(f).
>
Thanks for the answer,
Regards,
On Sun, Apr 26, 2009 at 02:06:46AM +0300, Ozan Çağlayan wrote:
> Hi,
>
> I noticed that I can't compile some out-of-tree modules like lirc,
> lmpcm_usb on my 2.6.30_rc* source tree.
> The compiler aborts saying "implicit declaration of function 'info'". I
> googled and found the following thread
> in linux-next mailing list:
Like was pointed out, they are really gone now. They were usb-only
functions, that didn't make sense anymore, and lots of other drivers
were using them instead.
Convert to use the dev_* functions instead, those are also backwards
compatible, which should make your life a bit easier.
good luck,
greg k-h