dect
/
linux-2.6
Archived
13
0
Fork 0

sparc64: Kill ISA_FLOPPY_WORKS code.

This never was enabled, I could never get it working, and if anyone
wants to try and get it's very easy to reference this code in the
history.

It's the only thing referencing the silly ISA device layer in the
sparc64 tree.  OF device layer infrastructure is what should be used
for these things.

Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2008-04-26 03:35:02 -07:00
parent 09337f501e
commit 0eb78f0b1a
1 changed files with 1 additions and 82 deletions

View File

@ -558,82 +558,6 @@ static int __init ebus_fdthree_p(struct linux_ebus_device *edev)
}
#endif
#ifdef CONFIG_PCI
#undef ISA_FLOPPY_WORKS
#ifdef ISA_FLOPPY_WORKS
static unsigned long __init isa_floppy_init(void)
{
struct sparc_isa_bridge *isa_br;
struct sparc_isa_device *isa_dev = NULL;
for_each_isa(isa_br) {
for_each_isadev(isa_dev, isa_br) {
if (!strcmp(isa_dev->prom_node->name, "dma")) {
struct sparc_isa_device *child =
isa_dev->child;
while (child) {
if (!strcmp(child->prom_node->name,
"floppy")) {
isa_dev = child;
goto isa_done;
}
child = child->next;
}
}
}
}
isa_done:
if (!isa_dev)
return 0;
/* We could use DMA on devices behind the ISA bridge, but...
*
* There is a slight problem. Normally on x86 kit the x86 processor
* delays I/O port instructions when the ISA bus "dma in progress"
* signal is active. Well, sparc64 systems do not monitor this
* signal thus we would need to block all I/O port accesses in software
* when a dma transfer is active for some device.
*/
sun_fdc = (struct sun_flpy_controller *)isa_dev->resource.start;
FLOPPY_IRQ = isa_dev->irq;
sun_fdops.fd_inb = sun_pci_fd_inb;
sun_fdops.fd_outb = sun_pci_fd_outb;
can_use_virtual_dma = use_virtual_dma = 1;
sun_fdops.fd_enable_dma = sun_fd_enable_dma;
sun_fdops.fd_disable_dma = sun_fd_disable_dma;
sun_fdops.fd_set_dma_mode = sun_fd_set_dma_mode;
sun_fdops.fd_set_dma_addr = sun_fd_set_dma_addr;
sun_fdops.fd_set_dma_count = sun_fd_set_dma_count;
sun_fdops.get_dma_residue = sun_get_dma_residue;
sun_fdops.fd_request_irq = sun_fd_request_irq;
sun_fdops.fd_free_irq = sun_fd_free_irq;
/* Floppy eject is manual. Actually, could determine this
* via presence of 'manual' property in OBP node.
*/
sun_fdops.fd_eject = sun_pci_fd_eject;
fdc_status = (unsigned long) &sun_fdc->status_82077;
allowed_drive_mask = 0;
sun_floppy_types[0] = 0;
sun_floppy_types[1] = 4;
sun_pci_broken_drive = 1;
sun_fdops.fd_outb = sun_pci_fd_broken_outb;
return sun_floppy_types[0];
}
#endif /* ISA_FLOPPY_WORKS */
#endif
static unsigned long __init sun_floppy_init(void)
{
char state[128];
@ -667,13 +591,8 @@ static unsigned long __init sun_floppy_init(void)
}
}
ebus_done:
if (!edev) {
#ifdef ISA_FLOPPY_WORKS
return isa_floppy_init();
#else
if (!edev)
return 0;
#endif
}
state_prop = of_get_property(edev->prom_node, "status", NULL);
if (state_prop && !strncmp(state_prop, "disabled", 8))