diff options
author | David S. Miller <davem@davemloft.net> | 2008-04-26 06:35:02 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-04-27 00:41:19 -0400 |
commit | 0eb78f0b1a0f61b292380028b0debd5af7b3838a (patch) | |
tree | 213aa4f636f5ded567cccf8b4771babb2668bee5 /include/asm-sparc64/floppy.h | |
parent | 09337f501ebdd224cd69df6d168a5c4fe75d86fa (diff) |
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>
Diffstat (limited to 'include/asm-sparc64/floppy.h')
-rw-r--r-- | include/asm-sparc64/floppy.h | 83 |
1 files changed, 1 insertions, 82 deletions
diff --git a/include/asm-sparc64/floppy.h b/include/asm-sparc64/floppy.h index c47f58d6c15c..040d7962c5a3 100644 --- a/include/asm-sparc64/floppy.h +++ b/include/asm-sparc64/floppy.h | |||
@@ -558,82 +558,6 @@ static int __init ebus_fdthree_p(struct linux_ebus_device *edev) | |||
558 | } | 558 | } |
559 | #endif | 559 | #endif |
560 | 560 | ||
561 | #ifdef CONFIG_PCI | ||
562 | #undef ISA_FLOPPY_WORKS | ||
563 | |||
564 | #ifdef ISA_FLOPPY_WORKS | ||
565 | static unsigned long __init isa_floppy_init(void) | ||
566 | { | ||
567 | struct sparc_isa_bridge *isa_br; | ||
568 | struct sparc_isa_device *isa_dev = NULL; | ||
569 | |||
570 | for_each_isa(isa_br) { | ||
571 | for_each_isadev(isa_dev, isa_br) { | ||
572 | if (!strcmp(isa_dev->prom_node->name, "dma")) { | ||
573 | struct sparc_isa_device *child = | ||
574 | isa_dev->child; | ||
575 | |||
576 | while (child) { | ||
577 | if (!strcmp(child->prom_node->name, | ||
578 | "floppy")) { | ||
579 | isa_dev = child; | ||
580 | goto isa_done; | ||
581 | } | ||
582 | child = child->next; | ||
583 | } | ||
584 | } | ||
585 | } | ||
586 | } | ||
587 | isa_done: | ||
588 | if (!isa_dev) | ||
589 | return 0; | ||
590 | |||
591 | /* We could use DMA on devices behind the ISA bridge, but... | ||
592 | * | ||
593 | * There is a slight problem. Normally on x86 kit the x86 processor | ||
594 | * delays I/O port instructions when the ISA bus "dma in progress" | ||
595 | * signal is active. Well, sparc64 systems do not monitor this | ||
596 | * signal thus we would need to block all I/O port accesses in software | ||
597 | * when a dma transfer is active for some device. | ||
598 | */ | ||
599 | |||
600 | sun_fdc = (struct sun_flpy_controller *)isa_dev->resource.start; | ||
601 | FLOPPY_IRQ = isa_dev->irq; | ||
602 | |||
603 | sun_fdops.fd_inb = sun_pci_fd_inb; | ||
604 | sun_fdops.fd_outb = sun_pci_fd_outb; | ||
605 | |||
606 | can_use_virtual_dma = use_virtual_dma = 1; | ||
607 | sun_fdops.fd_enable_dma = sun_fd_enable_dma; | ||
608 | sun_fdops.fd_disable_dma = sun_fd_disable_dma; | ||
609 | sun_fdops.fd_set_dma_mode = sun_fd_set_dma_mode; | ||
610 | sun_fdops.fd_set_dma_addr = sun_fd_set_dma_addr; | ||
611 | sun_fdops.fd_set_dma_count = sun_fd_set_dma_count; | ||
612 | sun_fdops.get_dma_residue = sun_get_dma_residue; | ||
613 | |||
614 | sun_fdops.fd_request_irq = sun_fd_request_irq; | ||
615 | sun_fdops.fd_free_irq = sun_fd_free_irq; | ||
616 | |||
617 | /* Floppy eject is manual. Actually, could determine this | ||
618 | * via presence of 'manual' property in OBP node. | ||
619 | */ | ||
620 | sun_fdops.fd_eject = sun_pci_fd_eject; | ||
621 | |||
622 | fdc_status = (unsigned long) &sun_fdc->status_82077; | ||
623 | |||
624 | allowed_drive_mask = 0; | ||
625 | sun_floppy_types[0] = 0; | ||
626 | sun_floppy_types[1] = 4; | ||
627 | |||
628 | sun_pci_broken_drive = 1; | ||
629 | sun_fdops.fd_outb = sun_pci_fd_broken_outb; | ||
630 | |||
631 | return sun_floppy_types[0]; | ||
632 | } | ||
633 | #endif /* ISA_FLOPPY_WORKS */ | ||
634 | |||
635 | #endif | ||
636 | |||
637 | static unsigned long __init sun_floppy_init(void) | 561 | static unsigned long __init sun_floppy_init(void) |
638 | { | 562 | { |
639 | char state[128]; | 563 | char state[128]; |
@@ -667,13 +591,8 @@ static unsigned long __init sun_floppy_init(void) | |||
667 | } | 591 | } |
668 | } | 592 | } |
669 | ebus_done: | 593 | ebus_done: |
670 | if (!edev) { | 594 | if (!edev) |
671 | #ifdef ISA_FLOPPY_WORKS | ||
672 | return isa_floppy_init(); | ||
673 | #else | ||
674 | return 0; | 595 | return 0; |
675 | #endif | ||
676 | } | ||
677 | 596 | ||
678 | state_prop = of_get_property(edev->prom_node, "status", NULL); | 597 | state_prop = of_get_property(edev->prom_node, "status", NULL); |
679 | if (state_prop && !strncmp(state_prop, "disabled", 8)) | 598 | if (state_prop && !strncmp(state_prop, "disabled", 8)) |