From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>,
linux-kernel@vger.kernel.org
Subject: [PATCH 11/14] Regulators: wm831x-xxx - clean up driver data after removal
Date: Tue, 23 Feb 2010 23:38:39 -0800 [thread overview]
Message-ID: <20100224073839.15964.19386.stgit@localhost.localdomain> (raw)
In-Reply-To: <20100224073342.15964.8863.stgit@localhost.localdomain>
It is a good tone to reset driver data after unbinding the device.
Also set up drivers owner.
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
---
drivers/regulator/wm831x-dcdc.c | 12 ++++++++++++
drivers/regulator/wm831x-isink.c | 3 +++
drivers/regulator/wm831x-ldo.c | 5 +++++
3 files changed, 20 insertions(+), 0 deletions(-)
diff --git a/drivers/regulator/wm831x-dcdc.c b/drivers/regulator/wm831x-dcdc.c
index 0a65775..6e18e56 100644
--- a/drivers/regulator/wm831x-dcdc.c
+++ b/drivers/regulator/wm831x-dcdc.c
@@ -600,6 +600,8 @@ static __devexit int wm831x_buckv_remove(struct platform_device *pdev)
struct wm831x_dcdc *dcdc = platform_get_drvdata(pdev);
struct wm831x *wm831x = dcdc->wm831x;
+ platform_set_drvdata(pdev, NULL);
+
wm831x_free_irq(wm831x, platform_get_irq_byname(pdev, "HC"), dcdc);
wm831x_free_irq(wm831x, platform_get_irq_byname(pdev, "UV"), dcdc);
regulator_unregister(dcdc->regulator);
@@ -615,6 +617,7 @@ static struct platform_driver wm831x_buckv_driver = {
.remove = __devexit_p(wm831x_buckv_remove),
.driver = {
.name = "wm831x-buckv",
+ .owner = THIS_MODULE,
},
};
@@ -769,6 +772,8 @@ static __devexit int wm831x_buckp_remove(struct platform_device *pdev)
struct wm831x_dcdc *dcdc = platform_get_drvdata(pdev);
struct wm831x *wm831x = dcdc->wm831x;
+ platform_set_drvdata(pdev, NULL);
+
wm831x_free_irq(wm831x, platform_get_irq_byname(pdev, "UV"), dcdc);
regulator_unregister(dcdc->regulator);
kfree(dcdc);
@@ -781,6 +786,7 @@ static struct platform_driver wm831x_buckp_driver = {
.remove = __devexit_p(wm831x_buckp_remove),
.driver = {
.name = "wm831x-buckp",
+ .owner = THIS_MODULE,
},
};
@@ -895,6 +901,8 @@ static __devexit int wm831x_boostp_remove(struct platform_device *pdev)
struct wm831x_dcdc *dcdc = platform_get_drvdata(pdev);
struct wm831x *wm831x = dcdc->wm831x;
+ platform_set_drvdata(pdev, NULL);
+
wm831x_free_irq(wm831x, platform_get_irq_byname(pdev, "UV"), dcdc);
regulator_unregister(dcdc->regulator);
kfree(dcdc);
@@ -907,6 +915,7 @@ static struct platform_driver wm831x_boostp_driver = {
.remove = __devexit_p(wm831x_boostp_remove),
.driver = {
.name = "wm831x-boostp",
+ .owner = THIS_MODULE,
},
};
@@ -979,6 +988,8 @@ static __devexit int wm831x_epe_remove(struct platform_device *pdev)
{
struct wm831x_dcdc *dcdc = platform_get_drvdata(pdev);
+ platform_set_drvdata(pdev, NULL);
+
regulator_unregister(dcdc->regulator);
kfree(dcdc);
@@ -990,6 +1001,7 @@ static struct platform_driver wm831x_epe_driver = {
.remove = __devexit_p(wm831x_epe_remove),
.driver = {
.name = "wm831x-epe",
+ .owner = THIS_MODULE,
},
};
diff --git a/drivers/regulator/wm831x-isink.c b/drivers/regulator/wm831x-isink.c
index 4885700..ca0f6b6 100644
--- a/drivers/regulator/wm831x-isink.c
+++ b/drivers/regulator/wm831x-isink.c
@@ -222,6 +222,8 @@ static __devexit int wm831x_isink_remove(struct platform_device *pdev)
struct wm831x_isink *isink = platform_get_drvdata(pdev);
struct wm831x *wm831x = isink->wm831x;
+ platform_set_drvdata(pdev, NULL);
+
wm831x_free_irq(wm831x, platform_get_irq(pdev, 0), isink);
regulator_unregister(isink->regulator);
@@ -235,6 +237,7 @@ static struct platform_driver wm831x_isink_driver = {
.remove = __devexit_p(wm831x_isink_remove),
.driver = {
.name = "wm831x-isink",
+ .owner = THIS_MODULE,
},
};
diff --git a/drivers/regulator/wm831x-ldo.c b/drivers/regulator/wm831x-ldo.c
index 61e02ac..d2406c1 100644
--- a/drivers/regulator/wm831x-ldo.c
+++ b/drivers/regulator/wm831x-ldo.c
@@ -371,6 +371,8 @@ static __devexit int wm831x_gp_ldo_remove(struct platform_device *pdev)
struct wm831x_ldo *ldo = platform_get_drvdata(pdev);
struct wm831x *wm831x = ldo->wm831x;
+ platform_set_drvdata(pdev, NULL);
+
wm831x_free_irq(wm831x, platform_get_irq_byname(pdev, "UV"), ldo);
regulator_unregister(ldo->regulator);
kfree(ldo);
@@ -383,6 +385,7 @@ static struct platform_driver wm831x_gp_ldo_driver = {
.remove = __devexit_p(wm831x_gp_ldo_remove),
.driver = {
.name = "wm831x-ldo",
+ .owner = THIS_MODULE,
},
};
@@ -640,6 +643,7 @@ static struct platform_driver wm831x_aldo_driver = {
.remove = __devexit_p(wm831x_aldo_remove),
.driver = {
.name = "wm831x-aldo",
+ .owner = THIS_MODULE,
},
};
@@ -811,6 +815,7 @@ static struct platform_driver wm831x_alive_ldo_driver = {
.remove = __devexit_p(wm831x_alive_ldo_remove),
.driver = {
.name = "wm831x-alive-ldo",
+ .owner = THIS_MODULE,
},
};
next prev parent reply other threads:[~2010-02-24 7:38 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-02-24 7:37 [PATCH 00/14] Assorted small patches for regulators Dmitry Torokhov
2010-02-24 7:37 ` [PATCH 01/14] Regulators: virtual - use sysfs attribute groups Dmitry Torokhov
2010-02-24 10:50 ` Mark Brown
2010-02-25 10:35 ` Liam Girdwood
2010-02-24 7:37 ` [PATCH 02/14] Regulators: ab3100 - fix probe and remove annotations Dmitry Torokhov
2010-02-24 10:03 ` Mark Brown
2010-02-25 10:36 ` Liam Girdwood
2010-02-24 7:37 ` [PATCH 03/14] Regulators: fixed - annotate probe and remove methods Dmitry Torokhov
2010-02-24 10:43 ` Mark Brown
2010-02-25 10:36 ` Liam Girdwood
2010-02-24 7:38 ` [PATCH 04/14] Regulators: twl-regulator - mark probe function as __devinit Dmitry Torokhov
2010-02-24 10:05 ` Mark Brown
2010-02-25 10:36 ` Liam Girdwood
2010-02-24 7:38 ` [PATCH 05/14] Regulators: tps65023-regulator - mark probe method " Dmitry Torokhov
2010-02-24 11:31 ` Mark Brown
2010-02-25 10:37 ` Liam Girdwood
2010-02-24 7:38 ` [PATCH 06/14] Regulators: tps6507x-regulator " Dmitry Torokhov
2010-02-24 11:32 ` Mark Brown
2010-02-25 10:37 ` Liam Girdwood
2010-02-24 7:38 ` [PATCH 07/14] Regulators: lp3971 - fail if platform data was not supplied Dmitry Torokhov
2010-02-24 12:11 ` Mark Brown
2010-02-25 10:37 ` Liam Girdwood
2010-02-24 7:38 ` [PATCH 08/14] Regulators: max1586 - annotate probe and remove methods Dmitry Torokhov
2010-02-24 10:06 ` Mark Brown
2010-02-24 10:16 ` Dmitry Torokhov
2010-02-25 10:37 ` Liam Girdwood
2010-02-24 7:38 ` [PATCH 09/14] Regulators: max8660 " Dmitry Torokhov
2010-02-24 10:07 ` Mark Brown
2010-02-25 10:37 ` Liam Girdwood
2010-02-24 7:38 ` [PATCH 10/14] Regulators: pcap-regulator - clean up driver data after removal Dmitry Torokhov
2010-02-24 10:36 ` Mark Brown
2010-02-25 10:38 ` Liam Girdwood
2010-02-24 7:38 ` Dmitry Torokhov [this message]
2010-02-24 10:36 ` [PATCH 11/14] Regulators: wm831x-xxx " Mark Brown
2010-02-25 10:38 ` Liam Girdwood
2010-02-24 7:38 ` [PATCH 12/14] Regulators: wm8994 " Dmitry Torokhov
2010-02-24 10:20 ` Mark Brown
2010-02-25 10:39 ` Liam Girdwood
2010-02-24 7:38 ` [PATCH 13/14] Regulators: wm8400 - cleanup platform driver data handling Dmitry Torokhov
2010-02-24 10:25 ` Mark Brown
2010-02-24 19:02 ` Dmitry Torokhov
2010-02-24 19:14 ` Mark Brown
2010-02-24 19:21 ` Dmitry Torokhov
2010-02-24 20:40 ` Mark Brown
2010-02-25 9:55 ` Dmitry Torokhov
2010-02-25 10:43 ` Mark Brown
2010-02-25 11:02 ` Liam Girdwood
2010-02-24 7:38 ` [PATCH 14/14] Regulators: max8925-regulator - clean up driver data after removal Dmitry Torokhov
2010-02-24 10:28 ` Mark Brown
2010-02-25 10:39 ` Liam Girdwood
2010-02-24 10:03 ` [PATCH 00/14] Assorted small patches for regulators Mark Brown
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100224073839.15964.19386.stgit@localhost.localdomain \
--to=dmitry.torokhov@gmail.com \
--cc=broonie@opensource.wolfsonmicro.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lrg@slimlogic.co.uk \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.