On Thu, Dec 10, 2009 at 10:46:02PM -0200, Henrique de Moraes Holschuh wrote: > On Thu, 10 Dec 2009, Dmitry Torokhov wrote: > > Right, input_set_abs_params()... No, I don't really want to go through > > all touchpad, touchscreen and joystick drivers at once, thank you vey > > much ;) Besides, for the vast majority of uses 0 is the proper initial > > value for absolute axis. > > Heh. > > > > The only other event that needs initialization are the switches, so I'd > > > argue that we might as well use my proposed patch, which is specific and > > > more lightweight, and convert the in-tree drivers to it. A few might be > > > missing the before-registering input_event... > > > > As I think about it even more I think we should leave it asd is. You > > It needs to be documented somewhere, at least. > Something like the patch below? > > > BTW, looking at input.h, wouldn't it be better to force the init functions > > > to be run before registering the input device, doing a BUG_ON() if they're > > > misused? > > > > What function are you referring to? Input devices are in useable state > > The ones proposed in this subthread, which shouldn't be used after > registering. > > > as returned by input_allocate_device(). > > Unless, of course, someone screws up verifying if input_alocate_device > returned NULL... > Then it will crash way before registering, as soon as they try to set name, phys and so on.. Just not worh it. -- Dmitry Input: document use of input_event() function From: Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> --- drivers/input/input.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff --git a/drivers/input/input.c b/drivers/input/input.c index e097176..6240c7a 100644 --- a/drivers/input/input.c +++ b/drivers/input/input.c @@ -302,9 +302,15 @@ static void input_handle_event(struct input_dev *dev, * @value: value of the event * * This function should be used by drivers implementing various input - * devices. See also input_inject_event(). + * devices to report input events. See also input_inject_event(). + * + * NOTE: input_event() may be safely used right after input device was + * allocated with input_allocate_device(), even before it is registered + * with input_register_device(), but the event will not reach any of the + * input handlers. Such early invocation of input_event() may be used + * to 'seed' initial state of a switch or initial position of absolute + * axis, etc. */ - void input_event(struct input_dev *dev, unsigned int type, unsigned int code, int value) { -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html