All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Chris Lew <clew@codeaurora.org>
Cc: andy.gross@linaro.org, david.brown@linaro.org,
	aneela@codeaurora.org, linux-arm-msm@vger.kernel.org,
	linux-soc@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2 3/5] soc: qcom: smem: Support global partition
Date: Wed, 4 Oct 2017 21:15:23 -0700	[thread overview]
Message-ID: <20171005041523.GX1165@minitux> (raw)
In-Reply-To: <b3a2085e-b656-0f9d-1d71-18d4dca4efbd@codeaurora.org>

On Fri 15 Sep 14:02 PDT 2017, Chris Lew wrote:

> 
> 
> On 9/15/2017 11:33 AM, Bjorn Andersson wrote:
> > On Thu 14 Sep 14:25 PDT 2017, Chris Lew wrote:
> > 
> > [..]
> > > +static struct smem_ptable *qcom_smem_get_ptable(struct qcom_smem *smem)
> > >   {
> > > -	struct smem_partition_header *header;
> > > -	struct smem_ptable_entry *entry;
> > >   	struct smem_ptable *ptable;
> > > -	unsigned remote_host;
> > > -	u32 version, host0, host1;
> > > -	int i;
> > > +	u32 version;
> > >   	ptable = smem->regions[0].virt_base + smem->regions[0].size - SZ_4K;
> > >   	if (memcmp(ptable->magic, SMEM_PTABLE_MAGIC, sizeof(ptable->magic)))
> > > -		return 0;
> > > +		return NULL;
> > >   	version = le32_to_cpu(ptable->version);
> > >   	if (version != 1) {
> > >   		dev_err(smem->dev,
> > >   			"Unsupported partition header version %d\n", version);
> > > +		return ERR_PTR(-EINVAL);
> > 
> > In the calling places NULL and -EINVAL are both treated as -EINVAL, so I
> > think it's better to just return NULL here as well as check for !ptable
> > in callers.
> > 
> > Regards,
> > Bjorn
> > 
> 
> qcom_smem_enumerate_partitions allowed the partition table to be optional
> before. I want to keep that behavior for V11 where smem might only have the
> global heap. The probe will continue with a NULL/0 return from
> qcom_get_ptable/qcom_smem_enumerate_partitions.
> 

You're right, I missed that detail.

Which allows me to argue that I do not feel that testing with
IS_ERR_OR_NULL() to let a 0 pass through to the caller is not obvious.

I think it's better if you replace the NULL with ERR_PTR(-ENOENT), which
you test and forward in both callers and then for the one caller where
partitions are optional you check if ret < 0 && ret != -ENOENT.

(Alternatively you check for NULL in enumerate_partitions() and return 0
with a nice comment saying that everything is okay)

Regards,
Bjorn

  reply	other threads:[~2017-10-05  4:15 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-14 21:24 [PATCH v2 0/5] Qualcomm SMEM V12 Support Chris Lew
2017-09-14 21:24 ` [PATCH v2 1/5] soc: qcom: smem: Use le32_to_cpu for partition size comparison Chris Lew
2017-09-15  1:08   ` Bjorn Andersson
2017-09-15 18:33   ` Stephen Boyd
2017-09-15 18:39   ` Stephen Boyd
2017-09-15 20:53     ` Chris Lew
2017-10-05  3:59       ` Bjorn Andersson
2017-09-14 21:24 ` [PATCH v2 2/5] soc: qcom: smem: Read version by using the smem header Chris Lew
2017-09-15  1:09   ` Bjorn Andersson
2017-09-14 21:25 ` [PATCH v2 3/5] soc: qcom: smem: Support global partition Chris Lew
2017-09-15 18:33   ` Bjorn Andersson
2017-09-15 21:02     ` Chris Lew
2017-10-05  4:15       ` Bjorn Andersson [this message]
2017-09-14 21:25 ` [PATCH v2 4/5] soc: qcom: smem: Support dynamic item limit Chris Lew
2017-09-15 18:40   ` Bjorn Andersson
2017-09-14 21:25 ` [PATCH v2 5/5] soc: qcom: smem: Increase the number of hosts Chris Lew
2017-09-15 18:40   ` Bjorn Andersson

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=20171005041523.GX1165@minitux \
    --to=bjorn.andersson@linaro.org \
    --cc=andy.gross@linaro.org \
    --cc=aneela@codeaurora.org \
    --cc=clew@codeaurora.org \
    --cc=david.brown@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-soc@vger.kernel.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.