Revert to Fedora kernel-2.6.17-1.2187_FC5 patched with vs2.0.2.1; there are too many...
[linux-2.6.git] / drivers / s390 / cio / cio.c
index d0148e5..5b20d8c 100644 (file)
  */
 
 #include <linux/module.h>
+#include <linux/config.h>
 #include <linux/init.h>
 #include <linux/slab.h>
 #include <linux/device.h>
 #include <linux/kernel_stat.h>
 #include <linux/interrupt.h>
-#include <linux/vs_context.h>
 
 #include <asm/cio.h>
 #include <asm/delay.h>
@@ -148,7 +148,7 @@ cio_tpi(void)
                sch->driver->irq(&sch->dev);
        spin_unlock(&sch->lock);
        irq_exit ();
-       _local_bh_enable();
+       __local_bh_enable();
        return 1;
 }
 
@@ -520,7 +520,6 @@ cio_validate_subchannel (struct subchannel *sch, struct subchannel_id schid)
        memset(sch, 0, sizeof(struct subchannel));
 
        spin_lock_init(&sch->lock);
-       mutex_init(&sch->reg_mutex);
 
        /* Set a name for the subchannel */
        snprintf (sch->dev.bus_id, BUS_ID_SIZE, "0.%x.%04x", schid.ssid,
@@ -640,16 +639,12 @@ do_IRQ (struct pt_regs *regs)
                        spin_lock(&sch->lock);
                /* Store interrupt response block to lowcore. */
                if (tsch (tpi_info->schid, irb) == 0 && sch) {
-                       struct vx_info_save vxis;
-
                        /* Keep subchannel information word up to date. */
                        memcpy (&sch->schib.scsw, &irb->scsw,
                                sizeof (irb->scsw));
                        /* Call interrupt handler if there is one. */
-                       __enter_vx_admin(&vxis);
                        if (sch->driver && sch->driver->irq)
                                sch->driver->irq(&sch->dev);
-                       __leave_vx_admin(&vxis);
                }
                if (sch)
                        spin_unlock(&sch->lock);
@@ -803,7 +798,7 @@ struct subchannel *
 cio_get_console_subchannel(void)
 {
        if (!console_subchannel_in_use)
-               return NULL;
+               return 0;
        return &console_subchannel;
 }
 
@@ -881,6 +876,5 @@ void
 reipl(unsigned long devno)
 {
        clear_all_subchannels();
-       cio_reset_channel_paths();
        do_reipl(devno);
 }