| /* SPDX-License-Identifier: GPL-2.0 */ |
| #ifndef EADM_SCH_H |
| #define EADM_SCH_H |
| |
| #include <linux/completion.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 completion *completion; |
| struct subchannel *sch; |
| struct timer_list timer; |
| struct list_head head; |
| } __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 |