On Thu, Jan 27, 2005 at 05:15:18PM +0100, Vojtech Pavlik wrote: > OK. I'll go through them, and apply as appropriate. I still need to wrap > my mind around the start() and stop() methods and see the necessity. I > still think a variable in the serio struct, only accessed by the serio.c > core driver itself (and never by the port driver) that'd cause all > serio_interrupt() calls to be ignored until set in the asynchronous port > registration would be well enough.
I've read he start() and stop() code, and I came to the conclusion again that we don't need them as serio port driver methods. i8042 uses them to set the exists variable only and uses that variable _solely_ for the purpose of skipping calls to serio_interrupt(), serio_cleanup() and serio_unregister(). By instead checking a member of the serio struct in these functions, and doing nothing if not set, we achieve the same goal, without adding extra cruft to the interface, making it allowed to call these serio functions on a non-registered or half-registered serio struct, with the effect being defined to nothing. Similarly, it's perfectly allowed to call input_event() on an struct input_dev that hasn't been registered with the input layer, again with no effect. It simplifies the driver code a lot. -- Vojtech Pavlik SuSE Labs, SuSE CR - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

