pccard: Remove uart(4) PC Card attachment

pccard is going away, so remove uart's attachment.

Relnotes: Yes
This commit is contained in:
Warner Losh 2021-01-07 15:37:26 -07:00
parent 07263b02d8
commit ba29d48c7c
4 changed files with 3 additions and 114 deletions

View File

@ -271,9 +271,6 @@ be locked for devices that support more than one setting.
The CLOCAL flag on callin ports should be locked off for logins The CLOCAL flag on callin ports should be locked off for logins
to avoid certain security holes, but this needs to be done by to avoid certain security holes, but this needs to be done by
getty if the callin port is used for anything else. getty if the callin port is used for anything else.
.Sh DEPRECATION NOTICE
The PC Card attachment of this driver is scheduled for removal prior to the release of
.Fx 13.0
.Sh FILES .Sh FILES
.Bl -tag -width "/dev/ttyu?.init" -compact .Bl -tag -width "/dev/ttyu?.init" -compact
.It Pa /dev/ttyu? .It Pa /dev/ttyu?

View File

@ -3242,7 +3242,6 @@ dev/tws/tws_user.c optional tws
dev/uart/uart_bus_acpi.c optional uart acpi dev/uart/uart_bus_acpi.c optional uart acpi
dev/uart/uart_bus_fdt.c optional uart fdt dev/uart/uart_bus_fdt.c optional uart fdt
dev/uart/uart_bus_isa.c optional uart isa dev/uart/uart_bus_isa.c optional uart isa
dev/uart/uart_bus_pccard.c optional uart pccard
dev/uart/uart_bus_pci.c optional uart pci dev/uart/uart_bus_pci.c optional uart pci
dev/uart/uart_bus_puc.c optional uart puc dev/uart/uart_bus_puc.c optional uart puc
dev/uart/uart_bus_scc.c optional uart scc dev/uart/uart_bus_scc.c optional uart scc

View File

@ -1,106 +0,0 @@
/*-
* SPDX-License-Identifier: BSD-2-Clause-FreeBSD
*
* Copyright (c) 2003 Norikatsu Shigemura, Takenori Watanabe All rights reserved.
* Copyright (c) 2001 M. Warner Losh <imp@FreeBSD.org>
*
* 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 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.
*/
#include <sys/cdefs.h>
__FBSDID("$FreeBSD$");
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/bus.h>
#include <sys/conf.h>
#include <sys/kernel.h>
#include <sys/module.h>
#include <machine/bus.h>
#include <machine/resource.h>
#include <dev/pccard/pccard_cis.h>
#include <dev/pccard/pccardvar.h>
#include <dev/uart/uart.h>
#include <dev/uart/uart_bus.h>
#include "pccarddevs.h"
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, uart_pccard_probe),
DEVMETHOD(device_attach, uart_pccard_attach),
DEVMETHOD(device_detach, uart_bus_detach),
{ 0, 0 }
};
static uint32_t uart_pccard_function = PCCARD_FUNCTION_SERIAL;
static driver_t uart_pccard_driver = {
uart_driver_name,
uart_pccard_methods,
sizeof(struct uart_softc),
};
static int
uart_pccard_probe(device_t dev)
{
int error;
uint32_t fcn;
fcn = PCCARD_FUNCTION_UNSPEC;
error = pccard_get_function(dev, &fcn);
if (error != 0)
return (error);
/*
* If a serial card, we are likely the right driver. However,
* some serial cards are better serviced by other drivers, so
* allow other drivers to claim it, if they want.
*/
if (fcn == uart_pccard_function)
return (BUS_PROBE_GENERIC);
return (ENXIO);
}
static int
uart_pccard_attach(device_t dev)
{
struct uart_softc *sc;
int error;
sc = device_get_softc(dev);
sc->sc_class = &uart_ns8250_class;
error = uart_bus_probe(dev, 0, 0, 0, 0, 0, 0);
if (error > 0)
return (error);
gone_in_dev(dev, 13, "pccard removed");
return (uart_bus_attach(dev));
}
DRIVER_MODULE(uart, pccard, uart_pccard_driver, uart_devclass, 0, 0);
MODULE_PNP_INFO("U32:function_type;", pccard, uart, &uart_pccard_function,
1);

View File

@ -28,16 +28,15 @@ uart_dev_mu=uart_dev_mu.c
.endif .endif
KMOD= uart KMOD= uart
SRCS= ${uart_bus_acpi} uart_bus_isa.c uart_bus_pccard.c \ SRCS= ${uart_bus_acpi} uart_bus_isa.c \
uart_bus_pci.c uart_bus_puc.c uart_bus_scc.c \ uart_bus_pci.c uart_bus_puc.c uart_bus_scc.c \
uart_core.c ${uart_cpu_acpi} ${uart_cpu_machine} uart_dbg.c \ uart_core.c ${uart_cpu_acpi} ${uart_cpu_machine} uart_dbg.c \
${uart_dev_mvebu} uart_dev_ns8250.c ${uart_dev_mu} \ ${uart_dev_mvebu} uart_dev_ns8250.c ${uart_dev_mu} \
uart_dev_quicc.c uart_dev_z8530.c \ uart_dev_quicc.c uart_dev_z8530.c \
uart_if.c uart_if.h uart_subr.c uart_tty.c uart_if.c uart_if.h uart_subr.c uart_tty.c
SRCS+= acpi_if.h bus_if.h card_if.h device_if.h isa_if.h ${ofw_bus_if} \ SRCS+= acpi_if.h bus_if.h device_if.h isa_if.h ${ofw_bus_if} pci_if.h \
pci_if.h \ serdev_if.h
power_if.h pccarddevs.h serdev_if.h
SRCS+= opt_acpi.h opt_platform.h opt_uart.h SRCS+= opt_acpi.h opt_platform.h opt_uart.h
.include <bsd.kmod.mk> .include <bsd.kmod.mk>