Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input

* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:
Input: bcm5974 - set BUTTONPAD property
Input: serio_raw - return proper result when serio_raw_write fails
Input: serio_raw - really signal HUP upon disconnect
Input: serio_raw - remove stray semicolon
Input: revert some over-zealous conversions to module_platform_driver()

+109 -14
+14 -1
drivers/input/keyboard/amikbd.c
··· 259 259 .owner = THIS_MODULE, 260 260 }, 261 261 }; 262 - module_platform_driver(amikbd_driver); 262 + 263 + static int __init amikbd_init(void) 264 + { 265 + return platform_driver_probe(&amikbd_driver, amikbd_probe); 266 + } 267 + 268 + module_init(amikbd_init); 269 + 270 + static void __exit amikbd_exit(void) 271 + { 272 + platform_driver_unregister(&amikbd_driver); 273 + } 274 + 275 + module_exit(amikbd_exit); 263 276 264 277 MODULE_ALIAS("platform:amiga-keyboard");
+12 -1
drivers/input/keyboard/davinci_keyscan.c
··· 328 328 }, 329 329 .remove = __devexit_p(davinci_ks_remove), 330 330 }; 331 - module_platform_driver(davinci_ks_driver); 331 + 332 + static int __init davinci_ks_init(void) 333 + { 334 + return platform_driver_probe(&davinci_ks_driver, davinci_ks_probe); 335 + } 336 + module_init(davinci_ks_init); 337 + 338 + static void __exit davinci_ks_exit(void) 339 + { 340 + platform_driver_unregister(&davinci_ks_driver); 341 + } 342 + module_exit(davinci_ks_exit); 332 343 333 344 MODULE_AUTHOR("Miguel Aguilar"); 334 345 MODULE_DESCRIPTION("Texas Instruments DaVinci Key Scan Driver");
+12 -1
drivers/input/keyboard/nomadik-ske-keypad.c
··· 390 390 .probe = ske_keypad_probe, 391 391 .remove = __devexit_p(ske_keypad_remove), 392 392 }; 393 - module_platform_driver(ske_keypad_driver); 393 + 394 + static int __init ske_keypad_init(void) 395 + { 396 + return platform_driver_probe(&ske_keypad_driver, ske_keypad_probe); 397 + } 398 + module_init(ske_keypad_init); 399 + 400 + static void __exit ske_keypad_exit(void) 401 + { 402 + platform_driver_unregister(&ske_keypad_driver); 403 + } 404 + module_exit(ske_keypad_exit); 394 405 395 406 MODULE_LICENSE("GPL v2"); 396 407 MODULE_AUTHOR("Naveen Kumar <naveen.gaddipati@stericsson.com> / Sundar Iyer <sundar.iyer@stericsson.com>");
+13 -2
drivers/input/misc/twl4030-pwrbutton.c
··· 107 107 } 108 108 109 109 static struct platform_driver twl4030_pwrbutton_driver = { 110 - .probe = twl4030_pwrbutton_probe, 111 110 .remove = __exit_p(twl4030_pwrbutton_remove), 112 111 .driver = { 113 112 .name = "twl4030_pwrbutton", 114 113 .owner = THIS_MODULE, 115 114 }, 116 115 }; 117 - module_platform_driver(twl4030_pwrbutton_driver); 116 + 117 + static int __init twl4030_pwrbutton_init(void) 118 + { 119 + return platform_driver_probe(&twl4030_pwrbutton_driver, 120 + twl4030_pwrbutton_probe); 121 + } 122 + module_init(twl4030_pwrbutton_init); 123 + 124 + static void __exit twl4030_pwrbutton_exit(void) 125 + { 126 + platform_driver_unregister(&twl4030_pwrbutton_driver); 127 + } 128 + module_exit(twl4030_pwrbutton_exit); 118 129 119 130 MODULE_ALIAS("platform:twl4030_pwrbutton"); 120 131 MODULE_DESCRIPTION("Triton2 Power Button");
+14 -2
drivers/input/mouse/amimouse.c
··· 140 140 } 141 141 142 142 static struct platform_driver amimouse_driver = { 143 - .probe = amimouse_probe, 144 143 .remove = __exit_p(amimouse_remove), 145 144 .driver = { 146 145 .name = "amiga-mouse", 147 146 .owner = THIS_MODULE, 148 147 }, 149 148 }; 150 - module_platform_driver(amimouse_driver); 149 + 150 + static int __init amimouse_init(void) 151 + { 152 + return platform_driver_probe(&amimouse_driver, amimouse_probe); 153 + } 154 + 155 + module_init(amimouse_init); 156 + 157 + static void __exit amimouse_exit(void) 158 + { 159 + platform_driver_unregister(&amimouse_driver); 160 + } 161 + 162 + module_exit(amimouse_exit); 151 163 152 164 MODULE_ALIAS("platform:amiga-mouse");
+3
drivers/input/mouse/bcm5974.c
··· 433 433 __set_bit(BTN_TOOL_QUADTAP, input_dev->keybit); 434 434 __set_bit(BTN_LEFT, input_dev->keybit); 435 435 436 + if (cfg->caps & HAS_INTEGRATED_BUTTON) 437 + __set_bit(INPUT_PROP_BUTTONPAD, input_dev->propbit); 438 + 436 439 input_set_events_per_packet(input_dev, 60); 437 440 } 438 441
+13 -1
drivers/input/serio/at32psif.c
··· 358 358 .suspend = psif_suspend, 359 359 .resume = psif_resume, 360 360 }; 361 - module_platform_driver(psif_driver); 361 + 362 + static int __init psif_init(void) 363 + { 364 + return platform_driver_probe(&psif_driver, psif_probe); 365 + } 366 + 367 + static void __exit psif_exit(void) 368 + { 369 + platform_driver_unregister(&psif_driver); 370 + } 371 + 372 + module_init(psif_init); 373 + module_exit(psif_exit); 362 374 363 375 MODULE_AUTHOR("Hans-Christian Egtvedt <egtvedt@samfundet.no>"); 364 376 MODULE_DESCRIPTION("Atmel AVR32 PSIF PS/2 driver");
+4 -4
drivers/input/serio/serio_raw.c
··· 220 220 goto out; 221 221 } 222 222 written++; 223 - }; 223 + } 224 224 225 225 out: 226 226 mutex_unlock(&serio_raw_mutex); 227 - return written; 227 + return written ?: retval; 228 228 } 229 229 230 230 static unsigned int serio_raw_poll(struct file *file, poll_table *wait) ··· 237 237 238 238 mask = serio_raw->dead ? POLLHUP | POLLERR : POLLOUT | POLLWRNORM; 239 239 if (serio_raw->head != serio_raw->tail) 240 - return POLLIN | POLLRDNORM; 240 + mask |= POLLIN | POLLRDNORM; 241 241 242 - return 0; 242 + return mask; 243 243 } 244 244 245 245 static const struct file_operations serio_raw_fops = {
+12 -1
drivers/input/touchscreen/atmel-wm97xx.c
··· 429 429 .suspend = atmel_wm97xx_suspend, 430 430 .resume = atmel_wm97xx_resume, 431 431 }; 432 - module_platform_driver(atmel_wm97xx_driver); 432 + 433 + static int __init atmel_wm97xx_init(void) 434 + { 435 + return platform_driver_probe(&atmel_wm97xx_driver, atmel_wm97xx_probe); 436 + } 437 + module_init(atmel_wm97xx_init); 438 + 439 + static void __exit atmel_wm97xx_exit(void) 440 + { 441 + platform_driver_unregister(&atmel_wm97xx_driver); 442 + } 443 + module_exit(atmel_wm97xx_exit); 433 444 434 445 MODULE_AUTHOR("Hans-Christian Egtvedt <egtvedt@samfundet.no>"); 435 446 MODULE_DESCRIPTION("wm97xx continuous touch driver for Atmel AT91 and AVR32");
+12 -1
drivers/input/touchscreen/mc13783_ts.c
··· 240 240 .name = MC13783_TS_NAME, 241 241 }, 242 242 }; 243 - module_platform_driver(mc13783_ts_driver); 243 + 244 + static int __init mc13783_ts_init(void) 245 + { 246 + return platform_driver_probe(&mc13783_ts_driver, &mc13783_ts_probe); 247 + } 248 + module_init(mc13783_ts_init); 249 + 250 + static void __exit mc13783_ts_exit(void) 251 + { 252 + platform_driver_unregister(&mc13783_ts_driver); 253 + } 254 + module_exit(mc13783_ts_exit); 244 255 245 256 MODULE_DESCRIPTION("MC13783 input touchscreen driver"); 246 257 MODULE_AUTHOR("Sascha Hauer <s.hauer@pengutronix.de>");