diff options
author | Sebastian Ott <sebott@linux.vnet.ibm.com> | 2012-08-28 16:48:16 +0200 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2012-09-26 15:45:00 +0200 |
commit | eadb86ab80545d04a0ee576e92ba4447621cdb02 (patch) | |
tree | fa9903cd696ea67d244dab55a1fdb71658208cfa /drivers/s390/cio/eadm_sch.h | |
parent | 40ff4cc06697e8ba3f8ce93b0592ddbcf70cd444 (diff) |
s390/cio: add eadm subchannel driver
This driver allows usage of EADM subchannels. EADM subchannels
act as a communication vehicle for SCM increments.
Signed-off-by: Sebastian Ott <sebott@linux.vnet.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'drivers/s390/cio/eadm_sch.h')
-rw-r--r-- | drivers/s390/cio/eadm_sch.h | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/s390/cio/eadm_sch.h b/drivers/s390/cio/eadm_sch.h new file mode 100644 index 000000000000..2779be093982 --- /dev/null +++ b/drivers/s390/cio/eadm_sch.h @@ -0,0 +1,20 @@ +#ifndef EADM_SCH_H +#define EADM_SCH_H + +#include <linux/device.h> +#include <linux/timer.h> +#include <linux/list.h> +#include "orb.h" + +struct eadm_private { + union orb orb; + enum {EADM_IDLE, EADM_BUSY, EADM_NOT_OPER} state; + struct timer_list timer; + struct list_head head; + struct subchannel *sch; +} __aligned(8); + +#define get_eadm_private(n) ((struct eadm_private *)dev_get_drvdata(&n->dev)) +#define set_eadm_private(n, p) (dev_set_drvdata(&n->dev, p)) + +#endif |