Messages in this thread | | | Date | Mon, 10 Mar 2008 02:03:14 +0000 | From | Al Viro <> | Subject | Re: [PATCH 5/5] typesafe: TIMER_INITIALIZER and setup_timer |
| |
On Mon, Mar 10, 2008 at 12:07:19PM +1100, Rusty Russell wrote:
> Worst, I can't see a way to apply your technique in general, for > non-void-returning functions (eg. interrupt handlers).
Interrupt handlers are easy. Just switch irqreturn_t from into to struct {int x;}, adjust the rest of irqreturn.h accordingly, add extern void want_irqreturn_t(irqreturn_t); then replace 0 ? (f)(x) : (void)0 with want_irqreturn_t((f)(x)) in the expression under sizeof and we are all set (assuming Jeff's elimination of irq number in place by then or done in parallel).
| |