xref: /linux/drivers/s390/cio/eadm_sch.h (revision c4ee0af3fa0dc65f690fc908f02b8355f9576ea0)
1 #ifndef EADM_SCH_H
2 #define EADM_SCH_H
3 
4 #include <linux/completion.h>
5 #include <linux/device.h>
6 #include <linux/timer.h>
7 #include <linux/list.h>
8 #include "orb.h"
9 
10 struct eadm_private {
11 	union orb orb;
12 	enum {EADM_IDLE, EADM_BUSY, EADM_NOT_OPER} state;
13 	struct completion *completion;
14 	struct subchannel *sch;
15 	struct timer_list timer;
16 	struct list_head head;
17 } __aligned(8);
18 
19 #define get_eadm_private(n) ((struct eadm_private *)dev_get_drvdata(&n->dev))
20 #define set_eadm_private(n, p) (dev_set_drvdata(&n->dev, p))
21 
22 #endif
23