From 3fe7f283824a7afb6ffe22a904d57b28a9b69a72 Mon Sep 17 00:00:00 2001 From: Scott Murray Date: Wed, 6 Nov 2019 16:14:57 -0500 Subject: [PATCH] Update LIN demo to use lin-config Changes include: - Add patch to fix lin-config recipe build QA error. - Tweak lin-config recipe to install lin_config as executable. - Rework sllin-demo systemd unit and start_lin_demo.sh script to use lin_config with an appropriate configuration file that enables polling of the steering wheel adapter instead of just using ldattach. Bug-AGL: SPEC-2918 Change-Id: I3258b7e34cecbbb1cfb93ea6f63a44f0bbb2c06f Signed-off-by: Scott Murray --- recipes-kernel/sllin/files/lin_config.conf | 10 ++++++++++ recipes-kernel/sllin/files/sllin-demo.service | 6 +++--- recipes-kernel/sllin/files/start_lin_demo.sh | 7 +++++-- recipes-kernel/sllin/sllin.bb | 7 ++++++- .../files/0002-Change-Makefile-to-use-LDFLAGS.patch | 20 ++++++++++++++++++++ recipes-support/lin-config/lin-config_git.bb | 8 +++----- 6 files changed, 47 insertions(+), 11 deletions(-) create mode 100644 recipes-kernel/sllin/files/lin_config.conf mode change 100755 => 100644 recipes-kernel/sllin/files/start_lin_demo.sh create mode 100644 recipes-support/lin-config/files/0002-Change-Makefile-to-use-LDFLAGS.patch diff --git a/recipes-kernel/sllin/files/lin_config.conf b/recipes-kernel/sllin/files/lin_config.conf new file mode 100644 index 000000000..9775b8b39 --- /dev/null +++ b/recipes-kernel/sllin/files/lin_config.conf @@ -0,0 +1,10 @@ + + + + + + + 33 + + + diff --git a/recipes-kernel/sllin/files/sllin-demo.service b/recipes-kernel/sllin/files/sllin-demo.service index 7eb6cfac4..2f2f5ac23 100644 --- a/recipes-kernel/sllin/files/sllin-demo.service +++ b/recipes-kernel/sllin/files/sllin-demo.service @@ -1,13 +1,13 @@ [Unit] -Description = LIN DEMO startup +Description=LIN demo configuration +ConditionPathExists=/dev/ttyUSB0 After=afm-system-daemon.service [Service] Type=forking -PIDFile=/var/run/lin_ldattach +PIDFile=/var/run/lin_config.pid ExecStart=/usr/bin/start_lin_demo.sh RemainAfterExit=yes - [Install] WantedBy=multi-user.target diff --git a/recipes-kernel/sllin/files/start_lin_demo.sh b/recipes-kernel/sllin/files/start_lin_demo.sh old mode 100755 new mode 100644 index 741189fb7..4fcfcc6d2 --- a/recipes-kernel/sllin/files/start_lin_demo.sh +++ b/recipes-kernel/sllin/files/start_lin_demo.sh @@ -1,10 +1,13 @@ #!/bin/sh +# Attach serial LIN->CAN bridge and set up LIN polling sleep 1 -ldattach 25 /dev/ttySC3 -pidof ldattach > /var/run/lin_ldattach +/usr/bin/lin_config -c /etc/lin_config.conf -a sllin:/dev/ttyUSB0 +pidof lin_config > /var/run/lin_config.pid sleep 1 ip link set sllin0 up + +# Initialize HVAC controller usleep 100000 cansend sllin0 030# usleep 100000 diff --git a/recipes-kernel/sllin/sllin.bb b/recipes-kernel/sllin/sllin.bb index 6213fd967..0478b21a7 100644 --- a/recipes-kernel/sllin/sllin.bb +++ b/recipes-kernel/sllin/sllin.bb @@ -19,6 +19,7 @@ SRC_URI_append = " \ file://0001-Disable-sllin-driver-debug-log.patch;pnum=2 \ file://sllin-demo.service \ file://start_lin_demo.sh \ + file://lin_config.conf \ " KERNEL_MODULE_AUTOLOAD_append = " sllin" @@ -34,6 +35,10 @@ do_install_append () { install -m 755 ${WORKDIR}/start_lin_demo.sh ${D}/${bindir}/start_lin_demo.sh install -d ${D}${systemd_system_unitdir} install -m 0644 ${WORKDIR}/sllin-demo.service ${D}${systemd_system_unitdir}/ + install -d ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/lin_config.conf ${D}${sysconfdir}/ } -FILES_${PN}_append = " ${bindir}/start_lin_demo.sh" +FILES_${PN} += "${bindir}/start_lin_demo.sh ${sysconfdir}/lin_config.conf" + +RDEPENDS_${PN} += "lin-config" diff --git a/recipes-support/lin-config/files/0002-Change-Makefile-to-use-LDFLAGS.patch b/recipes-support/lin-config/files/0002-Change-Makefile-to-use-LDFLAGS.patch new file mode 100644 index 000000000..26364455a --- /dev/null +++ b/recipes-support/lin-config/files/0002-Change-Makefile-to-use-LDFLAGS.patch @@ -0,0 +1,20 @@ +Use LDFLAGS when linking + +Use LDFLAGS when linking the output binary to quiet QA warnings due to +missing link flags. + +Upstream-Status: Pending + +Signed-off-by: Scott Murray + +--- a/Makefile 2019-11-05 11:08:11.060565285 +0000 ++++ b/Makefile 2019-11-05 11:09:38.663570084 +0000 +@@ -6,7 +6,7 @@ + objects = linc_parse_xml.o pcl_config.o sllin_config.o lin_config.o + + lin_config: $(objects) +- $(CC) $(objects) $(LIBS) -o lin_config ++ $(CC) $(LDFLAGS) $(objects) $(LIBS) -o lin_config + + %.o : %.c %.h + $(CC) $(CFLAGS) $(LIBS) -c $< -o $@ diff --git a/recipes-support/lin-config/lin-config_git.bb b/recipes-support/lin-config/lin-config_git.bb index 6c8db847d..e83f71606 100644 --- a/recipes-support/lin-config/lin-config_git.bb +++ b/recipes-support/lin-config/lin-config_git.bb @@ -2,7 +2,6 @@ DESCRIPTION = "lin-config tool for the sllin driver module" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6" - DEPENDS += "libnl libxml2" SRC_URI = "git://github.com/trainman419/linux-lin.git;protocol=https" @@ -11,17 +10,16 @@ S = "${WORKDIR}/git/lin_config/src" SRC_URI_append = " \ file://0001-Change-Makefile-to-use-pkg-config-for-libxml-2.0.patch \ + file://0002-Change-Makefile-to-use-LDFLAGS.patch \ " inherit pkgconfig PV = "0.1+git${SRCPV}" - do_configure[noexec] = "1" do_install_append() { - install -d ${D}/${bindir} - install -m 644 ${S}/lin_config ${D}/${bindir} -} \ No newline at end of file + install -m 755 ${S}/lin_config ${D}/${bindir} +} -- 2.16.6