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>
48 lines
1.6 KiB
Plaintext
48 lines
1.6 KiB
Plaintext
config SFC
|
|
tristate "Solarflare SFC4000/SFC9000/SFC9100-family support"
|
|
depends on PCI
|
|
select MDIO
|
|
select CRC32
|
|
select I2C
|
|
select I2C_ALGOBIT
|
|
imply PTP_1588_CLOCK
|
|
---help---
|
|
This driver supports 10/40-gigabit Ethernet cards based on
|
|
the Solarflare SFC4000, SFC9000-family and SFC9100-family
|
|
controllers.
|
|
|
|
To compile this driver as a module, choose M here. The module
|
|
will be called sfc.
|
|
config SFC_MTD
|
|
bool "Solarflare SFC4000/SFC9000/SFC9100-family MTD support"
|
|
depends on SFC && MTD && !(SFC=y && MTD=m)
|
|
default y
|
|
---help---
|
|
This exposes the on-board flash and/or EEPROM as MTD devices
|
|
(e.g. /dev/mtd1). This is required to update the firmware or
|
|
the boot configuration under Linux.
|
|
config SFC_MCDI_MON
|
|
bool "Solarflare SFC9000/SFC9100-family hwmon support"
|
|
depends on SFC && HWMON && !(SFC=y && HWMON=m)
|
|
default y
|
|
---help---
|
|
This exposes the on-board firmware-managed sensors as a
|
|
hardware monitor device.
|
|
config SFC_SRIOV
|
|
bool "Solarflare SFC9000-family SR-IOV support"
|
|
depends on SFC && PCI_IOV
|
|
default y
|
|
---help---
|
|
This enables support for the SFC9000 I/O Virtualization
|
|
features, allowing accelerated network performance in
|
|
virtualized environments.
|
|
config SFC_MCDI_LOGGING
|
|
bool "Solarflare SFC9000/SFC9100-family MCDI logging support"
|
|
depends on SFC
|
|
default y
|
|
---help---
|
|
This enables support for tracing of MCDI (Management-Controller-to-
|
|
Driver-Interface) commands and responses, allowing debugging of
|
|
driver/firmware interaction. The tracing is actually enabled by
|
|
a sysfs file 'mcdi_logging' under the PCI device.
|