git: 163b959a73c8 - main - pccard: Remove fdc(4) PC Card attachment point

Warner Losh imp at FreeBSD.org
Fri Jan 8 03:44:17 UTC 2021


The branch main has been updated by imp:

URL: https://cgit.FreeBSD.org/src/commit/?id=163b959a73c8b76839d816ffba2e6c0016d48f0c

commit 163b959a73c8b76839d816ffba2e6c0016d48f0c
Author:     Warner Losh <imp at FreeBSD.org>
AuthorDate: 2021-01-07 22:19:34 +0000
Commit:     Warner Losh <imp at FreeBSD.org>
CommitDate: 2021-01-08 03:22:56 +0000

    pccard: Remove fdc(4) PC Card attachment point
    
    Remove PC Card attachemnt point for fdc.
    
    Relnotes: Yes
---
 share/man/man4/fdc.4     |   3 -
 sys/conf/files.x86       |   1 -
 sys/dev/fdc/fdc_pccard.c | 146 -----------------------------------------------
 sys/modules/fdc/Makefile |   5 +-
 4 files changed, 2 insertions(+), 153 deletions(-)

diff --git a/share/man/man4/fdc.4 b/share/man/man4/fdc.4
index 370083b1b9b4..1580fc067771 100644
--- a/share/man/man4/fdc.4
+++ b/share/man/man4/fdc.4
@@ -313,9 +313,6 @@ Third argument is a pointer to
 This type is the same as being used in the per-drive configuration
 flags, or in the CMOS configuration data or ACPI namespace on IA32 systems.
 .El
-.Sh DEPRECATION NOTICE
-The PC Card attachment of this driver is scheduled for removal prior to the release of
-.Fx 13.0
 .Sh FILES
 .Bl -tag -width ".Pa /dev/fd*" -compact
 .It Pa /dev/fd*
diff --git a/sys/conf/files.x86 b/sys/conf/files.x86
index bfd55806ee70..785a1c719b91 100644
--- a/sys/conf/files.x86
+++ b/sys/conf/files.x86
@@ -95,7 +95,6 @@ dev/fb/vga.c			optional	vga
 dev/fdc/fdc.c			optional	fdc
 dev/fdc/fdc_acpi.c		optional	fdc
 dev/fdc/fdc_isa.c		optional	fdc isa
-dev/fdc/fdc_pccard.c		optional	fdc pccard
 dev/gpio/bytgpio.c		optional	bytgpio
 dev/gpio/chvgpio.c		optional	chvgpio
 dev/hpt27xx/hpt27xx_os_bsd.c	optional	hpt27xx
