net: fsl_mdio: Fix warnings for __iomem pointers

Add the __iomem address space marker for the tsec pointers
to struct tsec_mii_mng memory mapped register regions.
This solves the sparse warnings for mixig normal pointers with
__iomem pointers for tsec. E.g.:

fsl_mdio.c:34:19: warning: incorrect type in argument 1 (different
address spaces)
fsl_mdio.c:34:19:    expected unsigned int volatile [noderef]
<asn:2>*addr
fsl_mdio.c:34:19:    got unsigned int *<noident>
[...]

tsec.c:91:35: warning: incorrect type in argument 1 (different address
spaces)
tsec.c:91:35:    expected struct tsec_mii_mng *phyregs
tsec.c:91:35:    got struct tsec_mii_mng [noderef] <asn:2>*phyregs_sgmii
[...]

tsec.c:680:19: warning: incorrect type in assignment (different address
spaces)
tsec.c:680:19:    expected struct tsec_mii_mng *regs
tsec.c:680:19:    got struct tsec_mii_mng [noderef] <asn:2>*<noident>
[...]

Signed-off-by: Claudiu Manoil <claudiu.manoil@freescale.com>
This commit is contained in:
Claudiu Manoil 2013-09-30 12:44:43 +03:00 committed by Joe Hershberger
parent aec84bf671
commit 5be00a0164
2 changed files with 14 additions and 11 deletions

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2009-2010 Freescale Semiconductor, Inc. * Copyright 2009-2010, 2013 Freescale Semiconductor, Inc.
* Jun-jie Zhang <b18070@freescale.com> * Jun-jie Zhang <b18070@freescale.com>
* Mingkai Hu <Mingkai.hu@freescale.com> * Mingkai Hu <Mingkai.hu@freescale.com>
* *
@ -13,7 +13,7 @@
#include <asm/errno.h> #include <asm/errno.h>
#include <asm/fsl_enet.h> #include <asm/fsl_enet.h>
void tsec_local_mdio_write(struct tsec_mii_mng *phyregs, int port_addr, void tsec_local_mdio_write(struct tsec_mii_mng __iomem *phyregs, int port_addr,
int dev_addr, int regnum, int value) int dev_addr, int regnum, int value)
{ {
int timeout = 1000000; int timeout = 1000000;
@ -26,7 +26,7 @@ void tsec_local_mdio_write(struct tsec_mii_mng *phyregs, int port_addr,
; ;
} }
int tsec_local_mdio_read(struct tsec_mii_mng *phyregs, int port_addr, int tsec_local_mdio_read(struct tsec_mii_mng __iomem *phyregs, int port_addr,
int dev_addr, int regnum) int dev_addr, int regnum)
{ {
int value; int value;
@ -57,7 +57,8 @@ int tsec_local_mdio_read(struct tsec_mii_mng *phyregs, int port_addr,
static int fsl_pq_mdio_reset(struct mii_dev *bus) static int fsl_pq_mdio_reset(struct mii_dev *bus)
{ {
struct tsec_mii_mng *regs = bus->priv; struct tsec_mii_mng __iomem *regs =
(struct tsec_mii_mng __iomem *)bus->priv;
/* Reset MII (due to new addresses) */ /* Reset MII (due to new addresses) */
out_be32(&regs->miimcfg, MIIMCFG_RESET_MGMT); out_be32(&regs->miimcfg, MIIMCFG_RESET_MGMT);
@ -72,7 +73,8 @@ static int fsl_pq_mdio_reset(struct mii_dev *bus)
int tsec_phy_read(struct mii_dev *bus, int addr, int dev_addr, int regnum) int tsec_phy_read(struct mii_dev *bus, int addr, int dev_addr, int regnum)
{ {
struct tsec_mii_mng *phyregs = bus->priv; struct tsec_mii_mng __iomem *phyregs =
(struct tsec_mii_mng __iomem *)bus->priv;
return tsec_local_mdio_read(phyregs, addr, dev_addr, regnum); return tsec_local_mdio_read(phyregs, addr, dev_addr, regnum);
} }
@ -80,7 +82,8 @@ int tsec_phy_read(struct mii_dev *bus, int addr, int dev_addr, int regnum)
int tsec_phy_write(struct mii_dev *bus, int addr, int dev_addr, int regnum, int tsec_phy_write(struct mii_dev *bus, int addr, int dev_addr, int regnum,
u16 value) u16 value)
{ {
struct tsec_mii_mng *phyregs = bus->priv; struct tsec_mii_mng __iomem *phyregs =
(struct tsec_mii_mng __iomem *)bus->priv;
tsec_local_mdio_write(phyregs, addr, dev_addr, regnum, value); tsec_local_mdio_write(phyregs, addr, dev_addr, regnum, value);
@ -101,7 +104,7 @@ int fsl_pq_mdio_init(bd_t *bis, struct fsl_pq_mdio_info *info)
bus->reset = fsl_pq_mdio_reset; bus->reset = fsl_pq_mdio_reset;
sprintf(bus->name, info->name); sprintf(bus->name, info->name);
bus->priv = info->regs; bus->priv = (void *)info->regs;
return mdio_register(bus); return mdio_register(bus);
} }

View File

@ -1,5 +1,5 @@
/* /*
* Copyright 2009-2012 Freescale Semiconductor, Inc. * Copyright 2009-2012, 2013 Freescale Semiconductor, Inc.
* Jun-jie Zhang <b18070@freescale.com> * Jun-jie Zhang <b18070@freescale.com>
* Mingkai Hu <Mingkai.hu@freescale.com> * Mingkai Hu <Mingkai.hu@freescale.com>
* *
@ -31,9 +31,9 @@
#define MIIMIND_BUSY 0x00000001 #define MIIMIND_BUSY 0x00000001
#define MIIMIND_NOTVALID 0x00000004 #define MIIMIND_NOTVALID 0x00000004
void tsec_local_mdio_write(struct tsec_mii_mng *phyregs, int port_addr, void tsec_local_mdio_write(struct tsec_mii_mng __iomem *phyregs, int port_addr,
int dev_addr, int reg, int value); int dev_addr, int reg, int value);
int tsec_local_mdio_read(struct tsec_mii_mng *phyregs, int port_addr, int tsec_local_mdio_read(struct tsec_mii_mng __iomem *phyregs, int port_addr,
int dev_addr, int regnum); int dev_addr, int regnum);
int tsec_phy_read(struct mii_dev *bus, int addr, int dev_addr, int regnum); int tsec_phy_read(struct mii_dev *bus, int addr, int dev_addr, int regnum);
int tsec_phy_write(struct mii_dev *bus, int addr, int dev_addr, int regnum, int tsec_phy_write(struct mii_dev *bus, int addr, int dev_addr, int regnum,
@ -44,7 +44,7 @@ int memac_mdio_read(struct mii_dev *bus, int port_addr, int dev_addr,
int regnum); int regnum);
struct fsl_pq_mdio_info { struct fsl_pq_mdio_info {
struct tsec_mii_mng *regs; struct tsec_mii_mng __iomem *regs;
char *name; char *name;
}; };
int fsl_pq_mdio_init(bd_t *bis, struct fsl_pq_mdio_info *info); int fsl_pq_mdio_init(bd_t *bis, struct fsl_pq_mdio_info *info);