Cómo evitar que el kernel de Linux printk() imprima información
Hola, puedes usar las siguientes macros para activar o desactivar printk colectivamente:
/*
* Macros para ayudar a la depuración
*/
#undef PDEBUG /* Supongamos que se ha definido antes, cancélelo e inicialícelo primero*/
#ifdef SCULL_DEBUG
#ifdef __KERNEL__
/ * Si la depuración está habilitada y en el espacio del kernel */
#define PDEBUG(fmt, args...) printk( KERN_DEBUG "scull: " fmt, ## args)
# else
/* Este elemento es para el espacio del usuario*/
#define PDEBUG(fmt, args...) fprintf(stderr, fmt, ## args) p>
#endif
#else
# define PDEBUG(fmt, args...) /* no depurar: nada */
# endif
#undef PDEBUGG
#define PDEBUGG(fmt, args...) /* nada: es un marcador de posición */
Al compilar, el Makefile se ve así:
gcc -O -g -DSCULL_DEBUG -C $(KERNELDIR) M=$(shell pwd) módulos