All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodolfo Giometti <giometti@enneenne.com>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: linux-kernel@vger.kernel.org,
	David Woodhouse <dwmw2@infradead.org>,
	Dave Jones <davej@redhat.com>, Sam Ravnborg <sam@ravnborg.org>,
	Greg KH <greg@kroah.com>, Randy Dunlap <randy.dunlap@oracle.com>
Subject: Re: [PATCH 1/7] LinuxPPS core support.
Date: Tue, 1 Apr 2008 11:40:06 +0200	[thread overview]
Message-ID: <20080401094006.GD7279@enneenne.com> (raw)
In-Reply-To: <20080401020946.a62ee645.akpm@linux-foundation.org>

On Tue, Apr 01, 2008 at 02:09:46AM -0700, Andrew Morton wrote:
> On Tue, 1 Apr 2008 10:59:50 +0200 Rodolfo Giometti <giometti@enneenne.com> wrote:
> 
> > On Fri, Mar 28, 2008 at 03:21:39AM -0700, Andrew Morton wrote:
> > > On Thu,  6 Mar 2008 13:09:00 +0100 Rodolfo Giometti <giometti@linux.it> wrote:
> > > 
> > > > This patch adds the kernel side of the PPS support currently named
> > > > "LinuxPPS".
> > > 
> > > powerpc:
> > > 
> > > drivers/pps/pps.c: In function 'pps_cdev_ioctl':
> > > drivers/pps/pps.c:166: warning: format '%lld' expects type 'long long int', but argument 2 has type '__s64'
> > > drivers/pps/kapi.c: In function 'pps_event':
> > > drivers/pps/kapi.c:225: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type '__s64'
> > > drivers/pps/sysfs.c: In function 'pps_show_assert':
> > > drivers/pps/sysfs.c:42: warning: format '%lld' expects type 'long long int', but argument 3 has type '__s64'
> > > drivers/pps/sysfs.c:42: warning: format '%lld' expects type 'long long int', but argument 3 has type '__s64'
> > > drivers/pps/sysfs.c: In function 'pps_show_clear':
> > > drivers/pps/sysfs.c:56: warning: format '%lld' expects type 'long long int', but argument 3 has type '__s64'
> > > drivers/pps/sysfs.c:56: warning: format '%lld' expects type 'long long int', but argument 3 has type '__s64'
> > 
> > Oops! I have no powerpc system... how can I solve this issue?
> 
> Use %lld (if these things can legitimately be negative - otherwise %llu)
> and cast the argument to (long long) or (unsigned long long).

Ok, here my modifications:

diff --git a/drivers/pps/kapi.c b/drivers/pps/kapi.c
index 34b3b22..d75c8c8 100644
--- a/drivers/pps/kapi.c
+++ b/drivers/pps/kapi.c
@@ -245,7 +245,7 @@ void pps_event(int source, int event, void *data)
                return;
 
        pr_debug("PPS event on source %d at %llu.%06u\n",
-                       pps->id, ts.sec, ts.nsec);
+                       pps->id, (unsigned long long) ts.sec, ts.nsec);
 
        spin_lock_irqsave(&pps->lock, flags);
 
