Просмотр исходного кода

qcacld-3.0: Cleanup code related to unit-test framework

A previous unit-test framework change contained some outstanding clean
code issues. Address the issues to ensure cleaner code is maintained.

Change-Id: I889d4e12a7c00b5fc6cb409bc077466019442456
CRs-Fixed: 1073756
Dustin Brown 8 лет назад
Родитель
Сommit
d53d1a85c6

+ 41 - 0
core/hdd/inc/wlan_hdd_driver_ops.h

@@ -37,9 +37,50 @@
 */
 int wlan_hdd_register_driver(void);
 void wlan_hdd_unregister_driver(void);
+
+/**
+ * wlan_hdd_bus_suspend() - suspend the wlan bus
+ *
+ * This function is called by the platform driver to suspend the
+ * wlan bus
+ *
+ * @state: state
+ *
+ * Return: QDF_STATUS
+ */
 int wlan_hdd_bus_suspend(pm_message_t state);
+
+/**
+ * wlan_hdd_bus_suspend_noirq() - handle .suspend_noirq callback
+ *
+ * This function is called by the platform driver to complete the
+ * bus suspend callback when device interrupts are disabled by kernel.
+ * Call HIF and WMA suspend_noirq callbacks to make sure there is no
+ * wake up pending from FW before allowing suspend.
+ *
+ * Return: 0 for success and -EBUSY if FW is requesting wake up
+ */
 int wlan_hdd_bus_suspend_noirq(void);
+
+/**
+ * wlan_hdd_bus_resume(): wake up the bus
+ *
+ * This function is called by the platform driver to resume wlan
+ * bus
+ *
+ * Return: void
+ */
 int wlan_hdd_bus_resume(void);
+
+/**
+ * wlan_hdd_bus_resume_noirq(): handle bus resume no irq
+ *
+ * This function is called by the platform driver to do bus
+ * resume no IRQ before calling resume callback. Call WMA and HIF
+ * layers to complete the resume_noirq.
+ *
+ * Return: 0 for success and negative error code for failure
+ */
 int wlan_hdd_bus_resume_noirq(void);
 void hdd_hif_close(void *hif_ctx);
 int hdd_hif_open(struct device *dev, void *bdev, const hif_bus_id *bid,

+ 13 - 0
core/hdd/inc/wlan_hdd_power.h

@@ -208,7 +208,20 @@ void hdd_wlan_suspend_resume_event(uint8_t state) {}
  * enabling/disabling appropriate copy engine irqs.
  */
 #ifdef WLAN_SUSPEND_RESUME_TEST
+/**
+ * hdd_wlan_fake_apps_resume() - Resume from unit-test triggered suspend
+ * @wiphy: wiphy struct from a validated hdd context
+ *
+ * Return: Zero on success, calls QDF_BUG() on failure
+ */
 int hdd_wlan_fake_apps_resume(struct wiphy *wiphy);
+
+/**
+ * hdd_wlan_fake_apps_suspend() - Initiate a unit-test triggered suspend
+ * @wiphy: wiphy struct from a validated hdd context
+ *
+ * Return: Zero on success, suspend related non-zero error code on failure
+ */
 int hdd_wlan_fake_apps_suspend(struct wiphy *wiphy);
 #else
 static inline int hdd_wlan_fake_apps_resume(struct wiphy *wiphy)

+ 0 - 37
core/hdd/src/wlan_hdd_driver_ops.c

@@ -558,16 +558,6 @@ done:
 	return err;
 }
 
-/**
- * wlan_hdd_bus_suspend() - suspend the wlan bus
- *
- * This function is called by the platform driver to suspend the
- * wlan bus
- *
- * @state: state
- *
- * Return: QDF_STATUS
- */
 int wlan_hdd_bus_suspend(pm_message_t state)
 {
 	int ret;
@@ -635,16 +625,6 @@ done:
 	return err;
 }
 
-/**
- * wlan_hdd_bus_suspend_noirq() - handle .suspend_noirq callback
- *
- * This function is called by the platform driver to complete the
- * bus suspend callback when device interrupts are disabled by kernel.
- * Call HIF and WMA suspend_noirq callbacks to make sure there is no
- * wake up pending from FW before allowing suspend.
- *
- * Return: 0 for success and -EBUSY if FW is requesting wake up
- */
 int wlan_hdd_bus_suspend_noirq(void)
 {
 	int ret;
@@ -700,14 +680,6 @@ static int __wlan_hdd_bus_resume(void)
 	return status;
 }
 
-/**
- * wlan_hdd_bus_resume(): wake up the bus
- *
- * This function is called by the platform driver to resume wlan
- * bus
- *
- * Return: void
- */
 int wlan_hdd_bus_resume(void)
 {
 	int ret;
@@ -758,15 +730,6 @@ int __wlan_hdd_bus_resume_noirq(void)
 	return status;
 }
 
