aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorJosh Cartwright <joshc@codeaurora.org>2014-04-03 17:50:10 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-04-03 19:21:22 -0400
commit5bed811d668ca042b5ee711e27a3c4496179145c (patch)
tree7c9ccf62a90de1abcbdf7a23cbda23fb9a09e65c /drivers
parent131c9cc832162bfe45be1065fa88d1ec2c165a3d (diff)
rtc: pm8xxx: fixup checkpatch/style issues
This patchset is based on Stephen Boyd's PM8921 modernization/cleanups (http://lkml.kernel.org/g/1393441166-32692-1-git-send-email-sboyd@codeaurora.org), and allows for this RTC driver to be usable again. This patch (of 6): Before performing additional cleanups to this driver, do the easy cleanups first. Signed-off-by: Josh Cartwright <joshc@codeaurora.org> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Cc: Alessandro Zummo <a.zummo@towertech.it> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/rtc/rtc-pm8xxx.c97
1 files changed, 53 insertions, 44 deletions
diff --git a/drivers/rtc/rtc-pm8xxx.c b/drivers/rtc/rtc-pm8xxx.c
index bd76ffe92784..af60ee46075d 100644
--- a/drivers/rtc/rtc-pm8xxx.c
+++ b/drivers/rtc/rtc-pm8xxx.c
@@ -53,7 +53,7 @@ struct pm8xxx_rtc {
53 int rtc_read_base; 53 int rtc_read_base;
54 int rtc_write_base; 54 int rtc_write_base;
55 int alarm_rw_base; 55 int alarm_rw_base;
56 u8 ctrl_reg; 56 u8 ctrl_reg;
57 struct device *rtc_dev; 57 struct device *rtc_dev;
58 spinlock_t ctrl_reg_lock; 58 spinlock_t ctrl_reg_lock;
59}; 59};
@@ -63,7 +63,7 @@ struct pm8xxx_rtc {
63 * hardware limitation. 63 * hardware limitation.
64 */ 64 */
65static int pm8xxx_read_wrapper(struct pm8xxx_rtc *rtc_dd, u8 *rtc_val, 65static int pm8xxx_read_wrapper(struct pm8xxx_rtc *rtc_dd, u8 *rtc_val,
66 int base, int count) 66 int base, int count)
67{ 67{
68 int i, rc; 68 int i, rc;
69 struct device *parent = rtc_dd->rtc_dev->parent; 69 struct device *parent = rtc_dd->rtc_dev->parent;
@@ -80,7 +80,7 @@ static int pm8xxx_read_wrapper(struct pm8xxx_rtc *rtc_dd, u8 *rtc_val,
80} 80}
81 81
82static int pm8xxx_write_wrapper(struct pm8xxx_rtc *rtc_dd, u8 *rtc_val, 82static int pm8xxx_write_wrapper(struct pm8xxx_rtc *rtc_dd, u8 *rtc_val,
83 int base, int count) 83 int base, int count)
84{ 84{
85 int i, rc; 85 int i, rc;
86 struct device *parent = rtc_dd->rtc_dev->parent; 86 struct device *parent = rtc_dd->rtc_dev->parent;
@@ -126,15 +126,15 @@ static int pm8xxx_rtc_set_time(struct device *dev, struct rtc_time *tm)
126 alarm_enabled = 1; 126 alarm_enabled = 1;
127 ctrl_reg &= ~PM8xxx_RTC_ALARM_ENABLE; 127 ctrl_reg &= ~PM8xxx_RTC_ALARM_ENABLE;
128 rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 128 rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base,
129 1); 129 1);
130 if (rc < 0) { 130 if (rc < 0) {
131 dev_err(dev, "Write to RTC control register " 131 dev_err(dev, "Write to RTC control register failed\n");
132 "failed\n");
133 goto rtc_rw_fail; 132 goto rtc_rw_fail;
134 } 133 }
135 rtc_dd->ctrl_reg = ctrl_reg; 134 rtc_dd->ctrl_reg = ctrl_reg;
136 } else 135 } else {
137 spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags); 136 spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags);
137 }
138 138
139 /* Write 0 to Byte[0] */ 139 /* Write 0 to Byte[0] */
140 reg = 0; 140 reg = 0;
@@ -146,7 +146,7 @@ static int pm8xxx_rtc_set_time(struct device *dev, struct rtc_time *tm)
146 146
147 /* Write Byte[1], Byte[2], Byte[3] */ 147 /* Write Byte[1], Byte[2], Byte[3] */
148 rc = pm8xxx_write_wrapper(rtc_dd, value + 1, 148 rc = pm8xxx_write_wrapper(rtc_dd, value + 1,
149 rtc_dd->rtc_write_base + 1, 3); 149 rtc_dd->rtc_write_base + 1, 3);
150 if (rc < 0) { 150 if (rc < 0) {
151 dev_err(dev, "Write to RTC write data register failed\n"); 151 dev_err(dev, "Write to RTC write data register failed\n");
152 goto rtc_rw_fail; 152 goto rtc_rw_fail;
@@ -162,10 +162,9 @@ static int pm8xxx_rtc_set_time(struct device *dev, struct rtc_time *tm)
162 if (alarm_enabled) { 162 if (alarm_enabled) {
163 ctrl_reg |= PM8xxx_RTC_ALARM_ENABLE; 163 ctrl_reg |= PM8xxx_RTC_ALARM_ENABLE;
164 rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 164 rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base,
165 1); 165 1);
166 if (rc < 0) { 166 if (rc < 0) {
167 dev_err(dev, "Write to RTC control register " 167 dev_err(dev, "Write to RTC control register failed\n");
168 "failed\n");
169 goto rtc_rw_fail; 168 goto rtc_rw_fail;
170 } 169 }
171 rtc_dd->ctrl_reg = ctrl_reg; 170 rtc_dd->ctrl_reg = ctrl_reg;
@@ -186,7 +185,7 @@ static int pm8xxx_rtc_read_time(struct device *dev, struct rtc_time *tm)
186 struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev); 185 struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev);
187 186
188 rc = pm8xxx_read_wrapper(rtc_dd, value, rtc_dd->rtc_read_base, 187 rc = pm8xxx_read_wrapper(rtc_dd, value, rtc_dd->rtc_read_base,
189 NUM_8_BIT_RTC_REGS); 188 NUM_8_BIT_RTC_REGS);
190 if (rc < 0) { 189 if (rc < 0) {
191 dev_err(dev, "RTC read data register failed\n"); 190 dev_err(dev, "RTC read data register failed\n");
192 return rc; 191 return rc;
@@ -204,7 +203,8 @@ static int pm8xxx_rtc_read_time(struct device *dev, struct rtc_time *tm)
204 203
205 if (unlikely(reg < value[0])) { 204 if (unlikely(reg < value[0])) {
206 rc = pm8xxx_read_wrapper(rtc_dd, value, 205 rc = pm8xxx_read_wrapper(rtc_dd, value,
207 rtc_dd->rtc_read_base, NUM_8_BIT_RTC_REGS); 206 rtc_dd->rtc_read_base,
207 NUM_8_BIT_RTC_REGS);
208 if (rc < 0) { 208 if (rc < 0) {
209 dev_err(dev, "RTC read data register failed\n"); 209 dev_err(dev, "RTC read data register failed\n");
210 return rc; 210 return rc;
@@ -222,8 +222,8 @@ static int pm8xxx_rtc_read_time(struct device *dev, struct rtc_time *tm)
222 } 222 }
223 223
224 dev_dbg(dev, "secs = %lu, h:m:s == %d:%d:%d, d/m/y = %d/%d/%d\n", 224 dev_dbg(dev, "secs = %lu, h:m:s == %d:%d:%d, d/m/y = %d/%d/%d\n",
225 secs, tm->tm_hour, tm->tm_min, tm->tm_sec, 225 secs, tm->tm_hour, tm->tm_min, tm->tm_sec,
226 tm->tm_mday, tm->tm_mon, tm->tm_year); 226 tm->tm_mday, tm->tm_mon, tm->tm_year);
227 227
228 return 0; 228 return 0;
229} 229}
@@ -245,15 +245,18 @@ static int pm8xxx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
245 spin_lock_irqsave(&rtc_dd->ctrl_reg_lock, irq_flags); 245 spin_lock_irqsave(&rtc_dd->ctrl_reg_lock, irq_flags);
246 246
247 rc = pm8xxx_write_wrapper(rtc_dd, value, rtc_dd->alarm_rw_base, 247 rc = pm8xxx_write_wrapper(rtc_dd, value, rtc_dd->alarm_rw_base,
248 NUM_8_BIT_RTC_REGS); 248 NUM_8_BIT_RTC_REGS);
249 if (rc < 0) { 249 if (rc < 0) {
250 dev_err(dev, "Write to RTC ALARM register failed\n"); 250 dev_err(dev, "Write to RTC ALARM register failed\n");
251 goto rtc_rw_fail; 251 goto rtc_rw_fail;
252 } 252 }
253 253
254 ctrl_reg = rtc_dd->ctrl_reg; 254 ctrl_reg = rtc_dd->ctrl_reg;
255 ctrl_reg = alarm->enabled ? (ctrl_reg | PM8xxx_RTC_ALARM_ENABLE) : 255
256 (ctrl_reg & ~PM8xxx_RTC_ALARM_ENABLE); 256 if (alarm->enabled)
257 ctrl_reg |= PM8xxx_RTC_ALARM_ENABLE;
258 else
259 ctrl_reg &= ~PM8xxx_RTC_ALARM_ENABLE;
257 260
258 rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 1); 261 rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 1);
259 if (rc < 0) { 262 if (rc < 0) {
@@ -264,9 +267,9 @@ static int pm8xxx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
264 rtc_dd->ctrl_reg = ctrl_reg; 267 rtc_dd->ctrl_reg = ctrl_reg;
265 268
266 dev_dbg(dev, "Alarm Set for h:r:s=%d:%d:%d, d/m/y=%d/%d/%d\n", 269 dev_dbg(dev, "Alarm Set for h:r:s=%d:%d:%d, d/m/y=%d/%d/%d\n",
267 alarm->time.tm_hour, alarm->time.tm_min, 270 alarm->time.tm_hour, alarm->time.tm_min,
268 alarm->time.tm_sec, alarm->time.tm_mday, 271 alarm->time.tm_sec, alarm->time.tm_mday,
269 alarm->time.tm_mon, alarm->time.tm_year); 272 alarm->time.tm_mon, alarm->time.tm_year);
270rtc_rw_fail: 273rtc_rw_fail:
271 spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags); 274 spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags);
272 return rc; 275 return rc;
@@ -280,7 +283,7 @@ static int pm8xxx_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alarm)
280 struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev); 283 struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev);
281 284
282 rc = pm8xxx_read_wrapper(rtc_dd, value, rtc_dd->alarm_rw_base, 285 rc = pm8xxx_read_wrapper(rtc_dd, value, rtc_dd->alarm_rw_base,
283 NUM_8_BIT_RTC_REGS); 286 NUM_8_BIT_RTC_REGS);
284 if (rc < 0) { 287 if (rc < 0) {
285 dev_err(dev, "RTC alarm time read failed\n"); 288 dev_err(dev, "RTC alarm time read failed\n");
286 return rc; 289 return rc;
@@ -297,9 +300,9 @@ static int pm8xxx_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alarm)
297 } 300 }
298 301
299 dev_dbg(dev, "Alarm set for - h:r:s=%d:%d:%d, d/m/y=%d/%d/%d\n", 302 dev_dbg(dev, "Alarm set for - h:r:s=%d:%d:%d, d/m/y=%d/%d/%d\n",
300 alarm->time.tm_hour, alarm->time.tm_min, 303 alarm->time.tm_hour, alarm->time.tm_min,
301 alarm->time.tm_sec, alarm->time.tm_mday, 304 alarm->time.tm_sec, alarm->time.tm_mday,
302 alarm->time.tm_mon, alarm->time.tm_year); 305 alarm->time.tm_mon, alarm->time.tm_year);
303 306
304 return 0; 307 return 0;
305} 308}
@@ -312,9 +315,13 @@ static int pm8xxx_rtc_alarm_irq_enable(struct device *dev, unsigned int enable)
312 u8 ctrl_reg; 315 u8 ctrl_reg;
313 316
314 spin_lock_irqsave(&rtc_dd->ctrl_reg_lock, irq_flags); 317 spin_lock_irqsave(&rtc_dd->ctrl_reg_lock, irq_flags);
318
315 ctrl_reg = rtc_dd->ctrl_reg; 319 ctrl_reg = rtc_dd->ctrl_reg;
316 ctrl_reg = (enable) ? (ctrl_reg | PM8xxx_RTC_ALARM_ENABLE) : 320
317 (ctrl_reg & ~PM8xxx_RTC_ALARM_ENABLE); 321 if (enable)
322 ctrl_reg |= PM8xxx_RTC_ALARM_ENABLE;
323 else
324 ctrl_reg &= ~PM8xxx_RTC_ALARM_ENABLE;
318 325
319 rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 1); 326 rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 1);
320 if (rc < 0) { 327 if (rc < 0) {
@@ -354,8 +361,8 @@ static irqreturn_t pm8xxx_alarm_trigger(int irq, void *dev_id)
354 rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 1); 361 rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 1);
355 if (rc < 0) { 362 if (rc < 0) {
356 spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags); 363 spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags);
357 dev_err(rtc_dd->rtc_dev, "Write to RTC control register " 364 dev_err(rtc_dd->rtc_dev,
358 "failed\n"); 365 "Write to RTC control register failed\n");
359 goto rtc_alarm_handled; 366 goto rtc_alarm_handled;
360 } 367 }
361 368
@@ -364,19 +371,19 @@ static irqreturn_t pm8xxx_alarm_trigger(int irq, void *dev_id)
364 371
365 /* Clear RTC alarm register */ 372 /* Clear RTC alarm register */
366 rc = pm8xxx_read_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base + 373 rc = pm8xxx_read_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base +
367 PM8XXX_ALARM_CTRL_OFFSET, 1); 374 PM8XXX_ALARM_CTRL_OFFSET, 1);
368 if (rc < 0) { 375 if (rc < 0) {
369 dev_err(rtc_dd->rtc_dev, "RTC Alarm control register read " 376 dev_err(rtc_dd->rtc_dev,
370 "failed\n"); 377 "RTC Alarm control register read failed\n");
371 goto rtc_alarm_handled; 378 goto rtc_alarm_handled;
372 } 379 }
373 380
374 ctrl_reg &= ~PM8xxx_RTC_ALARM_CLEAR; 381 ctrl_reg &= ~PM8xxx_RTC_ALARM_CLEAR;
375 rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base + 382 rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base +
376 PM8XXX_ALARM_CTRL_OFFSET, 1); 383 PM8XXX_ALARM_CTRL_OFFSET, 1);
377 if (rc < 0) 384 if (rc < 0)
378 dev_err(rtc_dd->rtc_dev, "Write to RTC Alarm control register" 385 dev_err(rtc_dd->rtc_dev,
379 " failed\n"); 386 "Write to RTC Alarm control register failed\n");
380 387
381rtc_alarm_handled: 388rtc_alarm_handled:
382 return IRQ_HANDLED; 389 return IRQ_HANDLED;
@@ -409,7 +416,7 @@ static int pm8xxx_rtc_probe(struct platform_device *pdev)
409 } 416 }
410 417
411 rtc_resource = platform_get_resource_byname(pdev, IORESOURCE_IO, 418 rtc_resource = platform_get_resource_byname(pdev, IORESOURCE_IO,
412 "pmic_rtc_base"); 419 "pmic_rtc_base");
413 if (!(rtc_resource && rtc_resource->start)) { 420 if (!(rtc_resource && rtc_resource->start)) {
414 dev_err(&pdev->dev, "RTC IO resource absent!\n"); 421 dev_err(&pdev->dev, "RTC IO resource absent!\n");
415 return -ENXIO; 422 return -ENXIO;
@@ -436,31 +443,31 @@ static int pm8xxx_rtc_probe(struct platform_device *pdev)
436 rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 443 rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base,
437 1); 444 1);
438 if (rc < 0) { 445 if (rc < 0) {
439 dev_err(&pdev->dev, "Write to RTC control register " 446 dev_err(&pdev->dev,
440 "failed\n"); 447 "Write to RTC control register failed\n");
441 return rc; 448 return rc;
442 } 449 }
443 } 450 }
444 451
445 rtc_dd->ctrl_reg = ctrl_reg; 452 rtc_dd->ctrl_reg = ctrl_reg;
446 if (rtc_write_enable == true) 453 if (rtc_write_enable)
447 pm8xxx_rtc_ops.set_time = pm8xxx_rtc_set_time; 454 pm8xxx_rtc_ops.set_time = pm8xxx_rtc_set_time;
448 455
449 platform_set_drvdata(pdev, rtc_dd); 456 platform_set_drvdata(pdev, rtc_dd);
450 457
451 /* Register the RTC device */ 458 /* Register the RTC device */
452 rtc_dd->rtc = devm_rtc_device_register(&pdev->dev, "pm8xxx_rtc", 459 rtc_dd->rtc = devm_rtc_device_register(&pdev->dev, "pm8xxx_rtc",
453 &pm8xxx_rtc_ops, THIS_MODULE); 460 &pm8xxx_rtc_ops, THIS_MODULE);
454 if (IS_ERR(rtc_dd->rtc)) { 461 if (IS_ERR(rtc_dd->rtc)) {
455 dev_err(&pdev->dev, "%s: RTC registration failed (%ld)\n", 462 dev_err(&pdev->dev, "%s: RTC registration failed (%ld)\n",
456 __func__, PTR_ERR(rtc_dd->rtc)); 463 __func__, PTR_ERR(rtc_dd->rtc));
457 return PTR_ERR(rtc_dd->rtc); 464 return PTR_ERR(rtc_dd->rtc);
458 } 465 }
459 466
460 /* Request the alarm IRQ */ 467 /* Request the alarm IRQ */
461 rc = request_any_context_irq(rtc_dd->rtc_alarm_irq, 468 rc = request_any_context_irq(rtc_dd->rtc_alarm_irq,
462 pm8xxx_alarm_trigger, IRQF_TRIGGER_RISING, 469 pm8xxx_alarm_trigger, IRQF_TRIGGER_RISING,
463 "pm8xxx_rtc_alarm", rtc_dd); 470 "pm8xxx_rtc_alarm", rtc_dd);
464 if (rc < 0) { 471 if (rc < 0) {
465 dev_err(&pdev->dev, "Request IRQ failed (%d)\n", rc); 472 dev_err(&pdev->dev, "Request IRQ failed (%d)\n", rc);
466 return rc; 473 return rc;
@@ -505,7 +512,9 @@ static int pm8xxx_rtc_suspend(struct device *dev)
505} 512}
506#endif 513#endif
507 514
508static SIMPLE_DEV_PM_OPS(pm8xxx_rtc_pm_ops, pm8xxx_rtc_suspend, pm8xxx_rtc_resume); 515static SIMPLE_DEV_PM_OPS(pm8xxx_rtc_pm_ops,
516 pm8xxx_rtc_suspend,
517 pm8xxx_rtc_resume);
509 518
510static struct platform_driver pm8xxx_rtc_driver = { 519static struct platform_driver pm8xxx_rtc_driver = {
511 .probe = pm8xxx_rtc_probe, 520 .probe = pm8xxx_rtc_probe,