summaryrefslogtreecommitdiffstats
path: root/sys/dev/uart
diff options
context:
space:
mode:
authorimp <imp@FreeBSD.org>2005-09-21 22:45:14 +0000
committerimp <imp@FreeBSD.org>2005-09-21 22:45:14 +0000
commit448de1549161a7fd3c729ead16c807749ba5eab1 (patch)
treecefa8be374b0705d28d42549130f8588aab16875 /sys/dev/uart
parentd5f4d6d5c5d61f917598932ad212de69b861bd55 (diff)
downloadFreeBSD-src-448de1549161a7fd3c729ead16c807749ba5eab1.zip
FreeBSD-src-448de1549161a7fd3c729ead16c807749ba5eab1.tar.gz
Remove OLDCARD shims
Diffstat (limited to 'sys/dev/uart')
-rw-r--r--sys/dev/uart/uart_bus_pccard.c25
1 files changed, 12 insertions, 13 deletions
diff --git a/sys/dev/uart/uart_bus_pccard.c b/sys/dev/uart/uart_bus_pccard.c
index a1ca4c2..ef6ae3e 100644
--- a/sys/dev/uart/uart_bus_pccard.c
+++ b/sys/dev/uart/uart_bus_pccard.c
@@ -43,20 +43,15 @@ __FBSDID("$FreeBSD$");
#include "pccarddevs.h"
-static int uart_pccard_match(device_t self);
static int uart_pccard_probe(device_t dev);
+static int uart_pccard_attach(device_t dev);
static device_method_t uart_pccard_methods[] = {
/* Device interface */
- DEVMETHOD(device_probe, pccard_compat_probe),
- DEVMETHOD(device_attach, pccard_compat_attach),
+ DEVMETHOD(device_probe, uart_pccard_probe),
+ DEVMETHOD(device_attach, uart_pccard_attach),
DEVMETHOD(device_detach, uart_bus_detach),
- /* Card interface */
- DEVMETHOD(card_compat_match, uart_pccard_match),
- DEVMETHOD(card_compat_probe, uart_pccard_probe),
- DEVMETHOD(card_compat_attach, uart_bus_attach),
-
{ 0, 0 }
};
@@ -67,7 +62,7 @@ static driver_t uart_pccard_driver = {
};
static int
-uart_pccard_match(device_t dev)
+uart_pccard_probe(device_t dev)
{
int error = 0;
u_int32_t fcn = PCCARD_FUNCTION_UNSPEC;
@@ -83,20 +78,24 @@ uart_pccard_match(device_t dev)
if (fcn == PCCARD_FUNCTION_SERIAL)
return (-100);
- return(ENXIO);
+ return (ENXIO);
}
static int
-uart_pccard_probe(dev)
- device_t dev;
+uart_pccard_attach(device_t dev)
{
struct uart_softc *sc;
+ int err;
+
sc = device_get_softc(dev);
sc->sc_class = &uart_ns8250_class;
/* Do not probe IRQ - pccard doesn't turn on the interrupt line */
/* until bus_setup_intr but how can I do so?*/
- return (uart_bus_probe(dev, 0, 0, 0, 0));
+ err = uart_bus_probe(dev, 0, 0, 0, 0);
+ if (err)
+ return (err);
+ return (uart_bus_attach(dev));
}
DRIVER_MODULE(uart, pccard, uart_pccard_driver, uart_devclass, 0, 0);
OpenPOWER on IntegriCloud