From: Mike F. <va...@ge...> - 2007-09-05 04:37:17
|
On Tuesday 04 September 2007, Adrian McMenamin wrote: > --- a/drivers/input/keyboard/Kconfig > +++ b/drivers/input/keyboard/Kconfig > + Say Y here if you have a DreamCast console running Linux and have funny caps in Dreamcast > --- /dev/null > +++ b/drivers/input/keyboard/maple_keyb.c > +static void dc_scan_kbd(struct dc_kbd *kbd) still some funny wrappings in this func ... > + printk > + ("Unknown key (scancode %#x) released.", > + kbd->old[i]); > ... > + printk > + ("Unknown key (scancode %#x) pressed.", > + kbd->new[i]); missing KERN log levels in those printk's > +static int dc_kbd_connect(struct maple_device *dev) > +{ > ... > + struct dc_kbd *kbd; > ... > + kbd =3D kzalloc(sizeof(struct dc_kbd), GFP_KERNEL); i find this more readable/managable myself: kbd =3D kzalloc(*kbd, GFP_KERNEL); > + kbd->dev =3D input_allocate_device(); > ... > + retval =3D input_register_device(kbd->dev); > + if (unlikely(retval)) > + goto cleanup; > ... > + cleanup: > + kfree(kbd); > + return -EINVAL; i'm not familiar with the input layer, but do you need to deallocate that=20 input device if the register fails ? if so, i guess dc_kbd_disconnect()=20 would need tweaking too ... =2Dmike |