mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-18 05:36:47 +07:00
d1cbfd771c
In order to break the hard dependency between the PTP clock subsystem and ethernet drivers capable of being clock providers, this patch provides simple PTP stub functions to allow linkage of those drivers into the kernel even when the PTP subsystem is configured out. Drivers must be ready to accept NULL from ptp_clock_register() in that case. And to make it possible for PTP to be configured out, the select statement in those driver's Kconfig menu entries is converted to the new "imply" statement. This way the PTP subsystem may have Kconfig dependencies of its own, such as POSIX_TIMERS, without having to make those ethernet drivers unavailable if POSIX timers are cconfigured out. And when support for POSIX timers is selected again then the default config option for PTP clock support will automatically be adjusted accordingly. The pch_gbe driver is a bit special as it relies on extra code in drivers/ptp/ptp_pch.c. Therefore we let the make process descend into drivers/ptp/ even if PTP_1588_CLOCK is unselected. Signed-off-by: Nicolas Pitre <nico@linaro.org> Acked-by: Richard Cochran <richardcochran@gmail.com> Acked-by: Edward Cree <ecree@solarflare.com> Acked-by: Thomas Gleixner <tglx@linutronix.de> Acked-by: John Stultz <john.stultz@linaro.org> Reviewed-by: Josh Triplett <josh@joshtriplett.org> Cc: Paul Bolle <pebolle@tiscali.nl> Cc: linux-kbuild@vger.kernel.org Cc: netdev@vger.kernel.org Cc: Michal Marek <mmarek@suse.com> Link: http://lkml.kernel.org/r/1478841010-28605-4-git-send-email-nicolas.pitre@linaro.org Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
78 lines
2.0 KiB
Plaintext
78 lines
2.0 KiB
Plaintext
#
|
|
# Cavium ethernet device configuration
|
|
#
|
|
|
|
config NET_VENDOR_CAVIUM
|
|
bool "Cavium ethernet drivers"
|
|
depends on PCI
|
|
default y
|
|
---help---
|
|
Select this option if you want enable Cavium network support.
|
|
|
|
If you have a Cavium SoC or network adapter, say Y.
|
|
|
|
if NET_VENDOR_CAVIUM
|
|
|
|
config THUNDER_NIC_PF
|
|
tristate "Thunder Physical function driver"
|
|
depends on 64BIT
|
|
select THUNDER_NIC_BGX
|
|
---help---
|
|
This driver supports Thunder's NIC physical function.
|
|
The NIC provides the controller and DMA engines to
|
|
move network traffic to/from the memory. The NIC
|
|
works closely with TNS, BGX and SerDes to implement the
|
|
functions replacing and virtualizing those of a typical
|
|
standalone PCIe NIC chip.
|
|
|
|
config THUNDER_NIC_VF
|
|
tristate "Thunder Virtual function driver"
|
|
depends on 64BIT
|
|
---help---
|
|
This driver supports Thunder's NIC virtual function
|
|
|
|
config THUNDER_NIC_BGX
|
|
tristate "Thunder MAC interface driver (BGX)"
|
|
depends on 64BIT
|
|
select PHYLIB
|
|
select MDIO_THUNDER
|
|
select THUNDER_NIC_RGX
|
|
---help---
|
|
This driver supports programming and controlling of MAC
|
|
interface from NIC physical function driver.
|
|
|
|
config THUNDER_NIC_RGX
|
|
tristate "Thunder MAC interface driver (RGX)"
|
|
depends on 64BIT
|
|
select PHYLIB
|
|
select MDIO_THUNDER
|
|
---help---
|
|
This driver supports configuring XCV block of RGX interface
|
|
present on CN81XX chip.
|
|
|
|
config LIQUIDIO
|
|
tristate "Cavium LiquidIO support"
|
|
depends on 64BIT
|
|
imply PTP_1588_CLOCK
|
|
select FW_LOADER
|
|
select LIBCRC32C
|
|
---help---
|
|
This driver supports Cavium LiquidIO Intelligent Server Adapters
|
|
based on CN66XX, CN68XX and CN23XX chips.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called liquidio. This is recommended.
|
|
|
|
config OCTEON_MGMT_ETHERNET
|
|
tristate "Octeon Management port ethernet driver (CN5XXX, CN6XXX)"
|
|
depends on CAVIUM_OCTEON_SOC
|
|
select PHYLIB
|
|
select MDIO_OCTEON
|
|
default y
|
|
help
|
|
Enable the ethernet driver for the management
|
|
port on Cavium Networks' Octeon CN57XX, CN56XX, CN55XX,
|
|
CN54XX, CN52XX, and CN6XXX chips.
|
|
|
|
endif # NET_VENDOR_CAVIUM
|