iwlwifi: move notification wait into core
This code is a library to be used by multiple opmodes, so move it into the iwlwifi module. Reviewed-by: Donald H Fry <donald.h.fry@intel.com> Reviewed-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
cc5f7e3976
commit
ac91f91045
@ -7,7 +7,6 @@ iwldvm-objs += iwl-agn-tt.o iwl-agn-sta.o iwl-agn-rx.o
|
|||||||
iwldvm-objs += iwl-eeprom.o iwl-power.o
|
iwldvm-objs += iwl-eeprom.o iwl-power.o
|
||||||
iwldvm-objs += iwl-scan.o iwl-led.o
|
iwldvm-objs += iwl-scan.o iwl-led.o
|
||||||
iwldvm-objs += iwl-agn-rxon.o iwl-agn-devices.o
|
iwldvm-objs += iwl-agn-rxon.o iwl-agn-devices.o
|
||||||
iwldvm-objs += iwl-notif-wait.o
|
|
||||||
|
|
||||||
iwldvm-$(CONFIG_IWLWIFI_DEBUGFS) += iwl-debugfs.o
|
iwldvm-$(CONFIG_IWLWIFI_DEBUGFS) += iwl-debugfs.o
|
||||||
iwldvm-$(CONFIG_IWLWIFI_DEVICE_TESTMODE) += iwl-testmode.o
|
iwldvm-$(CONFIG_IWLWIFI_DEVICE_TESTMODE) += iwl-testmode.o
|
||||||
@ -24,6 +23,7 @@ iwlwifi-objs += iwl-io.o
|
|||||||
iwlwifi-objs += iwl-pci.o
|
iwlwifi-objs += iwl-pci.o
|
||||||
iwlwifi-objs += iwl-drv.o
|
iwlwifi-objs += iwl-drv.o
|
||||||
iwlwifi-objs += iwl-debug.o
|
iwlwifi-objs += iwl-debug.o
|
||||||
|
iwlwifi-objs += iwl-notif-wait.o
|
||||||
iwlwifi-objs += iwl-trans-pcie.o iwl-trans-pcie-rx.o iwl-trans-pcie-tx.o
|
iwlwifi-objs += iwl-trans-pcie.o iwl-trans-pcie-rx.o iwl-trans-pcie-tx.o
|
||||||
|
|
||||||
iwlwifi-$(CONFIG_IWLWIFI_DEVICE_TRACING) += iwl-devtrace.o
|
iwlwifi-$(CONFIG_IWLWIFI_DEVICE_TRACING) += iwl-devtrace.o
|
||||||
|
@ -61,6 +61,7 @@
|
|||||||
*
|
*
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
#include <linux/sched.h>
|
#include <linux/sched.h>
|
||||||
|
#include <linux/export.h>
|
||||||
|
|
||||||
#include "iwl-notif-wait.h"
|
#include "iwl-notif-wait.h"
|
||||||
|
|
||||||
@ -71,6 +72,7 @@ void iwl_notification_wait_init(struct iwl_notif_wait_data *notif_wait)
|
|||||||
INIT_LIST_HEAD(¬if_wait->notif_waits);
|
INIT_LIST_HEAD(¬if_wait->notif_waits);
|
||||||
init_waitqueue_head(¬if_wait->notif_waitq);
|
init_waitqueue_head(¬if_wait->notif_waitq);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(iwl_notification_wait_init);
|
||||||
|
|
||||||
void iwl_notification_wait_notify(struct iwl_notif_wait_data *notif_wait,
|
void iwl_notification_wait_notify(struct iwl_notif_wait_data *notif_wait,
|
||||||
struct iwl_rx_packet *pkt)
|
struct iwl_rx_packet *pkt)
|
||||||
@ -115,6 +117,7 @@ void iwl_notification_wait_notify(struct iwl_notif_wait_data *notif_wait,
|
|||||||
if (triggered)
|
if (triggered)
|
||||||
wake_up_all(¬if_wait->notif_waitq);
|
wake_up_all(¬if_wait->notif_waitq);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(iwl_notification_wait_notify);
|
||||||
|
|
||||||
void iwl_abort_notification_waits(struct iwl_notif_wait_data *notif_wait)
|
void iwl_abort_notification_waits(struct iwl_notif_wait_data *notif_wait)
|
||||||
{
|
{
|
||||||
@ -128,7 +131,7 @@ void iwl_abort_notification_waits(struct iwl_notif_wait_data *notif_wait)
|
|||||||
|
|
||||||
wake_up_all(¬if_wait->notif_waitq);
|
wake_up_all(¬if_wait->notif_waitq);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(iwl_abort_notification_waits);
|
||||||
|
|
||||||
void
|
void
|
||||||
iwl_init_notification_wait(struct iwl_notif_wait_data *notif_wait,
|
iwl_init_notification_wait(struct iwl_notif_wait_data *notif_wait,
|
||||||
@ -152,6 +155,7 @@ iwl_init_notification_wait(struct iwl_notif_wait_data *notif_wait,
|
|||||||
list_add(&wait_entry->list, ¬if_wait->notif_waits);
|
list_add(&wait_entry->list, ¬if_wait->notif_waits);
|
||||||
spin_unlock_bh(¬if_wait->notif_wait_lock);
|
spin_unlock_bh(¬if_wait->notif_wait_lock);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(iwl_init_notification_wait);
|
||||||
|
|
||||||
int iwl_wait_notification(struct iwl_notif_wait_data *notif_wait,
|
int iwl_wait_notification(struct iwl_notif_wait_data *notif_wait,
|
||||||
struct iwl_notification_wait *wait_entry,
|
struct iwl_notification_wait *wait_entry,
|
||||||
@ -175,6 +179,7 @@ int iwl_wait_notification(struct iwl_notif_wait_data *notif_wait,
|
|||||||
return -ETIMEDOUT;
|
return -ETIMEDOUT;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(iwl_wait_notification);
|
||||||
|
|
||||||
void iwl_remove_notification(struct iwl_notif_wait_data *notif_wait,
|
void iwl_remove_notification(struct iwl_notif_wait_data *notif_wait,
|
||||||
struct iwl_notification_wait *wait_entry)
|
struct iwl_notification_wait *wait_entry)
|
||||||
@ -183,3 +188,4 @@ void iwl_remove_notification(struct iwl_notif_wait_data *notif_wait,
|
|||||||
list_del(&wait_entry->list);
|
list_del(&wait_entry->list);
|
||||||
spin_unlock_bh(¬if_wait->notif_wait_lock);
|
spin_unlock_bh(¬if_wait->notif_wait_lock);
|
||||||
}
|
}
|
||||||
|
EXPORT_SYMBOL_GPL(iwl_remove_notification);
|
||||||
|
Loading…
Reference in New Issue
Block a user