mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-29 18:19:02 +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>
125 lines
3.6 KiB
Makefile
125 lines
3.6 KiB
Makefile
#
|
|
# Copyright (C) 2015 OpenWrt.org
|
|
#
|
|
# This is free software, licensed under the GNU General Public License v2.
|
|
# See /LICENSE for more information.
|
|
|
|
WPAN_MENU:=WPAN 802.15.4 Support
|
|
|
|
define KernelPackage/ieee802154
|
|
SUBMENU:=$(WPAN_MENU)
|
|
TITLE:=IEEE-802.15.4 support
|
|
DEPENDS:=@!LINUX_3_18
|
|
KCONFIG:= \
|
|
CONFIG_IEEE802154 \
|
|
CONFIG_IEEE802154_SOCKET=y \
|
|
CONFIG_IEEE802154_NL802154_EXPERIMENTAL=n
|
|
FILES:= \
|
|
$(LINUX_DIR)/net/ieee802154/ieee802154.ko \
|
|
$(LINUX_DIR)/net/ieee802154/ieee802154_socket.ko@ge4.0
|
|
AUTOLOAD:=$(call AutoLoad,90,ieee802154 ieee802154_socket)
|
|
endef
|
|
|
|
define KernelPackage/ieee802154/description
|
|
IEEE Std 802.15.4 defines a low data rate, low power and low
|
|
complexity short range wireless personal area networks. It was
|
|
designed to organise networks of sensors, switches, etc automation
|
|
devices. Maximum allowed data rate is 250 kb/s and typical personal
|
|
operating space around 10m.
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,ieee802154))
|
|
|
|
define KernelPackage/mac802154
|
|
SUBMENU:=$(WPAN_MENU)
|
|
TITLE:=MAC-802.15.4 support
|
|
DEPENDS:=+kmod-ieee802154 +kmod-crypto-aead +kmod-lib-crc-ccitt @!LINUX_3_18
|
|
KCONFIG:= \
|
|
CONFIG_MAC802154 \
|
|
CONFIG_IEEE802154_DRIVERS=y
|
|
FILES:=$(LINUX_DIR)/net/mac802154/mac802154.ko
|
|
AUTOLOAD:=$(call AutoLoad,91,mac802154)
|
|
endef
|
|
|
|
define KernelPackage/mac802154/description
|
|
This option enables the hardware independent IEEE 802.15.4
|
|
networking stack for SoftMAC devices (the ones implementing
|
|
only PHY level of IEEE 802.15.4 standard).
|
|
|
|
Note: this implementation is neither certified, nor feature
|
|
complete! Compatibility with other implementations hasn't
|
|
been tested yet!
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,mac802154))
|
|
|
|
define KernelPackage/fakelb
|
|
SUBMENU:=$(WPAN_MENU)
|
|
TITLE:=Fake LR-WPAN driver
|
|
DEPENDS:=+kmod-mac802154 @!LINUX_3_18
|
|
KCONFIG:=CONFIG_IEEE802154_FAKELB
|
|
FILES:=$(LINUX_DIR)/drivers/net/ieee802154/fakelb.ko
|
|
AUTOLOAD:=$(call AutoLoad,92,fakelb)
|
|
endef
|
|
|
|
define KernelPackage/fakelb/description
|
|
Say Y here to enable the fake driver that can emulate a net
|
|
of several interconnected radio devices.
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,fakelb))
|
|
|
|
define KernelPackage/at86rf230
|
|
SUBMENU:=$(WPAN_MENU)
|
|
TITLE:=AT86RF230 transceiver driver
|
|
DEPENDS:=+kmod-mac802154 +kmod-regmap-spi
|
|
KCONFIG:=CONFIG_IEEE802154_AT86RF230 \
|
|
CONFIG_IEEE802154_AT86RF230_DEBUGFS=n \
|
|
CONFIG_SPI=y \
|
|
CONFIG_SPI_MASTER=y
|
|
FILES:=$(LINUX_DIR)/drivers/net/ieee802154/at86rf230.ko
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,at86rf230))
|
|
|
|
define KernelPackage/mrf24j40
|
|
SUBMENU:=$(WPAN_MENU)
|
|
TITLE:=MRF24J40 transceiver driver
|
|
DEPENDS:=+kmod-mac802154 +kmod-regmap-spi
|
|
KCONFIG:=CONFIG_IEEE802154_MRF24J40 \
|
|
CONFIG_SPI=y \
|
|
CONFIG_SPI_MASTER=y
|
|
FILES:=$(LINUX_DIR)/drivers/net/ieee802154/mrf24j40.ko
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,mrf24j40))
|
|
|
|
define KernelPackage/cc2520
|
|
SUBMENU:=$(WPAN_MENU)
|
|
TITLE:=CC2520 transceiver driver
|
|
DEPENDS:=+kmod-mac802154
|
|
KCONFIG:=CONFIG_IEEE802154_CC2520 \
|
|
CONFIG_SPI=y \
|
|
CONFIG_SPI_MASTER=y
|
|
FILES:=$(LINUX_DIR)/drivers/net/ieee802154/cc2520.ko
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,cc2520))
|
|
|
|
define KernelPackage/ieee802154_6lowpan
|
|
SUBMENU:=$(WPAN_MENU)
|
|
TITLE:= 6LoWPAN support over IEEE-802.15.4
|
|
DEPENDS:=@!LINUX_3_18 +kmod-6lowpan +kmod-ieee802154
|
|
KCONFIG:=CONFIG_IEEE802154_6LOWPAN
|
|
FILES:= \
|
|
$(LINUX_DIR)/net/ieee802154/6lowpan/ieee802154_6lowpan.ko@ge4.0 \
|
|
$(LINUX_DIR)/net/ieee802154/ieee802154_6lowpan.ko@lt4.0
|
|
AUTOLOAD:=$(call AutoLoad,91,ieee802154_6lowpan)
|
|
endef
|
|
|
|
define KernelPackage/ieee802154_6lowpan/description
|
|
IPv6 compression over IEEE 802.15.4
|
|
endef
|
|
|
|
$(eval $(call KernelPackage,ieee802154_6lowpan))
|