including <linux/workqueue.h> isn't self contained

From: Uwe Kleine-König
Date: Tue Sep 06 2011 - 14:29:42 EST


Hello,

compiling drivers/rtc/rtc-imxdi.c currently results in:

drivers/rtc/rtc-imxdi.c: In function 'di_write_wait':
drivers/rtc/rtc-imxdi.c:168:301: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function)
drivers/rtc/rtc-imxdi.c:168:301: note: each undeclared identifier is reported only once for each function it appears in
drivers/rtc/rtc-imxdi.c:168:2: error: implicit declaration of function 'signal_pending'
drivers/rtc/rtc-imxdi.c:168:2: error: implicit declaration of function 'schedule_timeout'
drivers/rtc/rtc-imxdi.c: In function 'dryice_norm_irq':
drivers/rtc/rtc-imxdi.c:329:34: error: 'TASK_INTERRUPTIBLE' undeclared (first use in this function)

This is a regression from

4ba8216 (BKL: That's all, folks)

that removes #inclusion of <linux/sched.h> from include/linux/hardirq.h.

Adding

#include <linux/sched.h>

to the driver fixes it, but I wonder if that is the correct fix because
the driver only uses wait_event_interruptible_timeout (and
wake_up_interruptible) explicitly but none of the three undeclared
symbols.

Any insight welcome.

Best regards
Uwe

--
Pengutronix e.K. | Uwe Kleine-König |
Industrial Linux Solutions | http://www.pengutronix.de/ |
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/