mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-25 08:21:14 +00:00
fd5c168701
This reduces the needed modifications to the mainline Linux kernel and also makes the regmap package work with an out of tree kernel which does not have these modifications. The regmap-core is only added when it is really build as a module. The regmap-core is normally bool so it cannot be built as a module in an unmodified kernel. When it is selected by on other kernel module it will always be selected as build in and it also does not show up in $(LINUX_DIR)/modules.builtin as it is not supposed to be a kernel module. When it is not in $(LINUX_DIR)/modules.builtin the build system expects it to be built as a .ko file. Just check if the module is really there and only add it in that case. This splits the regmap package into multiple packages, one for each bus type. This way only the bus maps which are really needed have to be added. This also splits the I2C, SPI and MMIO regmap into separate packages to not require all these subsystems to build them, on an unmodified upstream kernel this also causes problems in some situations. Signed-off-by: Hauke Mehrtens <hauke.mehrtens@intel.com>
281 lines
7.2 KiB
Makefile
281 lines
7.2 KiB
Makefile
#
|
|
# Copyright (C) 2013 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
#
|
|
|
|
CAN_MENU:=CAN Support
|
|
|
|
define KernelPackage/can
|
|
SUBMENU:=$(CAN_MENU)
|
|
TITLE:=CAN bus support
|
|
KCONFIG:=\
|
|
CONFIG_CAN=m \
|
|
CONFIG_CAN_DEV \
|
|
CONFIG_CAN_CALC_BITTIMING=y \
|
|
CONFIG_CAN_LEDS=y \
|
|
CONFIG_CAN_AT91=n \
|
|
CONFIG_CAN_TI_HECC=n \
|
|
CONFIG_CAN_MCP251X=n \
|
|
CONFIG_CAN_BFIN=n \
|
|
CONFIG_CAN_JANZ_ICAN3=n \
|
|
CONFIG_PCH_CAN=n \
|
|
CONFIG_CAN_GRCAN=n \
|
|
CONFIG_CAN_CC770=n \
|
|
CONFIG_CAN_MSCAN=n \
|
|
CONFIG_CAN_SJA1000=n \
|
|
CONFIG_CAN_SOFTING=n \
|
|
CONFIG_CAN_XILINXCAN=n \
|
|
CONFIG_NET_EMATCH_CANID=n \
|
|
CONFIG_CAN_DEBUG_DEVICES=n
|
|
FILES:=$(LINUX_DIR)/drivers/net/can/can-dev.ko \
|
|
$(LINUX_DIR)/net/can/can.ko
|
|
AUTOLOAD:=$(call AutoProbe,can can-dev)
|
|
endef
|
|
|
|
define KernelPackage/can/description
|
|
Kernel module for CAN bus support.
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can))
|
|
|
|
|
|
define AddDepends/can
|
|
SUBMENU:=$(CAN_MENU)
|
|
DEPENDS+=kmod-can $(1)
|
|
endef
|
|
|
|
|
|
define KernelPackage/can-bcm
|
|
TITLE:=Broadcast Manager CAN Protcol
|
|
KCONFIG:=CONFIG_CAN_BCM
|
|
FILES:=$(LINUX_DIR)/net/can/can-bcm.ko
|
|
AUTOLOAD:=$(call AutoProbe,can-bcm)
|
|
$(call AddDepends/can)
|
|
endef
|
|
|
|
define KernelPackage/can-bcm/description
|
|
The Broadcast Manager offers content filtering, timeout monitoring,
|
|
sending of RTR frames, and cyclic CAN messages without permanent user
|
|
interaction.
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can-bcm))
|
|
|
|
|
|
define KernelPackage/can-c-can
|
|
TITLE:=BOSCH C_CAN/D_CAN drivers
|
|
KCONFIG:=CONFIG_CAN_C_CAN
|
|
FILES:=$(LINUX_DIR)/drivers/net/can/c_can/c_can.ko
|
|
AUTOLOAD:=$(call AutoProbe,c_can)
|
|
$(call AddDepends/can)
|
|
endef
|
|
|
|
define KernelPackage/can-c-can/description
|
|
This driver adds generic support for the C_CAN/D_CAN chips.
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can-c-can))
|
|
|
|
|
|
define KernelPackage/can-c-can-pci
|
|
TITLE:=PCI Bus based BOSCH C_CAN/D_CAN driver
|
|
KCONFIG:=CONFIG_CAN_C_CAN_PCI
|
|
DEPENDS:=kmod-can-c-can @PCI_SUPPORT
|
|
FILES:=$(LINUX_DIR)/drivers/net/can/c_can/c_can_pci.ko
|
|
AUTOLOAD:=$(call AutoProbe,c_can_pci)
|
|
$(call AddDepends/can)
|
|
endef
|
|
|
|
define KernelPackage/can-c-can-pci/description
|
|
This driver adds support for the C_CAN/D_CAN chips connected
|
|
to the PCI bus.
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can-c-can-pci))
|
|
|
|
|
|
define KernelPackage/can-c-can-platform
|
|
TITLE:=Platform Bus based BOSCH C_CAN/D_CAN driver
|
|
KCONFIG:=CONFIG_CAN_C_CAN_PLATFORM
|
|
DEPENDS:=kmod-can-c-can +!LINUX_3_18:kmod-regmap-core
|
|
FILES:=$(LINUX_DIR)/drivers/net/can/c_can/c_can_platform.ko
|
|
AUTOLOAD:=$(call AutoProbe,c_can_platform)
|
|
$(call AddDepends/can)
|
|
endef
|
|
|
|
define KernelPackage/can-c-can-platform/description
|
|
This driver adds support for the C_CAN/D_CAN chips connected
|
|
to the "platform bus" (Linux abstraction for directly to the
|
|
processor attached devices) which can be found on various
|
|
boards from ST Microelectronics (http://www.st.com) like the
|
|
SPEAr1310 and SPEAr320 evaluation boards & TI (www.ti.com)
|
|
boards like am335x, dm814x, dm813x and dm811x.
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can-c-can-platform))
|
|
|
|
|
|
define KernelPackage/can-flexcan
|
|
TITLE:=Support for Freescale FLEXCAN based chips
|
|
KCONFIG:=CONFIG_CAN_FLEXCAN
|
|
FILES:=$(LINUX_DIR)/drivers/net/can/flexcan.ko
|
|
AUTOLOAD:=$(call AutoProbe,flexcan)
|
|
$(call AddDepends/can,@TARGET_imx6)
|
|
endef
|
|
|
|
define KernelPackage/can-flexcan/description
|
|
Freescale FLEXCAN CAN bus controller implementation.
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can-flexcan))
|
|
|
|
|
|
define KernelPackage/can-gw
|
|
TITLE:=CAN Gateway/Router
|
|
KCONFIG:=CONFIG_CAN_GW
|
|
FILES:=$(LINUX_DIR)/net/can/can-gw.ko
|
|
AUTOLOAD:=$(call AutoProbe,can-gw)
|
|
$(call AddDepends/can)
|
|
endef
|
|
|
|
define KernelPackage/can-gw/description
|
|
The CAN Gateway/Router is used to route (and modify) CAN frames.
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can-gw))
|
|
|
|
|
|
define KernelPackage/can-raw
|
|
TITLE:=Raw CAN Protcol
|
|
KCONFIG:=CONFIG_CAN_RAW
|
|
FILES:=$(LINUX_DIR)/net/can/can-raw.ko
|
|
AUTOLOAD:=$(call AutoProbe,can-raw)
|
|
$(call AddDepends/can)
|
|
endef
|
|
|
|
define KernelPackage/can-raw/description
|
|
The raw CAN protocol option offers access to the CAN bus via
|
|
the BSD socket API.
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can-raw))
|
|
|
|
|
|
define KernelPackage/can-slcan
|
|
TITLE:=Serial / USB serial CAN Adaptors (slcan)
|
|
KCONFIG:=CONFIG_CAN_SLCAN
|
|
FILES:=$(LINUX_DIR)/drivers/net/can/slcan.ko
|
|
AUTOLOAD:=$(call AutoProbe,slcan)
|
|
$(call AddDepends/can)
|
|
endef
|
|
|
|
define KernelPackage/can-slcan/description
|
|
CAN driver for several 'low cost' CAN interfaces that are attached
|
|
via serial lines or via USB-to-serial adapters using the LAWICEL
|
|
ASCII protocol.
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can-slcan))
|
|
|
|
|
|
define KernelPackage/can-usb-8dev
|
|
TITLE:=8 devices USB2CAN interface
|
|
KCONFIG:=CONFIG_CAN_8DEV_USB
|
|
FILES:=$(LINUX_DIR)/drivers/net/can/usb/usb_8dev.ko
|
|
AUTOLOAD:=$(call AutoProbe,usb_8dev)
|
|
$(call AddDepends/can,+kmod-usb-core)
|
|
endef
|
|
|
|
define KernelPackage/can-usb-8dev/description
|
|
This driver supports the USB2CAN interface
|
|
from 8 devices (http://www.8devices.com).
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can-usb-8dev))
|
|
|
|
|
|
define KernelPackage/can-usb-ems
|
|
TITLE:=EMS CPC-USB/ARM7 CAN/USB interface
|
|
KCONFIG:=CONFIG_CAN_EMS_USB
|
|
FILES:=$(LINUX_DIR)/drivers/net/can/usb/ems_usb.ko
|
|
AUTOLOAD:=$(call AutoProbe,ems_usb)
|
|
$(call AddDepends/can,+kmod-usb-core)
|
|
endef
|
|
|
|
define KernelPackage/can-usb-ems/description
|
|
This driver is for the one channel CPC-USB/ARM7 CAN/USB interface
|
|
from EMS Dr. Thomas Wuensche (http://www.ems-wuensche.de).
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can-usb-ems))
|
|
|
|
|
|
define KernelPackage/can-usb-esd
|
|
TITLE:=ESD USB/2 CAN/USB interface
|
|
KCONFIG:=CONFIG_CAN_ESD_USB2
|
|
FILES:=$(LINUX_DIR)/drivers/net/can/usb/esd_usb2.ko
|
|
AUTOLOAD:=$(call AutoProbe,esd_usb2)
|
|
$(call AddDepends/can,+kmod-usb-core)
|
|
endef
|
|
|
|
define KernelPackage/can-usb-esd/description
|
|
This driver supports the CAN-USB/2 interface
|
|
from esd electronic system design gmbh (http://www.esd.eu).
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can-usb-esd))
|
|
|
|
|
|
define KernelPackage/can-usb-kvaser
|
|
TITLE:=Kvaser CAN/USB interface
|
|
KCONFIG:=CONFIG_CAN_KVASER_USB
|
|
FILES:= \
|
|
$(LINUX_DIR)/drivers/net/can/usb/kvaser_usb.ko@lt4.19 \
|
|
$(LINUX_DIR)/drivers/net/can/usb/kvaser_usb/kvaser_usb.ko@ge4.19
|
|
AUTOLOAD:=$(call AutoProbe,kvaser_usb)
|
|
$(call AddDepends/can,+kmod-usb-core)
|
|
endef
|
|
|
|
define KernelPackage/can-usb-kvaser/description
|
|
This driver adds support for Kvaser CAN/USB devices like Kvaser
|
|
Leaf Light.
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can-usb-kvaser))
|
|
|
|
|
|
define KernelPackage/can-usb-peak
|
|
TITLE:=PEAK PCAN-USB/USB Pro interfaces
|
|
KCONFIG:=CONFIG_CAN_PEAK_USB
|
|
FILES:=$(LINUX_DIR)/drivers/net/can/usb/peak_usb/peak_usb.ko
|
|
AUTOLOAD:=$(call AutoProbe,peak_usb)
|
|
$(call AddDepends/can,+kmod-usb-core)
|
|
endef
|
|
|
|
define KernelPackage/can-usb-peak/description
|
|
This driver supports the PCAN-USB and PCAN-USB Pro adapters
|
|
from PEAK-System Technik (http://www.peak-system.com).
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can-usb-peak))
|
|
|
|
|
|
define KernelPackage/can-vcan
|
|
TITLE:=Virtual Local CAN Interface (vcan)
|
|
KCONFIG:=CONFIG_CAN_VCAN
|
|
FILES:=$(LINUX_DIR)/drivers/net/can/vcan.ko
|
|
AUTOLOAD:=$(call AutoProbe,vcan)
|
|
$(call AddDepends/can)
|
|
endef
|
|
|
|
define KernelPackage/can-vcan/description
|
|
Similar to the network loopback devices, vcan offers a
|
|
virtual local CAN interface.
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,can-vcan))
|
|
|
|
|