rtc: initialize rtc name early
Subsystems (5)
PATCH 1/3 rtc: initialize rtc name early
In some error cases RTC name is used before it is initialized:
rtc-rs5c372 0-0032: clock needs to be set rtc-rs5c372 0-0032: rs5c372b found, 24hr, driver version 0.6 rtc (null): read_time: fail to read rtc-rs5c372 0-0032: rtc core: registered rtc-rs5c372 as rtc0
Fix by initializing the name early.
--- drivers/rtc/class.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
drivers/rtc/class.c +3 -3
@@ -225,15 +225,15 @@ struct rtc_device *rtc_device_register(const char *name, struct device *dev, rtc->pie_timer.function = rtc_pie_update_irq; rtc->pie_enabled =0 ; +strlcpy (rtc->name, name,RTC_DEVICE_NAME_SIZE ); +dev_set_name (&rtc->dev,"rtc%d" , id); +/* Check to see if there is an ALARM already set in hw */ err =__rtc_read_alarm (rtc, &alrm);if (!err && !rtc_valid_tm (&alrm.time))rtc_initialize_alarm (rtc, &alrm); -strlcpy (rtc->name, name,RTC_DEVICE_NAME_SIZE ); -dev_set_name (&rtc->dev,"rtc%d" , id); -rtc_dev_prepare (rtc); err =device_register (&rtc->dev);
Signature · 12 lines
2.2.0 -- -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
PATCH 2/3 rtc: __rtc_read_time: reduce log level
__rtc_read_time logs should be debug logs instead of error logs.
For example, when the RTC clock is not set, it's not really useful to print a kernel error log every time someone tries to read the clock:
~ # hwclock -r
[ 604.508263] rtc rtc0: read_time: fail to read
hwclock: RTC_RD_TIME: Invalid argument
If there's a real error, it's likely that lower level or higher level code will tell it anyway. Make these logs debug logs, and also print the error code for the read failure.
--- drivers/rtc/interface.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)
drivers/rtc/interface.c +3 -2
@@ -31,13 +31,14 @@ static int __rtc_read_time(struct rtc_device *rtc, struct rtc_time *tm)memset (tm,0 ,sizeof (struct rtc_time )); err = rtc->ops->read_time (rtc->dev.parent, tm);if (err <0 ) { -dev_err (&rtc->dev,"read_time: fail to read\n" ); +dev_dbg (&rtc->dev,"read_time: fail to read: %d\n" , + err);return err; } err =rtc_valid_tm (tm);if (err <0 ) -dev_err (&rtc->dev,"read_time: rtc_time isn't valid\n" ); +dev_dbg (&rtc->dev,"read_time: rtc_time isn't valid\n" ); }return err; }
Signature · 12 lines
2.2.0 -- -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
Re: [PATCH 2/3] rtc: __rtc_read_time: reduce log level
Quoted 5 lines · Aaro Koskinen
__rtc_read_timelogs should be debug logs instead of error logs.For example, when the RTC clock is not set, it's not really useful to print a kernel error log every time someone tries to read the clock:
Quoted 8 lines
~ # hwclock -r
[ 604.508263] rtc rtc0:read_time: fail to read
hwclock:RTC_RD_TIME: Invalid argumentIf there's a real error, it's likely that lower level or higher level code will tell it anyway. Make these logs debug logs, and also print the error code for the read failure.
That actually may be the only error message printed for some failures. Some RTCs don't print anything in case of error in their .read_time() and there are in-kernel users of rtc_read_time that simply bail out without printing anything or have a trace that is already at the debug level.
I would agree that this would need a better harmonization and I guess we can do that for now. I'll try to fix the in-kernel cases.
Quoted 1 line
Signed-off-by Aaro Koskinen <[email protected]>
Quoted 28 lines
--- drivers/rtc/interface.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)drivers/rtc/interface.c +3
-2@@ -31,13 +31,14 @@ static int __rtc_read_time(struct rtc_device *rtc, struct rtc_time *tm)memset (tm,0 ,sizeof (struct rtc_time )); err = rtc->ops->read_time (rtc->dev.parent, tm);if (err <0 ) { -dev_err (&rtc->dev,"read_time: fail to read\n" ); +dev_dbg (&rtc->dev,"read_time: fail to read: %d\n" , + err);return err; } err =rtc_valid_tm (tm);if (err <0 ) -dev_err (&rtc->dev,"read_time: rtc_time isn't valid\n" ); +dev_dbg (&rtc->dev,"read_time: rtc_time isn't valid\n" ); }return err; }Signature · 1 line
2.2.0
Signature · 14 lines
Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
Re: [PATCH 2/3] rtc: __rtc_read_time: reduce log level
Quoted 15 lines · Alexandre Belloni
Quoted 5 lines · Aaro Koskinen
__rtc_read_timelogs should be debug logs instead of error logs.For example, when the RTC clock is not set, it's not really useful to print a kernel error log every time someone tries to read the clock:
Quoted 8 lines
~ # hwclock -r
[ 604.508263] rtc rtc0:read_time: fail to read
hwclock:RTC_RD_TIME: Invalid argumentIf there's a real error, it's likely that lower level or higher level code will tell it anyway. Make these logs debug logs, and also print the error code for the read failure.
Quoted 8 lines
That actually may be the only error message printed for some failures. Some RTCs don't print anything in case of error in their .read_time() and there are in-kernel users of
rtc_read_timethat simply bail out without printing anything or have a trace that is already at the debug level.I would agree that this would need a better harmonization and I guess we can do that for now. I'll try to fix the in-kernel cases.
Maybe these should use dev_err_once().
Quoted 1 line
drivers/rtc/interface.c
Quoted 1 line
drivers/rtc/interface.c +0
-0
[]
Quoted 17 lines
Quoted 17 lines
drivers/rtc/interface.c +3
-2@@ -31,13 +31,14 @@ static int __rtc_read_time(struct rtc_device *rtc, struct rtc_time *tm)memset (tm,0 ,sizeof (struct rtc_time )); err = rtc->ops->read_time (rtc->dev.parent, tm);if (err <0 ) { -dev_err (&rtc->dev,"read_time: fail to read\n" ); +dev_dbg (&rtc->dev,"read_time: fail to read: %d\n" , + err);return err; } err =rtc_valid_tm (tm);if (err <0 ) -dev_err (&rtc->dev,"read_time: rtc_time isn't valid\n" ); +dev_dbg (&rtc->dev,"read_time: rtc_time isn't valid\n" ); }return err; }
Signature · 9 lines
-- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
Re: [PATCH 2/3] rtc: __rtc_read_time: reduce log level
Quoted 22 lines · Joe Perches
Quoted 21 lines · Alexandre Belloni
Quoted 5 lines · Aaro Koskinen
__rtc_read_timelogs should be debug logs instead of error logs.For example, when the RTC clock is not set, it's not really useful to print a kernel error log every time someone tries to read the clock:
Quoted 8 lines
~ # hwclock -r
[ 604.508263] rtc rtc0:read_time: fail to read
hwclock:RTC_RD_TIME: Invalid argumentIf there's a real error, it's likely that lower level or higher level code will tell it anyway. Make these logs debug logs, and also print the error code for the read failure.
That actually may be the only error message printed for some failures. Some RTCs don't print anything in case of error in their .read_time() and there are in-kernel users of
rtc_read_timethat simply bail out without printing anything or have a trace that is already at the debug level.
Quoted 5 lines
Quoted 2 lines
I would agree that this would need a better harmonization and I guess we can do that for now. I'll try to fix the in-kernel cases.
Maybe these should use
dev_err_once().
As the issue may be sporadic, I would say that the reasoning behind the patch is correct. Userspace is already aware that something went wrong when reading and those debug messages are not adding any information.
Signature · 14 lines
Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
PATCH 3/3 rtc: hctosys: use function name in the error log
In reply to Aaro KoskinenUse function name in the error log instead of __FILE__.
--- drivers/rtc/hctosys.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/rtc/hctosys.c +1 -1
@@ -33,7 +33,7 @@ static int __init rtc_hctosys(void)if (rtc ==NULL ) {pr_err ("%s: unable to open rtc device (%s)\n" , - __FILE__,CONFIG_RTC_HCTOSYS_DEVICE ); + __func__,CONFIG_RTC_HCTOSYS_DEVICE ); goto err_open; }
Signature · 12 lines
2.2.0 -- -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
Re: [PATCH 3/3] rtc: hctosys: use function name in the error log
Quoted 3 lines · Aaro Koskinen
Use function name in the error log instead of
__FILE__.Signed-off-by Aaro Koskinen <[email protected]>
Quoted 20 lines
--- drivers/rtc/hctosys.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)drivers/rtc/hctosys.c +1
-1@@ -33,7 +33,7 @@ static int __init rtc_hctosys(void)if (rtc ==NULL ) {pr_err ("%s: unable to open rtc device (%s)\n" , - __FILE__,CONFIG_RTC_HCTOSYS_DEVICE ); + __func__,CONFIG_RTC_HCTOSYS_DEVICE ); goto err_open; }Signature · 1 line
2.2.0
Signature · 14 lines
Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
Re: [PATCH 3/3] rtc: hctosys: use function name in the error log
Quoted 4 lines · Alexandre Belloni
Quoted 2 lines · Aaro Koskinen
Use function name in the error log instead of
__FILE__.Signed-off-by Aaro Koskinen <[email protected]>
Hello.
Quoted 1 line
drivers/rtc/hctosys.c
Quoted 1 line
drivers/rtc/hctosys.c +0
-0
[]
Quoted 8 lines
@@ -33,7 +33,7 @@ static int
__initrtc_hctosys(void)drivers/rtc/hctosys.c
Quoted 7 lines
drivers/rtc/hctosys.c +1
-1if (rtc ==NULL ) {pr_err ("%s: unable to open rtc device (%s)\n" , - __FILE__,CONFIG_RTC_HCTOSYS_DEVICE ); + __func__,CONFIG_RTC_HCTOSYS_DEVICE ); goto err_open; }
Neither __func__ or __FILE__ is really useful here. The message is already specific enough without it.
If anything, it'd probably be better to add
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
to the various files in drivers/rtc that don't
already have it and remove most all of these
logging __func__ uses.
Something like:
drivers/rtc/hctosys.c | 6 ++++-- drivers/rtc/rtc-cmos.c | 6 ++++-- drivers/rtc/rtc-ds1374.c | 8 +++++--- drivers/rtc/rtc-ds1685.c | 4 +++- drivers/rtc/rtc-ds3232.c | 6 ++++-- drivers/rtc/rtc-efi-platform.c | 3 +++ drivers/rtc/rtc-m41t80.c | 6 ++++-- drivers/rtc/rtc-max77686.c | 6 ++++-- drivers/rtc/rtc-max8997.c | 8 +++++--- drivers/rtc/rtc-msm6242.c | 4 +++- drivers/rtc/rtc-opal.c | 3 ++- drivers/rtc/rtc-s5m.c | 4 +++- drivers/rtc/rtc-twl.c | 9 +++++---- 13 files changed, 49 insertions(+), 24 deletions(-)
drivers/rtc/hctosys.c +4 -2
@@ -9,6 +9,8 @@* published by the Free Software Foundation. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/rtc.h> /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary
@@ -32,8 +34,8 @@ static int __init rtc_hctosys(void)struct rtc_device *rtc =rtc_class_open (CONFIG_RTC_HCTOSYS_DEVICE );if (rtc ==NULL ) { -pr_info ("%s: unable to open rtc device (%s)\n" , - __FILE__,CONFIG_RTC_HCTOSYS_DEVICE ); +pr_info ("unable to open rtc device (%s)\n" , +CONFIG_RTC_HCTOSYS_DEVICE ); goto err_open; }
drivers/rtc/rtc-cmos.c +4 -2
@@ -28,6 +28,9 @@* interrupts disabled, holding the global rtc_lock, to exclude those * other drivers and utilities on correctly configured systems. */ + +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h>
@@ -385,8 +388,7 @@ static bool alarm_disable_quirk;static int __init set_alarm_disable_quirk (const struct dmi_system_id *id) { alarm_disable_quirk = true; -pr_info ("rtc-cmos: BIOS has alarm-disable quirk. " ); -pr_info ("RTC alarms disabled\n" ); +pr_info ("BIOS has alarm-disable quirk - RTC alarms disabled\n" );return 0 ; }
drivers/rtc/rtc-ds1374.c +5 -3
@@ -18,6 +18,8 @@* "Sending and receiving", using SMBus level communication is preferred. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/kernel.h> #include <linux/module.h> #include <linux/interrupt.h>
@@ -406,7 +408,7 @@ static int ds1374_wdt_settimeout(unsigned int timeout)/* Set new watchdog time */ ret =ds1374_write_rtc (save_client, timeout,DS1374_REG_WDALM0 ,3 );if (ret) { -pr_info ("rtc-ds1374 - couldn't set new watchdog time\n" ); +pr_info ("couldn't set new watchdog time\n" ); goto out; }
@@ -539,12 +541,12 @@ static long ds1374_wdt_ioctl(struct file *file, unsigned int cmd,return -EFAULT ;if (options &WDIOS_DISABLECARD ) { -pr_info ("rtc-ds1374: disable watchdog\n" ); +pr_info ("disable watchdog\n" );ds1374_wdt_disable (); }if (options &WDIOS_ENABLECARD ) { -pr_info ("rtc-ds1374: enable watchdog\n" ); +pr_info ("enable watchdog\n" );ds1374_wdt_settimeout (wdt_margin);ds1374_wdt_ping (); }
drivers/rtc/rtc-ds1685.c +3 -1
@@ -16,6 +16,8 @@* published by the Free Software Foundation. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/bcd.h> #include <linux/delay.h> #include <linux/io.h>
@@ -2182,7 +2184,7 @@ ds1685_rtc_poweroff(struct platform_device *pdev)/* Check for valid RTC data, else, spin forever. */ if (unlikely (!pdev)) { -pr_emerg ("rtc-ds1685: platform device data not available, spinning forever ...\n" ); +pr_emerg ("platform device data not available, spinning forever ...\n" );unreachable (); }else {/* Get the rtc data. */
drivers/rtc/rtc-ds3232.c +4 -2
@@ -15,6 +15,8 @@* "Sending and receiving", using SMBus level communication is preferred. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/kernel.h> #include <linux/module.h> #include <linux/interrupt.h>
@@ -373,8 +375,8 @@ static void ds3232_work(struct work_struct *work)if (stat &DS3232_REG_SR_A1F ) { control =i2c_smbus_read_byte_data (client,DS3232_REG_CR );if (control <0 ) { -pr_warn ("Read DS3232 Control Register error." -"Disable IRQ%d.\n" , client->irq); +pr_warn ("Read Control Register error - Disable IRQ%d\n" , + client->irq); }else {/* disable alarm1 interrupt */ control &= ~(DS3232_REG_CR_A1IE );
drivers/rtc/rtc-efi-platform.c +3 -0
@@ -8,6 +8,9 @@* Copyright (C) 1999-2000 VA Linux Systems * Copyright (C) 1999-2000 Walt Drummond <[email protected]> */ + +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h>
drivers/rtc/rtc-m41t80.c +4 -2
@@ -13,6 +13,8 @@* */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/bcd.h> #include <linux/i2c.h> #include <linux/init.h>
@@ -513,12 +515,12 @@ static int wdt_ioctl(struct file *file, unsigned int cmd,return -EFAULT ;if (rv &WDIOS_DISABLECARD ) { -pr_info ("rtc-m41t80: disable watchdog\n" ); +pr_info ("disable watchdog\n" );wdt_disable (); }if (rv &WDIOS_ENABLECARD ) { -pr_info ("rtc-m41t80: enable watchdog\n" ); +pr_info ("enable watchdog\n" );wdt_ping (); }
drivers/rtc/rtc-max77686.c +4 -2
@@ -12,6 +12,8 @@* */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/slab.h> #include <linux/rtc.h> #include <linux/delay.h>
@@ -103,8 +105,8 @@ static int max77686_rtc_tm_to_data(struct rtc_time *tm, u8 *data) data[RTC_YEAR ] = tm->tm_year >100 ? (tm->tm_year -100 ) :0 ;if (tm->tm_year <100 ) { -pr_warn ("%s: MAX77686 RTC cannot handle the year %d." -"Assume it's 2000.\n" , __func__,1900 + tm->tm_year); +pr_warn ("RTC cannot handle the year %d. Assume it's 2000.\n" , +1900 + tm->tm_year);return -EINVAL ; }return 0 ;
drivers/rtc/rtc-max8997.c +5 -3
@@ -12,6 +12,8 @@* */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/slab.h> #include <linux/rtc.h> #include <linux/delay.h>
@@ -107,8 +109,8 @@ static int max8997_rtc_tm_to_data(struct rtc_time *tm, u8 *data) data[RTC_YEAR ] = tm->tm_year >100 ? (tm->tm_year -100 ) :0 ;if (tm->tm_year <100 ) { -pr_warn ("%s: MAX8997 RTC cannot handle the year %d." -"Assume it's 2000.\n" , __func__,1900 + tm->tm_year); +pr_warn ("RTC cannot handle the year %d. Assume it's 2000.\n" , +1900 + tm->tm_year);return -EINVAL ; }return 0 ;
@@ -424,7 +426,7 @@ static void max8997_rtc_enable_smpl(struct max8997_rtc_info *info, bool enable) val =0 ;max8997_read_reg (info->rtc,MAX8997_RTC_WTSR_SMPL , &val); -pr_info ("%s: WTSR_SMPL(0x%02x)\n" , __func__, val); +pr_info ("WTSR_SMPL(0x%02x)\n" , val); }static int max8997_rtc_init_reg (struct max8997_rtc_info *info)
drivers/rtc/rtc-msm6242.c +3 -1
@@ -7,6 +7,8 @@* Copyright (C) 1993 Hamish Macdonald */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/delay.h> #include <linux/io.h> #include <linux/kernel.h>
@@ -111,7 +113,7 @@ static void msm6242_lock(struct msm6242_priv *priv) }if (!cnt) -pr_warn ("msm6242: timed out waiting for RTC (0x%x)\n" , +pr_warn ("timed out waiting for RTC (0x%x)\n" ,msm6242_read (priv,MSM6242_CD )); }
drivers/rtc/rtc-opal.c +2 -1
@@ -16,8 +16,9 @@* along with this program. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#define DRVNAME "rtc-opal" -#define pr_fmt (fmt) DRVNAME ": " fmt#include <linux/module.h> #include <linux/err.h>
drivers/rtc/rtc-s5m.c +3 -1
@@ -15,6 +15,8 @@* GNU General Public License for more details. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/module.h> #include <linux/i2c.h> #include <linux/bcd.h>
@@ -146,7 +148,7 @@ static int s5m8767_tm_to_data(struct rtc_time *tm, u8 *data) data[RTC_YEAR1 ] = tm->tm_year >100 ? (tm->tm_year -100 ) :0 ;if (tm->tm_year <100 ) { -pr_err ("s5m8767 RTC cannot handle the year %d.\n" , +pr_err ("RTC cannot handle the year %d\n" ,1900 + tm->tm_year);return -EINVAL ; }else {
drivers/rtc/rtc-twl.c +5 -4
@@ -18,6 +18,8 @@* 2 of the License, or (at your option) any later version. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/kernel.h> #include <linux/errno.h> #include <linux/init.h>
@@ -145,8 +147,7 @@ static int twl_rtc_read_u8(u8 *data, u8 reg) ret =twl_i2c_read_u8 (TWL_MODULE_RTC , data, (rtc_reg_map[reg]));if (ret <0 ) -pr_err ("twl_rtc: Could not read TWL" -"register %X - error %d\n" , reg, ret); +pr_err ("Could not read TWL register %X - error %d\n" , reg, ret);return ret; }
@@ -159,8 +160,8 @@ static int twl_rtc_write_u8(u8 data, u8 reg) ret =twl_i2c_write_u8 (TWL_MODULE_RTC , data, (rtc_reg_map[reg]));if (ret <0 ) -pr_err ("twl_rtc: Could not write TWL" -"register %X - error %d\n" , reg, ret); +pr_err ("Could not write TWL register %X - error %d\n" , + reg, ret);return ret; }
Signature · 9 lines
-- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
Re: [rtc-linux] Re: [PATCH 3/3] rtc: hctosys: use function name in the error log
Quoted 6 lines · On Tue, 31 Mar 2015 20:18:28 -0700 Joe Perches <[email protected]> wrote:
Neither
__func__or__FILE__is really useful here. The message is already specific enough without it.If anything, it'd probably be better to add
#define
pr_fmt(fmt)KBUILD_MODNAME": " fmt
Seems reasonable given that pr_fmt is widely
used elsewhere.
I don't like too much the need to have one define for each file, but it's the way it works :-/
Signature · 17 lines
Best regards, Alessandro Zummo - CEO, Tower Technologies - Torino, Italy http://www.towertech.it -- -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
Re: [rtc-linux] Re: [PATCH 3/3] rtc: hctosys: use function name in the error log
Quoted 8 lines · Alessandro Zummo
Quoted 5 lines · On Tue, 31 Mar 2015 20:18:28 -0700 Joe Perches <[email protected]> wrote:
Neither
__func__or__FILE__is really useful here. The message is already specific enough without it.If anything, it'd probably be better to add
Quoted 7 lines
Quoted 1 line
#define
pr_fmt(fmt)KBUILD_MODNAME": " fmtSeems reasonable given that
pr_fmtis widely
used elsewhere.I don't like too much the need to have one define for each file, but it's the way it works :-/
True. Right now.
I've a desire to make a change one day so that's
the default instead of blank.
http://comments.gmane.org/gmane.linux.kernel/1052288
There are some remaining treewide complications
before that can be done effectively though.
A few files will need "#define pr_fmt(fmt) fmt"
so no prefix is used.
Signature · 9 lines
-- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
Re: [PATCH 3/3] rtc: hctosys: use function name in the error log
In reply to Joe PerchesHi,
Quoted 11 lines · Joe Perches
Neither
__func__or__FILE__is really useful here. The message is already specific enough without it.If anything, it'd probably be better to add
#define
pr_fmt(fmt)KBUILD_MODNAME": " fmtto the various files in
drivers/rtcthat don't
already have it and remove most all of these
logging__func__uses.
Indeed, that seems better. Can you submit that patch?
Quoted 342 lines
Something like:
drivers/rtc/hctosys.c | 6 ++++-- drivers/rtc/rtc-cmos.c | 6 ++++-- drivers/rtc/rtc-ds1374.c | 8 +++++--- drivers/rtc/rtc-ds1685.c | 4 +++- drivers/rtc/rtc-ds3232.c | 6 ++++-- drivers/rtc/rtc-efi-platform.c | 3 +++ drivers/rtc/rtc-m41t80.c | 6 ++++-- drivers/rtc/rtc-max77686.c | 6 ++++-- drivers/rtc/rtc-max8997.c | 8 +++++--- drivers/rtc/rtc-msm6242.c | 4 +++- drivers/rtc/rtc-opal.c | 3 ++- drivers/rtc/rtc-s5m.c | 4 +++- drivers/rtc/rtc-twl.c | 9 +++++---- 13 files changed, 49 insertions(+), 24 deletions(-)drivers/rtc/hctosys.c +4
-2@@ -9,6 +9,8 @@* published by the Free Software Foundation. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/rtc.h> /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary @@ -32,8 +34,8 @@ static int __init rtc_hctosys(void)struct rtc_device *rtc =rtc_class_open (CONFIG_RTC_HCTOSYS_DEVICE );if (rtc ==NULL ) { -pr_info ("%s: unable to open rtc device (%s)\n" , - __FILE__,CONFIG_RTC_HCTOSYS_DEVICE ); +pr_info ("unable to open rtc device (%s)\n" , +CONFIG_RTC_HCTOSYS_DEVICE ); goto err_open; }drivers/rtc/rtc-cmos.c +4
-2@@ -28,6 +28,9 @@* interrupts disabled, holding the global rtc_lock, to exclude those * other drivers and utilities on correctly configured systems. */ + +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h> @@ -385,8 +388,7 @@ static bool alarm_disable_quirk;static int __init set_alarm_disable_quirk (const struct dmi_system_id *id) { alarm_disable_quirk = true; -pr_info ("rtc-cmos: BIOS has alarm-disable quirk. " ); -pr_info ("RTC alarms disabled\n" ); +pr_info ("BIOS has alarm-disable quirk - RTC alarms disabled\n" );return 0 ; }drivers/rtc/rtc-ds1374.c +5
-3@@ -18,6 +18,8 @@* "Sending and receiving", using SMBus level communication is preferred. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/kernel.h> #include <linux/module.h> #include <linux/interrupt.h> @@ -406,7 +408,7 @@ static int ds1374_wdt_settimeout(unsigned int timeout)/* Set new watchdog time */ ret =ds1374_write_rtc (save_client, timeout,DS1374_REG_WDALM0 ,3 );if (ret) { -pr_info ("rtc-ds1374 - couldn't set new watchdog time\n" ); +pr_info ("couldn't set new watchdog time\n" ); goto out; }@@ -539,12 +541,12 @@ static long ds1374_wdt_ioctl(struct file *file, unsigned int cmd,return -EFAULT ;if (options &WDIOS_DISABLECARD ) { -pr_info ("rtc-ds1374: disable watchdog\n" ); +pr_info ("disable watchdog\n" );ds1374_wdt_disable (); }if (options &WDIOS_ENABLECARD ) { -pr_info ("rtc-ds1374: enable watchdog\n" ); +pr_info ("enable watchdog\n" );ds1374_wdt_settimeout (wdt_margin);ds1374_wdt_ping (); }drivers/rtc/rtc-ds1685.c +3
-1@@ -16,6 +16,8 @@* published by the Free Software Foundation. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/bcd.h> #include <linux/delay.h> #include <linux/io.h> @@ -2182,7 +2184,7 @@ ds1685_rtc_poweroff(struct platform_device *pdev)/* Check for valid RTC data, else, spin forever. */ if (unlikely (!pdev)) { -pr_emerg ("rtc-ds1685: platform device data not available, spinning forever ...\n" ); +pr_emerg ("platform device data not available, spinning forever ...\n" );unreachable (); }else {/* Get the rtc data. */ drivers/rtc/rtc-ds3232.c +4
-2@@ -15,6 +15,8 @@* "Sending and receiving", using SMBus level communication is preferred. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/kernel.h> #include <linux/module.h> #include <linux/interrupt.h> @@ -373,8 +375,8 @@ static void ds3232_work(struct work_struct *work)if (stat &DS3232_REG_SR_A1F ) { control =i2c_smbus_read_byte_data (client,DS3232_REG_CR );if (control <0 ) { -pr_warn ("Read DS3232 Control Register error." -"Disable IRQ%d.\n" , client->irq); +pr_warn ("Read Control Register error - Disable IRQ%d\n" , + client->irq); }else {/* disable alarm1 interrupt */ control &= ~(DS3232_REG_CR_A1IE );drivers/rtc/rtc-efi-platform.c +3
-0@@ -8,6 +8,9 @@* Copyright (C) 1999-2000 VA Linux Systems * Copyright (C) 1999-2000 Walt Drummond <[email protected]> */ + +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h> drivers/rtc/rtc-m41t80.c +4
-2@@ -13,6 +13,8 @@* */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/bcd.h> #include <linux/i2c.h> #include <linux/init.h> @@ -513,12 +515,12 @@ static int wdt_ioctl(struct file *file, unsigned int cmd,return -EFAULT ;if (rv &WDIOS_DISABLECARD ) { -pr_info ("rtc-m41t80: disable watchdog\n" ); +pr_info ("disable watchdog\n" );wdt_disable (); }if (rv &WDIOS_ENABLECARD ) { -pr_info ("rtc-m41t80: enable watchdog\n" ); +pr_info ("enable watchdog\n" );wdt_ping (); }drivers/rtc/rtc-max77686.c +4
-2@@ -12,6 +12,8 @@* */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/slab.h> #include <linux/rtc.h> #include <linux/delay.h> @@ -103,8 +105,8 @@ static int max77686_rtc_tm_to_data(struct rtc_time *tm, u8 *data) data[RTC_YEAR ] = tm->tm_year >100 ? (tm->tm_year -100 ) :0 ;if (tm->tm_year <100 ) { -pr_warn ("%s: MAX77686 RTC cannot handle the year %d." -"Assume it's 2000.\n" , __func__,1900 + tm->tm_year); +pr_warn ("RTC cannot handle the year %d. Assume it's 2000.\n" , +1900 + tm->tm_year);return -EINVAL ; }return 0 ;drivers/rtc/rtc-max8997.c +5
-3@@ -12,6 +12,8 @@* */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/slab.h> #include <linux/rtc.h> #include <linux/delay.h> @@ -107,8 +109,8 @@ static int max8997_rtc_tm_to_data(struct rtc_time *tm, u8 *data) data[RTC_YEAR ] = tm->tm_year >100 ? (tm->tm_year -100 ) :0 ;if (tm->tm_year <100 ) { -pr_warn ("%s: MAX8997 RTC cannot handle the year %d." -"Assume it's 2000.\n" , __func__,1900 + tm->tm_year); +pr_warn ("RTC cannot handle the year %d. Assume it's 2000.\n" , +1900 + tm->tm_year);return -EINVAL ; }return 0 ;@@ -424,7 +426,7 @@ static void max8997_rtc_enable_smpl(struct max8997_rtc_info *info, bool enable) val =0 ;max8997_read_reg (info->rtc,MAX8997_RTC_WTSR_SMPL , &val); -pr_info ("%s: WTSR_SMPL(0x%02x)\n" , __func__, val); +pr_info ("WTSR_SMPL(0x%02x)\n" , val); }static int max8997_rtc_init_reg (struct max8997_rtc_info *info)drivers/rtc/rtc-msm6242.c +3
-1@@ -7,6 +7,8 @@* Copyright (C) 1993 Hamish Macdonald */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/delay.h> #include <linux/io.h> #include <linux/kernel.h> @@ -111,7 +113,7 @@ static void msm6242_lock(struct msm6242_priv *priv) }if (!cnt) -pr_warn ("msm6242: timed out waiting for RTC (0x%x)\n" , +pr_warn ("timed out waiting for RTC (0x%x)\n" ,msm6242_read (priv,MSM6242_CD )); }drivers/rtc/rtc-opal.c +2
-1@@ -16,8 +16,9 @@* along with this program. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#define DRVNAME "rtc-opal" -#define pr_fmt (fmt) DRVNAME ": " fmt#include <linux/module.h> #include <linux/err.h> drivers/rtc/rtc-s5m.c +3
-1@@ -15,6 +15,8 @@* GNU General Public License for more details. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/module.h> #include <linux/i2c.h> #include <linux/bcd.h> @@ -146,7 +148,7 @@ static int s5m8767_tm_to_data(struct rtc_time *tm, u8 *data) data[RTC_YEAR1 ] = tm->tm_year >100 ? (tm->tm_year -100 ) :0 ;if (tm->tm_year <100 ) { -pr_err ("s5m8767 RTC cannot handle the year %d.\n" , +pr_err ("RTC cannot handle the year %d\n" ,1900 + tm->tm_year);return -EINVAL ; }else {drivers/rtc/rtc-twl.c +5
-4@@ -18,6 +18,8 @@* 2 of the License, or (at your option) any later version. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/kernel.h> #include <linux/errno.h> #include <linux/init.h> @@ -145,8 +147,7 @@ static int twl_rtc_read_u8(u8 *data, u8 reg) ret =twl_i2c_read_u8 (TWL_MODULE_RTC , data, (rtc_reg_map[reg]));if (ret <0 ) -pr_err ("twl_rtc: Could not read TWL" -"register %X - error %d\n" , reg, ret); +pr_err ("Could not read TWL register %X - error %d\n" , reg, ret);return ret; }@@ -159,8 +160,8 @@ static int twl_rtc_write_u8(u8 data, u8 reg) ret =twl_i2c_write_u8 (TWL_MODULE_RTC , data, (rtc_reg_map[reg]));if (ret <0 ) -pr_err ("twl_rtc: Could not write TWL" -"register %X - error %d\n" , reg, ret); +pr_err ("Could not write TWL register %X - error %d\n" , + reg, ret);return ret; }
Signature · 14 lines
Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
PATCH 1/1 rtc: Use more standard kernel logging styles
Neaten the logging a bit by adding #define pr_fmt
Miscellanea:
o Remove __FILE__/__func__ uses
o Coalesce formats adding missing spaces
o Align arguments
o (rtc-cmos) Integrated 2 consecutive messages
---
compiled x86, rtc-opal uncompiled, untested
drivers/rtc/hctosys.c | 6 ++++-- drivers/rtc/rtc-cmos.c | 6 ++++-- drivers/rtc/rtc-ds1374.c | 8 +++++--- drivers/rtc/rtc-ds1685.c | 4 +++- drivers/rtc/rtc-ds3232.c | 6 ++++-- drivers/rtc/rtc-efi-platform.c | 3 +++ drivers/rtc/rtc-m41t80.c | 6 ++++-- drivers/rtc/rtc-max77686.c | 6 ++++-- drivers/rtc/rtc-max8997.c | 8 +++++--- drivers/rtc/rtc-msm6242.c | 4 +++- drivers/rtc/rtc-opal.c | 3 ++- drivers/rtc/rtc-s5m.c | 4 +++- drivers/rtc/rtc-twl.c | 9 +++++---- 13 files changed, 49 insertions(+), 24 deletions(-)
drivers/rtc/hctosys.c +4 -2
@@ -9,6 +9,8 @@* published by the Free Software Foundation. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/rtc.h> /* IMPORTANT: the RTC only stores whole seconds. It is arbitrary
@@ -32,8 +34,8 @@ static int __init rtc_hctosys(void)struct rtc_device *rtc =rtc_class_open (CONFIG_RTC_HCTOSYS_DEVICE );if (rtc ==NULL ) { -pr_info ("%s: unable to open rtc device (%s)\n" , - __FILE__,CONFIG_RTC_HCTOSYS_DEVICE ); +pr_info ("unable to open rtc device (%s)\n" , +CONFIG_RTC_HCTOSYS_DEVICE ); goto err_open; }
drivers/rtc/rtc-cmos.c +4 -2
@@ -28,6 +28,9 @@* interrupts disabled, holding the global rtc_lock, to exclude those * other drivers and utilities on correctly configured systems. */ + +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/kernel.h> #include <linux/module.h> #include <linux/init.h>
@@ -385,8 +388,7 @@ static bool alarm_disable_quirk;static int __init set_alarm_disable_quirk (const struct dmi_system_id *id) { alarm_disable_quirk = true; -pr_info ("rtc-cmos: BIOS has alarm-disable quirk. " ); -pr_info ("RTC alarms disabled\n" ); +pr_info ("BIOS has alarm-disable quirk - RTC alarms disabled\n" );return 0 ; }
drivers/rtc/rtc-ds1374.c +5 -3
@@ -18,6 +18,8 @@* "Sending and receiving", using SMBus level communication is preferred. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/kernel.h> #include <linux/module.h> #include <linux/interrupt.h>
@@ -406,7 +408,7 @@ static int ds1374_wdt_settimeout(unsigned int timeout)/* Set new watchdog time */ ret =ds1374_write_rtc (save_client, timeout,DS1374_REG_WDALM0 ,3 );if (ret) { -pr_info ("rtc-ds1374 - couldn't set new watchdog time\n" ); +pr_info ("couldn't set new watchdog time\n" ); goto out; }
@@ -539,12 +541,12 @@ static long ds1374_wdt_ioctl(struct file *file, unsigned int cmd,return -EFAULT ;if (options &WDIOS_DISABLECARD ) { -pr_info ("rtc-ds1374: disable watchdog\n" ); +pr_info ("disable watchdog\n" );ds1374_wdt_disable (); }if (options &WDIOS_ENABLECARD ) { -pr_info ("rtc-ds1374: enable watchdog\n" ); +pr_info ("enable watchdog\n" );ds1374_wdt_settimeout (wdt_margin);ds1374_wdt_ping (); }
drivers/rtc/rtc-ds1685.c +3 -1
@@ -16,6 +16,8 @@* published by the Free Software Foundation. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/bcd.h> #include <linux/delay.h> #include <linux/io.h>
@@ -2182,7 +2184,7 @@ ds1685_rtc_poweroff(struct platform_device *pdev)/* Check for valid RTC data, else, spin forever. */ if (unlikely (!pdev)) { -pr_emerg ("rtc-ds1685: platform device data not available, spinning forever ...\n" ); +pr_emerg ("platform device data not available, spinning forever ...\n" );unreachable (); }else {/* Get the rtc data. */
drivers/rtc/rtc-ds3232.c +4 -2
@@ -15,6 +15,8 @@* "Sending and receiving", using SMBus level communication is preferred. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/kernel.h> #include <linux/module.h> #include <linux/interrupt.h>
@@ -373,8 +375,8 @@ static void ds3232_work(struct work_struct *work)if (stat &DS3232_REG_SR_A1F ) { control =i2c_smbus_read_byte_data (client,DS3232_REG_CR );if (control <0 ) { -pr_warn ("Read DS3232 Control Register error." -"Disable IRQ%d.\n" , client->irq); +pr_warn ("Read Control Register error - Disable IRQ%d\n" , + client->irq); }else {/* disable alarm1 interrupt */ control &= ~(DS3232_REG_CR_A1IE );
drivers/rtc/rtc-efi-platform.c +3 -0
@@ -8,6 +8,9 @@* Copyright (C) 1999-2000 VA Linux Systems * Copyright (C) 1999-2000 Walt Drummond <[email protected]> */ + +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/init.h> #include <linux/kernel.h> #include <linux/module.h>
drivers/rtc/rtc-m41t80.c +4 -2
@@ -13,6 +13,8 @@* */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/bcd.h> #include <linux/i2c.h> #include <linux/init.h>
@@ -513,12 +515,12 @@ static int wdt_ioctl(struct file *file, unsigned int cmd,return -EFAULT ;if (rv &WDIOS_DISABLECARD ) { -pr_info ("rtc-m41t80: disable watchdog\n" ); +pr_info ("disable watchdog\n" );wdt_disable (); }if (rv &WDIOS_ENABLECARD ) { -pr_info ("rtc-m41t80: enable watchdog\n" ); +pr_info ("enable watchdog\n" );wdt_ping (); }
drivers/rtc/rtc-max77686.c +4 -2
@@ -12,6 +12,8 @@* */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/slab.h> #include <linux/rtc.h> #include <linux/delay.h>
@@ -103,8 +105,8 @@ static int max77686_rtc_tm_to_data(struct rtc_time *tm, u8 *data) data[RTC_YEAR ] = tm->tm_year >100 ? (tm->tm_year -100 ) :0 ;if (tm->tm_year <100 ) { -pr_warn ("%s: MAX77686 RTC cannot handle the year %d." -"Assume it's 2000.\n" , __func__,1900 + tm->tm_year); +pr_warn ("RTC cannot handle the year %d. Assume it's 2000.\n" , +1900 + tm->tm_year);return -EINVAL ; }return 0 ;
drivers/rtc/rtc-max8997.c +5 -3
@@ -12,6 +12,8 @@* */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/slab.h> #include <linux/rtc.h> #include <linux/delay.h>
@@ -107,8 +109,8 @@ static int max8997_rtc_tm_to_data(struct rtc_time *tm, u8 *data) data[RTC_YEAR ] = tm->tm_year >100 ? (tm->tm_year -100 ) :0 ;if (tm->tm_year <100 ) { -pr_warn ("%s: MAX8997 RTC cannot handle the year %d." -"Assume it's 2000.\n" , __func__,1900 + tm->tm_year); +pr_warn ("RTC cannot handle the year %d. Assume it's 2000.\n" , +1900 + tm->tm_year);return -EINVAL ; }return 0 ;
@@ -424,7 +426,7 @@ static void max8997_rtc_enable_smpl(struct max8997_rtc_info *info, bool enable) val =0 ;max8997_read_reg (info->rtc,MAX8997_RTC_WTSR_SMPL , &val); -pr_info ("%s: WTSR_SMPL(0x%02x)\n" , __func__, val); +pr_info ("WTSR_SMPL(0x%02x)\n" , val); }static int max8997_rtc_init_reg (struct max8997_rtc_info *info)
drivers/rtc/rtc-msm6242.c +3 -1
@@ -7,6 +7,8 @@* Copyright (C) 1993 Hamish Macdonald */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/delay.h> #include <linux/io.h> #include <linux/kernel.h>
@@ -111,7 +113,7 @@ static void msm6242_lock(struct msm6242_priv *priv) }if (!cnt) -pr_warn ("msm6242: timed out waiting for RTC (0x%x)\n" , +pr_warn ("timed out waiting for RTC (0x%x)\n" ,msm6242_read (priv,MSM6242_CD )); }
drivers/rtc/rtc-opal.c +2 -1
@@ -16,8 +16,9 @@* along with this program. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#define DRVNAME "rtc-opal" -#define pr_fmt (fmt) DRVNAME ": " fmt#include <linux/module.h> #include <linux/err.h>
drivers/rtc/rtc-s5m.c +3 -1
@@ -15,6 +15,8 @@* GNU General Public License for more details. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/module.h> #include <linux/i2c.h> #include <linux/bcd.h>
@@ -146,7 +148,7 @@ static int s5m8767_tm_to_data(struct rtc_time *tm, u8 *data) data[RTC_YEAR1 ] = tm->tm_year >100 ? (tm->tm_year -100 ) :0 ;if (tm->tm_year <100 ) { -pr_err ("s5m8767 RTC cannot handle the year %d.\n" , +pr_err ("RTC cannot handle the year %d\n" ,1900 + tm->tm_year);return -EINVAL ; }else {
drivers/rtc/rtc-twl.c +5 -4
@@ -18,6 +18,8 @@* 2 of the License, or (at your option) any later version. */ +#define pr_fmt (fmt) KBUILD_MODNAME ": " fmt +#include <linux/kernel.h> #include <linux/errno.h> #include <linux/init.h>
@@ -145,8 +147,7 @@ static int twl_rtc_read_u8(u8 *data, u8 reg) ret =twl_i2c_read_u8 (TWL_MODULE_RTC , data, (rtc_reg_map[reg]));if (ret <0 ) -pr_err ("twl_rtc: Could not read TWL" -"register %X - error %d\n" , reg, ret); +pr_err ("Could not read TWL register %X - error %d\n" , reg, ret);return ret; }
@@ -159,8 +160,8 @@ static int twl_rtc_write_u8(u8 data, u8 reg) ret =twl_i2c_write_u8 (TWL_MODULE_RTC , data, (rtc_reg_map[reg]));if (ret <0 ) -pr_err ("twl_rtc: Could not write TWL" -"register %X - error %d\n" , reg, ret); +pr_err ("Could not write TWL register %X - error %d\n" , + reg, ret);return ret; }
Signature · 9 lines
-- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
Re: [rtc-linux] [PATCH] rtc: Use more standard kernel logging styles
2015-04-01 18:12 GMT+02:00 Joe Perches <[email protected]>:
Quoted 10 lines
Neaten the logging a bit by adding #define
pr_fmtMiscellanea:
o Remove __FILE__/__func__ uses
o Coalesce formats adding missing spaces
o Align arguments
o (rtc-cmos) Integrated 2 consecutive messagesSigned-off-by Joe Perches <[email protected]>
Best regards,
Krzysztof
Signature · 9 lines
-- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
Re: [PATCH] rtc: Use more standard kernel logging styles
In reply to Joe PerchesQuoted 10 lines · Joe Perches
Neaten the logging a bit by adding #define
pr_fmtMiscellanea:
o Remove __FILE__/__func__ uses
o Coalesce formats adding missing spaces
o Align arguments
o (rtc-cmos) Integrated 2 consecutive messagesSigned-off-by Joe Perches <[email protected]>
Signature · 14 lines
Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
Quoted 10 lines · Aaro Koskinen
In some error cases RTC name is used before it is initialized:
rtc-rs5c372 0-0032: clock needs to be set rtc-rs5c372 0-0032: rs5c372b found, 24hr, driver version 0.6 rtc (null): read_time: fail to read rtc-rs5c372 0-0032: rtc core: registered rtc-rs5c372 as rtc0Fix by initializing the name early.
Signed-off-by Aaro Koskinen <[email protected]>
Quoted 30 lines
--- drivers/rtc/class.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)drivers/rtc/class.c +3
-3@@ -225,15 +225,15 @@ struct rtc_device *rtc_device_register(const char *name, struct device *dev, rtc->pie_timer.function = rtc_pie_update_irq; rtc->pie_enabled =0 ; +strlcpy (rtc->name, name,RTC_DEVICE_NAME_SIZE ); +dev_set_name (&rtc->dev,"rtc%d" , id); +/* Check to see if there is an ALARM already set in hw */ err =__rtc_read_alarm (rtc, &alrm);if (!err && !rtc_valid_tm (&alrm.time))rtc_initialize_alarm (rtc, &alrm); -strlcpy (rtc->name, name,RTC_DEVICE_NAME_SIZE ); -dev_set_name (&rtc->dev,"rtc%d" , id); -rtc_dev_prepare (rtc); err =device_register (&rtc->dev);Signature · 1 line
2.2.0
Signature · 14 lines
Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com -- -- You received this message because you are subscribed to "rtc-linux". Membership options at http://groups.google.com/group/rtc-linux . Please read http://groups.google.com/group/rtc-linux/web/checklist before submitting a driver. --- You received this message because you are subscribed to the Google Groups "rtc-linux" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.