forked from luck/tmp_suning_uos_patched
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:
parent
09337f501e
commit
0eb78f0b1a
@ -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))
|
||||
|
Loading…
Reference in New Issue
Block a user