diff options
Diffstat (limited to 'drivers/rtc/rtc-pcap.c')
| -rw-r--r-- | drivers/rtc/rtc-pcap.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/rtc/rtc-pcap.c b/drivers/rtc/rtc-pcap.c index a633abc42896..cd4f198cc2ef 100644 --- a/drivers/rtc/rtc-pcap.c +++ b/drivers/rtc/rtc-pcap.c | |||
| @@ -151,6 +151,8 @@ static int __devinit pcap_rtc_probe(struct platform_device *pdev) | |||
| 151 | 151 | ||
| 152 | pcap_rtc->pcap = dev_get_drvdata(pdev->dev.parent); | 152 | pcap_rtc->pcap = dev_get_drvdata(pdev->dev.parent); |
| 153 | 153 | ||
| 154 | platform_set_drvdata(pdev, pcap_rtc); | ||
| 155 | |||
| 154 | pcap_rtc->rtc = rtc_device_register("pcap", &pdev->dev, | 156 | pcap_rtc->rtc = rtc_device_register("pcap", &pdev->dev, |
| 155 | &pcap_rtc_ops, THIS_MODULE); | 157 | &pcap_rtc_ops, THIS_MODULE); |
| 156 | if (IS_ERR(pcap_rtc->rtc)) { | 158 | if (IS_ERR(pcap_rtc->rtc)) { |
| @@ -158,7 +160,6 @@ static int __devinit pcap_rtc_probe(struct platform_device *pdev) | |||
| 158 | goto fail_rtc; | 160 | goto fail_rtc; |
| 159 | } | 161 | } |
| 160 | 162 | ||
| 161 | platform_set_drvdata(pdev, pcap_rtc); | ||
| 162 | 163 | ||
| 163 | timer_irq = pcap_to_irq(pcap_rtc->pcap, PCAP_IRQ_1HZ); | 164 | timer_irq = pcap_to_irq(pcap_rtc->pcap, PCAP_IRQ_1HZ); |
| 164 | alarm_irq = pcap_to_irq(pcap_rtc->pcap, PCAP_IRQ_TODA); | 165 | alarm_irq = pcap_to_irq(pcap_rtc->pcap, PCAP_IRQ_TODA); |
| @@ -177,6 +178,7 @@ fail_alarm: | |||
| 177 | fail_timer: | 178 | fail_timer: |
| 178 | rtc_device_unregister(pcap_rtc->rtc); | 179 | rtc_device_unregister(pcap_rtc->rtc); |
| 179 | fail_rtc: | 180 | fail_rtc: |
| 181 | platform_set_drvdata(pdev, NULL); | ||
| 180 | kfree(pcap_rtc); | 182 | kfree(pcap_rtc); |
| 181 | return err; | 183 | return err; |
| 182 | } | 184 | } |
