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>
18 lines
472 B
Text
18 lines
472 B
Text
#
|
|
# Tilera network device configuration
|
|
#
|
|
|
|
config TILE_NET
|
|
tristate "Tilera GBE/XGBE network driver support"
|
|
depends on TILE
|
|
default y
|
|
select CRC32
|
|
select TILE_GXIO_MPIPE if TILEGX
|
|
select HIGH_RES_TIMERS if TILEGX
|
|
imply PTP_1588_CLOCK if TILEGX
|
|
---help---
|
|
This is a standard Linux network device driver for the
|
|
on-chip Tilera Gigabit Ethernet and XAUI interfaces.
|
|
|
|
To compile this driver as a module, choose M here: the module
|
|
will be called tile_net.
|