#
# Controller Area Network (CAN) network layer core configuration
#

menuconfig CAN
	depends on NET
	tristate "CAN bus subsystem support"
	---help---
	  Controller Area Network (CAN) is a slow (up to 1Mbit/s) serial
	  communications protocol which was developed by Bosch in
	  1991, mainly for automotive, but now widely used in marine
	  (NMEA2000), industrial, and medical applications.
	  More information on the CAN network protocol family PF_CAN
	  is contained in <Documentation/networking/can.txt>.

	  If you want CAN support you should say Y here and also to the
	  specific driver for your controller(s) below.
