diff mbox series

usb: cdns3: Adds missing __iomem markers

Message ID 20201214125043.29710-1-pawell@cadence.com
State Superseded
Headers show
Series usb: cdns3: Adds missing __iomem markers | expand

Commit Message

Pawel Laszczak Dec. 14, 2020, 12:50 p.m. UTC
Patch adds missing __iomem markers in core.h file
and makes some changes in drd.c file related with
these markers.

The lack of __iomem has reported by sparse checker
on parsic architecture.

Signed-off-by: Pawel Laszczak <pawell@cadence.com>
Reported-by: kernel test robot <lkp@intel.com>
---
 drivers/usb/cdns3/core.h | 12 ++++++------
 drivers/usb/cdns3/drd.c  | 12 ++++++------
 2 files changed, 12 insertions(+), 12 deletions(-)

Comments

Pawel Laszczak Jan. 11, 2021, 9:20 a.m. UTC | #1
Hi Peter,

What about this patch, can you apply it into for-usb-next ?

Thanks
Pawel

>

>Patch adds missing __iomem markers in core.h file

>and makes some changes in drd.c file related with

>these markers.

>

>The lack of __iomem has reported by sparse checker

>on parsic architecture.

>

>Signed-off-by: Pawel Laszczak <pawell@cadence.com>

>Reported-by: kernel test robot <lkp@intel.com>

>---

> drivers/usb/cdns3/core.h | 12 ++++++------

> drivers/usb/cdns3/drd.c  | 12 ++++++------

> 2 files changed, 12 insertions(+), 12 deletions(-)

>

>diff --git a/drivers/usb/cdns3/core.h b/drivers/usb/cdns3/core.h

>index f8e350cef699..bfa39795208e 100644

>--- a/drivers/usb/cdns3/core.h

>+++ b/drivers/usb/cdns3/core.h

