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>
This commit is contained in:
parent
131c9cc832
commit
5bed811d66
1 changed files with 53 additions and 44 deletions
|
@ -53,7 +53,7 @@ struct pm8xxx_rtc {
|
||||||
int rtc_read_base;
|
int rtc_read_base;
|
||||||
int rtc_write_base;
|
int rtc_write_base;
|
||||||
int alarm_rw_base;
|
int alarm_rw_base;
|
||||||
u8 ctrl_reg;
|
u8 ctrl_reg;
|
||||||
struct device *rtc_dev;
|
struct device *rtc_dev;
|
||||||
spinlock_t ctrl_reg_lock;
|
spinlock_t ctrl_reg_lock;
|
||||||
};
|
};
|
||||||
|
@ -63,7 +63,7 @@ struct pm8xxx_rtc {
|
||||||
* hardware limitation.
|
* hardware limitation.
|
||||||
*/
|
*/
|
||||||
static int pm8xxx_read_wrapper(struct pm8xxx_rtc *rtc_dd, u8 *rtc_val,
|
static int pm8xxx_read_wrapper(struct pm8xxx_rtc *rtc_dd, u8 *rtc_val,
|
||||||
int base, int count)
|
int base, int count)
|
||||||
{
|
{
|
||||||
int i, rc;
|
int i, rc;
|
||||||
struct device *parent = rtc_dd->rtc_dev->parent;
|
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,
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pm8xxx_write_wrapper(struct pm8xxx_rtc *rtc_dd, u8 *rtc_val,
|
static int pm8xxx_write_wrapper(struct pm8xxx_rtc *rtc_dd, u8 *rtc_val,
|
||||||
int base, int count)
|
int base, int count)
|
||||||
{
|
{
|
||||||
int i, rc;
|
int i, rc;
|
||||||
struct device *parent = rtc_dd->rtc_dev->parent;
|
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)
|
||||||
alarm_enabled = 1;
|
alarm_enabled = 1;
|
||||||
ctrl_reg &= ~PM8xxx_RTC_ALARM_ENABLE;
|
ctrl_reg &= ~PM8xxx_RTC_ALARM_ENABLE;
|
||||||
rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base,
|
rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base,
|
||||||
1);
|
1);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
dev_err(dev, "Write to RTC control register "
|
dev_err(dev, "Write to RTC control register failed\n");
|
||||||
"failed\n");
|
|
||||||
goto rtc_rw_fail;
|
goto rtc_rw_fail;
|
||||||
}
|
}
|
||||||
rtc_dd->ctrl_reg = ctrl_reg;
|
rtc_dd->ctrl_reg = ctrl_reg;
|
||||||
} else
|
} else {
|
||||||
spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags);
|
spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags);
|
||||||
|
}
|
||||||
|
|
||||||
/* Write 0 to Byte[0] */
|
/* Write 0 to Byte[0] */
|
||||||
reg = 0;
|
reg = 0;
|
||||||
|
@ -146,7 +146,7 @@ static int pm8xxx_rtc_set_time(struct device *dev, struct rtc_time *tm)
|
||||||
|
|
||||||
/* Write Byte[1], Byte[2], Byte[3] */
|
/* Write Byte[1], Byte[2], Byte[3] */
|
||||||
rc = pm8xxx_write_wrapper(rtc_dd, value + 1,
|
rc = pm8xxx_write_wrapper(rtc_dd, value + 1,
|
||||||
rtc_dd->rtc_write_base + 1, 3);
|
rtc_dd->rtc_write_base + 1, 3);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
dev_err(dev, "Write to RTC write data register failed\n");
|
dev_err(dev, "Write to RTC write data register failed\n");
|
||||||
goto rtc_rw_fail;
|
goto rtc_rw_fail;
|
||||||
|
@ -162,10 +162,9 @@ static int pm8xxx_rtc_set_time(struct device *dev, struct rtc_time *tm)
|
||||||
if (alarm_enabled) {
|
if (alarm_enabled) {
|
||||||
ctrl_reg |= PM8xxx_RTC_ALARM_ENABLE;
|
ctrl_reg |= PM8xxx_RTC_ALARM_ENABLE;
|
||||||
rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base,
|
rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base,
|
||||||
1);
|
1);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
dev_err(dev, "Write to RTC control register "
|
dev_err(dev, "Write to RTC control register failed\n");
|
||||||
"failed\n");
|
|
||||||
goto rtc_rw_fail;
|
goto rtc_rw_fail;
|
||||||
}
|
}
|
||||||
rtc_dd->ctrl_reg = ctrl_reg;
|
rtc_dd->ctrl_reg = ctrl_reg;
|
||||||
|
@ -186,7 +185,7 @@ static int pm8xxx_rtc_read_time(struct device *dev, struct rtc_time *tm)
|
||||||
struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev);
|
struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev);
|
||||||
|
|
||||||
rc = pm8xxx_read_wrapper(rtc_dd, value, rtc_dd->rtc_read_base,
|
rc = pm8xxx_read_wrapper(rtc_dd, value, rtc_dd->rtc_read_base,
|
||||||
NUM_8_BIT_RTC_REGS);
|
NUM_8_BIT_RTC_REGS);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
dev_err(dev, "RTC read data register failed\n");
|
dev_err(dev, "RTC read data register failed\n");
|
||||||
return rc;
|
return rc;
|
||||||
|
@ -204,7 +203,8 @@ static int pm8xxx_rtc_read_time(struct device *dev, struct rtc_time *tm)
|
||||||
|
|
||||||
if (unlikely(reg < value[0])) {
|
if (unlikely(reg < value[0])) {
|
||||||
rc = pm8xxx_read_wrapper(rtc_dd, value,
|
rc = pm8xxx_read_wrapper(rtc_dd, value,
|
||||||
rtc_dd->rtc_read_base, NUM_8_BIT_RTC_REGS);
|
rtc_dd->rtc_read_base,
|
||||||
|
NUM_8_BIT_RTC_REGS);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
dev_err(dev, "RTC read data register failed\n");
|
dev_err(dev, "RTC read data register failed\n");
|
||||||
return rc;
|
return rc;
|
||||||
|
@ -222,8 +222,8 @@ static int pm8xxx_rtc_read_time(struct device *dev, struct rtc_time *tm)
|
||||||
}
|
}
|
||||||
|
|
||||||
dev_dbg(dev, "secs = %lu, h:m:s == %d:%d:%d, d/m/y = %d/%d/%d\n",
|
dev_dbg(dev, "secs = %lu, h:m:s == %d:%d:%d, d/m/y = %d/%d/%d\n",
|
||||||
secs, tm->tm_hour, tm->tm_min, tm->tm_sec,
|
secs, tm->tm_hour, tm->tm_min, tm->tm_sec,
|
||||||
tm->tm_mday, tm->tm_mon, tm->tm_year);
|
tm->tm_mday, tm->tm_mon, tm->tm_year);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -245,15 +245,18 @@ static int pm8xxx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
|
||||||
spin_lock_irqsave(&rtc_dd->ctrl_reg_lock, irq_flags);
|
spin_lock_irqsave(&rtc_dd->ctrl_reg_lock, irq_flags);
|
||||||
|
|
||||||
rc = pm8xxx_write_wrapper(rtc_dd, value, rtc_dd->alarm_rw_base,
|
rc = pm8xxx_write_wrapper(rtc_dd, value, rtc_dd->alarm_rw_base,
|
||||||
NUM_8_BIT_RTC_REGS);
|
NUM_8_BIT_RTC_REGS);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
dev_err(dev, "Write to RTC ALARM register failed\n");
|
dev_err(dev, "Write to RTC ALARM register failed\n");
|
||||||
goto rtc_rw_fail;
|
goto rtc_rw_fail;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctrl_reg = rtc_dd->ctrl_reg;
|
ctrl_reg = rtc_dd->ctrl_reg;
|
||||||
ctrl_reg = alarm->enabled ? (ctrl_reg | PM8xxx_RTC_ALARM_ENABLE) :
|
|
||||||
(ctrl_reg & ~PM8xxx_RTC_ALARM_ENABLE);
|
if (alarm->enabled)
|
||||||
|
ctrl_reg |= PM8xxx_RTC_ALARM_ENABLE;
|
||||||
|
else
|
||||||
|
ctrl_reg &= ~PM8xxx_RTC_ALARM_ENABLE;
|
||||||
|
|
||||||
rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 1);
|
rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 1);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
|
@ -264,9 +267,9 @@ static int pm8xxx_rtc_set_alarm(struct device *dev, struct rtc_wkalrm *alarm)
|
||||||
rtc_dd->ctrl_reg = ctrl_reg;
|
rtc_dd->ctrl_reg = ctrl_reg;
|
||||||
|
|
||||||
dev_dbg(dev, "Alarm Set for h:r:s=%d:%d:%d, d/m/y=%d/%d/%d\n",
|
dev_dbg(dev, "Alarm Set for h:r:s=%d:%d:%d, d/m/y=%d/%d/%d\n",
|
||||||
alarm->time.tm_hour, alarm->time.tm_min,
|
alarm->time.tm_hour, alarm->time.tm_min,
|
||||||
alarm->time.tm_sec, alarm->time.tm_mday,
|
alarm->time.tm_sec, alarm->time.tm_mday,
|
||||||
alarm->time.tm_mon, alarm->time.tm_year);
|
alarm->time.tm_mon, alarm->time.tm_year);
|
||||||
rtc_rw_fail:
|
rtc_rw_fail:
|
||||||
spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags);
|
spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags);
|
||||||
return rc;
|
return rc;
|
||||||
|
@ -280,7 +283,7 @@ static int pm8xxx_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alarm)
|
||||||
struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev);
|
struct pm8xxx_rtc *rtc_dd = dev_get_drvdata(dev);
|
||||||
|
|
||||||
rc = pm8xxx_read_wrapper(rtc_dd, value, rtc_dd->alarm_rw_base,
|
rc = pm8xxx_read_wrapper(rtc_dd, value, rtc_dd->alarm_rw_base,
|
||||||
NUM_8_BIT_RTC_REGS);
|
NUM_8_BIT_RTC_REGS);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
dev_err(dev, "RTC alarm time read failed\n");
|
dev_err(dev, "RTC alarm time read failed\n");
|
||||||
return rc;
|
return rc;
|
||||||
|
@ -297,9 +300,9 @@ static int pm8xxx_rtc_read_alarm(struct device *dev, struct rtc_wkalrm *alarm)
|
||||||
}
|
}
|
||||||
|
|
||||||
dev_dbg(dev, "Alarm set for - h:r:s=%d:%d:%d, d/m/y=%d/%d/%d\n",
|
dev_dbg(dev, "Alarm set for - h:r:s=%d:%d:%d, d/m/y=%d/%d/%d\n",
|
||||||
alarm->time.tm_hour, alarm->time.tm_min,
|
alarm->time.tm_hour, alarm->time.tm_min,
|
||||||
alarm->time.tm_sec, alarm->time.tm_mday,
|
alarm->time.tm_sec, alarm->time.tm_mday,
|
||||||
alarm->time.tm_mon, alarm->time.tm_year);
|
alarm->time.tm_mon, alarm->time.tm_year);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -312,9 +315,13 @@ static int pm8xxx_rtc_alarm_irq_enable(struct device *dev, unsigned int enable)
|
||||||
u8 ctrl_reg;
|
u8 ctrl_reg;
|
||||||
|
|
||||||
spin_lock_irqsave(&rtc_dd->ctrl_reg_lock, irq_flags);
|
spin_lock_irqsave(&rtc_dd->ctrl_reg_lock, irq_flags);
|
||||||
|
|
||||||
ctrl_reg = rtc_dd->ctrl_reg;
|
ctrl_reg = rtc_dd->ctrl_reg;
|
||||||
ctrl_reg = (enable) ? (ctrl_reg | PM8xxx_RTC_ALARM_ENABLE) :
|
|
||||||
(ctrl_reg & ~PM8xxx_RTC_ALARM_ENABLE);
|
if (enable)
|
||||||
|
ctrl_reg |= PM8xxx_RTC_ALARM_ENABLE;
|
||||||
|
else
|
||||||
|
ctrl_reg &= ~PM8xxx_RTC_ALARM_ENABLE;
|
||||||
|
|
||||||
rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 1);
|
rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 1);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
|
@ -354,8 +361,8 @@ static irqreturn_t pm8xxx_alarm_trigger(int irq, void *dev_id)
|
||||||
rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 1);
|
rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base, 1);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags);
|
spin_unlock_irqrestore(&rtc_dd->ctrl_reg_lock, irq_flags);
|
||||||
dev_err(rtc_dd->rtc_dev, "Write to RTC control register "
|
dev_err(rtc_dd->rtc_dev,
|
||||||
"failed\n");
|
"Write to RTC control register failed\n");
|
||||||
goto rtc_alarm_handled;
|
goto rtc_alarm_handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -364,19 +371,19 @@ static irqreturn_t pm8xxx_alarm_trigger(int irq, void *dev_id)
|
||||||
|
|
||||||
/* Clear RTC alarm register */
|
/* Clear RTC alarm register */
|
||||||
rc = pm8xxx_read_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base +
|
rc = pm8xxx_read_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base +
|
||||||
PM8XXX_ALARM_CTRL_OFFSET, 1);
|
PM8XXX_ALARM_CTRL_OFFSET, 1);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
dev_err(rtc_dd->rtc_dev, "RTC Alarm control register read "
|
dev_err(rtc_dd->rtc_dev,
|
||||||
"failed\n");
|
"RTC Alarm control register read failed\n");
|
||||||
goto rtc_alarm_handled;
|
goto rtc_alarm_handled;
|
||||||
}
|
}
|
||||||
|
|
||||||
ctrl_reg &= ~PM8xxx_RTC_ALARM_CLEAR;
|
ctrl_reg &= ~PM8xxx_RTC_ALARM_CLEAR;
|
||||||
rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base +
|
rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base +
|
||||||
PM8XXX_ALARM_CTRL_OFFSET, 1);
|
PM8XXX_ALARM_CTRL_OFFSET, 1);
|
||||||
if (rc < 0)
|
if (rc < 0)
|
||||||
dev_err(rtc_dd->rtc_dev, "Write to RTC Alarm control register"
|
dev_err(rtc_dd->rtc_dev,
|
||||||
" failed\n");
|
"Write to RTC Alarm control register failed\n");
|
||||||
|
|
||||||
rtc_alarm_handled:
|
rtc_alarm_handled:
|
||||||
return IRQ_HANDLED;
|
return IRQ_HANDLED;
|
||||||
|
@ -409,7 +416,7 @@ static int pm8xxx_rtc_probe(struct platform_device *pdev)
|
||||||
}
|
}
|
||||||
|
|
||||||
rtc_resource = platform_get_resource_byname(pdev, IORESOURCE_IO,
|
rtc_resource = platform_get_resource_byname(pdev, IORESOURCE_IO,
|
||||||
"pmic_rtc_base");
|
"pmic_rtc_base");
|
||||||
if (!(rtc_resource && rtc_resource->start)) {
|
if (!(rtc_resource && rtc_resource->start)) {
|
||||||
dev_err(&pdev->dev, "RTC IO resource absent!\n");
|
dev_err(&pdev->dev, "RTC IO resource absent!\n");
|
||||||
return -ENXIO;
|
return -ENXIO;
|
||||||
|
@ -436,31 +443,31 @@ static int pm8xxx_rtc_probe(struct platform_device *pdev)
|
||||||
rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base,
|
rc = pm8xxx_write_wrapper(rtc_dd, &ctrl_reg, rtc_dd->rtc_base,
|
||||||
1);
|
1);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
dev_err(&pdev->dev, "Write to RTC control register "
|
dev_err(&pdev->dev,
|
||||||
"failed\n");
|
"Write to RTC control register failed\n");
|
||||||
return rc;
|
return rc;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
rtc_dd->ctrl_reg = ctrl_reg;
|
rtc_dd->ctrl_reg = ctrl_reg;
|
||||||
if (rtc_write_enable == true)
|
if (rtc_write_enable)
|
||||||
pm8xxx_rtc_ops.set_time = pm8xxx_rtc_set_time;
|
pm8xxx_rtc_ops.set_time = pm8xxx_rtc_set_time;
|
||||||
|
|
||||||
platform_set_drvdata(pdev, rtc_dd);
|
platform_set_drvdata(pdev, rtc_dd);
|
||||||
|
|
||||||
/* Register the RTC device */
|
/* Register the RTC device */
|
||||||
rtc_dd->rtc = devm_rtc_device_register(&pdev->dev, "pm8xxx_rtc",
|
rtc_dd->rtc = devm_rtc_device_register(&pdev->dev, "pm8xxx_rtc",
|
||||||
&pm8xxx_rtc_ops, THIS_MODULE);
|
&pm8xxx_rtc_ops, THIS_MODULE);
|
||||||
if (IS_ERR(rtc_dd->rtc)) {
|
if (IS_ERR(rtc_dd->rtc)) {
|
||||||
dev_err(&pdev->dev, "%s: RTC registration failed (%ld)\n",
|
dev_err(&pdev->dev, "%s: RTC registration failed (%ld)\n",
|
||||||
__func__, PTR_ERR(rtc_dd->rtc));
|
__func__, PTR_ERR(rtc_dd->rtc));
|
||||||
return PTR_ERR(rtc_dd->rtc);
|
return PTR_ERR(rtc_dd->rtc);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Request the alarm IRQ */
|
/* Request the alarm IRQ */
|
||||||
rc = request_any_context_irq(rtc_dd->rtc_alarm_irq,
|
rc = request_any_context_irq(rtc_dd->rtc_alarm_irq,
|
||||||
pm8xxx_alarm_trigger, IRQF_TRIGGER_RISING,
|
pm8xxx_alarm_trigger, IRQF_TRIGGER_RISING,
|
||||||
"pm8xxx_rtc_alarm", rtc_dd);
|
"pm8xxx_rtc_alarm", rtc_dd);
|
||||||
if (rc < 0) {
|
if (rc < 0) {
|
||||||
dev_err(&pdev->dev, "Request IRQ failed (%d)\n", rc);
|
dev_err(&pdev->dev, "Request IRQ failed (%d)\n", rc);
|
||||||
return rc;
|
return rc;
|
||||||
|
@ -505,7 +512,9 @@ static int pm8xxx_rtc_suspend(struct device *dev)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static SIMPLE_DEV_PM_OPS(pm8xxx_rtc_pm_ops, pm8xxx_rtc_suspend, pm8xxx_rtc_resume);
|
static SIMPLE_DEV_PM_OPS(pm8xxx_rtc_pm_ops,
|
||||||
|
pm8xxx_rtc_suspend,
|
||||||
|
pm8xxx_rtc_resume);
|
||||||
|
|
||||||
static struct platform_driver pm8xxx_rtc_driver = {
|
static struct platform_driver pm8xxx_rtc_driver = {
|
||||||
.probe = pm8xxx_rtc_probe,
|
.probe = pm8xxx_rtc_probe,
|
||||||
|
|
Loading…
Reference in a new issue