diff --git a/sys/conf/files.sparc64 b/sys/conf/files.sparc64 index 00b7c45f972e..b4aac0b40824 100644 --- a/sys/conf/files.sparc64 +++ b/sys/conf/files.sparc64 @@ -83,7 +83,6 @@ sparc64/pci/apb.c optional pci sparc64/pci/ofw_pcib.c optional pci sparc64/pci/ofw_pcib_subr.c optional pci sparc64/pci/ofw_pcibus.c optional pci -sparc64/pci/ofw_pci_if.m optional pci sparc64/pci/psycho.c optional pci sparc64/sbus/dma_sbus.c optional sbus sparc64/sbus/sbus.c optional sbus diff --git a/sys/conf/files.sun4v b/sys/conf/files.sun4v index 700ca8a4a86f..f05dba12b669 100644 --- a/sys/conf/files.sun4v +++ b/sys/conf/files.sun4v @@ -49,7 +49,6 @@ sun4v/sun4v/trap_trace.S optional trap_tracing sparc64/pci/ofw_pcib.c optional pci sparc64/pci/ofw_pcib_subr.c optional pci sparc64/pci/ofw_pcibus.c optional pci -sparc64/pci/ofw_pci_if.m optional pci # XXX hvcons should be optional sun4v/sun4v/hvcons.c standard diff --git a/sys/sparc64/isa/isa.c b/sys/sparc64/isa/isa.c index 78ea93f354fb..be76e011d5b6 100644 --- a/sys/sparc64/isa/isa.c +++ b/sys/sparc64/isa/isa.c @@ -64,7 +64,6 @@ device_t isa_bus_device; static phandle_t isab_node; static struct isa_ranges *isab_ranges; static int isab_nrange; -static ofw_pci_intr_t isa_ino[8]; static struct ofw_bus_iinfo isa_iinfo; /* @@ -82,23 +81,6 @@ static struct ofw_bus_iinfo isa_iinfo; static void isa_setup_children(device_t, phandle_t); -intrmask_t -isa_irq_pending(void) -{ - intrmask_t pending; - int i; - - /* XXX: Is this correct? */ - for (i = 7, pending = 0; i >= 0; i--) { - pending <<= 1; - if (isa_ino[i] != PCI_INVALID_IRQ) { - pending |= (OFW_PCI_INTR_PENDING(isa_bus_device, - isa_ino[i]) == 0) ? 0 : 1; - } - } - return (pending); -} - void isa_init(device_t dev) { @@ -115,17 +97,6 @@ isa_init(device_t dev) ofw_bus_setup_iinfo(isab_node, &isa_iinfo, sizeof(ofw_isa_intr_t)); - /* - * This is really a bad kludge; however, it is needed to provide - * isa_irq_pending(), which is unfortunately still used by some - * drivers. - * XXX: The only driver still using isa_irq_pending() is sio(4) - * which we don't use on sparc64. Should we just drop support - * for isa_irq_pending()? - */ - for (i = 0; i < 8; i++) - isa_ino[i] = PCI_INVALID_IRQ; - isa_setup_children(dev, isab_node); for (i = isab_nrange - 1; i >= 0; i--) { @@ -275,7 +246,6 @@ isa_setup_children(device_t dev, phandle_t parent) intrs[i], (unsigned long)node, name); continue; } - isa_ino[intrs[i]] = rintr; bus_set_resource(cdev, SYS_RES_IRQ, i, rintr, 1); } if (intrs != NULL) diff --git a/sys/sparc64/pci/ofw_pci.h b/sys/sparc64/pci/ofw_pci.h index 40d531e0e253..352b8b883efa 100644 --- a/sys/sparc64/pci/ofw_pci.h +++ b/sys/sparc64/pci/ofw_pci.h @@ -38,8 +38,6 @@ typedef uint32_t ofw_pci_intr_t; -#include "ofw_pci_if.h" - /* PCI range child spaces. XXX: are these MI? */ #define OFW_PCI_CS_CONFIG 0x00 #define OFW_PCI_CS_IO 0x01 diff --git a/sys/sparc64/pci/ofw_pci_if.m b/sys/sparc64/pci/ofw_pci_if.m deleted file mode 100644 index ee0e99c9a600..000000000000 --- a/sys/sparc64/pci/ofw_pci_if.m +++ /dev/null @@ -1,53 +0,0 @@ -#- -# Copyright (c) 2001, 2003 by Thomas Moestl -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# 1. Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# 2. Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -# IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE -# USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# -# $FreeBSD$ - -#include - -#include - -#include - -INTERFACE ofw_pci; - -CODE { - static ofw_pci_intr_pending_t ofw_pci_default_intr_pending; - - static int - ofw_pci_default_intr_pending(device_t dev, ofw_pci_intr_t intr) - { - - if (device_get_parent(dev) != NULL) - return (OFW_PCI_INTR_PENDING(device_get_parent(dev), - intr)); - return (0); - } -}; - -# Return whether an interrupt request is pending for the INO intr. -METHOD int intr_pending { - device_t dev; - ofw_pci_intr_t intr; -} DEFAULT ofw_pci_default_intr_pending; diff --git a/sys/sparc64/pci/psycho.c b/sys/sparc64/pci/psycho.c index 87c9df8b491c..4ea8d736f35c 100644 --- a/sys/sparc64/pci/psycho.c +++ b/sys/sparc64/pci/psycho.c @@ -121,7 +121,6 @@ static pcib_maxslots_t psycho_maxslots; static pcib_read_config_t psycho_read_config; static pcib_write_config_t psycho_write_config; static pcib_route_interrupt_t psycho_route_interrupt; -static ofw_pci_intr_pending_t psycho_intr_pending; static ofw_bus_get_node_t psycho_get_node; static device_method_t psycho_methods[] = { @@ -152,9 +151,6 @@ static device_method_t psycho_methods[] = { /* ofw_bus interface */ DEVMETHOD(ofw_bus_get_node, psycho_get_node), - /* ofw_pci interface */ - DEVMETHOD(ofw_pci_intr_pending, psycho_intr_pending), - { 0, 0 } }; @@ -1373,21 +1369,6 @@ psycho_get_dma_tag(device_t bus, device_t child) return (sc->sc_pci_dmat); } -static int -psycho_intr_pending(device_t dev, ofw_pci_intr_t intr) -{ - struct psycho_softc *sc; - u_long diag; - - sc = device_get_softc(dev); - if (psycho_find_intrmap(sc, intr, NULL, NULL, &diag) == 0) { - device_printf(dev, "%s: mapping not found for %d\n", __func__, - intr); - return (0); - } - return (diag != 0); -} - static phandle_t psycho_get_node(device_t bus, device_t dev) { diff --git a/sys/sun4v/sun4v/hv_pci.c b/sys/sun4v/sun4v/hv_pci.c index d4ed288577dd..204844ad7c98 100644 --- a/sys/sun4v/sun4v/hv_pci.c +++ b/sys/sun4v/sun4v/hv_pci.c @@ -85,7 +85,6 @@ static pcib_read_config_t hvpci_read_config; static pcib_write_config_t hvpci_write_config; static pcib_route_interrupt_t hvpci_route_interrupt; static ofw_bus_get_node_t hvpci_get_node; -static ofw_pci_intr_pending_t hvpci_intr_pending; static device_method_t hv_pcib_methods[] = { /* Device interface */ @@ -116,9 +115,6 @@ static device_method_t hv_pcib_methods[] = { /* ofw_bus interface */ DEVMETHOD(ofw_bus_get_node, hvpci_get_node), - /* ofw_pci interface */ - DEVMETHOD(ofw_pci_intr_pending, hvpci_intr_pending), - { 0, 0 } }; @@ -356,13 +352,6 @@ hvpci_get_node(device_t bus, device_t dev) return (sc->hs_node); } -static int -hvpci_intr_pending(device_t dev, ofw_pci_intr_t intr) -{ - /* XXX - implement */ - panic("unimplemnted"); -} - static int hvpci_read_ivar(device_t dev, device_t child, int which, uintptr_t *result) {