diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-trans.h')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-trans.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-trans.h b/drivers/net/wireless/iwlwifi/iwl-trans.h index 0768f83e709d..028408a6ecba 100644 --- a/drivers/net/wireless/iwlwifi/iwl-trans.h +++ b/drivers/net/wireless/iwlwifi/iwl-trans.h | |||
@@ -534,6 +534,8 @@ struct iwl_trans_ops { | |||
534 | u32 value); | 534 | u32 value); |
535 | void (*ref)(struct iwl_trans *trans); | 535 | void (*ref)(struct iwl_trans *trans); |
536 | void (*unref)(struct iwl_trans *trans); | 536 | void (*unref)(struct iwl_trans *trans); |
537 | void (*suspend)(struct iwl_trans *trans); | ||
538 | void (*resume)(struct iwl_trans *trans); | ||
537 | 539 | ||
538 | struct iwl_trans_dump_data *(*dump_data)(struct iwl_trans *trans); | 540 | struct iwl_trans_dump_data *(*dump_data)(struct iwl_trans *trans); |
539 | }; | 541 | }; |
@@ -572,6 +574,9 @@ enum iwl_trans_state { | |||
572 | * @rx_mpdu_cmd_hdr_size: used for tracing, amount of data before the | 574 | * @rx_mpdu_cmd_hdr_size: used for tracing, amount of data before the |
573 | * start of the 802.11 header in the @rx_mpdu_cmd | 575 | * start of the 802.11 header in the @rx_mpdu_cmd |
574 | * @dflt_pwr_limit: default power limit fetched from the platform (ACPI) | 576 | * @dflt_pwr_limit: default power limit fetched from the platform (ACPI) |
577 | * @dbg_dest_tlv: points to the destination TLV for debug | ||
578 | * @dbg_conf_tlv: array of pointers to configuration TLVs for debug | ||
579 | * @dbg_dest_reg_num: num of reg_ops in %dbg_dest_tlv | ||
575 | */ | 580 | */ |
576 | struct iwl_trans { | 581 | struct iwl_trans { |
577 | const struct iwl_trans_ops *ops; | 582 | const struct iwl_trans_ops *ops; |
@@ -603,6 +608,10 @@ struct iwl_trans { | |||
603 | 608 | ||
604 | u64 dflt_pwr_limit; | 609 | u64 dflt_pwr_limit; |
605 | 610 | ||
611 | const struct iwl_fw_dbg_dest_tlv *dbg_dest_tlv; | ||
612 | const struct iwl_fw_dbg_conf_tlv *dbg_conf_tlv[FW_DBG_MAX]; | ||
613 | u8 dbg_dest_reg_num; | ||
614 | |||
606 | /* pointer to trans specific struct */ | 615 | /* pointer to trans specific struct */ |
607 | /*Ensure that this pointer will always be aligned to sizeof pointer */ | 616 | /*Ensure that this pointer will always be aligned to sizeof pointer */ |
608 | char trans_specific[0] __aligned(sizeof(void *)); | 617 | char trans_specific[0] __aligned(sizeof(void *)); |
@@ -702,6 +711,18 @@ static inline void iwl_trans_unref(struct iwl_trans *trans) | |||
702 | trans->ops->unref(trans); | 711 | trans->ops->unref(trans); |
703 | } | 712 | } |
704 | 713 | ||
714 | static inline void iwl_trans_suspend(struct iwl_trans *trans) | ||
715 | { | ||
716 | if (trans->ops->suspend) | ||
717 | trans->ops->suspend(trans); | ||
718 | } | ||
719 | |||
720 | static inline void iwl_trans_resume(struct iwl_trans *trans) | ||
721 | { | ||
722 | if (trans->ops->resume) | ||
723 | trans->ops->resume(trans); | ||
724 | } | ||
725 | |||
705 | static inline struct iwl_trans_dump_data * | 726 | static inline struct iwl_trans_dump_data * |
706 | iwl_trans_dump_data(struct iwl_trans *trans) | 727 | iwl_trans_dump_data(struct iwl_trans *trans) |
707 | { | 728 | { |