aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/s390/cio/device.h
diff options
context:
space:
mode:
authorJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
committerJonathan Herman <hermanjl@cs.unc.edu>2013-01-17 16:15:55 -0500
commit8dea78da5cee153b8af9c07a2745f6c55057fe12 (patch)
treea8f4d49d63b1ecc92f2fddceba0655b2472c5bd9 /drivers/s390/cio/device.h
parent406089d01562f1e2bf9f089fd7637009ebaad589 (diff)
Patched in Tegra support.
Diffstat (limited to 'drivers/s390/cio/device.h')
-rw-r--r--drivers/s390/cio/device.h15
1 files changed, 3 insertions, 12 deletions
diff --git a/drivers/s390/cio/device.h b/drivers/s390/cio/device.h
index 7d4ecb65db0..0b7245c72d5 100644
--- a/drivers/s390/cio/device.h
+++ b/drivers/s390/cio/device.h
@@ -5,7 +5,6 @@
5#include <linux/atomic.h> 5#include <linux/atomic.h>
6#include <linux/wait.h> 6#include <linux/wait.h>
7#include <linux/notifier.h> 7#include <linux/notifier.h>
8#include <linux/kernel_stat.h>
9#include "io_sch.h" 8#include "io_sch.h"
10 9
11/* 10/*
@@ -57,16 +56,7 @@ extern fsm_func_t *dev_jumptable[NR_DEV_STATES][NR_DEV_EVENTS];
57static inline void 56static inline void
58dev_fsm_event(struct ccw_device *cdev, enum dev_event dev_event) 57dev_fsm_event(struct ccw_device *cdev, enum dev_event dev_event)
59{ 58{
60 int state = cdev->private->state; 59 dev_jumptable[cdev->private->state][dev_event](cdev, dev_event);
61
62 if (dev_event == DEV_EVENT_INTERRUPT) {
63 if (state == DEV_STATE_ONLINE)
64 inc_irq_stat(cdev->private->int_class);
65 else if (state != DEV_STATE_CMFCHANGE &&
66 state != DEV_STATE_CMFUPDATE)
67 inc_irq_stat(IRQIO_CIO);
68 }
69 dev_jumptable[state][dev_event](cdev, dev_event);
70} 60}
71 61
72/* 62/*
@@ -100,7 +90,6 @@ int ccw_device_test_sense_data(struct ccw_device *);
100void ccw_device_schedule_sch_unregister(struct ccw_device *); 90void ccw_device_schedule_sch_unregister(struct ccw_device *);
101int ccw_purge_blacklisted(void); 91int ccw_purge_blacklisted(void);
102void ccw_device_sched_todo(struct ccw_device *cdev, enum cdev_todo todo); 92void ccw_device_sched_todo(struct ccw_device *cdev, enum cdev_todo todo);
103struct ccw_device *get_ccwdev_by_dev_id(struct ccw_dev_id *dev_id);
104 93
105/* Function prototypes for device status and basic sense stuff. */ 94/* Function prototypes for device status and basic sense stuff. */
106void ccw_device_accumulate_irb(struct ccw_device *, struct irb *); 95void ccw_device_accumulate_irb(struct ccw_device *, struct irb *);
@@ -141,7 +130,9 @@ int ccw_device_notify(struct ccw_device *, int);
141void ccw_device_set_disconnected(struct ccw_device *cdev); 130void ccw_device_set_disconnected(struct ccw_device *cdev);
142void ccw_device_set_notoper(struct ccw_device *cdev); 131void ccw_device_set_notoper(struct ccw_device *cdev);
143 132
133/* qdio needs this. */
144void ccw_device_set_timeout(struct ccw_device *, int); 134void ccw_device_set_timeout(struct ccw_device *, int);
135extern struct subchannel_id ccw_device_get_subchannel_id(struct ccw_device *);
145 136
146/* Channel measurement facility related */ 137/* Channel measurement facility related */
147void retry_set_schib(struct ccw_device *cdev); 138void retry_set_schib(struct ccw_device *cdev);