>@@ -86,12 +86,12 @@ struct cdns {

> 	struct resource			xhci_res[CDNS_XHCI_RESOURCES_NUM];

> 	struct cdns3_usb_regs __iomem	*dev_regs;

>

>-	struct resource			otg_res;

>-	struct cdns3_otg_legacy_regs	*otg_v0_regs;

>-	struct cdns3_otg_regs		*otg_v1_regs;

>-	struct cdnsp_otg_regs		*otg_cdnsp_regs;

>-	struct cdns_otg_common_regs	*otg_regs;

>-	struct cdns_otg_irq_regs	*otg_irq_regs;

>+	struct resource				otg_res;

>+	struct cdns3_otg_legacy_regs __iomem	*otg_v0_regs;

>+	struct cdns3_otg_regs __iomem		*otg_v1_regs;

>+	struct cdnsp_otg_regs __iomem		*otg_cdnsp_regs;

>+	struct cdns_otg_common_regs __iomem	*otg_regs;

>+	struct cdns_otg_irq_reg __iomem		*otg_irq_regs;

> #define CDNS3_CONTROLLER_V0	0

> #define CDNS3_CONTROLLER_V1	1

> #define CDNSP_CONTROLLER_V2	2

>diff --git a/drivers/usb/cdns3/drd.c b/drivers/usb/cdns3/drd.c

>index 605a413db727..0701853b501c 100644

>--- a/drivers/usb/cdns3/drd.c

>+++ b/drivers/usb/cdns3/drd.c

>@@ -27,7 +27,7 @@

>  */

> static int cdns_set_mode(struct cdns *cdns, enum usb_dr_mode mode)

> {

>-	u32 __iomem *override_reg;

>+	void __iomem  *override_reg;

> 	u32 reg;

>

> 	switch (mode) {

>@@ -406,7 +406,7 @@ int cdns_drd_init(struct cdns *cdns)

> 		cdns->otg_v1_regs = NULL;

> 		cdns->otg_cdnsp_regs = NULL;

> 		cdns->otg_regs = regs;

>-		cdns->otg_irq_regs = (struct cdns_otg_irq_regs *)

>+		cdns->otg_irq_regs = (struct cdns_otg_irq_regs __iomem  *)

> 				     &cdns->otg_v0_regs->ien;

> 		writel(1, &cdns->otg_v0_regs->simulate);

> 		dev_dbg(cdns->dev, "DRD version v0 (%08x)\n",

>@@ -416,14 +416,14 @@ int cdns_drd_init(struct cdns *cdns)

> 		cdns->otg_v1_regs = regs;

> 		cdns->otg_cdnsp_regs = regs;

>

>-		cdns->otg_regs = (void *)&cdns->otg_v1_regs->cmd;

>+		cdns->otg_regs = (void __iomem *)&cdns->otg_v1_regs->cmd;

>

>-		if (cdns->otg_cdnsp_regs->did == OTG_CDNSP_DID) {

>-			cdns->otg_irq_regs = (struct cdns_otg_irq_regs *)

>+		if (readl(cdns->otg_cdnsp_regs->did) == OTG_CDNSP_DID) {

>+			cdns->otg_irq_regs = (struct cdns_otg_irq_regs __iomem *)

> 					      &cdns->otg_cdnsp_regs->ien;

> 			cdns->version  = CDNSP_CONTROLLER_V2;

> 		} else {

>-			cdns->otg_irq_regs = (struct cdns_otg_irq_regs *)

>+			cdns->otg_irq_regs = (struct cdns_otg_irq_regs __iomem *)

> 					      &cdns->otg_v1_regs->ien;

> 			writel(1, &cdns->otg_v1_regs->simulate);

> 			cdns->version  = CDNS3_CONTROLLER_V1;

>--

>2.17.1
Peter Chen Jan. 11, 2021, 10:05 a.m. UTC | #2
On 21-01-11 09:20:31, Pawel Laszczak wrote:
> Hi Peter,

> 

> What about this patch, can you apply it into for-usb-next ?


Done.

Peter
> 

> Thanks

> Pawel

> 

> >

> >Patch adds missing __iomem markers in core.h file

> >and makes some changes in drd.c file related with

> >these markers.

> >

> >The lack of __iomem has reported by sparse checker

> >on parsic architecture.

> >

> >Signed-off-by: Pawel Laszczak <pawell@cadence.com>

> >Reported-by: kernel test robot <lkp@intel.com>

> >---

> > drivers/usb/cdns3/core.h | 12 ++++++------

> > drivers/usb/cdns3/drd.c  | 12 ++++++------

> > 2 files changed, 12 insertions(+), 12 deletions(-)

> >

> >diff --git a/drivers/usb/cdns3/core.h b/drivers/usb/cdns3/core.h

> >index f8e350cef699..bfa39795208e 100644

> >--- a/drivers/usb/cdns3/core.h

> >+++ b/drivers/usb/cdns3/core.h

> >@@ -86,12 +86,12 @@ struct cdns {

> > 	struct resource			xhci_res[CDNS_XHCI_RESOURCES_NUM];

> > 	struct cdns3_usb_regs __iomem	*dev_regs;

> >

> >-	struct resource			otg_res;

> >-	struct cdns3_otg_legacy_regs	*otg_v0_regs;

> >-	struct cdns3_otg_regs		*otg_v1_regs;

> >-	struct cdnsp_otg_regs		*otg_cdnsp_regs;

> >-	struct cdns_otg_common_regs	*otg_regs;

> >-	struct cdns_otg_irq_regs	*otg_irq_regs;

> >+	struct resource				otg_res;

> >+	struct cdns3_otg_legacy_regs __iomem	*otg_v0_regs;

> >+	struct cdns3_otg_regs __iomem		*otg_v1_regs;

> >+	struct cdnsp_otg_regs __iomem		*otg_cdnsp_regs;

> >+	struct cdns_otg_common_regs __iomem	*otg_regs;

> >+	struct cdns_otg_irq_reg __iomem		*otg_irq_regs;

> > #define CDNS3_CONTROLLER_V0	0

> > #define CDNS3_CONTROLLER_V1	1

> > #define CDNSP_CONTROLLER_V2	2

> >diff --git a/drivers/usb/cdns3/drd.c b/drivers/usb/cdns3/drd.c

> >index 605a413db727..0701853b501c 100644

> >--- a/drivers/usb/cdns3/drd.c

> >+++ b/drivers/usb/cdns3/drd.c

> >@@ -27,7 +27,7 @@

> >  */

> > static int cdns_set_mode(struct cdns *cdns, enum usb_dr_mode mode)

> > {

> >-	u32 __iomem *override_reg;

> >+	void __iomem  *override_reg;

> > 	u32 reg;

> >

> > 	switch (mode) {

> >@@ -406,7 +406,7 @@ int cdns_drd_init(struct cdns *cdns)

> > 		cdns->otg_v1_regs = NULL;

> > 		cdns->otg_cdnsp_regs = NULL;

> > 		cdns->otg_regs = regs;

> >-		cdns->otg_irq_regs = (struct cdns_otg_irq_regs *)

> >+		cdns->otg_irq_regs = (struct cdns_otg_irq_regs __iomem  *)

> > 				     &cdns->otg_v0_regs->ien;

> > 		writel(1, &cdns->otg_v0_regs->simulate);

> > 		dev_dbg(cdns->dev, "DRD version v0 (%08x)\n",

> >@@ -416,14 +416,14 @@ int cdns_drd_init(struct cdns *cdns)

> > 		cdns->otg_v1_regs = regs;

> > 		cdns->otg_cdnsp_regs = regs;

> >

> >-		cdns->otg_regs = (void *)&cdns->otg_v1_regs->cmd;

> >+		cdns->otg_regs = (void __iomem *)&cdns->otg_v1_regs->cmd;

> >

> >-		if (cdns->otg_cdnsp_regs->did == OTG_CDNSP_DID) {

> >-			cdns->otg_irq_regs = (struct cdns_otg_irq_regs *)

> >+		if (readl(cdns->otg_cdnsp_regs->did) == OTG_CDNSP_DID) {

> >+			cdns->otg_irq_regs = (struct cdns_otg_irq_regs __iomem *)

> > 					      &cdns->otg_cdnsp_regs->ien;

> > 			cdns->version  = CDNSP_CONTROLLER_V2;

> > 		} else {

> >-			cdns->otg_irq_regs = (struct cdns_otg_irq_regs *)

> >+			cdns->otg_irq_regs = (struct cdns_otg_irq_regs __iomem *)

> > 					      &cdns->otg_v1_regs->ien;

> > 			writel(1, &cdns->otg_v1_regs->simulate);

> > 			cdns->version  = CDNS3_CONTROLLER_V1;

> >--

> >2.17.1

> 


-- 

Thanks,
Peter Chen
diff mbox series

Patch

diff --git a/drivers/usb/cdns3/core.h b/drivers/usb/cdns3/core.h
index f8e350cef699..bfa39795208e 100644
--- a/drivers/usb/cdns3/core.h
+++ b/drivers/usb/cdns3/core.h
@@ -86,12 +86,12 @@  struct cdns {
 	struct resource			xhci_res[CDNS_XHCI_RESOURCES_NUM];
 	struct cdns3_usb_regs __iomem	*dev_regs;
 
-	struct resource			otg_res;
-	struct cdns3_otg_legacy_regs	*otg_v0_regs;
-	struct cdns3_otg_regs		*otg_v1_regs;
-	struct cdnsp_otg_regs		*otg_cdnsp_regs;
-	struct cdns_otg_common_regs	*otg_regs;
-	struct cdns_otg_irq_regs	*otg_irq_regs;
+	struct resource				otg_res;
+	struct cdns3_otg_legacy_regs __iomem	*otg_v0_regs;
+	struct cdns3_otg_regs __iomem		*otg_v1_regs;
+	struct cdnsp_otg_regs __iomem		*otg_cdnsp_regs;
+	struct cdns_otg_common_regs __iomem	*otg_regs;
+	struct cdns_otg_irq_reg __iomem		*otg_irq_regs;
 #define CDNS3_CONTROLLER_V0	0
 #define CDNS3_CONTROLLER_V1	1
 #define CDNSP_CONTROLLER_V2	2
diff --git a/drivers/usb/cdns3/drd.c b/drivers/usb/cdns3/drd.c
index 605a413db727..0701853b501c 100644
--- a/drivers/usb/cdns3/drd.c
+++ b/drivers/usb/cdns3/drd.c
@@ -27,7 +27,7 @@ 
  */
 static int cdns_set_mode(struct cdns *cdns, enum usb_dr_mode mode)
 {
-	u32 __iomem *override_reg;
+	void __iomem  *override_reg;
 	u32 reg;
 
 	switch (mode) {
@@ -406,7 +406,7 @@  int cdns_drd_init(struct cdns *cdns)
 		cdns->otg_v1_regs = NULL;
 		cdns->otg_cdnsp_regs = NULL;
 		cdns->otg_regs = regs;
-		cdns->otg_irq_regs = (struct cdns_otg_irq_regs *)
+		cdns->otg_irq_regs = (struct cdns_otg_irq_regs __iomem  *)
 				     &cdns->otg_v0_regs->ien;
 		writel(1, &cdns->otg_v0_regs->simulate);
 		dev_dbg(cdns->dev, "DRD version v0 (%08x)\n",
@@ -416,14 +416,14 @@  int cdns_drd_init(struct cdns *cdns)
 		cdns->otg_v1_regs = regs;
 		cdns->otg_cdnsp_regs = regs;
 
-		cdns->otg_regs = (void *)&cdns->otg_v1_regs->cmd;
+		cdns->otg_regs = (void __iomem *)&cdns->otg_v1_regs->cmd;
 
-		if (cdns->otg_cdnsp_regs->did == OTG_CDNSP_DID) {
-			cdns->otg_irq_regs = (struct cdns_otg_irq_regs *)
+		if (readl(cdns->otg_cdnsp_regs->did) == OTG_CDNSP_DID) {
+			cdns->otg_irq_regs = (struct cdns_otg_irq_regs __iomem *)
 					      &cdns->otg_cdnsp_regs->ien;
 			cdns->version  = CDNSP_CONTROLLER_V2;
 		} else {
-			cdns->otg_irq_regs = (struct cdns_otg_irq_regs *)
+			cdns->otg_irq_regs = (struct cdns_otg_irq_regs __iomem *)
 					      &cdns->otg_v1_regs->ien;
 			writel(1, &cdns->otg_v1_regs->simulate);
 			cdns->version  = CDNS3_CONTROLLER_V1;