Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 22364
b: refs/heads/master
c: 09779c6
h: refs/heads/master
v: v3
  • Loading branch information
Nicolas Pitre authored and Jeff Garzik committed Mar 21, 2006
1 parent 78cd008 commit 03786d4
Show file tree
Hide file tree
Showing 3 changed files with 308 additions and 221 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: ac62ef043504d5c754357325cd514553ddabb046
refs/heads/master: 09779c6df2dbe95483269d194b327d41fe2cc57e
53 changes: 24 additions & 29 deletions trunk/drivers/net/smc91x.c
Original file line number Diff line number Diff line change
Expand Up @@ -215,15 +215,12 @@ struct smc_local {

spinlock_t lock;

#ifdef SMC_CAN_USE_DATACS
u32 __iomem *datacs;
#endif

#ifdef SMC_USE_PXA_DMA
/* DMA needs the physical address of the chip */
u_long physaddr;
#endif
void __iomem *base;
void __iomem *datacs;
};

#if SMC_DEBUG > 0
Expand Down Expand Up @@ -2104,9 +2101,8 @@ static int smc_enable_device(struct platform_device *pdev)
* Set the appropriate byte/word mode.
*/
ecsr = readb(addr + (ECSR << SMC_IO_SHIFT)) & ~ECSR_IOIS8;
#ifndef SMC_CAN_USE_16BIT
ecsr |= ECSR_IOIS8;
#endif
if (!SMC_CAN_USE_16BIT)
ecsr |= ECSR_IOIS8;
writeb(ecsr, addr + (ECSR << SMC_IO_SHIFT));
local_irq_restore(flags);

Expand Down Expand Up @@ -2143,40 +2139,39 @@ static void smc_release_attrib(struct platform_device *pdev)
release_mem_region(res->start, ATTRIB_SIZE);
}

#ifdef SMC_CAN_USE_DATACS
static void smc_request_datacs(struct platform_device *pdev, struct net_device *ndev)
static inline void smc_request_datacs(struct platform_device *pdev, struct net_device *ndev)
{
struct resource * res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-data32");
struct smc_local *lp = netdev_priv(ndev);
if (SMC_CAN_USE_DATACS) {
struct resource * res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-data32");
struct smc_local *lp = netdev_priv(ndev);

if (!res)
return;
if (!res)
return;

if(!request_mem_region(res->start, SMC_DATA_EXTENT, CARDNAME)) {
printk(KERN_INFO "%s: failed to request datacs memory region.\n", CARDNAME);
return;
}
if(!request_mem_region(res->start, SMC_DATA_EXTENT, CARDNAME)) {
printk(KERN_INFO "%s: failed to request datacs memory region.\n", CARDNAME);
return;
}

lp->datacs = ioremap(res->start, SMC_DATA_EXTENT);
lp->datacs = ioremap(res->start, SMC_DATA_EXTENT);
}
}

static void smc_release_datacs(struct platform_device *pdev, struct net_device *ndev)
{
struct smc_local *lp = netdev_priv(ndev);
struct resource * res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-data32");
if (SMC_CAN_USE_DATACS) {
struct smc_local *lp = netdev_priv(ndev);
struct resource * res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "smc91x-data32");

if (lp->datacs)
iounmap(lp->datacs);
if (lp->datacs)
iounmap(lp->datacs);

lp->datacs = NULL;
lp->datacs = NULL;

if (res)
release_mem_region(res->start, SMC_DATA_EXTENT);
if (res)
release_mem_region(res->start, SMC_DATA_EXTENT);
}
}
#else
static void smc_request_datacs(struct platform_device *pdev, struct net_device *ndev) {}
static void smc_release_datacs(struct platform_device *pdev, struct net_device *ndev) {}
#endif

/*
* smc_init(void)
Expand Down
Loading

0 comments on commit 03786d4

Please sign in to comment.