All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Meng, Fino" <fino.meng@linux.intel.com>
To: Jan Kiszka <jan.kiszka@siemens.com>
Cc: xenomai@xenomai.org
Subject: Re: [PATCH 3/4] cobalt/kernel: fix compile error for incompatible pointer type
Date: Mon, 21 Sep 2020 19:32:00 +0800	[thread overview]
Message-ID: <20200921113200.GA18970@linux.intel.com> (raw)
In-Reply-To: <96436f26-007a-41ee-17c6-247a17faa8c0@siemens.com>

On Fri, Sep 18, 2020 at 03:05:28PM +0200, Jan Kiszka wrote:
> <no commit message>
> 
> On 18.09.20 08:32, Fino Meng wrote:
> > Signed-off-by: Fino Meng <fino.meng@linux.intel.com>
> > Signed-off-by: Mingliang Hu <mingliang.hu@intel.com>
> > ---
> >   include/cobalt/kernel/stat.h | 2 +-
> >   1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/include/cobalt/kernel/stat.h b/include/cobalt/kernel/stat.h
> > index b857cd19f..be529ad72 100644
> > --- a/include/cobalt/kernel/stat.h
> > +++ b/include/cobalt/kernel/stat.h
> > @@ -58,7 +58,7 @@ do { \
> >   #define xnstat_exectime_set_current(sched, new_account) \
> >   ({ \
> >   	xnstat_exectime_t *__prev; \
> > -	__prev = (xnstat_exectime_t *)atomic_long_xchg(&(sched)->current_account, (long)(new_account)); \
> > +	__prev = (xnstat_exectime_t *)atomic_long_xchg((atomic_long_t *)&(sched)->current_account, (long)(new_account)); \
> 
> Which upstream change made this necessary? Was the issue hidden behind too
> relaxed compiler warnings, or was there a real type change? If the latter,
> why is that cast OK?
> 
> Jan

due to this commit, atomic_long_xchg lost the force type conversion in
macro:

commit b5d47ef9ea5c5fe31d7eabeb79f697629bd9e2cb
Refs: v4.19-rc6-94-gb5d47ef9ea5c
Author:     Mark Rutland <mark.rutland@arm.com>
AuthorDate: Tue Sep 4 11:48:27 2018 +0100
Commit:     Ingo Molnar <mingo@kernel.org>
CommitDate: Thu Nov 1 11:00:55 2018 +0100

    locking/atomics: Switch to generated atomic-long

    As a step towards ensuring the atomic* APIs are consistent, let's switch
    to wrappers generated by gen-atomic-long.h, using the same table that
    gen-atomic-fallbacks.h uses to fill in gaps in the atomic_* and
    atomic64_* APIs.
    ...

include/asm-generic/atomic-long.h

in 4.19 kernel:

#define atomic_long_xchg(v, new) \
        (ATOMIC_LONG_PFX(_xchg)((ATOMIC_LONG_PFX(_t) *)(v), (new)))

#define ATOMIC_LONG_PFX(x)      atomic ## x

in 5.4 kernel:

static inline long
atomic_long_xchg(atomic_long_t *v, long i)
{
        return atomic_xchg(v, i);
}

BR fino

> 
> >   	__prev; \
> >   })
> > 
> 
> -- 
> Siemens AG, Corporate Technology, CT RDA IOT SES-DE
> Corporate Competence Center Embedded Linux


  reply	other threads:[~2020-09-21 11:32 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-18  6:32 [PATCH 3/4] cobalt/kernel: fix compile error for incompatible pointer type Fino Meng
2020-09-18 13:05 ` Jan Kiszka
2020-09-21 11:32   ` Meng, Fino [this message]
  -- strict thread matches above, loose matches on Subject: below --
2020-09-18  5:56 [PATCH 1/4] cobalt/x86: adapt fpu code with Linux kernel upstream Fino Meng
2020-09-18  5:56 ` [PATCH 3/4] cobalt/kernel: fix compile error for incompatible pointer type Fino Meng
2020-09-17 16:56 Fino Meng

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=20200921113200.GA18970@linux.intel.com \
    --to=fino.meng@linux.intel.com \
    --cc=jan.kiszka@siemens.com \
    --cc=xenomai@xenomai.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.