diff options
author | Ulrik LAUREN <ulrik.lauren@stericsson.com> | 2011-09-02 14:11:50 +0530 |
---|---|---|
committer | Philippe Langlais <philippe.langlais@stericsson.com> | 2012-05-22 11:05:52 +0200 |
commit | 68b659bd88b7579f35138a395e86ca1a0f66ce7b (patch) | |
tree | 5cd9912c6b2de49caee325cdbc8e910eceae30a5 | |
parent | 30e77baf660da681f59e8dc42c9e6363dde90226 (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.c | 8 |
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; |