vmur.c (94bd217e2d683719ab21a4ac117d8a1b91cbedc9) vmur.c (de400d6b78d15a73023485f050bc6b1709dc7a79)
1/*
2 * Linux driver for System z and s390 unit record devices
3 * (z/VM virtual punch, reader, printer)
4 *
5 * Copyright IBM Corp. 2001, 2009
6 * Authors: Malcolm Beattie <beattiem@uk.ibm.com>
7 * Michael Holzheu <holzheu@de.ibm.com>
8 * Frank Munzert <munzert@de.ibm.com>
9 */
10
11#define KMSG_COMPONENT "vmur"
12#define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
13
1/*
2 * Linux driver for System z and s390 unit record devices
3 * (z/VM virtual punch, reader, printer)
4 *
5 * Copyright IBM Corp. 2001, 2009
6 * Authors: Malcolm Beattie <beattiem@uk.ibm.com>
7 * Michael Holzheu <holzheu@de.ibm.com>
8 * Frank Munzert <munzert@de.ibm.com>
9 */
10
11#define KMSG_COMPONENT "vmur"
12#define pr_fmt(fmt) KMSG_COMPONENT ": " fmt
13
14#include <linux/kernel_stat.h>
15#include <linux/cdev.h>
16#include <linux/slab.h>
17
18#include <asm/uaccess.h>
19#include <asm/cio.h>
20#include <asm/ccwdev.h>
21#include <asm/debug.h>
22#include <asm/diag.h>

--- 46 unchanged lines hidden (view full) ---

69 .owner = THIS_MODULE,
70 },
71 .ids = ur_ids,
72 .probe = ur_probe,
73 .remove = ur_remove,
74 .set_online = ur_set_online,
75 .set_offline = ur_set_offline,
76 .freeze = ur_pm_suspend,
14#include <linux/cdev.h>
15#include <linux/slab.h>
16
17#include <asm/uaccess.h>
18#include <asm/cio.h>
19#include <asm/ccwdev.h>
20#include <asm/debug.h>
21#include <asm/diag.h>

--- 46 unchanged lines hidden (view full) ---

68 .owner = THIS_MODULE,
69 },
70 .ids = ur_ids,
71 .probe = ur_probe,
72 .remove = ur_remove,
73 .set_online = ur_set_online,
74 .set_offline = ur_set_offline,
75 .freeze = ur_pm_suspend,
76 .int_class = IOINT_VMR,
77};
78
79static DEFINE_MUTEX(vmur_mutex);
80
81/*
82 * Allocation, freeing, getting and putting of urdev structures
83 *
84 * Each ur device (urd) contains a reference to its corresponding ccw device

--- 215 unchanged lines hidden (view full) ---

300/*
301 * ur interrupt handler, called from the ccw_device layer
302 */
303static void ur_int_handler(struct ccw_device *cdev, unsigned long intparm,
304 struct irb *irb)
305{
306 struct urdev *urd;
307
77};
78
79static DEFINE_MUTEX(vmur_mutex);
80
81/*
82 * Allocation, freeing, getting and putting of urdev structures
83 *
84 * Each ur device (urd) contains a reference to its corresponding ccw device

--- 215 unchanged lines hidden (view full) ---

300/*
301 * ur interrupt handler, called from the ccw_device layer
302 */
303static void ur_int_handler(struct ccw_device *cdev, unsigned long intparm,
304 struct irb *irb)
305{
306 struct urdev *urd;
307
308 kstat_cpu(smp_processor_id()).irqs[IOINT_VMR]++;
309 TRACE("ur_int_handler: intparm=0x%lx cstat=%02x dstat=%02x res=%u\n",
310 intparm, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat,
311 irb->scsw.cmd.count);
312
313 if (!intparm) {
314 TRACE("ur_int_handler: unsolicited interrupt\n");
315 return;
316 }

--- 754 unchanged lines hidden ---
308 TRACE("ur_int_handler: intparm=0x%lx cstat=%02x dstat=%02x res=%u\n",
309 intparm, irb->scsw.cmd.cstat, irb->scsw.cmd.dstat,
310 irb->scsw.cmd.count);
311
312 if (!intparm) {
313 TRACE("ur_int_handler: unsolicited interrupt\n");
314 return;
315 }

--- 754 unchanged lines hidden ---