diff --git a/sys/dev/fdc/fdc_pccard.c b/sys/dev/fdc/fdc_pccard.c
deleted file mode 100644
index 7b7f88648884..000000000000
--- a/sys/dev/fdc/fdc_pccard.c
+++ /dev/null
@@ -1,146 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
- *
- * Copyright (c) 2004-2005 M. Warner Losh <imp at 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 AND CONTRIBUTORS ``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.
- */
-
-#include <sys/cdefs.h>
-__FBSDID("$FreeBSD$");
-
-#include <sys/param.h>
-#include <sys/bio.h>
-#include <sys/bus.h>
-#include <sys/kernel.h>
-#include <sys/lock.h>
-#include <sys/module.h>
-#include <sys/mutex.h>
-#include <sys/rman.h>
-#include <sys/systm.h>
-#include <machine/bus.h>
-
-#include <dev/fdc/fdcvar.h>
-#include <dev/pccard/pccardvar.h>
-#include "pccarddevs.h"
-
-static int fdc_pccard_probe(device_t);
-static int fdc_pccard_attach(device_t);
-
-static const struct pccard_product fdc_pccard_products[] = {
-	PCMCIA_CARD(YEDATA, EXTERNAL_FDD),
-	{ NULL }
-};
-	
-static int
-fdc_pccard_alloc_resources(device_t dev, struct fdc_data *fdc)
-{
-	struct resource *res;
-	int rid, i;
-
-	rid = 0;
-	res = bus_alloc_resource_any(dev, SYS_RES_IOPORT, &rid, RF_ACTIVE);
-	if (res == NULL) {
-		device_printf(dev, "cannot alloc I/O port range\n");
-		return (ENXIO);
-	}
-	for (i = 0; i < FDC_MAXREG; i++) {
-		fdc->resio[i] = res;
-		fdc->ridio[i] = rid;
-		fdc->ioff[i] = i;
-		fdc->ioh[i] = rman_get_bushandle(res);
-	}
-	fdc->iot = rman_get_bustag(res);
-
-	fdc->rid_irq = 0;
-	fdc->res_irq = bus_alloc_resource_any(dev, SYS_RES_IRQ, &fdc->rid_irq,
-	    RF_ACTIVE | RF_SHAREABLE);
-	if (fdc->res_irq == NULL) {
-		device_printf(dev, "cannot reserve interrupt line\n");
-		return (ENXIO);
-	}
-	return (0);
-}
-
-static int
-fdc_pccard_probe(device_t dev)
-{
-	if (pccard_product_lookup(dev, fdc_pccard_products,
-	    sizeof(fdc_pccard_products[0]), NULL) != NULL) {
-		device_set_desc(dev, "PC Card Floppy");
-		return (0);
-	}
-	return (ENXIO);
-}
-
-static int
-fdc_pccard_attach(device_t dev)
-{
-	int error;
-	struct	fdc_data *fdc;
-	device_t child;
-
-	fdc = device_get_softc(dev);
-	fdc->flags = FDC_NODMA | FDC_NOFAST;
-	fdc->fdct = FDC_NE765;
-	error = fdc_pccard_alloc_resources(dev, fdc);
-	if (error == 0)
-		error = fdc_attach(dev);
-	if (error == 0) {
-		child = fdc_add_child(dev, "fd", -1);
-		device_set_flags(child, 0x24);
-		error = bus_generic_attach(dev);
-	}
-	if (error == 0) {
-		gone_in_dev(dev, 13, "pccard removed");
-		fdc_start_worker(dev);
-	} else
-		fdc_release_resources(fdc);
-	return (error);
-}
-
-static device_method_t fdc_pccard_methods[] = {
-	/* Device interface */
-	DEVMETHOD(device_probe,		fdc_pccard_probe),
-	DEVMETHOD(device_attach,	fdc_pccard_attach),
-	DEVMETHOD(device_detach,	fdc_detach),
-	DEVMETHOD(device_shutdown,	bus_generic_shutdown),
-	DEVMETHOD(device_suspend,	bus_generic_suspend),
-	DEVMETHOD(device_resume,	bus_generic_resume),
-
-	/* Bus interface */
-	DEVMETHOD(bus_print_child,	fdc_print_child),
-	DEVMETHOD(bus_read_ivar,	fdc_read_ivar),
-	DEVMETHOD(bus_write_ivar,       fdc_write_ivar),
-	/* Our children never use any other bus interface methods. */
-
-	{ 0, 0 }
-};
-
-static driver_t fdc_pccard_driver = {
-	"fdc",
-	fdc_pccard_methods,
-	sizeof(struct fdc_data)
-};
-
-DRIVER_MODULE(fdc, pccard, fdc_pccard_driver, fdc_devclass, 0, 0);
-PCCARD_PNP_INFO(fdc_pccard_products);
diff --git a/sys/modules/fdc/Makefile b/sys/modules/fdc/Makefile
index 400e75a1a630..140135d43e66 100644
--- a/sys/modules/fdc/Makefile
+++ b/sys/modules/fdc/Makefile
@@ -3,12 +3,11 @@
 KMOD=	fdc
 
 .PATH:  ${SRCTOP}/sys/dev/fdc
-SRCS=	fdc.c fdc_isa.c fdc_pccard.c
+SRCS=	fdc.c fdc_isa.c
 .if ${MACHINE} == "i386" || ${MACHINE} == "amd64"
 SRCS+=	opt_acpi.h acpi_if.h fdc_acpi.c
 .endif
 
-SRCS+=	opt_fdc.h bus_if.h card_if.h device_if.h \
-	isa_if.h pccarddevs.h
+SRCS+=	opt_fdc.h bus_if.h device_if.h isa_if.h
 
 .include <bsd.kmod.mk>


More information about the dev-commits-src-all mailing list