diff options
Diffstat (limited to 'drivers/s390/cio/device.h')
-rw-r--r-- | drivers/s390/cio/device.h | 28 |
1 files changed, 15 insertions, 13 deletions
diff --git a/drivers/s390/cio/device.h b/drivers/s390/cio/device.h index 246c6482842c..379de2d1ec49 100644 --- a/drivers/s390/cio/device.h +++ b/drivers/s390/cio/device.h | |||
@@ -4,7 +4,7 @@ | |||
4 | #include <asm/ccwdev.h> | 4 | #include <asm/ccwdev.h> |
5 | #include <asm/atomic.h> | 5 | #include <asm/atomic.h> |
6 | #include <linux/wait.h> | 6 | #include <linux/wait.h> |
7 | 7 | #include <linux/notifier.h> | |
8 | #include "io_sch.h" | 8 | #include "io_sch.h" |
9 | 9 | ||
10 | /* | 10 | /* |
@@ -21,7 +21,6 @@ enum dev_state { | |||
21 | DEV_STATE_DISBAND_PGID, | 21 | DEV_STATE_DISBAND_PGID, |
22 | DEV_STATE_BOXED, | 22 | DEV_STATE_BOXED, |
23 | /* states to wait for i/o completion before doing something */ | 23 | /* states to wait for i/o completion before doing something */ |
24 | DEV_STATE_CLEAR_VERIFY, | ||
25 | DEV_STATE_TIMEOUT_KILL, | 24 | DEV_STATE_TIMEOUT_KILL, |
26 | DEV_STATE_QUIESCE, | 25 | DEV_STATE_QUIESCE, |
27 | /* special states for devices gone not operational */ | 26 | /* special states for devices gone not operational */ |
@@ -29,6 +28,7 @@ enum dev_state { | |||
29 | DEV_STATE_DISCONNECTED_SENSE_ID, | 28 | DEV_STATE_DISCONNECTED_SENSE_ID, |
30 | DEV_STATE_CMFCHANGE, | 29 | DEV_STATE_CMFCHANGE, |
31 | DEV_STATE_CMFUPDATE, | 30 | DEV_STATE_CMFUPDATE, |
31 | DEV_STATE_STEAL_LOCK, | ||
32 | /* last element! */ | 32 | /* last element! */ |
33 | NR_DEV_STATES | 33 | NR_DEV_STATES |
34 | }; | 34 | }; |
@@ -71,7 +71,6 @@ dev_fsm_final_state(struct ccw_device *cdev) | |||
71 | cdev->private->state == DEV_STATE_BOXED); | 71 | cdev->private->state == DEV_STATE_BOXED); |
72 | } | 72 | } |
73 | 73 | ||
74 | extern struct workqueue_struct *ccw_device_work; | ||
75 | extern wait_queue_head_t ccw_device_init_wq; | 74 | extern wait_queue_head_t ccw_device_init_wq; |
76 | extern atomic_t ccw_device_init_count; | 75 | extern atomic_t ccw_device_init_count; |
77 | int __init io_subchannel_init(void); | 76 | int __init io_subchannel_init(void); |
@@ -81,17 +80,16 @@ void io_subchannel_init_config(struct subchannel *sch); | |||
81 | 80 | ||
82 | int ccw_device_cancel_halt_clear(struct ccw_device *); | 81 | int ccw_device_cancel_halt_clear(struct ccw_device *); |
83 | 82 | ||
84 | void ccw_device_do_unbind_bind(struct work_struct *); | ||
85 | void ccw_device_move_to_orphanage(struct work_struct *); | ||
86 | int ccw_device_is_orphan(struct ccw_device *); | 83 | int ccw_device_is_orphan(struct ccw_device *); |
87 | 84 | ||
88 | int ccw_device_recognition(struct ccw_device *); | 85 | void ccw_device_recognition(struct ccw_device *); |
89 | int ccw_device_online(struct ccw_device *); | 86 | int ccw_device_online(struct ccw_device *); |
90 | int ccw_device_offline(struct ccw_device *); | 87 | int ccw_device_offline(struct ccw_device *); |
91 | void ccw_device_update_sense_data(struct ccw_device *); | 88 | void ccw_device_update_sense_data(struct ccw_device *); |
92 | int ccw_device_test_sense_data(struct ccw_device *); | 89 | int ccw_device_test_sense_data(struct ccw_device *); |
93 | void ccw_device_schedule_sch_unregister(struct ccw_device *); | 90 | void ccw_device_schedule_sch_unregister(struct ccw_device *); |
94 | int ccw_purge_blacklisted(void); | 91 | int ccw_purge_blacklisted(void); |
92 | void ccw_device_sched_todo(struct ccw_device *cdev, enum cdev_todo todo); | ||
95 | 93 | ||
96 | /* Function prototypes for device status and basic sense stuff. */ | 94 | /* Function prototypes for device status and basic sense stuff. */ |
97 | void ccw_device_accumulate_irb(struct ccw_device *, struct irb *); | 95 | void ccw_device_accumulate_irb(struct ccw_device *, struct irb *); |
@@ -99,24 +97,28 @@ void ccw_device_accumulate_basic_sense(struct ccw_device *, struct irb *); | |||
99 | int ccw_device_accumulate_and_sense(struct ccw_device *, struct irb *); | 97 | int ccw_device_accumulate_and_sense(struct ccw_device *, struct irb *); |
100 | int ccw_device_do_sense(struct ccw_device *, struct irb *); | 98 | int ccw_device_do_sense(struct ccw_device *, struct irb *); |
101 | 99 | ||
100 | /* Function prototype for internal request handling. */ | ||
101 | int lpm_adjust(int lpm, int mask); | ||
102 | void ccw_request_start(struct ccw_device *); | ||
103 | int ccw_request_cancel(struct ccw_device *cdev); | ||
104 | void ccw_request_handler(struct ccw_device *cdev); | ||
105 | void ccw_request_timeout(struct ccw_device *cdev); | ||
106 | void ccw_request_notoper(struct ccw_device *cdev); | ||
107 | |||
102 | /* Function prototypes for sense id stuff. */ | 108 | /* Function prototypes for sense id stuff. */ |
103 | void ccw_device_sense_id_start(struct ccw_device *); | 109 | void ccw_device_sense_id_start(struct ccw_device *); |
104 | void ccw_device_sense_id_irq(struct ccw_device *, enum dev_event); | ||
105 | void ccw_device_sense_id_done(struct ccw_device *, int); | 110 | void ccw_device_sense_id_done(struct ccw_device *, int); |
106 | 111 | ||
107 | /* Function prototypes for path grouping stuff. */ | 112 | /* Function prototypes for path grouping stuff. */ |
108 | void ccw_device_sense_pgid_start(struct ccw_device *); | ||
109 | void ccw_device_sense_pgid_irq(struct ccw_device *, enum dev_event); | ||
110 | void ccw_device_sense_pgid_done(struct ccw_device *, int); | ||
111 | |||
112 | void ccw_device_verify_start(struct ccw_device *); | 113 | void ccw_device_verify_start(struct ccw_device *); |
113 | void ccw_device_verify_irq(struct ccw_device *, enum dev_event); | ||
114 | void ccw_device_verify_done(struct ccw_device *, int); | 114 | void ccw_device_verify_done(struct ccw_device *, int); |
115 | 115 | ||
116 | void ccw_device_disband_start(struct ccw_device *); | 116 | void ccw_device_disband_start(struct ccw_device *); |
117 | void ccw_device_disband_irq(struct ccw_device *, enum dev_event); | ||
118 | void ccw_device_disband_done(struct ccw_device *, int); | 117 | void ccw_device_disband_done(struct ccw_device *, int); |
119 | 118 | ||
119 | void ccw_device_stlck_start(struct ccw_device *, void *, void *, void *); | ||
120 | void ccw_device_stlck_done(struct ccw_device *, void *, int); | ||
121 | |||
120 | int ccw_device_call_handler(struct ccw_device *); | 122 | int ccw_device_call_handler(struct ccw_device *); |
121 | 123 | ||
122 | int ccw_device_stlck(struct ccw_device *); | 124 | int ccw_device_stlck(struct ccw_device *); |