Skip to content

Commit

Permalink
fs_enet: sparse fixes
Browse files Browse the repository at this point in the history
Mostly a bunch of __iomem annotations.

Signed-off-by: Scott Wood <scottwood@freescale.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Scott Wood authored and David S. Miller committed Oct 10, 2007
1 parent 2b5b3a6 commit 31a5bb0
Show file tree
Hide file tree
Showing 6 changed files with 103 additions and 95 deletions.
18 changes: 9 additions & 9 deletions drivers/net/fs_enet/fs_enet-main.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ MODULE_DESCRIPTION("Freescale Ethernet Driver");
MODULE_LICENSE("GPL");
MODULE_VERSION(DRV_MODULE_VERSION);

int fs_enet_debug = -1; /* -1 == use FS_ENET_DEF_MSG_ENABLE as value */
static int fs_enet_debug = -1; /* -1 == use FS_ENET_DEF_MSG_ENABLE as value */
module_param(fs_enet_debug, int, 0);
MODULE_PARM_DESC(fs_enet_debug,
"Freescale bitmapped debugging message enable value");
Expand Down Expand Up @@ -90,7 +90,7 @@ static int fs_enet_rx_napi(struct napi_struct *napi, int budget)
struct fs_enet_private *fep = container_of(napi, struct fs_enet_private, napi);
struct net_device *dev = to_net_dev(fep->dev);
const struct fs_platform_info *fpi = fep->fpi;
cbd_t *bdp;
cbd_t __iomem *bdp;
struct sk_buff *skb, *skbn, *skbt;
int received = 0;
u16 pkt_len, sc;
Expand Down Expand Up @@ -230,7 +230,7 @@ static int fs_enet_rx_non_napi(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
const struct fs_platform_info *fpi = fep->fpi;
cbd_t *bdp;
cbd_t __iomem *bdp;
struct sk_buff *skb, *skbn, *skbt;
int received = 0;
u16 pkt_len, sc;
Expand Down Expand Up @@ -355,7 +355,7 @@ static int fs_enet_rx_non_napi(struct net_device *dev)
static void fs_enet_tx(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
cbd_t *bdp;
cbd_t __iomem *bdp;
struct sk_buff *skb;
int dirtyidx, do_wake, do_restart;
u16 sc;
Expand Down Expand Up @@ -503,7 +503,7 @@ fs_enet_interrupt(int irq, void *dev_id)
void fs_init_bds(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
cbd_t *bdp;
cbd_t __iomem *bdp;
struct sk_buff *skb;
int i;

Expand Down Expand Up @@ -557,7 +557,7 @@ void fs_cleanup_bds(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
struct sk_buff *skb;
cbd_t *bdp;
cbd_t __iomem *bdp;
int i;

/*
Expand Down Expand Up @@ -598,7 +598,7 @@ void fs_cleanup_bds(struct net_device *dev)
static int fs_enet_start_xmit(struct sk_buff *skb, struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
cbd_t *bdp;
cbd_t __iomem *bdp;
int curidx;
u16 sc;
unsigned long flags;
Expand Down Expand Up @@ -1121,7 +1121,7 @@ static int fs_cleanup_instance(struct net_device *ndev)
unregister_netdev(ndev);

dma_free_coherent(fep->dev, (fpi->tx_ring + fpi->rx_ring) * sizeof(cbd_t),
fep->ring_base, fep->ring_mem_addr);
(void __force *)fep->ring_base, fep->ring_mem_addr);

/* reset it */
(*fep->ops->cleanup_data)(ndev);
Expand All @@ -1141,7 +1141,7 @@ static int fs_cleanup_instance(struct net_device *ndev)
/**************************************************************************************/

/* handy pointer to the immap */
void *fs_enet_immap = NULL;
void __iomem *fs_enet_immap = NULL;

static int setup_immap(void)
{
Expand Down
30 changes: 15 additions & 15 deletions drivers/net/fs_enet/fs_enet.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
#include <asm/commproc.h>

struct fec_info {
fec_t *fecp;
fec_t __iomem *fecp;
u32 mii_speed;
};
#endif
Expand Down Expand Up @@ -81,14 +81,14 @@ struct fs_enet_private {
const struct fs_ops *ops;
int rx_ring, tx_ring;
dma_addr_t ring_mem_addr;
void *ring_base;
void __iomem *ring_base;
struct sk_buff **rx_skbuff;
struct sk_buff **tx_skbuff;
cbd_t *rx_bd_base; /* Address of Rx and Tx buffers. */
cbd_t *tx_bd_base;
cbd_t *dirty_tx; /* ring entries to be free()ed. */
cbd_t *cur_rx;
cbd_t *cur_tx;
cbd_t __iomem *rx_bd_base; /* Address of Rx and Tx buffers. */
cbd_t __iomem *tx_bd_base;
cbd_t __iomem *dirty_tx; /* ring entries to be free()ed. */
cbd_t __iomem *cur_rx;
cbd_t __iomem *cur_tx;
int tx_free;
struct net_device_stats stats;
struct timer_list phy_timer_list;
Expand All @@ -113,23 +113,23 @@ struct fs_enet_private {
union {
struct {
int idx; /* FEC1 = 0, FEC2 = 1 */
void *fecp; /* hw registers */
void __iomem *fecp; /* hw registers */
u32 hthi, htlo; /* state for multicast */
} fec;

struct {
int idx; /* FCC1-3 = 0-2 */
void *fccp; /* hw registers */
void *ep; /* parameter ram */
void *fcccp; /* hw registers cont. */
void *mem; /* FCC DPRAM */
void __iomem *fccp; /* hw registers */
void __iomem *ep; /* parameter ram */
void __iomem *fcccp; /* hw registers cont. */
void __iomem *mem; /* FCC DPRAM */
u32 gaddrh, gaddrl; /* group address */
} fcc;

struct {
int idx; /* FEC1 = 0, FEC2 = 1 */
void *sccp; /* hw registers */
void *ep; /* parameter ram */
void __iomem *sccp; /* hw registers */
void __iomem *ep; /* parameter ram */
u32 hthi, htlo; /* state for multicast */
} scc;

Expand Down Expand Up @@ -200,7 +200,7 @@ extern const struct fs_ops fs_scc_ops;
/*******************************************************************/

/* handy pointer to the immap */
extern void *fs_enet_immap;
extern void __iomem *fs_enet_immap;

/*******************************************************************/

Expand Down
71 changes: 39 additions & 32 deletions drivers/net/fs_enet/mac-fcc.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,6 @@
static inline int fcc_cr_cmd(struct fs_enet_private *fep, u32 op)
{
const struct fs_platform_info *fpi = fep->fpi;
cpm2_map_t *immap = fs_enet_immap;
cpm_cpm2_t *cpmp = &immap->im_cpm;
int i;

W32(cpmp, cp_cpcr, fpi->cp_command | op | CPM_CR_FLG);
Expand Down Expand Up @@ -118,8 +116,8 @@ static int do_pd_setup(struct fs_enet_private *fep)
if (!fep->fcc.fcccp)
goto out_ep;

fep->fcc.mem = (void *)cpm_dpalloc(128, 8);
fpi->dpram_offset = (u32)cpm2_immr;
fep->fcc.mem = (void __iomem *)cpm2_immr;
fpi->dpram_offset = cpm_dpalloc(128, 8);
if (IS_ERR_VALUE(fpi->dpram_offset)) {
ret = fpi->dpram_offset;
goto out_fcccp;
Expand All @@ -146,29 +144,28 @@ static int do_pd_setup(struct fs_enet_private *fep)

/* Attach the memory for the FCC Parameter RAM */
r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "fcc_pram");
fep->fcc.ep = (void *)ioremap(r->start, r->end - r->start + 1);
fep->fcc.ep = ioremap(r->start, r->end - r->start + 1);
if (fep->fcc.ep == NULL)
return -EINVAL;

r = platform_get_resource_byname(pdev, IORESOURCE_MEM, "fcc_regs");
fep->fcc.fccp = (void *)ioremap(r->start, r->end - r->start + 1);
fep->fcc.fccp = ioremap(r->start, r->end - r->start + 1);
if (fep->fcc.fccp == NULL)
return -EINVAL;

if (fep->fpi->fcc_regs_c) {

fep->fcc.fcccp = (void *)fep->fpi->fcc_regs_c;
fep->fcc.fcccp = (void __iomem *)fep->fpi->fcc_regs_c;
} else {
r = platform_get_resource_byname(pdev, IORESOURCE_MEM,
"fcc_regs_c");
fep->fcc.fcccp = (void *)ioremap(r->start,
fep->fcc.fcccp = ioremap(r->start,
r->end - r->start + 1);
}

if (fep->fcc.fcccp == NULL)
return -EINVAL;

fep->fcc.mem = (void *)fep->fpi->mem_offset;
fep->fcc.mem = (void __iomem *)fep->fpi->mem_offset;
if (fep->fcc.mem == NULL)
return -EINVAL;

Expand Down Expand Up @@ -212,7 +209,7 @@ static int allocate_bd(struct net_device *dev)
struct fs_enet_private *fep = netdev_priv(dev);
const struct fs_platform_info *fpi = fep->fpi;

fep->ring_base = dma_alloc_coherent(fep->dev,
fep->ring_base = (void __iomem __force *)dma_alloc_coherent(fep->dev,
(fpi->tx_ring + fpi->rx_ring) *
sizeof(cbd_t), &fep->ring_mem_addr,
GFP_KERNEL);
Expand All @@ -230,7 +227,7 @@ static void free_bd(struct net_device *dev)
if (fep->ring_base)
dma_free_coherent(fep->dev,
(fpi->tx_ring + fpi->rx_ring) * sizeof(cbd_t),
fep->ring_base, fep->ring_mem_addr);
(void __force *)fep->ring_base, fep->ring_mem_addr);
}

static void cleanup_data(struct net_device *dev)
Expand All @@ -241,15 +238,15 @@ static void cleanup_data(struct net_device *dev)
static void set_promiscuous_mode(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
fcc_t *fccp = fep->fcc.fccp;
fcc_t __iomem *fccp = fep->fcc.fccp;

S32(fccp, fcc_fpsmr, FCC_PSMR_PRO);
}

static void set_multicast_start(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
fcc_enet_t *ep = fep->fcc.ep;
fcc_enet_t __iomem *ep = fep->fcc.ep;

W32(ep, fen_gaddrh, 0);
W32(ep, fen_gaddrl, 0);
Expand All @@ -258,7 +255,7 @@ static void set_multicast_start(struct net_device *dev)
static void set_multicast_one(struct net_device *dev, const u8 *mac)
{
struct fs_enet_private *fep = netdev_priv(dev);
fcc_enet_t *ep = fep->fcc.ep;
fcc_enet_t __iomem *ep = fep->fcc.ep;
u16 taddrh, taddrm, taddrl;

taddrh = ((u16)mac[5] << 8) | mac[4];
Expand All @@ -274,8 +271,8 @@ static void set_multicast_one(struct net_device *dev, const u8 *mac)
static void set_multicast_finish(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
fcc_t *fccp = fep->fcc.fccp;
fcc_enet_t *ep = fep->fcc.ep;
fcc_t __iomem *fccp = fep->fcc.fccp;
fcc_enet_t __iomem *ep = fep->fcc.ep;

/* clear promiscuous always */
C32(fccp, fcc_fpsmr, FCC_PSMR_PRO);
Expand Down Expand Up @@ -310,12 +307,14 @@ static void restart(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
const struct fs_platform_info *fpi = fep->fpi;
fcc_t *fccp = fep->fcc.fccp;
fcc_c_t *fcccp = fep->fcc.fcccp;
fcc_enet_t *ep = fep->fcc.ep;
fcc_t __iomem *fccp = fep->fcc.fccp;
fcc_c_t __iomem *fcccp = fep->fcc.fcccp;
fcc_enet_t __iomem *ep = fep->fcc.ep;
dma_addr_t rx_bd_base_phys, tx_bd_base_phys;
u16 paddrh, paddrm, paddrl;
#ifndef CONFIG_PPC_CPM_NEW_BINDING
u16 mem_addr;
#endif
const unsigned char *mac;
int i;

Expand Down Expand Up @@ -347,14 +346,22 @@ static void restart(struct net_device *dev)
* this area.
*/

#ifdef CONFIG_PPC_CPM_NEW_BINDING
W16(ep, fen_genfcc.fcc_riptr, fpi->dpram_offset);
W16(ep, fen_genfcc.fcc_tiptr, fpi->dpram_offset + 32);

W16(ep, fen_padptr, fpi->dpram_offset + 64);
#else
mem_addr = (u32) fep->fcc.mem; /* de-fixup dpram offset */

W16(ep, fen_genfcc.fcc_riptr, (mem_addr & 0xffff));
W16(ep, fen_genfcc.fcc_tiptr, ((mem_addr + 32) & 0xffff));

W16(ep, fen_padptr, mem_addr + 64);
#endif

/* fill with special symbol... */
memset(fep->fcc.mem + fpi->dpram_offset + 64, 0x88, 32);
memset_io(fep->fcc.mem + fpi->dpram_offset + 64, 0x88, 32);

W32(ep, fen_genfcc.fcc_rbptr, 0);
W32(ep, fen_genfcc.fcc_tbptr, 0);
Expand Down Expand Up @@ -470,7 +477,7 @@ static void restart(struct net_device *dev)
static void stop(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
fcc_t *fccp = fep->fcc.fccp;
fcc_t __iomem *fccp = fep->fcc.fccp;

/* stop ethernet */
C32(fccp, fcc_gfmr, FCC_GFMR_ENR | FCC_GFMR_ENT);
Expand All @@ -497,23 +504,23 @@ static void post_free_irq(struct net_device *dev, int irq)
static void napi_clear_rx_event(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
fcc_t *fccp = fep->fcc.fccp;
fcc_t __iomem *fccp = fep->fcc.fccp;

W16(fccp, fcc_fcce, FCC_NAPI_RX_EVENT_MSK);
}

static void napi_enable_rx(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
fcc_t *fccp = fep->fcc.fccp;
fcc_t __iomem *fccp = fep->fcc.fccp;

S16(fccp, fcc_fccm, FCC_NAPI_RX_EVENT_MSK);
}

static void napi_disable_rx(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
fcc_t *fccp = fep->fcc.fccp;
fcc_t __iomem *fccp = fep->fcc.fccp;

C16(fccp, fcc_fccm, FCC_NAPI_RX_EVENT_MSK);
}
Expand All @@ -526,23 +533,23 @@ static void rx_bd_done(struct net_device *dev)
static void tx_kickstart(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
fcc_t *fccp = fep->fcc.fccp;
fcc_t __iomem *fccp = fep->fcc.fccp;

S16(fccp, fcc_ftodr, 0x8000);
}

static u32 get_int_events(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
fcc_t *fccp = fep->fcc.fccp;
fcc_t __iomem *fccp = fep->fcc.fccp;

return (u32)R16(fccp, fcc_fcce);
}

static void clear_int_events(struct net_device *dev, u32 int_events)
{
struct fs_enet_private *fep = netdev_priv(dev);
fcc_t *fccp = fep->fcc.fccp;
fcc_t __iomem *fccp = fep->fcc.fccp;

W16(fccp, fcc_fcce, int_events & 0xffff);
}
Expand All @@ -553,7 +560,7 @@ static void ev_error(struct net_device *dev, u32 int_events)
": %s FS_ENET ERROR(s) 0x%x\n", dev->name, int_events);
}

int get_regs(struct net_device *dev, void *p, int *sizep)
static int get_regs(struct net_device *dev, void *p, int *sizep)
{
struct fs_enet_private *fep = netdev_priv(dev);

Expand All @@ -570,7 +577,7 @@ int get_regs(struct net_device *dev, void *p, int *sizep)
return 0;
}

int get_regs_len(struct net_device *dev)
static int get_regs_len(struct net_device *dev)
{
return sizeof(fcc_t) + sizeof(fcc_enet_t) + 1;
}
Expand All @@ -583,10 +590,10 @@ int get_regs_len(struct net_device *dev)
* CPM37, we must disable and then re-enable the transmitter
* following a Late Collision, Underrun, or Retry Limit error.
*/
void tx_restart(struct net_device *dev)
static void tx_restart(struct net_device *dev)
{
struct fs_enet_private *fep = netdev_priv(dev);
fcc_t *fccp = fep->fcc.fccp;
fcc_t __iomem *fccp = fep->fcc.fccp;

C32(fccp, fcc_gfmr, FCC_GFMR_ENT);
udelay(10);
Expand Down
Loading

0 comments on commit 31a5bb0

Please sign in to comment.