Message ID | 20230531-rpm-rproc-v1-8-e0a3b6de1f14@gerhold.net (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | Add dedicated device tree node for RPM processor/subsystem | expand |
On 5.06.2023 09:08, Stephan Gerhold wrote: > Avoid having to look up a dummy item from SMEM to detect if it is > already available or if we need to defer probing. > > Signed-off-by: Stephan Gerhold <stephan@gerhold.net> > --- > drivers/soc/qcom/smem.c | 9 +++++++++ > include/linux/soc/qcom/smem.h | 1 + > 2 files changed, 10 insertions(+) > > diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c > index b0d59e815c3b..3d93a6681494 100644 > --- a/drivers/soc/qcom/smem.c > +++ b/drivers/soc/qcom/smem.c > @@ -359,6 +359,15 @@ static struct qcom_smem *__smem; > /* Timeout (ms) for the trylock of remote spinlocks */ > #define HWSPINLOCK_TIMEOUT 1000 > > +/** > + * qcom_smem_is_available() - Checks if SMEM is available > + */ Shouldn't kerneldoc explicitly say "returns x if y else z"? Modulo that: Reviewed-by: Konrad Dybcio <konrad.dybcio@linaro.org> Konrad > +bool qcom_smem_is_available(void) > +{ > + return !!__smem; > +} > +EXPORT_SYMBOL(qcom_smem_is_available); > + > static int qcom_smem_alloc_private(struct qcom_smem *smem, > struct smem_partition *part, > unsigned item, > diff --git a/include/linux/soc/qcom/smem.h b/include/linux/soc/qcom/smem.h > index 223db6a9c733..a36a3b9d4929 100644 > --- a/include/linux/soc/qcom/smem.h > +++ b/include/linux/soc/qcom/smem.h > @@ -4,6 +4,7 @@ > > #define QCOM_SMEM_HOST_ANY -1 > > +bool qcom_smem_is_available(void); > int qcom_smem_alloc(unsigned host, unsigned item, size_t size); > void *qcom_smem_get(unsigned host, unsigned item, size_t *size); > >
On Mon, Jun 05, 2023 at 08:53:21PM +0200, Konrad Dybcio wrote: > > > On 5.06.2023 09:08, Stephan Gerhold wrote: > > Avoid having to look up a dummy item from SMEM to detect if it is > > already available or if we need to defer probing. > > > > Signed-off-by: Stephan Gerhold <stephan@gerhold.net> > > --- > > drivers/soc/qcom/smem.c | 9 +++++++++ > > include/linux/soc/qcom/smem.h | 1 + > > 2 files changed, 10 insertions(+) > > > > diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c > > index b0d59e815c3b..3d93a6681494 100644 > > --- a/drivers/soc/qcom/smem.c > > +++ b/drivers/soc/qcom/smem.c > > @@ -359,6 +359,15 @@ static struct qcom_smem *__smem; > > /* Timeout (ms) for the trylock of remote spinlocks */ > > #define HWSPINLOCK_TIMEOUT 1000 > > > > +/** > > + * qcom_smem_is_available() - Checks if SMEM is available > > + */ > Shouldn't kerneldoc explicitly say "returns x if y else z"? > Seems like yes but I copy-pasted from other examples in this file and there it is always missing. I'll add something simple in v2. Thanks, Stephan
diff --git a/drivers/soc/qcom/smem.c b/drivers/soc/qcom/smem.c index b0d59e815c3b..3d93a6681494 100644 --- a/drivers/soc/qcom/smem.c +++ b/drivers/soc/qcom/smem.c @@ -359,6 +359,15 @@ static struct qcom_smem *__smem; /* Timeout (ms) for the trylock of remote spinlocks */ #define HWSPINLOCK_TIMEOUT 1000 +/** + * qcom_smem_is_available() - Checks if SMEM is available + */ +bool qcom_smem_is_available(void) +{ + return !!__smem; +} +EXPORT_SYMBOL(qcom_smem_is_available); + static int qcom_smem_alloc_private(struct qcom_smem *smem, struct smem_partition *part, unsigned item, diff --git a/include/linux/soc/qcom/smem.h b/include/linux/soc/qcom/smem.h index 223db6a9c733..a36a3b9d4929 100644 --- a/include/linux/soc/qcom/smem.h +++ b/include/linux/soc/qcom/smem.h @@ -4,6 +4,7 @@ #define QCOM_SMEM_HOST_ANY -1 +bool qcom_smem_is_available(void); int qcom_smem_alloc(unsigned host, unsigned item, size_t size); void *qcom_smem_get(unsigned host, unsigned item, size_t *size);
Avoid having to look up a dummy item from SMEM to detect if it is already available or if we need to defer probing. Signed-off-by: Stephan Gerhold <stephan@gerhold.net> --- drivers/soc/qcom/smem.c | 9 +++++++++ include/linux/soc/qcom/smem.h | 1 + 2 files changed, 10 insertions(+)