Manual merge with Linus.
authorDmitry Torokhov <dtor_core@ameritech.net>
Sun, 2 Apr 2006 05:08:05 +0000 (00:08 -0500)
committerDmitry Torokhov <dtor_core@ameritech.net>
Sun, 2 Apr 2006 05:08:05 +0000 (00:08 -0500)
Conflicts:
arch/powerpc/kernel/setup-common.c
drivers/input/keyboard/hil_kbd.c
drivers/input/mouse/hil_ptr.c

12 files changed:
1  2 
arch/alpha/kernel/setup.c
arch/i386/kernel/setup.c
arch/mips/Kconfig
arch/powerpc/kernel/setup-common.c
drivers/Makefile
drivers/input/input.c
drivers/input/keyboard/hil_kbd.c
drivers/input/mouse/hil_ptr.c
drivers/input/serio/hil_mlc.c
include/linux/gameport.h
include/linux/input.h
include/linux/serio.h

Simple merge
Simple merge
Simple merge
index fc89d009d18db3114daa6365056c595d83cc0fd3,c607f3b9ca17494ce7a1f93ddac8d811ce66b997..1d93e73a700345ab65c3243786edabb8422587d8
@@@ -471,25 -462,33 +463,56 @@@ static int __init early_xmon(char *p
  early_param("xmon", early_xmon);
  #endif
  
 +static __init int add_pcspkr(void)
 +{
 +      struct device_node *np;
 +      struct platform_device *pd;
 +      int ret;
 +
 +      np = of_find_compatible_node(NULL, NULL, "pnpPNP,100");
 +      of_node_put(np);
 +      if (!np)
 +              return -ENODEV;
 +
 +      pd = platform_device_alloc("pcspkr", -1);
 +      if (!pd)
 +              return -ENOMEM;
 +
 +      ret = platform_device_add(pd);
 +      if (ret)
 +              platform_device_put(pd);
 +
 +      return ret;
 +}
 +device_initcall(add_pcspkr);
++
+ void probe_machine(void)
+ {
+       extern struct machdep_calls __machine_desc_start;
+       extern struct machdep_calls __machine_desc_end;
+       /*
+        * Iterate all ppc_md structures until we find the proper
+        * one for the current machine type
+        */
+       DBG("Probing machine type ...\n");
+       for (machine_id = &__machine_desc_start;
+            machine_id < &__machine_desc_end;
+            machine_id++) {
+               DBG("  %s ...", machine_id->name);
+               memcpy(&ppc_md, machine_id, sizeof(struct machdep_calls));
+               if (ppc_md.probe()) {
+                       DBG(" match !\n");
+                       break;
+               }
+               DBG("\n");
+       }
+       /* What can we do if we didn't find ? */
+       if (machine_id >= &__machine_desc_end) {
+               DBG("No suitable machine found !\n");
+               for (;;);
+       }
+       printk(KERN_INFO "Using %s machine description\n", ppc_md.name);
+ }
Simple merge
Simple merge
index ed3271b71400dc37f709c16a13e045c521210e27,63f387e4b783d4d23d85b76554552b33975c8920..1dca3cf42a54c50209f80bb96e91bd4941244aa7
@@@ -250,12 -250,16 +250,19 @@@ static int hil_kbd_connect(struct seri
        struct hil_kbd  *kbd;
        uint8_t         did, *idd;
        int             i;
--      
++
        kbd = kzalloc(sizeof(*kbd), GFP_KERNEL);
        if (!kbd)
                return -ENOMEM;
  
-       if (serio_open(serio, drv)) goto bail0;
+       kbd->dev = input_allocate_device();
 -      if (!kbd->dev) goto bail1;
++      if (!kbd->dev)
++              goto bail0;
++
+       kbd->dev->private = kbd;
 -      if (serio_open(serio, drv)) goto bail0;
++      if (serio_open(serio, drv))
++              goto bail1;
  
        serio_set_drvdata(serio, kbd);
        kbd->serio = serio;
index 798f4a3ad7d23c2972fa9986ffb4dced5a3e5f6b,bfb564fd8fe2ed0a4db4d42c60b57ccd21c68705..69f02178c528c87178a3ae188181ea3c2ae581d9
@@@ -248,12 -248,14 +248,17 @@@ static int hil_ptr_connect(struct seri
        if (!(ptr = kzalloc(sizeof(struct hil_ptr), GFP_KERNEL)))
                return -ENOMEM;
  
-       if (serio_open(serio, driver))
+       ptr->dev = input_allocate_device();
 -      if (!ptr->dev) goto bail0;
++      if (!ptr->dev)
 +              goto bail0;
 +
+       ptr->dev->private = ptr;
 -      if (serio_open(serio, driver)) goto bail1;
++      if (serio_open(serio, driver))
++              goto bail1;
        serio_set_drvdata(serio, ptr);
        ptr->serio = serio;
-       ptr->dev.private = ptr;
  
        init_MUTEX_LOCKED(&(ptr->sem));
  
Simple merge
Simple merge
Simple merge
Simple merge