aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/tokenring/tms380tr.h
diff options
context:
space:
mode:
authorJochen Friedrich <jochen@scram.de>2005-07-27 04:14:50 -0400
committerJeff Garzik <jgarzik@pobox.com>2005-07-31 00:37:29 -0400
commit504ff16cecf2a788181eddc9d6e47d94ce50a9f6 (patch)
tree7306b7d1909306fcec2e46cd3afdea02fbbeac5e /drivers/net/tokenring/tms380tr.h
parent6b38aefe924daf2e4fdd73b384f21c913f31b668 (diff)
[PATCH] tms380tr: move to DMA API
This patch makes tms380tr use the new DMA API. Now that on Alpha, this API also supports bus master DMA for ISA (platform) devices, i changed the driver to use this new API. This also works around a bug in the firmware loader: The example provided in Documentation/firmware_class no longer works, as the firmware loader now calls get_kobj_path_length() and the kernel promptly oopses, as the home-grown device doesn't have a parent. Of course, this doesn't happen with a "real" device which has its bus (or pseudo bus in the case of platform) as parent. Converted tms380tr to use new DMA API: - proteon.c, skisa.c: use platform pseudo bus to create a struct device - Space.c: delete init hooks - abyss.c, tmspci.c: pass struct device to tms380tr.c - tms380tr.c, tms380tr.h: new DMA API, use real device fo firmware loader Signed-off-by: Jochen Friedrich <jochen@scram.de> Cc: Jeff Garzik <jgarzik@pobox.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Jeff Garzik <jgarzik@pobox.com>
Diffstat (limited to 'drivers/net/tokenring/tms380tr.h')
-rw-r--r--drivers/net/tokenring/tms380tr.h8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/tokenring/tms380tr.h b/drivers/net/tokenring/tms380tr.h
index f2c5ba0f37a5..077f568d89d1 100644
--- a/drivers/net/tokenring/tms380tr.h
+++ b/drivers/net/tokenring/tms380tr.h
@@ -18,7 +18,7 @@ int tms380tr_open(struct net_device *dev);
18int tms380tr_close(struct net_device *dev); 18int tms380tr_close(struct net_device *dev);
19irqreturn_t tms380tr_interrupt(int irq, void *dev_id, struct pt_regs *regs); 19irqreturn_t tms380tr_interrupt(int irq, void *dev_id, struct pt_regs *regs);
20int tmsdev_init(struct net_device *dev, unsigned long dmalimit, 20int tmsdev_init(struct net_device *dev, unsigned long dmalimit,
21 struct pci_dev *pdev); 21 struct device *pdev);
22void tmsdev_term(struct net_device *dev); 22void tmsdev_term(struct net_device *dev);
23void tms380tr_wait(unsigned long time); 23void tms380tr_wait(unsigned long time);
24 24
@@ -719,7 +719,7 @@ struct s_TPL { /* Transmit Parameter List (align on even word boundaries) */
719 struct sk_buff *Skb; 719 struct sk_buff *Skb;
720 unsigned char TPLIndex; 720 unsigned char TPLIndex;
721 volatile unsigned char BusyFlag;/* Flag: TPL busy? */ 721 volatile unsigned char BusyFlag;/* Flag: TPL busy? */
722 dma_addr_t DMABuff; /* DMA IO bus address from pci_map */ 722 dma_addr_t DMABuff; /* DMA IO bus address from dma_map */
723}; 723};
724 724
725/* ---------------------Receive Functions-------------------------------* 725/* ---------------------Receive Functions-------------------------------*
@@ -1060,7 +1060,7 @@ struct s_RPL { /* Receive Parameter List */
1060 struct sk_buff *Skb; 1060 struct sk_buff *Skb;
1061 SKB_STAT SkbStat; 1061 SKB_STAT SkbStat;
1062 int RPLIndex; 1062 int RPLIndex;
1063 dma_addr_t DMABuff; /* DMA IO bus address from pci_map */ 1063 dma_addr_t DMABuff; /* DMA IO bus address from dma_map */
1064}; 1064};
1065 1065
1066/* Information that need to be kept for each board. */ 1066/* Information that need to be kept for each board. */
@@ -1091,7 +1091,7 @@ typedef struct net_local {
1091 RPL *RplTail; 1091 RPL *RplTail;
1092 unsigned char LocalRxBuffers[RPL_NUM][DEFAULT_PACKET_SIZE]; 1092 unsigned char LocalRxBuffers[RPL_NUM][DEFAULT_PACKET_SIZE];
1093 1093
1094 struct pci_dev *pdev; 1094 struct device *pdev;
1095 int DataRate; 1095 int DataRate;
1096 unsigned char ScbInUse; 1096 unsigned char ScbInUse;
1097 unsigned short CMDqueue; 1097 unsigned short CMDqueue;