···6868 depends on PCI69697070endif7171-7272-# Yes, SOUND_GAMEPORT looks a bit odd. Yes, it ends up being turned on7373-# in every .config. Please don't touch it. It is here to handle an7474-# unusual dependency between GAMEPORT and sound drivers.7575-#7676-# Some sound drivers call gameport functions. If GAMEPORT is7777-# not selected, empty stubs are provided for the functions and all is7878-# well.7979-# If GAMEPORT is built in, everything is fine.8080-# If GAMEPORT is a module, however, it would need to be loaded for the8181-# sound driver to be able to link properly. Therefore, the sound8282-# driver must be a module as well in that case. Since there's no way8383-# to express that directly in Kconfig, we use SOUND_GAMEPORT to8484-# express it. SOUND_GAMEPORT boils down to "if GAMEPORT is 'm',8585-# anything that depends on SOUND_GAMEPORT must be 'm' as well. if8686-# GAMEPORT is 'y' or 'n', it can be anything".8787-config SOUND_GAMEPORT8888- tristate8989- default m if GAMEPORT=m9090- default y
+1-1
drivers/input/joydev.c
···422422 joydev->nkey++;423423 }424424425425- for (i = 0; i < BTN_JOYSTICK - BTN_MISC + 1; i++)425425+ for (i = 0; i < BTN_JOYSTICK - BTN_MISC; i++)426426 if (test_bit(i + BTN_MISC, dev->keybit)) {427427 joydev->keymap[i] = joydev->nkey;428428 joydev->keypam[joydev->nkey] = i + BTN_MISC;
+5-2
drivers/input/mouse/psmouse-base.c
···518518/*519519 * First, we check if it's a mouse. It should send 0x00 or 0x03520520 * in case of an IntelliMouse in 4-byte mode or 0x04 for IM Explorer.521521+ * Sunrex K8561 IR Keyboard/Mouse reports 0xff on second and subsequent522522+ * ID queries, probably due to a firmware bug.521523 */522524523525 param[0] = 0xa5;524526 if (ps2_command(ps2dev, param, PSMOUSE_CMD_GETID))525527 return -1;526528527527- if (param[0] != 0x00 && param[0] != 0x03 && param[0] != 0x04)529529+ if (param[0] != 0x00 && param[0] != 0x03 &&530530+ param[0] != 0x04 && param[0] != 0xff)528531 return -1;529532530533/*···975972 return -EINVAL;976973977974 if (!strncmp(val, "any", 3)) {978978- *((unsigned int *)kp->arg) = -1UL;975975+ *((unsigned int *)kp->arg) = -1U;979976 return 0;980977 }981978
+5-34
drivers/input/mouse/synaptics.c
···143143 return -1;144144}145145146146-static void print_ident(struct synaptics_data *priv)147147-{148148- printk(KERN_INFO "Synaptics Touchpad, model: %ld\n", SYN_ID_MODEL(priv->identity));149149- printk(KERN_INFO " Firmware: %ld.%ld\n", SYN_ID_MAJOR(priv->identity),150150- SYN_ID_MINOR(priv->identity));151151- if (SYN_MODEL_ROT180(priv->model_id))152152- printk(KERN_INFO " 180 degree mounted touchpad\n");153153- if (SYN_MODEL_PORTRAIT(priv->model_id))154154- printk(KERN_INFO " portrait touchpad\n");155155- printk(KERN_INFO " Sensor: %ld\n", SYN_MODEL_SENSOR(priv->model_id));156156- if (SYN_MODEL_NEWABS(priv->model_id))157157- printk(KERN_INFO " new absolute packet format\n");158158- if (SYN_MODEL_PEN(priv->model_id))159159- printk(KERN_INFO " pen detection\n");160160-161161- if (SYN_CAP_EXTENDED(priv->capabilities)) {162162- printk(KERN_INFO " Touchpad has extended capability bits\n");163163- if (SYN_CAP_MULTI_BUTTON_NO(priv->ext_cap))164164- printk(KERN_INFO " -> %d multi-buttons, i.e. besides standard buttons\n",165165- (int)(SYN_CAP_MULTI_BUTTON_NO(priv->ext_cap)));166166- if (SYN_CAP_MIDDLE_BUTTON(priv->capabilities))167167- printk(KERN_INFO " -> middle button\n");168168- if (SYN_CAP_FOUR_BUTTON(priv->capabilities))169169- printk(KERN_INFO " -> four buttons\n");170170- if (SYN_CAP_MULTIFINGER(priv->capabilities))171171- printk(KERN_INFO " -> multifinger detection\n");172172- if (SYN_CAP_PALMDETECT(priv->capabilities))173173- printk(KERN_INFO " -> palm detection\n");174174- if (SYN_CAP_PASS_THROUGH(priv->capabilities))175175- printk(KERN_INFO " -> pass-through port\n");176176- }177177-}178178-179146static int synaptics_query_hardware(struct psmouse *psmouse)180147{181148 int retries = 0;···633666634667 priv->pkt_type = SYN_MODEL_NEWABS(priv->model_id) ? SYN_NEWABS : SYN_OLDABS;635668636636- print_ident(priv);669669+ printk(KERN_INFO "Synaptics Touchpad, model: %ld, fw: %ld.%ld, id: %#lx, caps: %#lx/%#lx\n",670670+ SYN_ID_MODEL(priv->identity),671671+ SYN_ID_MAJOR(priv->identity), SYN_ID_MINOR(priv->identity),672672+ priv->model_id, priv->capabilities, priv->ext_cap);673673+637674 set_input_params(&psmouse->dev, priv);638675639676 psmouse->protocol_handler = synaptics_process_byte;
+26-6
drivers/input/serio/i8042-x86ia64io.h
···8888};89899090/*9191- * Some Fujitsu notebooks are ahving trouble with touhcpads if9191+ * Some Fujitsu notebooks are having trouble with touchpads if9292 * active multiplexing mode is activated. Luckily they don't have9393 * external PS/2 ports so we can safely disable it.9494+ * ... apparently some Toshibas don't like MUX mode either and9595+ * die horrible death on reboot.9496 */9597static struct dmi_system_id __initdata i8042_dmi_nomux_table[] = {9698 {···117115 },118116 },119117 {118118+ .ident = "Fujitsu Lifebook S6230",119119+ .matches = {120120+ DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"),121121+ DMI_MATCH(DMI_PRODUCT_NAME, "LifeBook S6230"),122122+ },123123+ },124124+ {120125 .ident = "Fujitsu T70H",121126 .matches = {122127 DMI_MATCH(DMI_SYS_VENDOR, "FUJITSU"),123128 DMI_MATCH(DMI_PRODUCT_NAME, "FMVLT70H"),129129+ },130130+ },131131+ {132132+ .ident = "Toshiba P10",133133+ .matches = {134134+ DMI_MATCH(DMI_SYS_VENDOR, "TOSHIBA"),135135+ DMI_MATCH(DMI_PRODUCT_NAME, "Satellite P10"),124136 },125137 },126138 { }···231215232216static void i8042_pnp_exit(void)233217{234234- if (i8042_pnp_kbd_registered)218218+ if (i8042_pnp_kbd_registered) {219219+ i8042_pnp_kbd_registered = 0;235220 pnp_unregister_driver(&i8042_pnp_kbd_driver);221221+ }236222237237- if (i8042_pnp_aux_registered)223223+ if (i8042_pnp_aux_registered) {224224+ i8042_pnp_aux_registered = 0;238225 pnp_unregister_driver(&i8042_pnp_aux_driver);226226+ }239227}240228241229static int i8042_pnp_init(void)···247227 int result_kbd, result_aux;248228249229 if (i8042_nopnp) {250250- printk("i8042: PNP detection disabled\n");230230+ printk(KERN_INFO "i8042: PNP detection disabled\n");251231 return 0;252232 }253233···261241#if defined(__ia64__)262242 return -ENODEV;263243#else264264- printk(KERN_WARNING "PNP: No PS/2 controller found. Probing ports directly.\n");244244+ printk(KERN_INFO "PNP: No PS/2 controller found. Probing ports directly.\n");265245 return 0;266246#endif267247 }···285265 i8042_pnp_kbd_irq = i8042_kbd_irq;286266 }287267288288- if (result_aux > 0 && !i8042_pnp_aux_irq) {268268+ if (!i8042_pnp_aux_irq) {289269 printk(KERN_WARNING "PNP: PS/2 controller doesn't have AUX irq; using default %#x\n", i8042_aux_irq);290270 i8042_pnp_aux_irq = i8042_aux_irq;291271 }
+28-22
drivers/input/serio/i8042.c
···698698 i8042_interrupt(0, NULL, NULL);699699}700700701701+static int i8042_ctl_test(void)702702+{703703+ unsigned char param;704704+705705+ if (!i8042_reset)706706+ return 0;707707+708708+ if (i8042_command(¶m, I8042_CMD_CTL_TEST)) {709709+ printk(KERN_ERR "i8042.c: i8042 controller self test timeout.\n");710710+ return -1;711711+ }712712+713713+ if (param != I8042_RET_CTL_TEST) {714714+ printk(KERN_ERR "i8042.c: i8042 controller selftest failed. (%#x != %#x)\n",715715+ param, I8042_RET_CTL_TEST);716716+ return -1;717717+ }718718+719719+ return 0;720720+}701721702722/*703723 * i8042_controller init initializes the i8042 controller, and,···739719 return -1;740720 }741721742742- if (i8042_reset) {743743-744744- unsigned char param;745745-746746- if (i8042_command(¶m, I8042_CMD_CTL_TEST)) {747747- printk(KERN_ERR "i8042.c: i8042 controller self test timeout.\n");748748- return -1;749749- }750750-751751- if (param != I8042_RET_CTL_TEST) {752752- printk(KERN_ERR "i8042.c: i8042 controller selftest failed. (%#x != %#x)\n",753753- param, I8042_RET_CTL_TEST);754754- return -1;755755- }756756- }722722+ if (i8042_ctl_test())723723+ return -1;757724758725/*759726 * Save the CTR for restoral on unload / reboot.···809802 */810803static void i8042_controller_reset(void)811804{812812- unsigned char param;813813-814805/*815806 * Reset the controller if requested.816807 */817808818818- if (i8042_reset)819819- if (i8042_command(¶m, I8042_CMD_CTL_TEST))820820- printk(KERN_ERR "i8042.c: i8042 controller reset timeout.\n");809809+ i8042_ctl_test();821810822811/*823812 * Disable MUX mode if present.···925922 if (level != RESUME_ENABLE)926923 return 0;927924928928- if (i8042_controller_init()) {929929- printk(KERN_ERR "i8042: resume failed\n");925925+ if (i8042_ctl_test())926926+ return -1;927927+928928+ if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) {929929+ printk(KERN_ERR "i8042: Can't write CTR\n");930930 return -1;931931 }932932
···112112113113config SOUND_ES1370114114 tristate "Ensoniq AudioPCI (ES1370)"115115- depends on SOUND_PRIME!=n && SOUND && PCI && SOUND_GAMEPORT115115+ depends on SOUND_PRIME!=n && SOUND && PCI116116 help117117 Say Y or M if you have a PCI sound card utilizing the Ensoniq118118 ES1370 chipset, such as Ensoniq's AudioPCI (non-97). To find···125125126126config SOUND_ES1371127127 tristate "Creative Ensoniq AudioPCI 97 (ES1371)"128128- depends on SOUND_PRIME!=n && SOUND && PCI && SOUND_GAMEPORT128128+ depends on SOUND_PRIME!=n && SOUND && PCI129129 help130130 Say Y or M if you have a PCI sound card utilizing the Ensoniq131131 ES1371 chipset, such as Ensoniq's AudioPCI97. To find out if···138138139139config SOUND_ESSSOLO1140140 tristate "ESS Technology Solo1" 141141- depends on SOUND_PRIME!=n && SOUND && SOUND_GAMEPORT && PCI141141+ depends on SOUND_PRIME!=n && SOUND && PCI142142 help143143 Say Y or M if you have a PCI sound card utilizing the ESS Technology144144 Solo1 chip. To find out if your sound card uses a···179179180180config SOUND_SONICVIBES181181 tristate "S3 SonicVibes"182182- depends on SOUND_PRIME!=n && SOUND && SOUND_GAMEPORT182182+ depends on SOUND_PRIME!=n && SOUND183183 help184184 Say Y or M if you have a PCI sound card utilizing the S3185185 SonicVibes chipset. To find out if your sound card uses a···226226227227config SOUND_TRIDENT228228 tristate "Trident 4DWave DX/NX, SiS 7018 or ALi 5451 PCI Audio Core"229229- depends on SOUND_PRIME!=n && SOUND && SOUND_GAMEPORT229229+ depends on SOUND_PRIME!=n && SOUND230230 ---help---231231 Say Y or M if you have a PCI sound card utilizing the Trident232232 4DWave-DX/NX chipset or your mother board chipset has SiS 7018···739739740740config SOUND_MAD16741741 tristate "OPTi MAD16 and/or Mozart based cards"742742- depends on SOUND_OSS && SOUND_GAMEPORT742742+ depends on SOUND_OSS743743 ---help---744744 Answer Y if your card has a Mozart (OAK OTI-601) or MAD16 (OPTi745745 82C928 or 82C929 or 82C931) audio interface chip. These chips are