summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuanyuan Liu <yuanliu@codeaurora.org>2016-04-06 17:41:37 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2016-05-23 11:46:06 -0700
commit1373850b01fec89b8e12976d3e0523fa6f951dae (patch)
tree79a2c2a0a92350fb95959b5cc9a2462a5bbd720c
parent0e0aa93d3227224f133c3e02d3906b9946f572ab (diff)
qcacld-3.0: HDD: Use PLD APIs (Part 2)
Replace CNSS/ICNSS APIs with PLD APIs for PCIE/SNOC. SDIO/USB changes need to be done separately by adding SDIO/USB support in PLD Change-Id: I0d2446e57922254369b7e7ca69d900006f7a7e28 CRs-Fixed: 1000113
-rw-r--r--core/hdd/inc/wlan_hdd_main.h6
-rw-r--r--core/hdd/src/wlan_hdd_driver_ops.c67
-rw-r--r--core/hdd/src/wlan_hdd_hostapd.c54
-rw-r--r--core/hdd/src/wlan_hdd_main.c71
-rw-r--r--core/hdd/src/wlan_hdd_power.c9
5 files changed, 67 insertions, 140 deletions
diff --git a/core/hdd/inc/wlan_hdd_main.h b/core/hdd/inc/wlan_hdd_main.h
index 5d5e66fa440c..61e69ea4db00 100644
--- a/core/hdd/inc/wlan_hdd_main.h
+++ b/core/hdd/inc/wlan_hdd_main.h
@@ -335,13 +335,13 @@ extern spinlock_t hdd_context_lock;
* @interval_tx: # of tx packets received in the last 100ms interval
* @total_rx: # of total rx packets received on interface
* @total_tx: # of total tx packets received on interface
- * @next_vote_level: cnss_bus_width_type voting level (high or low)
+ * @next_vote_level: pld_bus_width_type voting level (high or low)
* determined on the basis of total tx and rx packets
* received in the last 100ms interval
- * @next_rx_level: cnss_bus_width_type voting level (high or low)
+ * @next_rx_level: pld_bus_width_type voting level (high or low)
* determined on the basis of rx packets received in the
* last 100ms interval
- * @next_tx_level: cnss_bus_width_type voting level (high or low)
+ * @next_tx_level: pld_bus_width_type voting level (high or low)
* determined on the basis of tx packets received in the
* last 100ms interval
*
diff --git a/core/hdd/src/wlan_hdd_driver_ops.c b/core/hdd/src/wlan_hdd_driver_ops.c
index 0bccd0c76559..11f23f2c0cf9 100644
--- a/core/hdd/src/wlan_hdd_driver_ops.c
+++ b/core/hdd/src/wlan_hdd_driver_ops.c
@@ -30,13 +30,6 @@
#include <linux/platform_device.h>
#include <linux/pci.h>
-#ifdef HIF_PCI
-#ifdef CONFIG_CNSS
-#include <net/cnss.h>
-#endif /* CONFIG_CNSS */
-#else
-#include <soc/qcom/icnss.h>
-#endif /* HIF_PCI */
#include "cds_api.h"
#include "qdf_status.h"
#include "qdf_lock.h"
@@ -71,25 +64,16 @@
* The delay incurred for resuming from IDLE/SA PS is huge during driver load.
* So prevent APPS IDLE/SA PS durint driver load for reducing interrupt latency.
*/
-#ifdef CONFIG_CNSS
-static inline void hdd_request_pm_qos(int val)
-{
- cnss_request_pm_qos(val);
-}
-static inline void hdd_remove_pm_qos(void)
-{
- cnss_remove_pm_qos();
-}
-#else
-static inline void hdd_request_pm_qos(int val)
+static inline void hdd_request_pm_qos(struct device *dev, int val)
{
+ pld_request_pm_qos(dev, val);
}
-static inline void hdd_remove_pm_qos(void)
+static inline void hdd_remove_pm_qos(struct device *dev)
{
+ pld_remove_pm_qos(dev);
}
-#endif
/**
* hdd_set_recovery_in_progress() - API to set recovery in progress
@@ -346,7 +330,7 @@ static int wlan_hdd_probe(struct device *dev, void *bdev, const hif_bus_id *bid,
* The Fix is to not allow Krait to enter Idle Power Save during driver
* load.
*/
- hdd_request_pm_qos(DISABLE_KRAIT_IDLE_PS_VAL);
+ hdd_request_pm_qos(dev, DISABLE_KRAIT_IDLE_PS_VAL);
if (reinit) {
cds_set_recovery_in_progress(true);
@@ -399,7 +383,7 @@ static int wlan_hdd_probe(struct device *dev, void *bdev, const hif_bus_id *bid,
}
hdd_allow_suspend(WIFI_POWER_EVENT_WAKELOCK_DRIVER_INIT);
- hdd_remove_pm_qos();
+ hdd_remove_pm_qos(dev);
return 0;
@@ -415,19 +399,14 @@ err_hdd_deinit:
hdd_deinit();
out:
hdd_allow_suspend(WIFI_POWER_EVENT_WAKELOCK_DRIVER_INIT);
- hdd_remove_pm_qos();
+ hdd_remove_pm_qos(dev);
return ret;
}
-#ifdef CONFIG_CNSS
-static inline void hdd_cnss_driver_unloading(void)
+static inline void hdd_pld_driver_unloading(struct device *dev)
{
- cnss_set_driver_status(CNSS_LOAD_UNLOAD);
+ pld_set_driver_status(dev, PLD_LOAD_UNLOAD);
}
-#else
-static inline void hdd_cnss_driver_unloading(void) { }
-#endif
-
/**
* wlan_hdd_remove() - wlan_hdd_remove
@@ -437,7 +416,7 @@ static inline void hdd_cnss_driver_unloading(void) { }
*
* Return: void
*/
-static void wlan_hdd_remove(void)
+static void wlan_hdd_remove(struct device *dev)
{
void *hif_ctx;
@@ -456,7 +435,7 @@ static void wlan_hdd_remove(void)
if (!cds_wait_for_external_threads_completion(__func__))
hdd_err("External threads are still active attempting driver unload anyway");
- hdd_cnss_driver_unloading();
+ hdd_pld_driver_unloading(dev);
hif_ctx = cds_get_context(QDF_MODULE_ID_HIF);
@@ -492,7 +471,7 @@ static void wlan_hdd_shutdown(void)
hdd_err("Load/unload in progress, ignore SSR shutdown");
return;
}
- /* this is for cases, where shutdown invoked from CNSS */
+ /* this is for cases, where shutdown invoked from platform */
cds_set_recovery_in_progress(true);
if (!cds_wait_for_external_threads_completion(__func__))
@@ -680,7 +659,7 @@ static int wlan_hdd_bus_resume(void)
*
* Return: 0 or errno
*/
-static int __wlan_hdd_runtime_suspend(void)
+static int __wlan_hdd_runtime_suspend(struct device *dev)
{
void *hdd_ctx = cds_get_context(QDF_MODULE_ID_HDD);
void *hif_ctx = cds_get_context(QDF_MODULE_ID_HIF);
@@ -711,7 +690,7 @@ static int __wlan_hdd_runtime_suspend(void)
if (status)
goto resume_wma;
- status = cnss_auto_suspend();
+ status = pld_auto_suspend(dev);
if (status)
goto resume_hif;
@@ -740,12 +719,12 @@ process_failure:
*
* Return: 0 or errno
*/
-static int wlan_hdd_runtime_suspend(void)
+static int wlan_hdd_runtime_suspend(struct device *dev)
{
int ret;
cds_ssr_protect(__func__);
- ret = __wlan_hdd_runtime_suspend();
+ ret = __wlan_hdd_runtime_suspend(dev);
cds_ssr_unprotect(__func__);
return ret;
@@ -759,14 +738,14 @@ static int wlan_hdd_runtime_suspend(void)
*
* Return: success since failure is a bug
*/
-static int __wlan_hdd_runtime_resume(void)
+static int __wlan_hdd_runtime_resume(struct device *dev)
{
void *hif_ctx = cds_get_context(QDF_MODULE_ID_HIF);
void *htc_ctx = cds_get_context(QDF_MODULE_ID_HTC);
void *txrx_pdev = cds_get_context(QDF_MODULE_ID_TXRX);
hif_pre_runtime_resume(hif_ctx);
- QDF_BUG(!cnss_auto_resume());
+ QDF_BUG(!pld_auto_resume(dev));
QDF_BUG(!hif_runtime_resume(hif_ctx));
QDF_BUG(!wma_runtime_resume());
QDF_BUG(!htc_runtime_resume(htc_ctx));
@@ -783,12 +762,12 @@ static int __wlan_hdd_runtime_resume(void)
*
* Return: success since failure is a bug
*/
-static int wlan_hdd_runtime_resume(void)
+static int wlan_hdd_runtime_resume(struct device *dev)
{
int ret;
cds_ssr_protect(__func__);
- ret = __wlan_hdd_runtime_resume();
+ ret = __wlan_hdd_runtime_resume(dev);
cds_ssr_unprotect(__func__);
return ret;
@@ -830,7 +809,7 @@ static int wlan_hdd_pld_probe(struct device *dev,
static void wlan_hdd_pld_remove(struct device *dev,
enum pld_bus_type bus_type)
{
- wlan_hdd_remove();
+ wlan_hdd_remove(dev);
}
/**
@@ -939,7 +918,7 @@ static void wlan_hdd_pld_notify_handler(struct device *dev,
static int wlan_hdd_pld_runtime_suspend(struct device *dev,
enum pld_bus_type bus_type)
{
- return wlan_hdd_runtime_suspend();
+ return wlan_hdd_runtime_suspend(dev);
}
/**
@@ -952,7 +931,7 @@ static int wlan_hdd_pld_runtime_suspend(struct device *dev,
static int wlan_hdd_pld_runtime_resume(struct device *dev,
enum pld_bus_type bus_type)
{
- return wlan_hdd_runtime_resume();
+ return wlan_hdd_runtime_resume(dev);
}
#endif
diff --git a/core/hdd/src/wlan_hdd_hostapd.c b/core/hdd/src/wlan_hdd_hostapd.c
index bf4133562d48..085c965ce5f8 100644
--- a/core/hdd/src/wlan_hdd_hostapd.c
+++ b/core/hdd/src/wlan_hdd_hostapd.c
@@ -62,9 +62,7 @@
#include "wni_cfg.h"
#include "wlan_hdd_misc.h"
#include <cds_utils.h>
-#if defined CONFIG_CNSS
-#include <net/cnss.h>
-#endif
+#include "pld_common.h"
#include "wma.h"
#ifdef DEBUG
@@ -899,9 +897,7 @@ QDF_STATUS hdd_hostapd_sap_event_cb(tpSap_Event pSapEvent,
uint8_t cc_len = WLAN_SVC_COUNTRY_CODE_LEN;
hdd_adapter_t *con_sap_adapter;
QDF_STATUS status = QDF_STATUS_SUCCESS;
-#if defined CONFIG_CNSS
int ret = 0;
-#endif
dev = (struct net_device *)usrDataForCallback;
if (!dev) {
@@ -1771,47 +1767,37 @@ QDF_STATUS hdd_hostapd_sap_event_cb(tpSap_Event pSapEvent,
case eSAP_DFS_NOL_GET:
hddLog(LOG1,
FL("Received eSAP_DFS_NOL_GET event"));
-#if defined CONFIG_CNSS
- /* get the dfs nol from cnss */
- ret =
- cnss_wlan_get_dfs_nol(pSapEvent->sapevt.sapDfsNolInfo.
- pDfsList,
- pSapEvent->sapevt.sapDfsNolInfo.
- sDfsList);
+
+ /* get the dfs nol from PLD */
+ ret = pld_wlan_get_dfs_nol(pHddCtx->parent_dev,
+ pSapEvent->sapevt.sapDfsNolInfo.
+ pDfsList,
+ pSapEvent->sapevt.sapDfsNolInfo.
+ sDfsList);
if (ret > 0) {
- hddLog(LOG2,
- FL("Get %d bytes of dfs nol from cnss"), ret);
+ hdd_info("Get %d bytes of dfs nol from PLD", ret);
return QDF_STATUS_SUCCESS;
} else {
- hddLog(LOG2,
- FL("No dfs nol entry in CNSS, ret: %d"), ret);
+ hdd_info("No dfs nol entry in PLD, ret: %d", ret);
return QDF_STATUS_E_FAULT;
}
-#else
- return QDF_STATUS_E_FAILURE;
-#endif
case eSAP_DFS_NOL_SET:
hddLog(LOG1, FL("Received eSAP_DFS_NOL_SET event"));
-#if defined CONFIG_CNSS
- /* set the dfs nol to cnss */
- ret =
- cnss_wlan_set_dfs_nol(pSapEvent->sapevt.sapDfsNolInfo.
- pDfsList,
- pSapEvent->sapevt.sapDfsNolInfo.
- sDfsList);
+
+ /* set the dfs nol to PLD */
+ ret = pld_wlan_set_dfs_nol(pHddCtx->parent_dev,
+ pSapEvent->sapevt.sapDfsNolInfo.
+ pDfsList,
+ pSapEvent->sapevt.sapDfsNolInfo.
+ sDfsList);
if (ret) {
- hddLog(LOG2,
- FL("Failed to set dfs nol - ret: %d"),
- ret);
+ hdd_info("Failed to set dfs nol - ret: %d", ret);
} else {
- hddLog(LOG2, FL(" Set %d bytes dfs nol to cnss"),
- pSapEvent->sapevt.sapDfsNolInfo.sDfsList);
+ hdd_info(" Set %d bytes dfs nol to PLD",
+ pSapEvent->sapevt.sapDfsNolInfo.sDfsList);
}
-#else
- return QDF_STATUS_E_FAILURE;
-#endif
return QDF_STATUS_SUCCESS;
case eSAP_ACS_CHANNEL_SELECTED:
hddLog(LOG1, FL("ACS Completed for wlan%d"),
diff --git a/core/hdd/src/wlan_hdd_main.c b/core/hdd/src/wlan_hdd_main.c
index 4525c5cfa501..6f6d799a650d 100644
--- a/core/hdd/src/wlan_hdd_main.c
+++ b/core/hdd/src/wlan_hdd_main.c
@@ -74,10 +74,8 @@
#include <linux/ctype.h>
#include <linux/compat.h>
#ifdef MSM_PLATFORM
-#ifdef CONFIG_CNSS
#include <soc/qcom/subsystem_restart.h>
#endif
-#endif
#include <wlan_hdd_hostapd.h>
#include <wlan_hdd_softap_tx_rx.h>
#include "cfg_api.h"
@@ -85,9 +83,6 @@
#include "wma_types.h"
#include "wlan_hdd_tdls.h"
#ifdef FEATURE_WLAN_CH_AVOID
-#ifdef CONFIG_CNSS
-#include <net/cnss.h>
-#endif
#include "cds_regdomain.h"
#include "cdp_txrx_flow_ctrl_v2.h"
#endif /* FEATURE_WLAN_CH_AVOID */
@@ -105,7 +100,6 @@
#include "cds_concurrency.h"
#include "wlan_hdd_tsf.h"
#include "wlan_hdd_green_ap.h"
-#include "platform_icnss.h"
#include "bmi.h"
#include <wlan_hdd_regulatory.h>
@@ -2115,23 +2109,6 @@ static QDF_STATUS hdd_sme_close_session_callback(void *pContext)
clear_bit(SME_SESSION_OPENED, &adapter->event_flags);
-#if !defined (CONFIG_CNSS) && \
- !defined (WLAN_OPEN_SOURCE)
- /*
- * need to make sure all of our scheduled work has completed.
- * This callback is called from MC thread context, so it is safe to
- * to call below flush workqueue API from here.
- *
- * Even though this is called from MC thread context, if there is a faulty
- * work item in the system, that can hang this call forever. So flushing
- * this global work queue is not safe; and now we make sure that
- * individual work queues are stopped correctly. But the cancel work queue
- * is a GPL only API, so the proprietary version of the driver would still
- * rely on the global work queue flush.
- */
- flush_scheduled_work();
-#endif
-
/*
* We can be blocked while waiting for scheduled work to be
* flushed, and the adapter structure can potentially be freed, in
@@ -4584,7 +4561,7 @@ static int hdd_wiphy_init(hdd_context_t *hdd_ctx)
}
/**
- * hdd_cnss_request_bus_bandwidth() - Function to control bus bandwidth
+ * hdd_pld_request_bus_bandwidth() - Function to control bus bandwidth
* @hdd_ctx - handle to hdd context
* @tx_packets - transmit packet count
* @rx_packets - receive packet count
@@ -4595,26 +4572,25 @@ static int hdd_wiphy_init(hdd_context_t *hdd_ctx)
* Returns: None
*/
#ifdef MSM_PLATFORM
-void hdd_cnss_request_bus_bandwidth(hdd_context_t *hdd_ctx,
+void hdd_pld_request_bus_bandwidth(hdd_context_t *hdd_ctx,
const uint64_t tx_packets, const uint64_t rx_packets)
{
-#ifdef CONFIG_CNSS
uint64_t total = tx_packets + rx_packets;
uint64_t temp_rx = 0;
uint64_t temp_tx = 0;
- enum cnss_bus_width_type next_vote_level = CNSS_BUS_WIDTH_NONE;
+ enum pld_bus_width_type next_vote_level = PLD_BUS_WIDTH_NONE;
enum wlan_tp_level next_rx_level = WLAN_SVC_TP_NONE;
enum wlan_tp_level next_tx_level = WLAN_SVC_TP_NONE;
if (total > hdd_ctx->config->busBandwidthHighThreshold)
- next_vote_level = CNSS_BUS_WIDTH_HIGH;
+ next_vote_level = PLD_BUS_WIDTH_HIGH;
else if (total > hdd_ctx->config->busBandwidthMediumThreshold)
- next_vote_level = CNSS_BUS_WIDTH_MEDIUM;
+ next_vote_level = PLD_BUS_WIDTH_MEDIUM;
else if (total > hdd_ctx->config->busBandwidthLowThreshold)
- next_vote_level = CNSS_BUS_WIDTH_LOW;
+ next_vote_level = PLD_BUS_WIDTH_LOW;
else
- next_vote_level = CNSS_BUS_WIDTH_NONE;
+ next_vote_level = PLD_BUS_WIDTH_NONE;
hdd_ctx->hdd_txrx_hist[hdd_ctx->hdd_txrx_hist_idx].next_vote_level =
next_vote_level;
@@ -4623,7 +4599,7 @@ void hdd_cnss_request_bus_bandwidth(hdd_context_t *hdd_ctx,
hdd_debug("trigger level %d, tx_packets: %lld, rx_packets: %lld",
next_vote_level, tx_packets, rx_packets);
hdd_ctx->cur_vote_level = next_vote_level;
- cnss_request_bus_bandwidth(next_vote_level);
+ pld_request_bus_bandwidth(hdd_ctx->parent_dev, next_vote_level);
}
/* fine-tuning parameters for RX Flows */
@@ -4674,7 +4650,6 @@ void hdd_cnss_request_bus_bandwidth(hdd_context_t *hdd_ctx,
next_tx_level;
hdd_ctx->hdd_txrx_hist_idx++;
hdd_ctx->hdd_txrx_hist_idx &= NUM_TX_RX_HISTOGRAM_MASK;
-#endif
}
#define HDD_BW_GET_DIFF(_x, _y) (unsigned long)((ULONG_MAX - (_y)) + (_x) + 1)
@@ -4745,7 +4720,7 @@ static void hdd_bus_bw_compute_cbk(void *priv)
return;
}
- hdd_cnss_request_bus_bandwidth(hdd_ctx, tx_packets, rx_packets);
+ hdd_pld_request_bus_bandwidth(hdd_ctx, tx_packets, rx_packets);
hdd_ipa_set_perf_level(hdd_ctx, tx_packets, rx_packets);
hdd_ipa_uc_stat_request(adapter, 2);
@@ -5026,7 +5001,7 @@ static void hdd_enable_fastpath(struct hdd_config *hdd_cfg,
}
#endif
-#if defined(FEATURE_WLAN_CH_AVOID) && defined(CONFIG_CNSS)
+#if defined(FEATURE_WLAN_CH_AVOID)
/**
* hdd_set_thermal_level_cb() - set thermal level callback function
* @context: hdd context pointer
@@ -5244,7 +5219,8 @@ static void hdd_ch_avoid_cb(void *hdd_context, void *indi_param)
FL("number of unsafe channels is %d "),
hdd_ctxt->unsafe_channel_count);
- if (cnss_set_wlan_unsafe_channel(hdd_ctxt->unsafe_channel_list,
+ if (pld_set_wlan_unsafe_channel(hdd_ctxt->parent_dev,
+ hdd_ctxt->unsafe_channel_list,
hdd_ctxt->unsafe_channel_count)) {
hdd_err("Failed to set unsafe channel");
@@ -5322,7 +5298,7 @@ static void hdd_ch_avoid_cb(void *hdd_context, void *indi_param)
* @hdd_ctx: HDD global context
*
* Initialize the channel avoidance logic by retrieving the unsafe
- * channel list from the CNSS platform driver and plumbing the data
+ * channel list from the platform driver and plumbing the data
* down to the lower layers. Then subscribe to subsequent channel
* avoidance events.
*
@@ -5333,7 +5309,8 @@ static void hdd_init_channel_avoidance(hdd_context_t *hdd_ctx)
uint16_t unsafe_channel_count;
int index;
- cnss_get_wlan_unsafe_channel(hdd_ctx->unsafe_channel_list,
+ pld_get_wlan_unsafe_channel(hdd_ctx->parent_dev,
+ hdd_ctx->unsafe_channel_list,
&(hdd_ctx->unsafe_channel_count),
sizeof(uint16_t) * NUM_CHANNELS);
@@ -5359,7 +5336,7 @@ static void hdd_init_channel_avoidance(hdd_context_t *hdd_ctx)
static void hdd_set_thermal_level_cb(void *context, u_int8_t level)
{
}
-#endif /* defined(FEATURE_WLAN_CH_AVOID) && defined(CONFIG_CNSS) */
+#endif /* defined(FEATURE_WLAN_CH_AVOID) */
/**
* hdd_indicate_mgmt_frame() - Wrapper to indicate management frame to
@@ -5665,7 +5642,8 @@ hdd_context_t *hdd_context_create(struct device *dev, void *hif_sc)
hdd_ctx->target_type = tgt_info->target_type;
- icnss_set_fw_debug_mode(hdd_ctx->config->enable_fw_log);
+ pld_set_fw_debug_mode(hdd_ctx->parent_dev,
+ hdd_ctx->config->enable_fw_log);
hdd_enable_fastpath(hdd_ctx->config, hif_sc);
@@ -6775,19 +6753,6 @@ void wlan_hdd_send_version_pkg(uint32_t fw_version,
{
int ret = 0;
struct wlan_version_data data;
-#ifdef CONFIG_CNSS
- struct cnss_platform_cap cap;
-
- ret = cnss_get_platform_cap(&cap);
- if (ret) {
- hddLog(QDF_TRACE_LEVEL_ERROR,
- FL("platform capability info from CNSS not available"));
- return;
- }
-
- if (!(cap.cap_flag & CNSS_HAS_UART_ACCESS))
- return;
-#endif
if (QDF_GLOBAL_FTM_MODE == hdd_get_conparam())
return;
diff --git a/core/hdd/src/wlan_hdd_power.c b/core/hdd/src/wlan_hdd_power.c
index 762d3262315f..35130a829621 100644
--- a/core/hdd/src/wlan_hdd_power.c
+++ b/core/hdd/src/wlan_hdd_power.c
@@ -71,6 +71,7 @@
#include "sme_power_save_api.h"
#include "cds_concurrency.h"
#include "cdp_txrx_flow_ctrl_v2.h"
+#include "pld_common.h"
/* Preprocessor definitions and constants */
#define HDD_SSR_BRING_UP_TIME 30000
@@ -1794,9 +1795,7 @@ static int __wlan_hdd_cfg80211_resume_wlan(struct wiphy *wiphy)
result = wlan_hdd_validate_context(pHddCtx);
if (0 != result)
return result;
-#ifdef CONFIG_CNSS
- cnss_request_bus_bandwidth(CNSS_BUS_WIDTH_MEDIUM);
-#endif
+ pld_request_bus_bandwidth(pHddCtx->parent_dev, PLD_BUS_WIDTH_MEDIUM);
/* Resume MC thread */
if (pHddCtx->isMcThreadSuspended) {
@@ -2065,9 +2064,7 @@ static int __wlan_hdd_cfg80211_suspend_wlan(struct wiphy *wiphy,
NO_SESSION, pHddCtx->isWiphySuspended));
pHddCtx->isWiphySuspended = true;
-#ifdef CONFIG_CNSS
- cnss_request_bus_bandwidth(CNSS_BUS_WIDTH_NONE);
-#endif
+ pld_request_bus_bandwidth(pHddCtx->parent_dev, PLD_BUS_WIDTH_NONE);
EXIT();
return 0;