-/**
- * wlan_hdd_bus_resume_noirq(): handle bus resume no irq
- *
- * This function is called by the platform driver to do bus
- * resume no IRQ before calling resume callback. Call WMA and HIF
- * layers to complete the resume_noirq.
- *
- * Return: 0 for success and negative error code for failure
- */
 int wlan_hdd_bus_resume_noirq(void)
 {
 	int ret;

+ 37 - 59
core/hdd/src/wlan_hdd_power.c

@@ -2356,7 +2356,7 @@ int hdd_set_qpower_config(hdd_context_t *hddctx, hdd_adapter_t *adapter,
 
 #ifdef WLAN_SUSPEND_RESUME_TEST
 /*
- * On Rome/iHelium there are 12 CE irqs and #2 is the wake irq. This may not be
+ * On iHelium there are 12 CE irqs and #2 is the wake irq. This may not be
  * a valid assumption on future platforms.
  */
 #define CE_IRQ_COUNT 12
@@ -2366,7 +2366,41 @@ static struct wiphy *g_wiphy;
 #define HDD_FA_SUSPENDED_BIT (0)
 static unsigned long fake_apps_state;
 
-static int __hdd_wlan_fake_apps_resume(struct wiphy *wiphy);
+/**
+ * __hdd_wlan_fake_apps_resume() - The core logic for
+ *	hdd_wlan_fake_apps_resume() skipping the call to hif_fake_apps_resume(),
+ *	which is only need for non-irq resume
+ * @wiphy: wiphy struct from a validated hdd context
+ *
+ * Return: Zero on success, calls QDF_BUG() on failure
+ */
+static void __hdd_wlan_fake_apps_resume(struct wiphy *wiphy)
+{
+	qdf_device_t qdf_dev = cds_get_context(QDF_MODULE_ID_QDF_DEVICE);
+	int i, resume_err;
+
+	hdd_info("Unit-test resume WLAN");
+	if (!test_and_clear_bit(HDD_FA_SUSPENDED_BIT, &fake_apps_state)) {
+		hdd_info("Not unit-test suspended; Nothing to do");
+		return;
+	}
+
+	/* disable wake irq */
+	pld_disable_irq(qdf_dev->dev, CE_WAKE_IRQ);
+
+	resume_err = wlan_hdd_bus_resume_noirq();
+	QDF_BUG(resume_err == 0);
+
+	/* simulate kernel enable irqs */
+	for (i = 0; i < CE_IRQ_COUNT; i++)
+		pld_enable_irq(qdf_dev->dev, i);
+
+	resume_err = wlan_hdd_bus_resume();
+	QDF_BUG(resume_err == 0);
+
+	resume_err = wlan_hdd_cfg80211_resume_wlan(wiphy);
+	QDF_BUG(resume_err == 0);
+}
 
 /**
  * hdd_wlan_fake_apps_resume_irq_callback() - Irq callback function for resuming
@@ -2386,12 +2420,6 @@ static void hdd_wlan_fake_apps_resume_irq_callback(uint32_t val)
 	g_wiphy = NULL;
 }
 
-/**
- * hdd_wlan_fake_apps_suspend() - Initiate a unit-test triggered suspend
- * @wiphy: wiphy struct from a validated hdd context
- *
- * Return: Zero on success, suspend related non-zero error code on failure
- */
 int hdd_wlan_fake_apps_suspend(struct wiphy *wiphy)
 {
 	qdf_device_t qdf_dev = cds_get_context(QDF_MODULE_ID_QDF_DEVICE);
@@ -2449,62 +2477,12 @@ resume_done:
 	return suspend_err;
 }
 
-/**
- * hdd_wlan_fake_apps_resume() - Resume from unit-test triggered suspend
- * @wiphy: wiphy struct from a validated hdd context
- *
- * Return: Zero on success, calls QDF_BUG() on failure
- */
 int hdd_wlan_fake_apps_resume(struct wiphy *wiphy)
 {
 	struct hif_opaque_softc *hif_ctx = cds_get_context(QDF_MODULE_ID_HIF);
-	int err;
 
 	hif_fake_apps_resume(hif_ctx);
-	err = __hdd_wlan_fake_apps_resume(wiphy);
-	if (err) {
-		hif_fake_apps_suspend(hif_ctx,
-				      hdd_wlan_fake_apps_resume_irq_callback);
-		return err;
-	}
-
-	return 0;
-}
-
-/**
- * __hdd_wlan_fake_apps_resume() - The core logic for
- *	hdd_wlan_fake_apps_resume() skipping the call to hif_fake_apps_resume(),
- *	which is only need for non-irq resume
- * @wiphy: wiphy struct from a validated hdd context
- *
- * Return: Zero on success, calls QDF_BUG() on failure
- */
-static int __hdd_wlan_fake_apps_resume(struct wiphy *wiphy)
-{
-	qdf_device_t qdf_dev = cds_get_context(QDF_MODULE_ID_QDF_DEVICE);
-	int i, resume_err;
-
-	hdd_info("Unit-test resume WLAN");
-	if (!test_and_clear_bit(HDD_FA_SUSPENDED_BIT, &fake_apps_state)) {
-		hdd_info("Not unit-test suspended; Nothing to do");
-		return 0;
-	}
-
-	/* disable wake irq */
-	pld_disable_irq(qdf_dev->dev, CE_WAKE_IRQ);
-
-	resume_err = wlan_hdd_bus_resume_noirq();
-	QDF_BUG(resume_err == 0);
-
-	/* simulate kernel enable irqs */
-	for (i = 0; i < CE_IRQ_COUNT; i++)
-		pld_enable_irq(qdf_dev->dev, i);
-
-	resume_err = wlan_hdd_bus_resume();
-	QDF_BUG(resume_err == 0);
-
-	resume_err = wlan_hdd_cfg80211_resume_wlan(wiphy);
-	QDF_BUG(resume_err == 0);
+	__hdd_wlan_fake_apps_resume(wiphy);
 
 	return 0;
 }

+ 0 - 3
core/pld/inc/pld_common.h

@@ -379,7 +379,4 @@ void *pld_smmu_get_mapping(struct device *dev);
 int pld_smmu_map(struct device *dev, phys_addr_t paddr,
 		 uint32_t *iova_addr, size_t size);
 unsigned int pld_socinfo_get_serial_number(struct device *dev);
-
-void pld_enable_irq(struct device *dev, unsigned int ce_id);
-void pld_disable_irq(struct device *dev, unsigned int ce_id);
 #endif