From: Mathieu Poirier <mathieu.poirier@linaro.org>
To: Suman Anna <s-anna@ti.com>
Cc: bjorn.andersson@linaro.org, ohad@wizery.com, elder@linaro.org,
Markus.Elfring@web.de, linux-remoteproc@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 6/7] remoteproc: Split rproc_ops allocation from rproc_alloc()
Date: Fri, 17 Apr 2020 15:56:01 -0600 [thread overview]
Message-ID: <20200417215601.GC10372@xps15> (raw)
In-Reply-To: <61497230-40ec-ffc6-3cc0-e5cb754ac859@ti.com>
On Fri, Apr 17, 2020 at 08:49:25AM -0500, Suman Anna wrote:
> On 4/15/20 3:48 PM, Mathieu Poirier wrote:
> > Make the rproc_ops allocation a function on its own in an effort
> > to clean up function rproc_alloc().
> >
> > Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
> > Reviewed-by: Alex Elder <elder@linaro.org>
> > ---
> > drivers/remoteproc/remoteproc_core.c | 32 +++++++++++++++++-----------
> > 1 file changed, 20 insertions(+), 12 deletions(-)
> >
> > diff --git a/drivers/remoteproc/remoteproc_core.c b/drivers/remoteproc/remoteproc_core.c
> > index 0bfa6998705d..a5a0ceb86b3f 100644
> > --- a/drivers/remoteproc/remoteproc_core.c
> > +++ b/drivers/remoteproc/remoteproc_core.c
> > @@ -2001,6 +2001,25 @@ static int rproc_alloc_firmware(struct rproc *rproc,
> > return 0;
> > }
> > +static int rproc_alloc_ops(struct rproc *rproc, const struct rproc_ops *ops)
> > +{
> > + rproc->ops = kmemdup(ops, sizeof(*ops), GFP_KERNEL);
> > + if (!rproc->ops)
> > + return -ENOMEM;
> > +
> > + /* Default to ELF loader if no load function is specified */
> > + if (!rproc->ops->load) {
> > + rproc->ops->load = rproc_elf_load_segments;
> > + rproc->ops->parse_fw = rproc_elf_load_rsc_table;
> > + rproc->ops->find_loaded_rsc_table =
> > + rproc_elf_find_loaded_rsc_table;
> > + rproc->ops->sanity_check = rproc_elf_sanity_check;
>
> So, the conditional check on sanity check is dropped and the callback
> switched here without the changelog reflecting anything why. You should just
> rebase this patch on top of Clement's patch [1] that removes the conditional
> flag, and also usage from the remoteproc platform drivers.
That's a rebase that went very wrong...
Thanks for pointing it out,
Mathieu
>
> regards
> Suman
>
> [1] https://patchwork.kernel.org/patch/11462013/
>
>
> > + rproc->ops->get_boot_addr = rproc_elf_get_boot_addr;
> > + }
> > +
> > + return 0;
> > +}
> > +
> > /**
> > * rproc_alloc() - allocate a remote processor handle
> > * @dev: the underlying device
> > @@ -2040,8 +2059,7 @@ struct rproc *rproc_alloc(struct device *dev, const char *name,
> > if (rproc_alloc_firmware(rproc, name, firmware))
> > goto free_rproc;
> > - rproc->ops = kmemdup(ops, sizeof(*ops), GFP_KERNEL);
> > - if (!rproc->ops)
> > + if (rproc_alloc_ops(rproc, ops))
> > goto free_firmware;
> > rproc->name = name;
> > @@ -2068,16 +2086,6 @@ struct rproc *rproc_alloc(struct device *dev, const char *name,
> > atomic_set(&rproc->power, 0);
> > - /* Default to ELF loader if no load function is specified */
> > - if (!rproc->ops->load) {
> > - rproc->ops->load = rproc_elf_load_segments;
> > - rproc->ops->parse_fw = rproc_elf_load_rsc_table;
> > - rproc->ops->find_loaded_rsc_table = rproc_elf_find_loaded_rsc_table;
> > - if (!rproc->ops->sanity_check)
> > - rproc->ops->sanity_check = rproc_elf32_sanity_check;
> > - rproc->ops->get_boot_addr = rproc_elf_get_boot_addr;
> > - }
> > -
> > mutex_init(&rproc->lock);
> > INIT_LIST_HEAD(&rproc->carveouts);
> >
>
next prev parent reply other threads:[~2020-04-17 21:56 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-15 20:48 [PATCH v2 0/7] remoteproc: Refactor function rproc_alloc() Mathieu Poirier
2020-04-15 20:48 ` [PATCH v2 1/7] remoteproc: Fix IDR initialisation in rproc_alloc() Mathieu Poirier
2020-04-17 13:37 ` Suman Anna
2020-04-17 13:37 ` Suman Anna
2020-04-20 5:00 ` Bjorn Andersson
2020-04-20 5:00 ` Bjorn Andersson
2020-04-20 5:00 ` Bjorn Andersson
2020-04-15 20:48 ` [PATCH v2 2/7] remoteproc: Split firmware name allocation from rproc_alloc() Mathieu Poirier
2020-04-15 21:28 ` Alex Elder
2020-04-20 5:09 ` Bjorn Andersson
2020-04-20 5:09 ` Bjorn Andersson
2020-04-20 5:09 ` Bjorn Andersson
2020-04-20 9:24 ` Arnaud POULIQUEN
2020-04-20 9:24 ` Arnaud POULIQUEN
2020-04-20 21:29 ` Mathieu Poirier
2020-04-15 20:48 ` [PATCH v2 3/7] remoteproc: Simplify default name allocation Mathieu Poirier
2020-04-15 21:26 ` Alex Elder
2020-04-20 5:10 ` Bjorn Andersson
2020-04-20 5:10 ` Bjorn Andersson
2020-04-20 5:10 ` Bjorn Andersson
2020-04-15 20:48 ` [PATCH v2 4/7] remoteproc: Use kstrdup_const() rather than kstrup() Mathieu Poirier
2020-04-15 21:25 ` Alex Elder
2020-04-17 13:44 ` Suman Anna
2020-04-17 13:44 ` Suman Anna
2020-04-20 5:21 ` Bjorn Andersson
2020-04-20 5:21 ` Bjorn Andersson
2020-04-20 5:21 ` Bjorn Andersson
2020-04-17 16:12 ` [v2 4/7] remoteproc: Use kstrdup_const() rather than kstrdup() Markus Elfring
2020-04-15 20:48 ` [PATCH v2 5/7] remoteproc: Restructure firmware name allocation Mathieu Poirier
2020-04-15 21:23 ` Alex Elder
2020-04-20 5:17 ` Bjorn Andersson
2020-04-20 5:17 ` Bjorn Andersson
2020-04-20 5:17 ` Bjorn Andersson
2020-04-16 6:26 ` Markus Elfring
2020-04-17 13:39 ` Suman Anna
2020-04-17 13:39 ` Suman Anna
2020-04-17 15:48 ` [v2 " Markus Elfring
2020-04-17 16:15 ` Suman Anna
2020-04-17 16:15 ` Suman Anna
2020-04-17 20:58 ` Mathieu Poirier
2020-04-17 21:28 ` [PATCH v2 " Mathieu Poirier
2020-04-15 20:48 ` [PATCH v2 6/7] remoteproc: Split rproc_ops allocation from rproc_alloc() Mathieu Poirier
2020-04-17 13:49 ` Suman Anna
2020-04-17 13:49 ` Suman Anna
2020-04-17 15:35 ` Suman Anna
2020-04-17 15:35 ` Suman Anna
2020-04-17 21:56 ` Mathieu Poirier [this message]
2020-04-15 20:48 ` [PATCH v2 7/7] remoteproc: Get rid of tedious error path Mathieu Poirier
2020-04-17 13:50 ` Suman Anna
2020-04-17 13:50 ` Suman Anna
2020-04-17 13:34 ` [PATCH v2 0/7] remoteproc: Refactor function rproc_alloc() Suman Anna
2020-04-17 13:34 ` Suman Anna
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=20200417215601.GC10372@xps15 \
--to=mathieu.poirier@linaro.org \
--cc=Markus.Elfring@web.de \
--cc=bjorn.andersson@linaro.org \
--cc=elder@linaro.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-remoteproc@vger.kernel.org \
--cc=ohad@wizery.com \
--cc=s-anna@ti.com \
/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.