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/tmspci.c | |
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/tmspci.c')
-rw-r--r-- | drivers/net/tokenring/tmspci.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/tokenring/tmspci.c b/drivers/net/tokenring/tmspci.c index 2e18c0a46482..0014aef5c744 100644 --- a/drivers/net/tokenring/tmspci.c +++ b/drivers/net/tokenring/tmspci.c | |||
@@ -100,7 +100,7 @@ static int __devinit tms_pci_attach(struct pci_dev *pdev, const struct pci_devic | |||
100 | unsigned int pci_irq_line; | 100 | unsigned int pci_irq_line; |
101 | unsigned long pci_ioaddr; | 101 | unsigned long pci_ioaddr; |
102 | struct card_info *cardinfo = &card_info_table[ent->driver_data]; | 102 | struct card_info *cardinfo = &card_info_table[ent->driver_data]; |
103 | 103 | ||
104 | if (versionprinted++ == 0) | 104 | if (versionprinted++ == 0) |
105 | printk("%s", version); | 105 | printk("%s", version); |
106 | 106 | ||
@@ -143,7 +143,7 @@ static int __devinit tms_pci_attach(struct pci_dev *pdev, const struct pci_devic | |||
143 | printk(":%2.2x", dev->dev_addr[i]); | 143 | printk(":%2.2x", dev->dev_addr[i]); |
144 | printk("\n"); | 144 | printk("\n"); |
145 | 145 | ||
146 | ret = tmsdev_init(dev, PCI_MAX_ADDRESS, pdev); | 146 | ret = tmsdev_init(dev, PCI_MAX_ADDRESS, &pdev->dev); |
147 | if (ret) { | 147 | if (ret) { |
148 | printk("%s: unable to get memory for dev->priv.\n", dev->name); | 148 | printk("%s: unable to get memory for dev->priv.\n", dev->name); |
149 | goto err_out_irq; | 149 | goto err_out_irq; |