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