Re: The current status of info, err and warn macros in kernel

Tilman Schmidt
2009-04-26T16:45:29Z

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