From mboxrd@z Thu Jan 1 00:00:00 1970 From: Boris Ostrovsky Subject: Re: [xen-tip:for-linus-4.5 12/12] arch/x86/xen/time.c:170:12: error: incompatible types when assigning to type 'struct timespec' from type 'struct timespec64' Date: Tue, 24 Nov 2015 09:46:36 -0500 Message-ID: <5654784C.4090307@oracle.com> References: <201511242041.nHIbGwHz%fengguang.wu@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; Format="flowed" Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: Stefano Stabellini , kbuild test robot Cc: xen-devel@lists.xensource.com, kbuild-all@01.org List-Id: xen-devel@lists.xenproject.org On 11/24/2015 09:36 AM, Stefano Stabellini wrote: > On Tue, 24 Nov 2015, kbuild test robot wrote: > arch/x86/xen/time.c: In function 'xen_pvclock_gtod_notify': >>>> arch/x86/xen/time.c:139:35: warning: passing argument 1 of 'timespec_compare' from incompatible pointer type [-Wincompatible-pointer-types] >> if (!was_set && timespec_compare(&now, &next_sync) < 0) >> ^ >> In file included from include/linux/ktime.h:24:0, >> from include/linux/timer.h:5, >> from include/linux/workqueue.h:8, >> from include/linux/pm.h:25, >> from arch/x86/include/asm/apic.h:5, >> from arch/x86/include/asm/smp.h:12, >> from include/linux/smp.h:59, >> from include/linux/percpu.h:6, >> from include/linux/context_tracking_state.h:4, >> from include/linux/vtime.h:4, >> from include/linux/hardirq.h:7, >> from include/linux/interrupt.h:12, >> from arch/x86/xen/time.c:11: >> include/linux/time.h:24:19: note: expected 'const struct timespec *' but argument is of type 'struct timespec64 *' >> static inline int timespec_compare(const struct timespec *lhs, const struct timespec *rhs) >> ^ >>>> arch/x86/xen/time.c:170:12: error: incompatible types when assigning to type 'struct timespec' from type 'struct timespec64' >> next_sync = now; > This robot is awesome > > The appended patch fixes the issue. Boris, if you are OK with it, I'll > queue it up on for-linus-4.5. Sure (you can add a Reviewed-by tag if you feel it's needed) -boris > > --- > > xen/x86: convert remaining timespec to timespec64 in xen_pvclock_gtod_notify > > Signed-off-by: Stefano Stabellini > > diff --git a/arch/x86/xen/time.c b/arch/x86/xen/time.c > index 4b8af45..a0a4e55 100644 > --- a/arch/x86/xen/time.c > +++ b/arch/x86/xen/time.c > @@ -121,7 +121,7 @@ static int xen_pvclock_gtod_notify(struct notifier_block *nb, > unsigned long was_set, void *priv) > { > /* Protected by the calling core code serialization */ > - static struct timespec next_sync; > + static struct timespec64 next_sync; > > struct xen_platform_op op; > struct timespec64 now; > @@ -136,7 +136,7 @@ static int xen_pvclock_gtod_notify(struct notifier_block *nb, > * We only take the expensive HV call when the clock was set > * or when the 11 minutes RTC synchronization time elapsed. > */ > - if (!was_set && timespec_compare(&now, &next_sync) < 0) > + if (!was_set && timespec64_compare(&now, &next_sync) < 0) > return NOTIFY_OK; > > again: > >