diff --git a/drivers/pps/pps.c b/drivers/pps/pps.c
index a82b1d8..5cbfeb9 100644
--- a/drivers/pps/pps.c
+++ b/drivers/pps/pps.c
@@ -164,7 +164,8 @@ static int pps_cdev_ioctl(struct inode *inode, struct file *
                        err = wait_event_interruptible(pps->queue, pps->go);
                else {
                        pr_debug("timeout %lld.%09d\n",
-                                       fdata.timeout.sec, fdata.timeout.nsec);
+                                       (long long) fdata.timeout.sec,
+                                       fdata.timeout.nsec);
                        ticks = fdata.timeout.sec * HZ;
                        ticks += fdata.timeout.nsec / (NSEC_PER_SEC / HZ);
 
diff --git a/drivers/pps/sysfs.c b/drivers/pps/sysfs.c
index 3af773a..0520f62 100644
--- a/drivers/pps/sysfs.c
+++ b/drivers/pps/sysfs.c
@@ -38,7 +38,7 @@ static ssize_t pps_show_assert(struct device *dev,
                return 0;
 
        return sprintf(buf, "%lld.%09d#%d\n",
-                       pps->assert_tu.sec, pps->assert_tu.nsec,
+                       (long long) pps->assert_tu.sec, pps->assert_tu.nsec,
                        pps->assert_sequence);
 }
 DEVICE_ATTR(assert, S_IRUGO, pps_show_assert, NULL);
@@ -52,7 +52,7 @@ static ssize_t pps_show_clear(struct device *dev,
                return 0;
 
        return sprintf(buf, "%lld.%09d#%d\n",
-                       pps->clear_tu.sec, pps->clear_tu.nsec,
+                       (long long) pps->clear_tu.sec, pps->clear_tu.nsec,
                        pps->clear_sequence);
 }
 DEVICE_ATTR(clear, S_IRUGO, pps_show_clear, NULL);

This compile clearly on x86. I'm going to propose a new patch ASAP.

Thanks,

Rodolfo

-- 

GNU/Linux Solutions                  e-mail:    giometti@enneenne.com
Linux Device Driver                             giometti@gnudd.com
Embedded Systems                     		giometti@linux.it
UNIX programming                     phone:     +39 349 2432127

  reply	other threads:[~2008-04-01  9:40 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-06 12:08 LinuxPPS (RESUBMIT 2): the PPS Linux implementation Rodolfo Giometti
2008-03-06 12:09 ` [PATCH 1/7] LinuxPPS core support Rodolfo Giometti
2008-03-06 12:09   ` [PATCH 2/7] PPS: userland header file for PPS API Rodolfo Giometti
2008-03-06 12:09     ` [PATCH 3/7] PPS: documentation programs and examples Rodolfo Giometti
2008-03-06 12:09       ` [PATCH 4/7] PPS: LinuxPPS clients support Rodolfo Giometti
2008-03-06 12:09         ` [PATCH 5/7] PPS: serial " Rodolfo Giometti
2008-03-06 12:09           ` [PATCH 6/7] PPS: example program to enable PPS support on serial ports Rodolfo Giometti
2008-03-06 12:09             ` [PATCH 7/7] PPS: parallel port clients support Rodolfo Giometti
2008-03-20 20:04           ` [PATCH 5/7] PPS: serial " Andrew Morton
2008-03-21 11:17             ` Rodolfo Giometti
2008-03-21 17:41               ` Andrew Morton
2008-03-25 10:38                 ` Rodolfo Giometti
2008-03-20 20:03   ` [PATCH 1/7] LinuxPPS core support Andrew Morton
2008-03-25 14:44     ` Rodolfo Giometti
2008-03-28  3:25       ` Andrew Morton
2008-04-01  8:42         ` Rodolfo Giometti
2008-04-01  8:55           ` Andrew Morton
2008-04-01  9:50             ` Rodolfo Giometti
2008-04-01 21:45             ` Rodolfo Giometti
2008-04-01 21:57               ` Andrew Morton
2008-03-21  3:36   ` Kay Sievers
2008-03-21 10:56     ` Rodolfo Giometti
2008-03-21 17:00       ` Kay Sievers
2008-03-25 10:48         ` Rodolfo Giometti
2008-03-21  3:50   ` Kay Sievers
2008-03-21 10:57     ` Rodolfo Giometti
2008-03-21 17:01       ` Kay Sievers
2008-03-25 10:53     ` Rodolfo Giometti
2008-03-28 10:21   ` Andrew Morton
2008-04-01  8:59     ` Rodolfo Giometti
2008-04-01  9:09       ` Andrew Morton
2008-04-01  9:40         ` Rodolfo Giometti [this message]
2008-03-19 17:29 ` LinuxPPS (RESUBMIT 2): the PPS Linux implementation john stultz
2008-03-19 21:21   ` Andrew Morton
2008-03-19 21:55     ` Dave Jones
  -- strict thread matches above, loose matches on Subject: below --
2008-04-10 15:15 LinuxPPS (RESUBMIT 3): " Rodolfo Giometti
2008-04-10 15:15 ` [PATCH 1/7] LinuxPPS core support Rodolfo Giometti
2008-04-10 16:06 [PATCH 5/7] PPS: serial clients support Rodolfo Giometti
2008-04-10 18:22 ` LinuxPPS (RESUBMIT 4): the PPS Linux implementation Rodolfo Giometti
2008-04-10 18:22   ` [PATCH 1/7] LinuxPPS core support Rodolfo Giometti

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080401094006.GD7279@enneenne.com \
    --to=giometti@enneenne.com \
    --cc=akpm@linux-foundation.org \
    --cc=davej@redhat.com \
    --cc=dwmw2@infradead.org \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=randy.dunlap@oracle.com \
    --cc=sam@ravnborg.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.