Some input drivers do not check whether they're actually running on the
correct platform, causing multi-platform kernels to crash if they are not.
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
                return -ENOMEM;
 
 #if defined(CONFIG_HP300)
+       if (!MACH_IS_HP300) {
+               err = -ENODEV;
+               goto err1;
+       }
        if (!hwreg_present((void *)(HILBASE + HIL_DATA))) {
                printk(KERN_ERR "HIL: hardware register was not found\n");
                err = -ENODEV;
 
 {
        int ret;
 
+#ifdef __mc68000__
+       if (!MACH_IS_HP300)
+               return -ENODEV;
+#endif
+
        init_MUTEX(&i8042tregs);
 
        if ((ret = hp_sdc_request_timer_irq(&hp_sdc_rtc_isr)))
 
 {
        hil_mlc *mlc = &hp_sdc_mlc;
 
+#ifdef __mc68000__
+       if (!MACH_IS_HP300)
+               return -ENODEV;
+#endif
+
        printk(KERN_INFO PREFIX "Registering the System Domain Controller's HIL MLC.\n");
 
        hp_sdc_mlc_priv.emtestmode = 0;