Re: linux-next: manual merge of the watchdog tree with the mfd tree

From: Guenter Roeck
Date: Tue May 22 2012 - 18:37:10 EST


At 09:35 AM 5/22/2012, Wim Van Sebroeck wrote:
Hi Guenter,

> >> Today's linux-next merge of the watchdog tree got a conflict in
> >> drivers/watchdog/iTCO_wdt.c between commit 887c8ec7219f ("watchdog:
> >> Convert iTCO_wdt driver to mfd model") from the tree and commit
> >> c3614aa19d3e ("watchdog: iTCO_wdt.c: fix printk format warnings") from
> >> the watchdog tree.
> >>
> >> I fixed it up (see below) and can carry the fix as necessary.
> >
> >Thanks for fixing this up.
> >
> >But I'm a bit surprised: I wasn't Cc'ed about this patch to Convert
> >the iTCO_wdt driver to the mfd model...
> Oh my. Kind of embarrassing to forget one of the maintainers in all
> the discussions which tree this patch set should go through. Even
> though I didn't much of the code, my sign-off is there, and I should
> have made sure that you are on the Cc: list. Sorry for that, and I
> owe you a beer or two if we ever meet in person.

The maintainer and the writer of the driver: that's at least two beers indeed :-).

Make it three. Going to be a happy night.

> Hope you are ok with the changes - the patch set already missed the
> last commit window because of the which-tree-to-use issue, and it
> would be sad to miss another one. And Jean is really waiting for it
> to go in to be able to push some related patches which need the gpio driver.

I'm OK with it (although this means I can't go ahead yet with a watchdog core
conversion of the iTCO_wdt driver), except for the comile warning that the patch
introduces (as reported by Randy).

The original driver printed addresses as %04lx, this new driver uses %04llx but
doesn't typecast the values correctly. See message from Randy below.
Wether or not %04lx or %04llx is the best to use is off-course another question.
I don't think we have a clear standard yet, but I'm fine with either one of them.

Me too, though %04lx and typecast to long should really be sufficient.

I'd guess the change was made because resource_size_t is sometimes a long
and sometimes a long long, depending on the platform. I hit that problem a couple of times myself.

How do we make sure that Randy's patch makes it upstream ? The iTCO patch is currently in Sam's tree.

Thanks,
Guenter

Kind regards,
Wim.
---
Date: Mon, 14 May 2012 13:15:20 -0700
From: Randy Dunlap <rdunlap@xxxxxxxxxxxx>
To: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
CC: linux-next@xxxxxxxxxxxxxxx, LKML <linux-kernel@xxxxxxxxxxxxxxx>,
Wim Van Sebroeck <wim@xxxxxxxxx>,
linux-watchdog@xxxxxxxxxxxxxxx
Subject: [PATCH -next] wdt: fix iTCO printk format warnings

From: Randy Dunlap <rdunlap@xxxxxxxxxxxx>

Fix printk format warnings:

drivers/watchdog/iTCO_wdt.c:577:3: warning: format '%04llx' expects type 'long long unsigned int', but argument 2 has type 'resource_size_t'
drivers/watchdog/iTCO_wdt.c:594:3: warning: format '%04llx' expects type 'long long unsigned int', but argument 2 has type 'resource_size_t'
drivers/watchdog/iTCO_wdt.c:600:2: warning: format '%04llx' expects type 'long long unsigned int', but argument 4 has type 'resource_size_t'

Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxx>
Cc: Wim Van Sebroeck <wim@xxxxxxxxx>
---
drivers/watchdog/iTCO_wdt.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

--- linux-next-20120514.orig/drivers/watchdog/iTCO_wdt.c
+++ linux-next-20120514/drivers/watchdog/iTCO_wdt.c
@@ -575,7 +575,7 @@ static int __devinit iTCO_wdt_probe(stru
if (!request_region(iTCO_wdt_private.smi_res->start,
resource_size(iTCO_wdt_private.smi_res), dev->name)) {
pr_err("I/O address 0x%04llx already in use, device disabled\n",
- SMI_EN);
+ (u64)SMI_EN);
ret = -EBUSY;
goto unmap_gcs;
}
@@ -592,13 +592,13 @@ static int __devinit iTCO_wdt_probe(stru
if (!request_region(iTCO_wdt_private.tco_res->start,
resource_size(iTCO_wdt_private.tco_res), dev->name)) {
pr_err("I/O address 0x%04llx already in use, device disabled\n",
- TCOBASE);
+ (u64)TCOBASE);
ret = -EBUSY;
goto unreg_smi;
}

pr_info("Found a %s TCO device (Version=%d, TCOBASE=0x%04llx)\n",
- ich_info->name, ich_info->iTCO_version, TCOBASE);
+ ich_info->name, ich_info->iTCO_version, (u64)TCOBASE);

/* Clear out the (probably old) status */
outw(0x0008, TCO1_STS); /* Clear the Time Out Status bit */

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/