linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH Resend] mailbox: arm_mhuv2: Fix sparse warnings
@ 2021-02-09 11:18 Viresh Kumar
  2021-02-10  6:25 ` Jassi Brar
  0 siblings, 1 reply; 3+ messages in thread
From: Viresh Kumar @ 2021-02-09 11:18 UTC (permalink / raw)
  To: Viresh Kumar, Tushar Khandelwal, Jassi Brar
  Cc: Vincent Guittot, Andrew Morton, kernel test robot, linux-kernel

This patch fixes a bunch of sparse warnings in the newly added arm_mhuv2
driver.

drivers/mailbox/arm_mhuv2.c:506:24: warning: incorrect type in argument 1 (different address spaces)
drivers/mailbox/arm_mhuv2.c:506:24:    expected void const volatile [noderef] __iomem *addr
drivers/mailbox/arm_mhuv2.c:506:24:    got unsigned int [usertype] *
drivers/mailbox/arm_mhuv2.c:547:42: warning: incorrect type in argument 2 (different address spaces)
drivers/mailbox/arm_mhuv2.c:547:42:    expected unsigned int [usertype] *reg
drivers/mailbox/arm_mhuv2.c:547:42:    got unsigned int [noderef] __iomem *
drivers/mailbox/arm_mhuv2.c:625:42: warning: incorrect type in argument 2 (different address spaces)
drivers/mailbox/arm_mhuv2.c:625:42:    expected unsigned int [usertype] *reg
drivers/mailbox/arm_mhuv2.c:625:42:    got unsigned int [noderef] __iomem *
drivers/mailbox/arm_mhuv2.c:972:24: warning: dereference of noderef expression
drivers/mailbox/arm_mhuv2.c:973:22: warning: dereference of noderef expression
drivers/mailbox/arm_mhuv2.c:993:25: warning: dereference of noderef expression
drivers/mailbox/arm_mhuv2.c:1026:24: warning: dereference of noderef expression
drivers/mailbox/arm_mhuv2.c:1027:22: warning: dereference of noderef expression
drivers/mailbox/arm_mhuv2.c:1048:17: warning: dereference of noderef expression

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
Hi,

This should have been merged to 5.11-rc since the driver got introduced
in 5.11-rc1 itself. I don't see it queued for linux-next as well. It was
posted over 6 weeks back and no response is received yet:

https://lore.kernel.org/lkml/db5dd593cfd8b428ce44c1cce7484d887fa5e67c.1609303304.git.viresh.kumar@linaro.org/

Would be good if this can still go in 5.11.

 drivers/mailbox/arm_mhuv2.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)

diff --git a/drivers/mailbox/arm_mhuv2.c b/drivers/mailbox/arm_mhuv2.c
index 67fb10885bb4..8223c1005254 100644
--- a/drivers/mailbox/arm_mhuv2.c
+++ b/drivers/mailbox/arm_mhuv2.c
@@ -238,19 +238,19 @@ struct mhuv2_mbox_chan_priv {
 };
 
 /* Macro for reading a bitfield within a physically mapped packed struct */
-#define readl_relaxed_bitfield(_regptr, _field)				\
+#define readl_relaxed_bitfield(_regptr, _type, _field)			\
 	({								\
 		u32 _regval;						\
 		_regval = readl_relaxed((_regptr));			\
-		(*(typeof((_regptr)))(&_regval))._field;		\
+		(*(_type *)(&_regval))._field;				\
 	})
 
 /* Macro for writing a bitfield within a physically mapped packed struct */
-#define writel_relaxed_bitfield(_value, _regptr, _field)		\
+#define writel_relaxed_bitfield(_value, _regptr, _type, _field)		\
 	({								\
 		u32 _regval;						\
 		_regval = readl_relaxed(_regptr);			\
-		(*(typeof(_regptr))(&_regval))._field = _value;		\
+		(*(_type *)(&_regval))._field = _value;			\
 		writel_relaxed(_regval, _regptr);			\
 	})
 
@@ -496,7 +496,7 @@ static const struct mhuv2_protocol_ops mhuv2_data_transfer_ops = {
 
 /* Interrupt handlers */
 
-static struct mbox_chan *get_irq_chan_comb(struct mhuv2 *mhu, u32 *reg)
+static struct mbox_chan *get_irq_chan_comb(struct mhuv2 *mhu, u32 __iomem *reg)
 {
 	struct mbox_chan *chans = mhu->mbox.chans;
 	int channel = 0, i, offset = 0, windows, protocol, ch_wn;
@@ -969,8 +969,8 @@ static int mhuv2_tx_init(struct amba_device *adev, struct mhuv2 *mhu,
 	mhu->mbox.ops = &mhuv2_sender_ops;
 	mhu->send = reg;
 
-	mhu->windows = readl_relaxed_bitfield(&mhu->send->mhu_cfg, num_ch);
-	mhu->minor = readl_relaxed_bitfield(&mhu->send->aidr, arch_minor_rev);
+	mhu->windows = readl_relaxed_bitfield(&mhu->send->mhu_cfg, struct mhu_cfg_t, num_ch);
+	mhu->minor = readl_relaxed_bitfield(&mhu->send->aidr, struct aidr_t, arch_minor_rev);
 
 	spin_lock_init(&mhu->doorbell_pending_lock);
 
@@ -990,7 +990,7 @@ static int mhuv2_tx_init(struct amba_device *adev, struct mhuv2 *mhu,
 			mhu->mbox.txdone_poll = false;
 			mhu->irq = adev->irq[0];
 
-			writel_relaxed_bitfield(1, &mhu->send->int_en, chcomb);
+			writel_relaxed_bitfield(1, &mhu->send->int_en, struct int_en_t, chcomb);
 
 			/* Disable all channel interrupts */
 			for (i = 0; i < mhu->windows; i++)
@@ -1023,8 +1023,8 @@ static int mhuv2_rx_init(struct amba_device *adev, struct mhuv2 *mhu,
 	mhu->mbox.ops = &mhuv2_receiver_ops;
 	mhu->recv = reg;
 
-	mhu->windows = readl_relaxed_bitfield(&mhu->recv->mhu_cfg, num_ch);
-	mhu->minor = readl_relaxed_bitfield(&mhu->recv->aidr, arch_minor_rev);
+	mhu->windows = readl_relaxed_bitfield(&mhu->recv->mhu_cfg, struct mhu_cfg_t, num_ch);
+	mhu->minor = readl_relaxed_bitfield(&mhu->recv->aidr, struct aidr_t, arch_minor_rev);
 
 	mhu->irq = adev->irq[0];
 	if (!mhu->irq) {
@@ -1045,7 +1045,7 @@ static int mhuv2_rx_init(struct amba_device *adev, struct mhuv2 *mhu,
 		writel_relaxed(0xFFFFFFFF, &mhu->recv->ch_wn[i].mask_set);
 
 	if (mhu->minor)
-		writel_relaxed_bitfield(1, &mhu->recv->int_en, chcomb);
+		writel_relaxed_bitfield(1, &mhu->recv->int_en, struct int_en_t, chcomb);
 
 	return 0;
 }
-- 
2.25.0.rc1.19.g042ed3e048af


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH Resend] mailbox: arm_mhuv2: Fix sparse warnings
  2021-02-09 11:18 [PATCH Resend] mailbox: arm_mhuv2: Fix sparse warnings Viresh Kumar
@ 2021-02-10  6:25 ` Jassi Brar
  2021-02-10  6:28   ` Viresh Kumar
  0 siblings, 1 reply; 3+ messages in thread
From: Jassi Brar @ 2021-02-10  6:25 UTC (permalink / raw)
  To: Viresh Kumar
  Cc: Tushar Khandelwal, Vincent Guittot, Andrew Morton,
	kernel test robot, Linux Kernel Mailing List

On Tue, Feb 9, 2021 at 5:18 AM Viresh Kumar <viresh.kumar@linaro.org> wrote:
>
> This patch fixes a bunch of sparse warnings in the newly added arm_mhuv2
> driver.
>
> drivers/mailbox/arm_mhuv2.c:506:24: warning: incorrect type in argument 1 (different address spaces)
> drivers/mailbox/arm_mhuv2.c:506:24:    expected void const volatile [noderef] __iomem *addr
> drivers/mailbox/arm_mhuv2.c:506:24:    got unsigned int [usertype] *
> drivers/mailbox/arm_mhuv2.c:547:42: warning: incorrect type in argument 2 (different address spaces)
> drivers/mailbox/arm_mhuv2.c:547:42:    expected unsigned int [usertype] *reg
> drivers/mailbox/arm_mhuv2.c:547:42:    got unsigned int [noderef] __iomem *
> drivers/mailbox/arm_mhuv2.c:625:42: warning: incorrect type in argument 2 (different address spaces)
> drivers/mailbox/arm_mhuv2.c:625:42:    expected unsigned int [usertype] *reg
> drivers/mailbox/arm_mhuv2.c:625:42:    got unsigned int [noderef] __iomem *
> drivers/mailbox/arm_mhuv2.c:972:24: warning: dereference of noderef expression
> drivers/mailbox/arm_mhuv2.c:973:22: warning: dereference of noderef expression
> drivers/mailbox/arm_mhuv2.c:993:25: warning: dereference of noderef expression
> drivers/mailbox/arm_mhuv2.c:1026:24: warning: dereference of noderef expression
> drivers/mailbox/arm_mhuv2.c:1027:22: warning: dereference of noderef expression
> drivers/mailbox/arm_mhuv2.c:1048:17: warning: dereference of noderef expression
>
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
> Hi,
>
> This should have been merged to 5.11-rc since the driver got introduced
> in 5.11-rc1 itself. I don't see it queued for linux-next as well. It was
> posted over 6 weeks back and no response is received yet:
>
Yup any bug fix should be sent in rc. But this, imo, lies on the
boundary of code and cosmetic issues, so I practiced discretion to
keep it for the next pull request lest I won't have much to send ;)

> https://lore.kernel.org/lkml/db5dd593cfd8b428ce44c1cce7484d887fa5e67c.1609303304.git.viresh.kumar@linaro.org/
>
> Would be good if this can still go in 5.11.
>
Of course it will.

thanks.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH Resend] mailbox: arm_mhuv2: Fix sparse warnings
  2021-02-10  6:25 ` Jassi Brar
@ 2021-02-10  6:28   ` Viresh Kumar
  0 siblings, 0 replies; 3+ messages in thread
From: Viresh Kumar @ 2021-02-10  6:28 UTC (permalink / raw)
  To: Jassi Brar
  Cc: Tushar Khandelwal, Vincent Guittot, Andrew Morton,
	kernel test robot, Linux Kernel Mailing List

On 10-02-21, 00:25, Jassi Brar wrote:
> Yup any bug fix should be sent in rc. But this, imo, lies on the
> boundary of code and cosmetic issues, so I practiced discretion to
> keep it for the next pull request lest I won't have much to send ;)

Fair enough, would have been better though if you could have replied
with this earlier. I had no clue on what's going on until this email
came from you :)

Thanks anyway.

-- 
viresh

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2021-02-10  6:29 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-09 11:18 [PATCH Resend] mailbox: arm_mhuv2: Fix sparse warnings Viresh Kumar
2021-02-10  6:25 ` Jassi Brar
2021-02-10  6:28   ` Viresh Kumar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).