git: 8c5fead10590 - main - Remove enetc_mdio driver
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 29 Oct 2021 08:31:42 UTC
The branch main has been updated by wma: URL: https://cgit.FreeBSD.org/src/commit/?id=8c5fead105905ffb8cdcf255c08a63ee440b223e commit 8c5fead105905ffb8cdcf255c08a63ee440b223e Author: Kornel Duleba <mindal@semihalf.com> AuthorDate: 2021-10-26 08:41:09 +0000 Commit: Wojciech Macek <wma@FreeBSD.org> CommitDate: 2021-10-29 08:08:26 +0000 Remove enetc_mdio driver It was previously used by felix(4) for PHY communication. Since that is not the case anymore this driver is now left unused. Obtained from: Semihalf Sponsored by: Alstom Group --- sys/conf/files.arm64 | 3 +- sys/dev/enetc/enetc_mdio_pci.c | 191 ---------------------------------------- sys/modules/Makefile | 2 - sys/modules/enetc_mdio/Makefile | 8 -- 4 files changed, 1 insertion(+), 203 deletions(-) diff --git a/sys/conf/files.arm64 b/sys/conf/files.arm64 index 3a41554eaea7..2d98568b3d9f 100644 --- a/sys/conf/files.arm64 +++ b/sys/conf/files.arm64 @@ -176,8 +176,7 @@ dev/cpufreq/cpufreq_dt.c optional cpufreq fdt dev/dwc/if_dwc.c optional fdt dwc_rk soc_rockchip_rk3328 | fdt dwc_rk soc_rockchip_rk3399 | fdt dwc_socfpga soc_intel_stratix10 dev/dwc/if_dwc_if.m optional fdt dwc_rk soc_rockchip_rk3328 | fdt dwc_rk soc_rockchip_rk3399 | fdt dwc_socfpga soc_intel_stratix10 -dev/enetc/enetc_mdio.c optional enetc soc_nxp_ls | enetc_mdio soc_nxp_ls -dev/enetc/enetc_mdio_pci.c optional enetc_mdio pci soc_nxp_ls +dev/enetc/enetc_mdio.c optional enetc soc_nxp_ls dev/enetc/if_enetc.c optional enetc iflib pci fdt soc_nxp_ls dev/etherswitch/felix/felix.c optional enetc etherswitch fdt felix pci soc_nxp_ls diff --git a/sys/dev/enetc/enetc_mdio_pci.c b/sys/dev/enetc/enetc_mdio_pci.c deleted file mode 100644 index 517efa9b9598..000000000000 --- a/sys/dev/enetc/enetc_mdio_pci.c +++ /dev/null @@ -1,191 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause-FreeBSD - * - * Copyright (c) 2021 Alstom Group. - * Copyright (c) 2021 Semihalf. - * - * 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/bus.h> -#include <sys/kernel.h> -#include <sys/module.h> -#include <sys/socket.h> -#include <sys/rman.h> -#include <sys/mutex.h> - -#include <machine/bus.h> - -#include <net/if.h> -#include <net/if_var.h> -#include <net/if_types.h> -#include <net/if_media.h> - -#include <dev/enetc/enetc_hw.h> -#include <dev/enetc/enetc_mdio.h> -#include <dev/mii/mii.h> -#include <dev/mii/miivar.h> -#include <dev/ofw/ofw_bus.h> -#include <dev/ofw/ofw_bus_subr.h> -#include <dev/pci/pcireg.h> -#include <dev/pci/pcivar.h> - -#include "miibus_if.h" - -#define ENETC_MDIO_DEV_ID 0xee01 -#define ENETC_MDIO_DEV_NAME "FSL PCIe IE Central MDIO" - -static struct entec_mdio_pci_id { - uint16_t vendor; - uint16_t device; - const char *desc; -} enetc_mdio_pci_ids[] = { - {PCI_VENDOR_FREESCALE, ENETC_MDIO_DEV_ID, ENETC_MDIO_DEV_NAME}, -}; -MODULE_PNP_INFO("U16:vendor;U16:device;D:#", pci, enetc_mdio_pci, - enetc_mdio_pci_ids, nitems(enetc_mdio_pci_ids)); - -struct enetc_mdio_pci_softc { - device_t sc_dev; - struct mtx sc_lock; - struct resource *sc_regs; -}; - -static device_attach_t enetc_mdio_pci_attach; -static device_detach_t enetc_mdio_pci_detach; -static device_probe_t enetc_mdio_pci_probe; - -static int -enetc_mdio_pci_readreg(device_t dev, int phy, int reg) -{ - struct enetc_mdio_pci_softc *sc; - uint32_t ret; - - sc = device_get_softc(dev); - - mtx_lock(&sc->sc_lock); - ret = enetc_mdio_read(sc->sc_regs, ENETC_EMDIO_BASE, phy, reg); - mtx_unlock(&sc->sc_lock); - - return (ret); -} - -static int -enetc_mdio_pci_writereg(device_t dev, int phy, int reg, int data) -{ - struct enetc_mdio_pci_softc *sc; - int err; - - sc = device_get_softc(dev); - - mtx_lock(&sc->sc_lock); - err = enetc_mdio_write(sc->sc_regs, ENETC_EMDIO_BASE, phy, reg, data); - mtx_unlock(&sc->sc_lock); - if (err != 0) - return (err); - - return (0); -} - -static int -enetc_mdio_pci_probe(device_t dev) -{ - struct entec_mdio_pci_id *id; - - for (id = enetc_mdio_pci_ids; id->vendor != 0; ++id) { - if (pci_get_device(dev) != id->device || - pci_get_vendor(dev) != id->vendor) - continue; - - device_set_desc(dev, id->desc); - - return (BUS_PROBE_DEFAULT); - } - - return (ENXIO); -} - -static int -enetc_mdio_pci_attach(device_t dev) -{ - struct enetc_mdio_pci_softc *sc; - int rid; - - sc = device_get_softc(dev); - sc->sc_dev = dev; - - /* Init locks */ - mtx_init(&sc->sc_lock, device_get_nameunit(dev), "MDIO lock", MTX_DEF); - - rid = PCIR_BAR(0); - sc->sc_regs = bus_alloc_resource_any(dev, SYS_RES_MEMORY, &rid, - RF_ACTIVE); - if (sc->sc_regs == NULL) { - device_printf(dev, "can't allocate resources for PCI MDIO \n"); - return (ENXIO); - } - - OF_device_register_xref(ofw_bus_get_node(dev), dev); - - return (0); -} - -static int -enetc_mdio_pci_detach(device_t dev) -{ - struct enetc_mdio_pci_softc *sc; - - sc = device_get_softc(dev); - - bus_release_resource(dev, SYS_RES_MEMORY, PCIR_BAR(0), sc->sc_regs); - mtx_destroy(&sc->sc_lock); - - return (0); -} - -static device_method_t enetc_mdio_pci_methods[] ={ - DEVMETHOD(device_probe, enetc_mdio_pci_probe), - DEVMETHOD(device_attach, enetc_mdio_pci_attach), - DEVMETHOD(device_detach, enetc_mdio_pci_detach), - - DEVMETHOD(miibus_readreg, enetc_mdio_pci_readreg), - DEVMETHOD(miibus_writereg, enetc_mdio_pci_writereg), - - DEVMETHOD_END -}; - -static driver_t enetc_mdio_pci_driver = { - "enetc_mdio", - enetc_mdio_pci_methods, - sizeof(struct enetc_mdio_pci_softc), -}; - -static devclass_t enetc_mdio_pci_devclass; - -DRIVER_MODULE(enetc_mdio, pci, enetc_mdio_pci_driver, - enetc_mdio_pci_devclass, 0, 0); -DRIVER_MODULE(miibus, enetc_mdio, miibus_driver, miibus_devclass, - 0, 0); -MODULE_VERSION(enetc_mdio, 1); diff --git a/sys/modules/Makefile b/sys/modules/Makefile index 6cfeba3f45a7..724dcb694d97 100644 --- a/sys/modules/Makefile +++ b/sys/modules/Makefile @@ -110,7 +110,6 @@ SUBDIR= \ ${_em} \ ${_ena} \ ${_enetc} \ - ${_enetc_mdio} \ esp \ ${_et} \ evdev \ @@ -615,7 +614,6 @@ _armv8crypto= armv8crypto _dwwdt= dwwdt _em= em _enetc= enetc -_enetc_mdio= enetc_mdio _felix= felix _rockchip= rockchip .endif diff --git a/sys/modules/enetc_mdio/Makefile b/sys/modules/enetc_mdio/Makefile deleted file mode 100644 index f448fc526705..000000000000 --- a/sys/modules/enetc_mdio/Makefile +++ /dev/null @@ -1,8 +0,0 @@ -#$FreeBSD$ - -.PATH: ${SRCTOP}/sys/dev/enetc - -KMOD = enetc_mdio -SRCS = enetc_mdio_pci.c enetc_mdio.c - -.include <bsd.kmod.mk>