Commit 6cb26103 authored by Gustavo Zacarias's avatar Gustavo Zacarias Committed by Thomas Petazzoni
Browse files

spidev_test: new package



[Thomas: instead of building spidev_test directly from the source in
$(BR2_DL_DIR), use SPIDEV_TEST_EXTRACT_CMDS to copy the downloaded
source to the build directory, and build it from here. Allows to
manually tweak the source in the build directory for testing, allows
to apply patches over the source if needed, etc.]

Signed-off-by: default avatarGustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: default avatarThomas Petazzoni <thomas.petazzoni@free-electrons.com>
parent 7b98c99a
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -85,6 +85,7 @@ endif
	source "package/ramsmp/Config.in"
	source "package/ramspeed/Config.in"
	source "package/rt-tests/Config.in"
	source "package/spidev_test/Config.in"
	source "package/strace/Config.in"
	source "package/stress/Config.in"
	source "package/sysprof/Config.in"
+17 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_SPIDEV_TEST
	bool "spidev_test"
	help
	  SPI testing utility (using spidev driver).

	  This package builds and installs the userspace 'spidev_test'
	  command. It is up to the user to ensure that the kernel
	  configuration has all suitable options enabled to allow a
	  proper operation of 'spidev_test'.

	  The version used is based on your toolchain headers version,
	  if it's older than 3.15 then 3.0 is used, otherwise 3.15
	  is used.
	  This means you won't have quad-pumped SPI support if your
	  toolchain is too old.

	  https://www.kernel.org/doc/Documentation/spi/spidev_test.c
+33 −0
Original line number Diff line number Diff line
################################################################################
#
# spidev_test
#
################################################################################

# v3.15+ requires SPI_TX_QUAD/SPI_RX_QUAD to build
# Normally kernel headers can't be newer than kernel so switch based on that.
# If you need quad-pumped spi support you need to upgrade your toolchain.
ifeq ($(BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_15),y)
SPIDEV_TEST_VERSION = v3.15
else
SPIDEV_TEST_VERSION = v3.0
endif
SPIDEV_TEST_SITE = http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/spi
SPIDEV_TEST_SOURCE = spidev_test.c?id=$(SPIDEV_TEST_VERSION)
SPIDEV_TEST_LICENSE = GPLv2

define SPIDEV_TEST_EXTRACT_CMDS
	cp $(BR2_DL_DIR)/$(SPIDEV_TEST_SOURCE) $(@D)/spidev_test.c
endef

define SPIDEV_TEST_BUILD_CMDS
	$(TARGET_MAKE_ENV) $(TARGET_CC) $(TARGET_CFLAGS) \
		-o $(@D)/spidev_test $(@D)/spidev_test.c
endef

define SPIDEV_TEST_INSTALL_TARGET_CMDS
	$(INSTALL) -D -m 755 $(@D)/spidev_test \
		$(TARGET_DIR)/usr/sbin/spidev_test
endef

$(eval $(generic-package))