summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrik LAUREN <ulrik.lauren@stericsson.com>2011-09-02 14:11:50 +0530
committerPhilippe Langlais <philippe.langlais@stericsson.com>2012-05-22 11:05:52 +0200
commit68b659bd88b7579f35138a395e86ca1a0f66ce7b (patch)
tree5cd9912c6b2de49caee325cdbc8e910eceae30a5
parent30e77baf660da681f59e8dc42c9e6363dde90226 (diff)
Adding a delay to CG2900 enable to make the chip start up correctly
An existing fix for resolving a bug in CG2900 has been reverted, the fix for ER319589 has been removed since it shall not be necessary for chip enabling. Instead, a delay of 100 ms has been added during chip enabling. ST-Ericsson ID: 337664 ST-Ericsson FOSS-OUT ID: Trivial Change-Id: Ib59cb7a70972985f41efae2e06653217b3b1abd5 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/23086 Reviewed-by: QATEST Reviewed-by: Andreas ARESKOUG <andreas.areskoug@stericsson.com> Reviewed-by: Tomasz HLIWIAK <tomasz.hliwiak@tieto.com> Tested-by: Tomasz HLIWIAK <tomasz.hliwiak@tieto.com> Reviewed-by: Ulrik LAUREN <ulrik.lauren@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/30034 Reviewed-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com> Tested-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com>
-rw-r--r--drivers/staging/cg2900/devices-cg2900.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/drivers/staging/cg2900/devices-cg2900.c b/drivers/staging/cg2900/devices-cg2900.c
index 3c9f8e3e16f..567639d9e34 100644
--- a/drivers/staging/cg2900/devices-cg2900.c
+++ b/drivers/staging/cg2900/devices-cg2900.c
@@ -25,7 +25,6 @@
#include <linux/platform_device.h>
#include <linux/sched.h>
#include <linux/skbuff.h>
-#include <linux/spinlock.h>
#include <linux/string.h>
#include <linux/types.h>
#include <plat/pincfg.h>
@@ -46,7 +45,7 @@
#define CG2900_PG2_HCI_REV 0x0200
#define CG2900_PG1_SPECIAL_HCI_REV 0x0700
-#define CHIP_INITIAL_LOW_TIMEOUT 20 /* ms */
+#define CHIP_ENABLE_PDB_LOW_TIMEOUT 100 /* ms */
struct vs_power_sw_off_cmd {
__le16 op_code;
@@ -69,7 +68,6 @@ struct dcg2900_info {
u8 gpio_0_7_pull_down;
u8 gpio_8_15_pull_down;
u8 gpio_16_20_pull_down;
- spinlock_t pdb_toggle_lock;
struct regulator *regulator_wlan;
};
@@ -90,7 +88,7 @@ static void dcg2900_enable_chip(struct cg2900_chip_dev *dev)
*/
gpio_set_value(info->gbf_gpio, 0);
schedule_timeout_uninterruptible(msecs_to_jiffies(
- CHIP_INITIAL_LOW_TIMEOUT));
+ CHIP_ENABLE_PDB_LOW_TIMEOUT));
gpio_set_value(info->gbf_gpio, 1);
}
@@ -198,8 +196,6 @@ static int dcg2900_init(struct cg2900_chip_dev *dev)
return -ENOMEM;
}
- spin_lock_init(&info->pdb_toggle_lock);
-
if (!dev->pdev->num_resources) {
dev_dbg(dev->dev, "No resources available\n");
info->gbf_gpio = -1;