On Wed, Jul 31, 2019 at 10:42:52AM -0700, Andrey Smirnov wrote: > Log bootloader/firmware info during probe. This information is > available via sysfs already, but it's really helpful to have this in > kernel log during startup as well. > > Signed-off-by: Andrey Smirnov <andrew.smirnov@xxxxxxxxx> > Cc: Chris Healy <cphealy@xxxxxxxxx> > Cc: Guenter Roeck <linux@xxxxxxxxxxxx> > Cc: Rick Ramstetter <rick@xxxxxxxxxxxxxxx> > Cc: linux-watchdog@xxxxxxxxxxxxxxx > Cc: linux-kernel@xxxxxxxxxxxxxxx Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > drivers/watchdog/ziirave_wdt.c | 18 +++++++++++++++--- > 1 file changed, 15 insertions(+), 3 deletions(-) > > diff --git a/drivers/watchdog/ziirave_wdt.c b/drivers/watchdog/ziirave_wdt.c > index 33c8d2eadada..84ba8820ac86 100644 > --- a/drivers/watchdog/ziirave_wdt.c > +++ b/drivers/watchdog/ziirave_wdt.c > @@ -68,6 +68,9 @@ static char *ziirave_reasons[] = {"power cycle", "hw watchdog", NULL, NULL, > #define ZIIRAVE_CMD_JUMP_TO_BOOTLOADER 0x0c > #define ZIIRAVE_CMD_DOWNLOAD_PACKET 0x0e > > +#define ZIIRAVE_FW_VERSION_FMT "02.%02u.%02u" > +#define ZIIRAVE_BL_VERSION_FMT "01.%02u.%02u" > + > struct ziirave_wdt_rev { > unsigned char major; > unsigned char minor; > @@ -482,7 +485,7 @@ static ssize_t ziirave_wdt_sysfs_show_firm(struct device *dev, > if (ret) > return ret; > > - ret = sprintf(buf, "02.%02u.%02u", w_priv->firmware_rev.major, > + ret = sprintf(buf, ZIIRAVE_FW_VERSION_FMT, w_priv->firmware_rev.major, > w_priv->firmware_rev.minor); > > mutex_unlock(&w_priv->sysfs_mutex); > @@ -505,7 +508,7 @@ static ssize_t ziirave_wdt_sysfs_show_boot(struct device *dev, > if (ret) > return ret; > > - ret = sprintf(buf, "01.%02u.%02u", w_priv->bootloader_rev.major, > + ret = sprintf(buf, ZIIRAVE_BL_VERSION_FMT, w_priv->bootloader_rev.major, > w_priv->bootloader_rev.minor); > > mutex_unlock(&w_priv->sysfs_mutex); > @@ -572,7 +575,8 @@ static ssize_t ziirave_wdt_sysfs_store_firm(struct device *dev, > goto unlock_mutex; > } > > - dev_info(&client->dev, "Firmware updated to version 02.%02u.%02u\n", > + dev_info(&client->dev, > + "Firmware updated to version " ZIIRAVE_FW_VERSION_FMT "\n", > w_priv->firmware_rev.major, w_priv->firmware_rev.minor); > > /* Restore the watchdog timeout */ > @@ -706,6 +710,10 @@ static int ziirave_wdt_probe(struct i2c_client *client, > return ret; > } > > + dev_info(&client->dev, > + "Firmware version: " ZIIRAVE_FW_VERSION_FMT "\n", > + w_priv->firmware_rev.major, w_priv->firmware_rev.minor); > + > ret = ziirave_wdt_revision(client, &w_priv->bootloader_rev, > ZIIRAVE_WDT_BOOT_VER_MAJOR); > if (ret) { > @@ -713,6 +721,10 @@ static int ziirave_wdt_probe(struct i2c_client *client, > return ret; > } > > + dev_info(&client->dev, > + "Bootloader version: " ZIIRAVE_BL_VERSION_FMT "\n", > + w_priv->bootloader_rev.major, w_priv->bootloader_rev.minor); > + > w_priv->reset_reason = i2c_smbus_read_byte_data(client, > ZIIRAVE_WDT_RESET_REASON); > if (w_priv->reset_reason < 0) { > -- > 2.21.0 >