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 11struct 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