summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2012-08-01 16:25:25 +0530
committerLokesh Pathak <lpathak@nvidia.com>2012-08-07 08:44:53 -0700
commit0bf836b37cef4345629ecd8efb1a3e7f30628525 (patch)
tree792eaa5fc19070144aa8bc5a239c02f00feeeb9c /drivers
parentfd4bc846766e336ab02abcae9d6cde5912a4d8a8 (diff)
rtc: tps80031: register as mfd sub device
register RTC driver of TPS80031 as mfd sub driver in place of adding it as a sub devices. This is inline with the mfd driver policy. Change-Id: I2f9c13478a1e85c9670dd7bc576ec761f2e24733 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/121133 Reviewed-by: Automatic_Commit_Validation_User
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mfd/tps80031.c3
-rw-r--r--drivers/rtc/rtc-tps80031.c12
2 files changed, 13 insertions, 2 deletions
diff --git a/drivers/mfd/tps80031.c b/drivers/mfd/tps80031.c
index f524b2964068..a1b6237bfd02 100644
--- a/drivers/mfd/tps80031.c
+++ b/drivers/mfd/tps80031.c
@@ -302,6 +302,9 @@ static struct mfd_cell tps80031_cell[] = {
{
.name = "tps80031-regulators",
},
+ {
+ .name = "tps80031-rtc",
+ },
};
diff --git a/drivers/rtc/rtc-tps80031.c b/drivers/rtc/rtc-tps80031.c
index b2b9d04171c5..44013e13fe43 100644
--- a/drivers/rtc/rtc-tps80031.c
+++ b/drivers/rtc/rtc-tps80031.c
@@ -349,12 +349,20 @@ static irqreturn_t tps80031_rtc_irq(int irq, void *data)
static int __devinit tps80031_rtc_probe(struct platform_device *pdev)
{
- struct tps80031_rtc_platform_data *pdata = pdev->dev.platform_data;
+ struct tps80031_platform_data *tps80031_pdata;
+ struct tps80031_rtc_platform_data *pdata;
struct tps80031_rtc *rtc;
struct rtc_time tm;
int err;
u8 reg;
+ tps80031_pdata = dev_get_platdata(pdev->dev.parent);
+ if (!tps80031_pdata) {
+ dev_err(&pdev->dev, "no tps80031 platform_data specified\n");
+ return -EINVAL;
+ }
+
+ pdata = tps80031_pdata->rtc_pdata;
if (!pdata) {
dev_err(&pdev->dev, "no platform_data specified\n");
return -EINVAL;
@@ -469,7 +477,7 @@ static int __devexit tps80031_rtc_remove(struct platform_device *pdev)
static struct platform_driver tps80031_rtc_driver = {
.driver = {
- .name = "rtc_tps80031",
+ .name = "tps80031-rtc",
.owner = THIS_MODULE,
},
.probe = tps80031_rtc_probe,