summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPar-Gunnar Hjalmdahl <par-gunnar.p.hjalmdahl@stericsson.com>2011-10-04 10:32:36 +0200
committerPhilippe LANGLAIS <philippe.langlais@stericsson.com>2011-10-14 14:32:23 +0200
commitb42de34211d0e8b89c0b251dd6905e620f8b9d68 (patch)
treebaa3604d9a2e2845f009119895474bce28a94935
parent9eaba5c449992f71faafc2cf1d39c8fa1127b985 (diff)
cg2900: Use correct platform_data
This patch fixes a bug in the CG2900 driver where platform data structure was overwritten during probe. ST-Ericsson ID: 364913 ST-Ericcson FOSS-OUT-ID: Trivial ST-Ericsson Linux next: 364913 Change-Id: Id6e6918814e01dbef0cd89eda0a034196a81454a Signed-off-by: Par-Gunnar Hjalmdahl <par-gunnar.p.hjalmdahl@stericsson.com> Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/34065 Tested-by: Robert MARKLUND <robert.marklund@stericsson.com> Reviewed-by: Philippe LANGLAIS <philippe.langlais@stericsson.com>
-rw-r--r--drivers/staging/cg2900/bluetooth/btcg2900.c7
-rw-r--r--drivers/staging/cg2900/mfd/cg2900_char_devices.c5
2 files changed, 3 insertions, 9 deletions
diff --git a/drivers/staging/cg2900/bluetooth/btcg2900.c b/drivers/staging/cg2900/bluetooth/btcg2900.c
index e1895c9ff70..ce1e5a4e3d5 100644
--- a/drivers/staging/cg2900/bluetooth/btcg2900.c
+++ b/drivers/staging/cg2900/bluetooth/btcg2900.c
@@ -913,14 +913,11 @@ static int probe_common(struct platform_device *pdev,
dev_set_drvdata(dev, info);
- pf_data = mfd_get_cell(pdev)->platform_data;
+ pf_data = dev_get_platdata(dev);
pf_data->dev = dev;
pf_data->read_cb = hci_read_cb;
pf_data->reset_cb = hci_reset_cb;
- /* Set platform data */
- dev->platform_data = pf_data;
-
/* Init and register hdev */
err = register_bluetooth(info);
if (err) {
@@ -1051,7 +1048,7 @@ static int remove_common(struct platform_device *pdev,
struct cg2900_user_data *pf_data;
struct dev_info *dev_info;
- pf_data = mfd_get_cell(pdev)->platform_data;
+ pf_data = dev_get_platdata(&pdev->dev);
dev_info = cg2900_get_usr(pf_data);
kfree(dev_info);
diff --git a/drivers/staging/cg2900/mfd/cg2900_char_devices.c b/drivers/staging/cg2900/mfd/cg2900_char_devices.c
index 10f7d38d4a0..ae1659c4a5e 100644
--- a/drivers/staging/cg2900/mfd/cg2900_char_devices.c
+++ b/drivers/staging/cg2900/mfd/cg2900_char_devices.c
@@ -562,14 +562,11 @@ static int __devinit cg2900_char_probe(struct platform_device *pdev)
dev_dbg(&pdev->dev, "cg2900_char_probe\n");
- user = mfd_get_cell(pdev)->platform_data;
+ user = dev_get_platdata(dev);
user->dev = dev;
user->read_cb = char_dev_read_cb;
user->reset_cb = char_dev_reset_cb;
- /* Set platform data */
- dev->platform_data = user;
-
dev_usr = kzalloc(sizeof(*dev_usr), GFP_KERNEL);
if (!dev_usr) {
dev_err(&pdev->dev, "Couldn't allocate dev_usr\n");