linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/6] typesafe callbacks
@ 2008-04-20 22:58 Rusty Russell
  2008-04-20 23:00 ` [PATCH 1/6] cast_if_type: allow macros functions which take more than one type Rusty Russell
  0 siblings, 1 reply; 7+ messages in thread
From: Rusty Russell @ 2008-04-20 22:58 UTC (permalink / raw)
  To: linux-kernel; +Cc: Andrew Morton, Al Viro, Linus Torvalds

The idea is to create a general typesafe callback mechanism which doesn't 
break compile on existing code and doesn't allow any unsafe callback types.

Al had a very long timer conversion series followed by a different mechanism, 
and that just covered timers; unfortunately that technique provides 
insufficient typechecking for the general case (eg. int return types and 
callback functions which take integer args as well as the data arg).

Note that these typechecks end up being *too* strict in some cases, 
disallowing some potentially valid cases.  But since you can still use the 
current via-void* method, these corner cases lose nothing.


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2008-04-21  3:37 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-04-20 22:58 [PATCH 0/6] typesafe callbacks Rusty Russell
2008-04-20 23:00 ` [PATCH 1/6] cast_if_type: allow macros functions which take more than one type Rusty Russell
2008-04-20 23:01   ` [PATCH 2/6] typesafe_cb: wrappers for typesafe callbacks Rusty Russell
2008-04-20 23:05     ` [PATCH 3/6] typesafe: Convert stop_machine Rusty Russell
2008-04-20 23:07       ` [PATCH 4/6] typesafe: kthread_create and kthread_run Rusty Russell
2008-04-20 23:09         ` [PATCH 5/6] typesafe: request_irq and devm_request_irq Rusty Russell
2008-04-20 23:10           ` [PATCH 6/6] typesafe: TIMER_INITIALIZER and setup_timer Rusty Russell

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).