* [PATCH 1/2] regulator: tps65218: Add terminate entry for of_device_id table
@ 2014-02-18 12:20 Axel Lin
2014-02-18 12:22 ` [PATCH 2/2] regulator: tps65218: Remove unnecessary regulator_unregister call Axel Lin
2014-02-19 5:00 ` [PATCH 1/2] regulator: tps65218: Add terminate entry for of_device_id table Mark Brown
0 siblings, 2 replies; 3+ messages in thread
From: Axel Lin @ 2014-02-18 12:20 UTC (permalink / raw)
To: Mark Brown; +Cc: Keerthy, Liam Girdwood, linux-kernel
Fixes below build error:
FATAL: drivers/regulator/tps65218-regulator: struct of_device_id is not terminated with a NULL entry!
Also remove of_match_ptr as this is a DT-only driver.
Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
drivers/regulator/tps65218-regulator.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/regulator/tps65218-regulator.c b/drivers/regulator/tps65218-regulator.c
index 958276c..00c0114 100644
--- a/drivers/regulator/tps65218-regulator.c
+++ b/drivers/regulator/tps65218-regulator.c
@@ -96,6 +96,7 @@ static const struct of_device_id tps65218_of_match[] = {
TPS65218_OF_MATCH("ti,tps65218-dcdc5", tps65218_pmic_regs[DCDC5]),
TPS65218_OF_MATCH("ti,tps65218-dcdc6", tps65218_pmic_regs[DCDC6]),
TPS65218_OF_MATCH("ti,tps65218-ldo1", tps65218_pmic_regs[LDO1]),
+ { }
};
MODULE_DEVICE_TABLE(of, tps65218_of_match);
@@ -242,14 +243,12 @@ static int tps65218_regulator_probe(struct platform_device *pdev)
int id;
match = of_match_device(tps65218_of_match, &pdev->dev);
- if (match) {
- template = match->data;
- id = template->id;
- init_data = of_get_regulator_init_data(&pdev->dev,
- pdev->dev.of_node);
- } else {
+ if (!match)
return -ENODEV;
- }
+
+ template = match->data;
+ id = template->id;
+ init_data = of_get_regulator_init_data(&pdev->dev, pdev->dev.of_node);
platform_set_drvdata(pdev, tps);
@@ -290,7 +289,7 @@ static struct platform_driver tps65218_regulator_driver = {
.driver = {
.name = "tps65218-pmic",
.owner = THIS_MODULE,
- .of_match_table = of_match_ptr(tps65218_of_match),
+ .of_match_table = tps65218_of_match,
},
.probe = tps65218_regulator_probe,
.remove = tps65218_regulator_remove,
--
1.8.1.2
^ permalink raw reply related [flat|nested] 3+ messages in thread* [PATCH 2/2] regulator: tps65218: Remove unnecessary regulator_unregister call
2014-02-18 12:20 [PATCH 1/2] regulator: tps65218: Add terminate entry for of_device_id table Axel Lin
@ 2014-02-18 12:22 ` Axel Lin
2014-02-19 5:00 ` [PATCH 1/2] regulator: tps65218: Add terminate entry for of_device_id table Mark Brown
1 sibling, 0 replies; 3+ messages in thread
From: Axel Lin @ 2014-02-18 12:22 UTC (permalink / raw)
To: Mark Brown; +Cc: Keerthy, Liam Girdwood, linux-kernel
Current code uses devm_regulator_register() so the we don't need to explicitly
call regulator_unregister() in .remove.
And then we don't need to save rdev pointer to tps->rdev[id].
Signed-off-by: Axel Lin <axel.lin@ingics.com>
---
drivers/regulator/tps65218-regulator.c | 18 ------------------
1 file changed, 18 deletions(-)
diff --git a/drivers/regulator/tps65218-regulator.c b/drivers/regulator/tps65218-regulator.c
index 00c0114..cec72fa 100644
--- a/drivers/regulator/tps65218-regulator.c
+++ b/drivers/regulator/tps65218-regulator.c
@@ -265,23 +265,6 @@ static int tps65218_regulator_probe(struct platform_device *pdev)
return PTR_ERR(rdev);
}
- /* Save regulator */
- tps->rdev[id] = rdev;
-
- return 0;
-}
-
-static int tps65218_regulator_remove(struct platform_device *pdev)
-{
- struct tps65218 *tps = platform_get_drvdata(pdev);
- const struct of_device_id *match;
- const struct tps_info *template;
-
- match = of_match_device(tps65218_of_match, &pdev->dev);
- template = match->data;
- regulator_unregister(tps->rdev[template->id]);
- platform_set_drvdata(pdev, NULL);
-
return 0;
}
@@ -292,7 +275,6 @@ static struct platform_driver tps65218_regulator_driver = {
.of_match_table = tps65218_of_match,
},
.probe = tps65218_regulator_probe,
- .remove = tps65218_regulator_remove,
};
module_platform_driver(tps65218_regulator_driver);
--
1.8.1.2
^ permalink raw reply related [flat|nested] 3+ messages in thread* Re: [PATCH 1/2] regulator: tps65218: Add terminate entry for of_device_id table
2014-02-18 12:20 [PATCH 1/2] regulator: tps65218: Add terminate entry for of_device_id table Axel Lin
2014-02-18 12:22 ` [PATCH 2/2] regulator: tps65218: Remove unnecessary regulator_unregister call Axel Lin
@ 2014-02-19 5:00 ` Mark Brown
1 sibling, 0 replies; 3+ messages in thread
From: Mark Brown @ 2014-02-19 5:00 UTC (permalink / raw)
To: Axel Lin; +Cc: Keerthy, Liam Girdwood, linux-kernel
[-- Attachment #1: Type: text/plain, Size: 590 bytes --]
On Tue, Feb 18, 2014 at 08:20:59PM +0800, Axel Lin wrote:
> Fixes below build error:
> FATAL: drivers/regulator/tps65218-regulator: struct of_device_id is not terminated with a NULL entry!
This is good (though I'm not seeing a build time error myself...).
> Also remove of_match_ptr as this is a DT-only driver.
This should really have been split out as a separate change. We
probably also need an OF dependency in the Kconfig for this (there may
be one on the MFD but having one here if the driver specficaly depends
on DT is better to avoid bisection issues if the MFD gets updated).
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 836 bytes --]
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-02-19 7:51 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-18 12:20 [PATCH 1/2] regulator: tps65218: Add terminate entry for of_device_id table Axel Lin
2014-02-18 12:22 ` [PATCH 2/2] regulator: tps65218: Remove unnecessary regulator_unregister call Axel Lin
2014-02-19 5:00 ` [PATCH 1/2] regulator: tps65218: Add terminate entry for of_device_id table Mark Brown
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox