diff options
author | Jochen Friedrich <jochen@scram.de> | 2005-07-27 04:14:50 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-07-31 00:37:29 -0400 |
commit | 504ff16cecf2a788181eddc9d6e47d94ce50a9f6 (patch) | |
tree | 7306b7d1909306fcec2e46cd3afdea02fbbeac5e /drivers/net/tokenring/tms380tr.h | |
parent | 6b38aefe924daf2e4fdd73b384f21c913f31b668 (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.h | 8 |
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); | |||
18 | int tms380tr_close(struct net_device *dev); | 18 | int tms380tr_close(struct net_device *dev); |
19 | irqreturn_t tms380tr_interrupt(int irq, void *dev_id, struct pt_regs *regs); | 19 | irqreturn_t tms380tr_interrupt(int irq, void *dev_id, struct pt_regs *regs); |
20 | int tmsdev_init(struct net_device *dev, unsigned long dmalimit, | 20 | int tmsdev_init(struct net_device *dev, unsigned long dmalimit, |
21 | struct pci_dev *pdev); | 21 | struct device *pdev); |
22 | void tmsdev_term(struct net_device *dev); | 22 | void tmsdev_term(struct net_device *dev); |
23 | void tms380tr_wait(unsigned long time); | 23 | void 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; |