|
@@ -255,49 +255,6 @@ void sbus_set_sbus64(struct device *dev, int x)
|
|
|
printk("sbus_set_sbus64: unsupported\n");
|
|
|
}
|
|
|
|
|
|
-extern unsigned int sun4d_build_irq(struct sbus_dev *sdev, int irq);
|
|
|
-void __init sbus_fill_device_irq(struct sbus_dev *sdev)
|
|
|
-{
|
|
|
- struct linux_prom_irqs irqs[PROMINTR_MAX];
|
|
|
- int len;
|
|
|
-
|
|
|
- len = prom_getproperty(sdev->prom_node, "intr",
|
|
|
- (char *)irqs, sizeof(irqs));
|
|
|
- if (len != -1) {
|
|
|
- sdev->num_irqs = len / 8;
|
|
|
- if (sdev->num_irqs == 0) {
|
|
|
- sdev->irqs[0] = 0;
|
|
|
- } else if (sparc_cpu_model == sun4d) {
|
|
|
- for (len = 0; len < sdev->num_irqs; len++)
|
|
|
- sdev->irqs[len] =
|
|
|
- sun4d_build_irq(sdev, irqs[len].pri);
|
|
|
- } else {
|
|
|
- for (len = 0; len < sdev->num_irqs; len++)
|
|
|
- sdev->irqs[len] = irqs[len].pri;
|
|
|
- }
|
|
|
- } else {
|
|
|
- int interrupts[PROMINTR_MAX];
|
|
|
-
|
|
|
- /* No "intr" node found-- check for "interrupts" node.
|
|
|
- * This node contains SBus interrupt levels, not IPLs
|
|
|
- * as in "intr", and no vector values. We convert
|
|
|
- * SBus interrupt levels to PILs (platform specific).
|
|
|
- */
|
|
|
- len = prom_getproperty(sdev->prom_node, "interrupts",
|
|
|
- (char *)interrupts, sizeof(interrupts));
|
|
|
- if (len == -1) {
|
|
|
- sdev->irqs[0] = 0;
|
|
|
- sdev->num_irqs = 0;
|
|
|
- } else {
|
|
|
- sdev->num_irqs = len / sizeof(int);
|
|
|
- for (len = 0; len < sdev->num_irqs; len++) {
|
|
|
- sdev->irqs[len] =
|
|
|
- sbint_to_irq(sdev, interrupts[len]);
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
/*
|
|
|
* Allocate a chunk of memory suitable for DMA.
|
|
|
* Typically devices use them for control blocks.
|
|
@@ -479,16 +436,6 @@ void __init sbus_setup_iommu(struct sbus_bus *sbus, struct device_node *dp)
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
-void __init sbus_setup_arch_props(struct sbus_bus *sbus, struct device_node *dp)
|
|
|
-{
|
|
|
- if (sparc_cpu_model == sun4d) {
|
|
|
- struct device_node *parent = dp->parent;
|
|
|
-
|
|
|
- sbus->devid = of_getintprop_default(parent, "device-id", 0);
|
|
|
- sbus->board = of_getintprop_default(parent, "board#", 0);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
int __init sbus_arch_preinit(void)
|
|
|
{
|
|
|
register_proc_sparc_ioport();
|