From: Greg Kurz <groug@kaod.org>
To: Frederic Barrat <fbarrat@linux.ibm.com>
Cc: Andrew Donnellan <andrew.donnellan@au1.ibm.com>,
"Alastair D'Silva" <alastair@d-silva.org>,
"'Alastair D'Silva'" <alastair@au1.ibm.com>,
"'Arnd Bergmann'" <arnd@arndb.de>,
"'Greg Kroah-Hartman'" <gregkh@linuxfoundation.org>,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/5] ocxl: Rename struct link to ocxl_link
Date: Wed, 27 Feb 2019 14:59:11 +0100 [thread overview]
Message-ID: <20190227145911.60859bbb@bahia.lan> (raw)
In-Reply-To: <13209edc-d027-4d2f-668b-ad969a25eb06@linux.ibm.com>
On Wed, 27 Feb 2019 14:45:44 +0100
Frederic Barrat <fbarrat@linux.ibm.com> wrote:
> Le 27/02/2019 à 09:18, Andrew Donnellan a écrit :
> > On 27/2/19 7:04 pm, Alastair D'Silva wrote:
> >>> -----Original Message-----
> >>> From: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
> >>> Sent: Wednesday, 27 February 2019 6:55 PM
> >>> To: Alastair D'Silva <alastair@d-silva.org>; 'Alastair D'Silva'
> >>> <alastair@au1.ibm.com>
> >>> Cc: 'Greg Kurz' <groug@kaod.org>; 'Frederic Barrat'
> >>> <fbarrat@linux.ibm.com>; 'Arnd Bergmann' <arnd@arndb.de>; 'Greg Kroah-
> >>> Hartman' <gregkh@linuxfoundation.org>; linuxppc-dev@lists.ozlabs.org;
> >>> linux-kernel@vger.kernel.org
> >>> Subject: Re: [PATCH 1/5] ocxl: Rename struct link to ocxl_link
> >>>
> >>> On 27/2/19 6:34 pm, Alastair D'Silva wrote:>>> diff --git
> >>> a/drivers/misc/ocxl/file.c b/drivers/misc/ocxl/file.c index
> >>>>>> e6a607488f8a..16eb8a60d5c7 100644
> >>>>>> --- a/drivers/misc/ocxl/file.c
> >>>>>> +++ b/drivers/misc/ocxl/file.c
> >>>>>> @@ -152,7 +152,7 @@ static long afu_ioctl_enable_p9_wait(struct
> >>>>>> ocxl_context *ctx,
> >>>>>>
> >>>>>> if (status == ATTACHED) {
> >>>>>> int rc;
> >>>>>> - struct link *link = ctx->afu->fn->link;
> >>>>>> + void *link = ctx->afu->fn->link;
> >>>>>
> >>>>> This doesn't look like a rename...
> >>>>
> >>>> That corrects the type to what the member (and prototype for
> >>> ocxl_link_update_pe) declare it as.
> >>>>
> >>>> The struct link there is bogus, it shouldn't even compile (since the
> >>>> intended
> >>> struct link is defined in a different compilation unit), but instead
> >>> picks up a
> >>> different definition of 'struct link' from elsewhere.
> >>>>
> >>>
> >>> Given there's only a handful of struct links defined across the
> >>> entire kernel,
> >>> I'm going to guess that the definition it's picking up is in fact the
> >>> ocxl one.
> >>>
> >>
> >> Unlikely, since that's never in a header. It wasn't caught since it
> >> was assigned to/from a void*.
> >
> > Ah, yeah that'd explain it... and it's a pointer so it never needs to
> > know its size. I'm clearly not very good at C.
> >
> >>
> >>> I think the better solution here is to move struct ocxl_link into
> >>> ocxl_internal.h, change ocxl_fn::link to be struct ocxl_link * rather
> >>> than void
> >>> *, and update the function signature for ocxl_link_update_pe() as well.
> >> Not move it, but we could have an opaque declaration there.
> >>
> >
> > Putting it there would fit with all the other ocxl_* structs, but either
> > way, we definitely need a declaration in there and get rid of the void*, t
>
>
> Mmm, it might turn out to be more invasive that planned...
> The point was only to have it as an opaque to the outside world, for
> APIs we'd like to deprecate at some point, so I wouldn't sweat too much
> over it.
>
I concur. And even if an API change turns out to be beneficial, it
clearly belongs to some other patch/series. Hence my proposal to
simply drop that controversial and unneeded link variable in
afu_ioctl_enable_p9_wait().
> Fred
>
next prev parent reply other threads:[~2019-02-27 15:17 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-02-27 4:57 [PATCH 0/5] ocxl: OpenCAPI Cleanup Alastair D'Silva
2019-02-27 4:57 ` [PATCH 1/5] ocxl: Rename struct link to ocxl_link Alastair D'Silva
2019-02-27 7:15 ` Andrew Donnellan
2019-02-27 7:34 ` Alastair D'Silva
2019-02-27 7:54 ` Andrew Donnellan
2019-02-27 8:04 ` Alastair D'Silva
2019-02-27 8:18 ` Andrew Donnellan
2019-02-27 13:45 ` Frederic Barrat
2019-02-27 13:59 ` Greg Kurz [this message]
2019-02-27 13:53 ` Greg Kurz
2019-02-27 4:57 ` [PATCH 2/5] ocxl: Clean up printf formats Alastair D'Silva
2019-02-27 13:40 ` Frederic Barrat
2019-02-28 5:02 ` Andrew Donnellan
2019-03-02 1:13 ` Joe Perches
2019-02-27 4:57 ` [PATCH 3/5] ocxl: read_pasid never returns an error, so make it void Alastair D'Silva
2019-02-27 13:25 ` Frederic Barrat
2019-02-28 5:03 ` Andrew Donnellan
2019-02-27 4:57 ` [PATCH 4/5] ocxl: Remove superfluous 'extern' from headers Alastair D'Silva
2019-02-27 13:36 ` Frederic Barrat
2019-02-28 5:05 ` Andrew Donnellan
2019-02-27 4:57 ` [PATCH 5/5] ocxl: Remove some unused exported symbols Alastair D'Silva
2019-02-27 13:39 ` Frederic Barrat
2019-02-28 5:23 ` Andrew Donnellan
2019-03-13 4:06 ` [PATCH v2 0/5] ocxl: OpenCAPI Cleanup Alastair D'Silva
2019-03-13 4:06 ` [PATCH 1/5] ocxl: Rename struct link to ocxl_link Alastair D'Silva
2019-03-15 6:58 ` Andrew Donnellan
2019-03-13 4:06 ` [PATCH 2/5] ocxl: Clean up printf formats Alastair D'Silva
2019-03-13 8:24 ` Greg Kurz
2019-03-14 4:58 ` Andrew Donnellan
2019-03-13 4:06 ` [PATCH 3/5] ocxl: read_pasid never returns an error, so make it void Alastair D'Silva
2019-03-14 4:59 ` Andrew Donnellan
2019-03-13 4:07 ` [PATCH 4/5] ocxl: Remove superfluous 'extern' from headers Alastair D'Silva
2019-03-13 8:28 ` Greg Kurz
2019-03-14 5:08 ` Andrew Donnellan
2019-03-13 4:07 ` [PATCH 5/5] ocxl: Remove some unused exported symbols Alastair D'Silva
2019-03-13 9:10 ` Greg Kurz
2019-03-14 2:23 ` Alastair D'Silva
2019-03-14 6:50 ` Greg Kurz
2019-03-15 4:49 ` Andrew Donnellan
2019-03-15 5:07 ` Andrew Donnellan
2019-03-20 5:34 ` [PATCH v3 0/5] ocxl: OpenCAPI Cleanup Alastair D'Silva
2019-03-20 5:34 ` [PATCH v3 1/5] ocxl: Rename struct link to ocxl_link Alastair D'Silva
2019-03-20 5:34 ` [PATCH v3 2/5] ocxl: Clean up printf formats Alastair D'Silva
2019-03-20 17:24 ` Joe Perches
2019-03-20 5:34 ` [PATCH v3 3/5] ocxl: read_pasid never returns an error, so make it void Alastair D'Silva
2019-03-20 5:34 ` [PATCH v3 4/5] ocxl: Remove superfluous 'extern' from headers Alastair D'Silva
2019-03-20 5:34 ` [PATCH v3 5/5] ocxl: Remove some unused exported symbols Alastair D'Silva
2019-03-25 5:34 ` [PATCH v4 0/4] ocxl: OpenCAPI Cleanup Alastair D'Silva
2019-03-25 5:34 ` [PATCH v4 1/4] ocxl: Rename struct link to ocxl_link Alastair D'Silva
2019-04-03 14:18 ` Frederic Barrat
2019-04-05 7:05 ` Andrew Donnellan
2019-05-03 6:59 ` Michael Ellerman
2019-03-25 5:34 ` [PATCH v4 2/4] ocxl: read_pasid never returns an error, so make it void Alastair D'Silva
2019-04-03 14:20 ` Frederic Barrat
2019-04-05 7:05 ` Andrew Donnellan
2019-03-25 5:34 ` [PATCH v4 3/4] ocxl: Remove superfluous 'extern' from headers Alastair D'Silva
2019-03-25 16:55 ` Greg Kurz
2019-04-03 14:20 ` Frederic Barrat
2019-04-05 7:09 ` Andrew Donnellan
2019-03-25 5:34 ` [PATCH v4 4/4] ocxl: Remove some unused exported symbols Alastair D'Silva
2019-03-25 16:57 ` Greg Kurz
2019-04-03 14:23 ` Frederic Barrat
2019-04-05 7:28 ` Andrew Donnellan
2019-03-25 16:49 ` [PATCH v4 0/4] ocxl: OpenCAPI Cleanup Greg Kurz
2019-03-25 17:34 ` Frederic Barrat
2019-03-25 21:45 ` Alastair D'Silva
2019-03-25 5:44 ` [PATCH v3 0/7] Refactor OCXL driver to allow external drivers to use it Alastair D'Silva
2019-03-25 5:44 ` [PATCH v3 1/7] ocxl: Split pci.c Alastair D'Silva
2019-03-25 10:01 ` Frederic Barrat
2019-03-25 5:44 ` [PATCH v3 2/7] ocxl: Don't pass pci_dev around Alastair D'Silva
2019-03-25 10:04 ` Frederic Barrat
2019-03-25 5:44 ` [PATCH v3 3/7] ocxl: Create a clear delineation between ocxl backend & frontend Alastair D'Silva
2019-03-25 15:11 ` Frederic Barrat
2019-03-25 5:44 ` [PATCH v3 4/7] ocxl: Allow external drivers to use OpenCAPI contexts Alastair D'Silva
2019-03-25 15:13 ` Frederic Barrat
2019-03-25 5:44 ` [PATCH v3 5/7] ocxl: afu_irq only deals with IRQ IDs, not offsets Alastair D'Silva
2019-03-25 15:24 ` Frederic Barrat
2019-03-25 5:44 ` [PATCH v3 6/7] ocxl: move event_fd handling to frontend Alastair D'Silva
2019-03-25 15:41 ` Frederic Barrat
2019-03-25 5:44 ` [PATCH v3 7/7] ocxl: Provide global MMIO accessors for external drivers Alastair D'Silva
2019-03-25 15:49 ` Frederic Barrat
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=20190227145911.60859bbb@bahia.lan \
--to=groug@kaod.org \
--cc=alastair@au1.ibm.com \
--cc=alastair@d-silva.org \
--cc=andrew.donnellan@au1.ibm.com \
--cc=arnd@arndb.de \
--cc=fbarrat@linux.ibm.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox