eadm_sch.h 561 B

123456789101112131415161718192021222324
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef EADM_SCH_H
  3. #define EADM_SCH_H
  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. struct eadm_private {
  10. union orb orb;
  11. enum {EADM_IDLE, EADM_BUSY, EADM_NOT_OPER} state;
  12. struct completion *completion;
  13. struct subchannel *sch;
  14. struct timer_list timer;
  15. struct list_head head;
  16. } __aligned(8);
  17. #define get_eadm_private(n) ((struct eadm_private *)dev_get_drvdata(&n->dev))
  18. #define set_eadm_private(n, p) (dev_set_drvdata(&n->dev, p))
  19. #endif