* [Buildroot] [PATCH] package/sema-linux-ec: add ADLINK sema drivers package @ 2025-12-23 22:14 Thomas Devoogdt 2026-03-09 7:51 ` [Buildroot] [PATCH v2] package/sema-linux-ec: add new adlink " Thomas Devoogdt 0 siblings, 1 reply; 9+ messages in thread From: Thomas Devoogdt @ 2025-12-23 22:14 UTC (permalink / raw) To: buildroot; +Cc: Thomas Petazzoni, Devreese Jorik From: Devreese Jorik <jorik.devreese@barco.com> Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> --- package/Config.in | 1 + package/sema-linux-ec/Config.in | 13 ++++++++++++ package/sema-linux-ec/sema-linux-ec.hash | 7 ++++++ package/sema-linux-ec/sema-linux-ec.mk | 27 ++++++++++++++++++++++++ 4 files changed, 48 insertions(+) create mode 100644 package/sema-linux-ec/Config.in create mode 100644 package/sema-linux-ec/sema-linux-ec.hash create mode 100644 package/sema-linux-ec/sema-linux-ec.mk diff --git a/package/Config.in b/package/Config.in index 22970b4d45a..edafe20eefe 100644 --- a/package/Config.in +++ b/package/Config.in @@ -608,6 +608,7 @@ endmenu source "package/sane-backends/Config.in" source "package/sdparm/Config.in" source "package/sedutil/Config.in" + source "package/sema-linux-ec/Config.in" source "package/setserial/Config.in" source "package/sg3_utils/Config.in" source "package/sigrok-cli/Config.in" diff --git a/package/sema-linux-ec/Config.in b/package/sema-linux-ec/Config.in new file mode 100644 index 00000000000..664f24ebe55 --- /dev/null +++ b/package/sema-linux-ec/Config.in @@ -0,0 +1,13 @@ +config BR2_PACKAGE_SEMA_LINUX_EC + bool "sema-linux-ec" + depends on !BR2_s390x + depends on BR2_LINUX_KERNEL + help + ADLINK SEMA Linux EC drivers. + Provides support for embedded controller functionality on + ADLINK embedded computing platforms. + + https://github.com/ADLINK/sema-linux-ec + +comment "sema-linux-ec needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL diff --git a/package/sema-linux-ec/sema-linux-ec.hash b/package/sema-linux-ec/sema-linux-ec.hash new file mode 100644 index 00000000000..460edba0a88 --- /dev/null +++ b/package/sema-linux-ec/sema-linux-ec.hash @@ -0,0 +1,7 @@ +# sha256 locally computed: https://github.com/ADLINK/sema-linux-ec/archive/v4.3.11/sema-linux-ec-v4.3.11.tar.gz +sha256 5ea7379f94d21a3f92d97631b7ee28912be4990e4708d47bff44aa4f4ca9784f sema-linux-ec-v4.3.11.tar.gz + +# hash for the license files, locally computed: +sha256 c45298c445058c0f8413c94be71ecedd55f306f3149ed2aea90b0e098ddc8810 LICENSE.BSD3 +sha256 2358eef45f799ab496fe93f4791f509524d3d65ca046e562706e62d72f738f20 LICENSE.dual +sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 LICENSE.GPLv2 diff --git a/package/sema-linux-ec/sema-linux-ec.mk b/package/sema-linux-ec/sema-linux-ec.mk new file mode 100644 index 00000000000..427ee09943d --- /dev/null +++ b/package/sema-linux-ec/sema-linux-ec.mk @@ -0,0 +1,27 @@ +################################################################################ +# +# sema-linux-ec +# +################################################################################ + +SEMA_LINUX_EC_VERSION = v4.3.11 +SEMA_LINUX_EC_SITE = $(call github,ADLINK,sema-linux-ec,$(SEMA_LINUX_EC_VERSION)) +SEMA_LINUX_EC_LICENSE = GPL-2.0 +SEMA_LINUX_EC_LICENSE_FILES = LICENSE + +SEMA_LINUX_EC_MAKE_OPTS = KERNELDIR=$(LINUX_DIR) + +define SEMA_LINUX_EC_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_BACKLIGHT_CLASS_DEVICE) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIO_SYSFS) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIOLIB) + $(call KCONFIG_ENABLE_OPT,CONFIG_HWMON) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C_BOARDINFO) + $(call KCONFIG_ENABLE_OPT,CONFIG_NVMEM) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG_CORE) +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v2] package/sema-linux-ec: add new adlink sema drivers package 2025-12-23 22:14 [Buildroot] [PATCH] package/sema-linux-ec: add ADLINK sema drivers package Thomas Devoogdt @ 2026-03-09 7:51 ` Thomas Devoogdt 2026-03-09 15:57 ` [Buildroot] [PATCH v3] " Thomas Devoogdt 0 siblings, 1 reply; 9+ messages in thread From: Thomas Devoogdt @ 2026-03-09 7:51 UTC (permalink / raw) To: thomas; +Cc: buildroot, jorik.devreese, thomas.petazzoni From: Devreese Jorik <jorik.devreese@barco.com> SEMA (Smart Embedded Management Agent) is an agent used to manage system health and access the I/O pins through an API. Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> --- v2: reworked patch - Added user sw step. - Fixed help text. - Fixed hash and license info. --- package/Config.in | 1 + ...CC-variable-instead-of-hardcoded-gcc.patch | 54 +++++++++++++++++++ package/sema-linux-ec/Config.in | 12 +++++ package/sema-linux-ec/sema-linux-ec.hash | 5 ++ package/sema-linux-ec/sema-linux-ec.mk | 40 ++++++++++++++ 5 files changed, 112 insertions(+) create mode 100644 package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch create mode 100644 package/sema-linux-ec/Config.in create mode 100644 package/sema-linux-ec/sema-linux-ec.hash create mode 100644 package/sema-linux-ec/sema-linux-ec.mk diff --git a/package/Config.in b/package/Config.in index 07d7e49ae7b..ef1920edb58 100644 --- a/package/Config.in +++ b/package/Config.in @@ -604,6 +604,7 @@ endmenu source "package/sane-backends/Config.in" source "package/sdparm/Config.in" source "package/sedutil/Config.in" + source "package/sema-linux-ec/Config.in" source "package/setserial/Config.in" source "package/sg3_utils/Config.in" source "package/sigrok-cli/Config.in" diff --git a/package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch b/package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch new file mode 100644 index 00000000000..0b8fa8e2a78 --- /dev/null +++ b/package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch @@ -0,0 +1,54 @@ +From b0fe05883637d006a7f958a9e735b84f4ba6ba90 Mon Sep 17 00:00:00 2001 +From: Devreese Jorik <jorik.devreese@barco.com> +Date: Mon, 19 Jan 2026 15:00:00 +0000 +Subject: [PATCH] Makefile: use CC variable instead of hardcoded gcc + +Allow the compiler to be overridden via the CC variable for +cross-compilation support. + +Upstream: https://github.com/ADLINK/sema-linux-ec/pull/14 +Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> +Signed-off-by: Hendrik De Vloed <hendrik.devloed@dekimo.com> +Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> +--- + Makefile | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Makefile b/Makefile +index 440e377..ad02cf9 100644 +--- a/Makefile ++++ b/Makefile +@@ -25,7 +25,7 @@ all: libsema.so semautil wdogtest modules + driver: modules + + libsema.so: $(SEMA_OBJS) +- @gcc -shared -fPIC -g -o lib/$@ $^ ++ @$(CC) -shared -fPIC -g -o lib/$@ $^ + + modules: + @make -C /lib/modules/`uname -r`/build M=`pwd` $@ +@@ -91,16 +91,16 @@ app_clean: + @rm -f semautil wdogtest app/*.o lib/*.o lib/*.so + + semautil: $(APP_OBJS) +- @gcc -g -o $@ $^ -Llib -lsema -luuid ++ @$(CC) -g -o $@ $^ -Llib -lsema -luuid + + wdogtest: $(WDOG_OBJS) +- @gcc $^ -g -o $@ ++ @$(CC) $^ -g -o $@ + + lib/%.o: lib/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ + + app/%.o: app/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ + + watchdogtest/%.o: watchdogtest/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ +-- +2.43.0 + diff --git a/package/sema-linux-ec/Config.in b/package/sema-linux-ec/Config.in new file mode 100644 index 00000000000..8d6d0e17a53 --- /dev/null +++ b/package/sema-linux-ec/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_SEMA_LINUX_EC + bool "sema-linux-ec" + depends on !BR2_s390x + depends on BR2_LINUX_KERNEL + help + SEMA (Smart Embedded Management Agent) is an agent used to + manage system health and access the I/O pins through an API. + + https://github.com/ADLINK/sema-linux-ec + +comment "sema-linux-ec needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL diff --git a/package/sema-linux-ec/sema-linux-ec.hash b/package/sema-linux-ec/sema-linux-ec.hash new file mode 100644 index 00000000000..d32864316e1 --- /dev/null +++ b/package/sema-linux-ec/sema-linux-ec.hash @@ -0,0 +1,5 @@ +# locally computed +sha256 daef5a95e686ce1fa59511280759ccdaf59d41eb698b7c5df0a35e98c0718127 sema-linux-ec-v4.3.12.tar.gz +sha256 c45298c445058c0f8413c94be71ecedd55f306f3149ed2aea90b0e098ddc8810 LICENSE.BSD3 +sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 LICENSE.GPLv2 +sha256 2358eef45f799ab496fe93f4791f509524d3d65ca046e562706e62d72f738f20 LICENSE.dual diff --git a/package/sema-linux-ec/sema-linux-ec.mk b/package/sema-linux-ec/sema-linux-ec.mk new file mode 100644 index 00000000000..475f8a8c371 --- /dev/null +++ b/package/sema-linux-ec/sema-linux-ec.mk @@ -0,0 +1,40 @@ +################################################################################ +# +# sema-linux-ec +# +################################################################################ + +SEMA_LINUX_EC_VERSION = v4.3.12 +SEMA_LINUX_EC_SITE = $(call github,ADLINK,sema-linux-ec,$(SEMA_LINUX_EC_VERSION)) +SEMA_LINUX_EC_LICENSE = BSD-3-Clause or GPL-2.0 +SEMA_LINUX_EC_LICENSE_FILES = LICENSE.BSD3 LICENSE.GPLv2 LICENSE.dual + +SEMA_LINUX_EC_MAKE_OPTS = \ + $(LINUX_MAKE_FLAGS) \ + KERNELDIR=$(LINUX_DIR) + +define SEMA_LINUX_EC_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(SEMA_LINUX_EC_MAKE_OPTS) -C $(@D) \ + libsema.so semautil wdogtest +endef + +define SEMA_LINUX_EC_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/lib/libsema.so $(TARGET_DIR)/usr/lib/libsema.so + $(INSTALL) -D -m 0755 $(@D)/semautil $(TARGET_DIR)/usr/bin/semautil + $(INSTALL) -D -m 0755 $(@D)/wdogtest $(TARGET_DIR)/usr/bin/wdogtest +endef + +define SEMA_LINUX_EC_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_BACKLIGHT_CLASS_DEVICE) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIO_SYSFS) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIOLIB) + $(call KCONFIG_ENABLE_OPT,CONFIG_HWMON) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C_BOARDINFO) + $(call KCONFIG_ENABLE_OPT,CONFIG_NVMEM) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG_CORE) +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v3] package/sema-linux-ec: add new adlink sema drivers package 2026-03-09 7:51 ` [Buildroot] [PATCH v2] package/sema-linux-ec: add new adlink " Thomas Devoogdt @ 2026-03-09 15:57 ` Thomas Devoogdt 2026-03-09 21:10 ` [Buildroot] [PATCH v4] " Thomas Devoogdt 0 siblings, 1 reply; 9+ messages in thread From: Thomas Devoogdt @ 2026-03-09 15:57 UTC (permalink / raw) To: thomas; +Cc: buildroot, jorik.devreese, thomas.petazzoni From: Devreese Jorik <jorik.devreese@barco.com> SEMA (Smart Embedded Management Agent) is an agent used to manage system health and access the I/O pins through an API. Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> --- v2: reworked patch - added user sw step - fixed help text - fixed hash and license info v3: fixed build args --- package/Config.in | 1 + ...CC-variable-instead-of-hardcoded-gcc.patch | 54 +++++++++++++++++++ package/sema-linux-ec/Config.in | 12 +++++ package/sema-linux-ec/sema-linux-ec.hash | 5 ++ package/sema-linux-ec/sema-linux-ec.mk | 36 +++++++++++++ 5 files changed, 108 insertions(+) create mode 100644 package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch create mode 100644 package/sema-linux-ec/Config.in create mode 100644 package/sema-linux-ec/sema-linux-ec.hash create mode 100644 package/sema-linux-ec/sema-linux-ec.mk diff --git a/package/Config.in b/package/Config.in index 0da9dc29287..ae32bcdd055 100644 --- a/package/Config.in +++ b/package/Config.in @@ -604,6 +604,7 @@ endmenu source "package/sane-backends/Config.in" source "package/sdparm/Config.in" source "package/sedutil/Config.in" + source "package/sema-linux-ec/Config.in" source "package/setserial/Config.in" source "package/sg3_utils/Config.in" source "package/sigrok-cli/Config.in" diff --git a/package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch b/package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch new file mode 100644 index 00000000000..0b8fa8e2a78 --- /dev/null +++ b/package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch @@ -0,0 +1,54 @@ +From b0fe05883637d006a7f958a9e735b84f4ba6ba90 Mon Sep 17 00:00:00 2001 +From: Devreese Jorik <jorik.devreese@barco.com> +Date: Mon, 19 Jan 2026 15:00:00 +0000 +Subject: [PATCH] Makefile: use CC variable instead of hardcoded gcc + +Allow the compiler to be overridden via the CC variable for +cross-compilation support. + +Upstream: https://github.com/ADLINK/sema-linux-ec/pull/14 +Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> +Signed-off-by: Hendrik De Vloed <hendrik.devloed@dekimo.com> +Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> +--- + Makefile | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Makefile b/Makefile +index 440e377..ad02cf9 100644 +--- a/Makefile ++++ b/Makefile +@@ -25,7 +25,7 @@ all: libsema.so semautil wdogtest modules + driver: modules + + libsema.so: $(SEMA_OBJS) +- @gcc -shared -fPIC -g -o lib/$@ $^ ++ @$(CC) -shared -fPIC -g -o lib/$@ $^ + + modules: + @make -C /lib/modules/`uname -r`/build M=`pwd` $@ +@@ -91,16 +91,16 @@ app_clean: + @rm -f semautil wdogtest app/*.o lib/*.o lib/*.so + + semautil: $(APP_OBJS) +- @gcc -g -o $@ $^ -Llib -lsema -luuid ++ @$(CC) -g -o $@ $^ -Llib -lsema -luuid + + wdogtest: $(WDOG_OBJS) +- @gcc $^ -g -o $@ ++ @$(CC) $^ -g -o $@ + + lib/%.o: lib/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ + + app/%.o: app/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ + + watchdogtest/%.o: watchdogtest/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ +-- +2.43.0 + diff --git a/package/sema-linux-ec/Config.in b/package/sema-linux-ec/Config.in new file mode 100644 index 00000000000..8d6d0e17a53 --- /dev/null +++ b/package/sema-linux-ec/Config.in @@ -0,0 +1,12 @@ +config BR2_PACKAGE_SEMA_LINUX_EC + bool "sema-linux-ec" + depends on !BR2_s390x + depends on BR2_LINUX_KERNEL + help + SEMA (Smart Embedded Management Agent) is an agent used to + manage system health and access the I/O pins through an API. + + https://github.com/ADLINK/sema-linux-ec + +comment "sema-linux-ec needs a Linux kernel to be built" + depends on !BR2_LINUX_KERNEL diff --git a/package/sema-linux-ec/sema-linux-ec.hash b/package/sema-linux-ec/sema-linux-ec.hash new file mode 100644 index 00000000000..d32864316e1 --- /dev/null +++ b/package/sema-linux-ec/sema-linux-ec.hash @@ -0,0 +1,5 @@ +# locally computed +sha256 daef5a95e686ce1fa59511280759ccdaf59d41eb698b7c5df0a35e98c0718127 sema-linux-ec-v4.3.12.tar.gz +sha256 c45298c445058c0f8413c94be71ecedd55f306f3149ed2aea90b0e098ddc8810 LICENSE.BSD3 +sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 LICENSE.GPLv2 +sha256 2358eef45f799ab496fe93f4791f509524d3d65ca046e562706e62d72f738f20 LICENSE.dual diff --git a/package/sema-linux-ec/sema-linux-ec.mk b/package/sema-linux-ec/sema-linux-ec.mk new file mode 100644 index 00000000000..425496916cf --- /dev/null +++ b/package/sema-linux-ec/sema-linux-ec.mk @@ -0,0 +1,36 @@ +################################################################################ +# +# sema-linux-ec +# +################################################################################ + +SEMA_LINUX_EC_VERSION = v4.3.12 +SEMA_LINUX_EC_SITE = $(call github,ADLINK,sema-linux-ec,$(SEMA_LINUX_EC_VERSION)) +SEMA_LINUX_EC_LICENSE = BSD-3-Clause or GPL-2.0 +SEMA_LINUX_EC_LICENSE_FILES = LICENSE.BSD3 LICENSE.GPLv2 LICENSE.dual + +define SEMA_LINUX_EC_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ + libsema.so semautil wdogtest +endef + +define SEMA_LINUX_EC_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/lib/libsema.so $(TARGET_DIR)/usr/lib/libsema.so + $(INSTALL) -D -m 0755 $(@D)/semautil $(TARGET_DIR)/usr/bin/semautil + $(INSTALL) -D -m 0755 $(@D)/wdogtest $(TARGET_DIR)/usr/bin/wdogtest +endef + +define SEMA_LINUX_EC_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_BACKLIGHT_CLASS_DEVICE) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIO_SYSFS) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIOLIB) + $(call KCONFIG_ENABLE_OPT,CONFIG_HWMON) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C_BOARDINFO) + $(call KCONFIG_ENABLE_OPT,CONFIG_NVMEM) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG_CORE) +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v4] package/sema-linux-ec: add new adlink sema drivers package 2026-03-09 15:57 ` [Buildroot] [PATCH v3] " Thomas Devoogdt @ 2026-03-09 21:10 ` Thomas Devoogdt 2026-03-10 9:09 ` [Buildroot] [PATCH v5] " Thomas Devoogdt 0 siblings, 1 reply; 9+ messages in thread From: Thomas Devoogdt @ 2026-03-09 21:10 UTC (permalink / raw) To: thomas; +Cc: buildroot, jorik.devreese, thomas.petazzoni From: Devreese Jorik <jorik.devreese@barco.com> SEMA (Smart Embedded Management Agent) is an agent used to manage system health and access the I/O pins through an API. Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> --- v2: reworked patch - added user sw step - fixed help text - fixed hash and license info v3: fixed build args v4: fix missing util-linux dependency --> Actually, I found this missing dependency after removing `$(eval $(kernel-module))` and the kernel dependency, only then I was able to run `./utils/test-pkg -p sema-linux-ec -a`. So there is not really a way to check for the generic package compilation by using `./utils/test-pkg` when there is a kernel-module defined. We should perhaps fix that. $ ./utils/test-pkg -p sema-linux-ec -a arm-aarch64 [ 1/32]: OK bootlin-aarch64-glibc [ 2/32]: OK bootlin-aarch64-glibc-old [ 3/32]: OK bootlin-arcle-hs38-uclibc [ 4/32]: OK bootlin-armv5-uclibc [ 5/32]: OK bootlin-armv7-glibc [ 6/32]: OK bootlin-armv7m-uclibc [ 7/32]: SKIPPED bootlin-armv7-musl [ 8/32]: OK bootlin-m68k-5208-uclibc [ 9/32]: SKIPPED bootlin-m68k-68040-uclibc [10/32]: OK bootlin-microblazeel-uclibc [11/32]: OK bootlin-mips64el-glibc [12/32]: OK bootlin-mipsel32r6-glibc [13/32]: OK bootlin-mipsel-uclibc [14/32]: OK bootlin-openrisc-uclibc [15/32]: OK bootlin-powerpc64le-power8-glibc [16/32]: OK bootlin-powerpc-e500mc-uclibc [17/32]: OK bootlin-riscv32-glibc [18/32]: OK bootlin-riscv64-glibc [19/32]: OK bootlin-riscv64-musl [20/32]: OK bootlin-s390x-z13-glibc [21/32]: OK bootlin-sh4-uclibc [22/32]: OK bootlin-sparc64-glibc [23/32]: OK bootlin-sparc-uclibc [24/32]: OK bootlin-x86-64-glibc [25/32]: OK bootlin-x86-64-musl [26/32]: OK bootlin-x86-64-uclibc [27/32]: OK bootlin-x86-i686-musl [28/32]: OK bootlin-xtensa-uclibc [29/32]: OK br-arm-basic [30/32]: OK br-arm-full-nothread [31/32]: OK br-arm-full-static [32/32]: SKIPPED 32 builds, 3 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed --- package/Config.in | 1 + ...CC-variable-instead-of-hardcoded-gcc.patch | 54 +++++++++++++++++++ package/sema-linux-ec/Config.in | 14 +++++ package/sema-linux-ec/sema-linux-ec.hash | 5 ++ package/sema-linux-ec/sema-linux-ec.mk | 37 +++++++++++++ 5 files changed, 111 insertions(+) create mode 100644 package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch create mode 100644 package/sema-linux-ec/Config.in create mode 100644 package/sema-linux-ec/sema-linux-ec.hash create mode 100644 package/sema-linux-ec/sema-linux-ec.mk diff --git a/package/Config.in b/package/Config.in index 0da9dc29287..ae32bcdd055 100644 --- a/package/Config.in +++ b/package/Config.in @@ -604,6 +604,7 @@ endmenu source "package/sane-backends/Config.in" source "package/sdparm/Config.in" source "package/sedutil/Config.in" + source "package/sema-linux-ec/Config.in" source "package/setserial/Config.in" source "package/sg3_utils/Config.in" source "package/sigrok-cli/Config.in" diff --git a/package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch b/package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch new file mode 100644 index 00000000000..0b8fa8e2a78 --- /dev/null +++ b/package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch @@ -0,0 +1,54 @@ +From b0fe05883637d006a7f958a9e735b84f4ba6ba90 Mon Sep 17 00:00:00 2001 +From: Devreese Jorik <jorik.devreese@barco.com> +Date: Mon, 19 Jan 2026 15:00:00 +0000 +Subject: [PATCH] Makefile: use CC variable instead of hardcoded gcc + +Allow the compiler to be overridden via the CC variable for +cross-compilation support. + +Upstream: https://github.com/ADLINK/sema-linux-ec/pull/14 +Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> +Signed-off-by: Hendrik De Vloed <hendrik.devloed@dekimo.com> +Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> +--- + Makefile | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Makefile b/Makefile +index 440e377..ad02cf9 100644 +--- a/Makefile ++++ b/Makefile +@@ -25,7 +25,7 @@ all: libsema.so semautil wdogtest modules + driver: modules + + libsema.so: $(SEMA_OBJS) +- @gcc -shared -fPIC -g -o lib/$@ $^ ++ @$(CC) -shared -fPIC -g -o lib/$@ $^ + + modules: + @make -C /lib/modules/`uname -r`/build M=`pwd` $@ +@@ -91,16 +91,16 @@ app_clean: + @rm -f semautil wdogtest app/*.o lib/*.o lib/*.so + + semautil: $(APP_OBJS) +- @gcc -g -o $@ $^ -Llib -lsema -luuid ++ @$(CC) -g -o $@ $^ -Llib -lsema -luuid + + wdogtest: $(WDOG_OBJS) +- @gcc $^ -g -o $@ ++ @$(CC) $^ -g -o $@ + + lib/%.o: lib/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ + + app/%.o: app/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ + + watchdogtest/%.o: watchdogtest/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ +-- +2.43.0 + diff --git a/package/sema-linux-ec/Config.in b/package/sema-linux-ec/Config.in new file mode 100644 index 00000000000..39663d542cf --- /dev/null +++ b/package/sema-linux-ec/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_SEMA_LINUX_EC + bool "sema-linux-ec" + depends on !BR2_STATIC_LIBS + depends on BR2_LINUX_KERNEL + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + help + SEMA (Smart Embedded Management Agent) is an agent used to + manage system health and access the I/O pins through an API. + + https://github.com/ADLINK/sema-linux-ec + +comment "sema-linux-ec needs a toolchain w/ dynamic library, Linux kernel" + depends on BR2_STATIC_LIBS || !BR2_LINUX_KERNEL diff --git a/package/sema-linux-ec/sema-linux-ec.hash b/package/sema-linux-ec/sema-linux-ec.hash new file mode 100644 index 00000000000..d32864316e1 --- /dev/null +++ b/package/sema-linux-ec/sema-linux-ec.hash @@ -0,0 +1,5 @@ +# locally computed +sha256 daef5a95e686ce1fa59511280759ccdaf59d41eb698b7c5df0a35e98c0718127 sema-linux-ec-v4.3.12.tar.gz +sha256 c45298c445058c0f8413c94be71ecedd55f306f3149ed2aea90b0e098ddc8810 LICENSE.BSD3 +sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 LICENSE.GPLv2 +sha256 2358eef45f799ab496fe93f4791f509524d3d65ca046e562706e62d72f738f20 LICENSE.dual diff --git a/package/sema-linux-ec/sema-linux-ec.mk b/package/sema-linux-ec/sema-linux-ec.mk new file mode 100644 index 00000000000..fc8a2c7a284 --- /dev/null +++ b/package/sema-linux-ec/sema-linux-ec.mk @@ -0,0 +1,37 @@ +################################################################################ +# +# sema-linux-ec +# +################################################################################ + +SEMA_LINUX_EC_VERSION = v4.3.12 +SEMA_LINUX_EC_SITE = $(call github,ADLINK,sema-linux-ec,$(SEMA_LINUX_EC_VERSION)) +SEMA_LINUX_EC_LICENSE = BSD-3-Clause or GPL-2.0 +SEMA_LINUX_EC_LICENSE_FILES = LICENSE.BSD3 LICENSE.GPLv2 LICENSE.dual +SEMA_LINUX_EC_DEPENDENCIES = util-linux + +define SEMA_LINUX_EC_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) \ + libsema.so semautil wdogtest +endef + +define SEMA_LINUX_EC_INSTALL_TARGET_CMDS + $(INSTALL) -D -m 0755 $(@D)/lib/libsema.so $(TARGET_DIR)/usr/lib/libsema.so + $(INSTALL) -D -m 0755 $(@D)/semautil $(TARGET_DIR)/usr/bin/semautil + $(INSTALL) -D -m 0755 $(@D)/wdogtest $(TARGET_DIR)/usr/bin/wdogtest +endef + +define SEMA_LINUX_EC_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_BACKLIGHT_CLASS_DEVICE) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIO_SYSFS) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIOLIB) + $(call KCONFIG_ENABLE_OPT,CONFIG_HWMON) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C_BOARDINFO) + $(call KCONFIG_ENABLE_OPT,CONFIG_NVMEM) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG_CORE) +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v5] package/sema-linux-ec: add new adlink sema drivers package 2026-03-09 21:10 ` [Buildroot] [PATCH v4] " Thomas Devoogdt @ 2026-03-10 9:09 ` Thomas Devoogdt 2026-08-27 9:01 ` [Buildroot] [PATCH v6] package/sema-linux: add new unified " Thomas Devoogdt 0 siblings, 1 reply; 9+ messages in thread From: Thomas Devoogdt @ 2026-03-10 9:09 UTC (permalink / raw) To: thomas; +Cc: buildroot, jorik.devreese, thomas.petazzoni From: Devreese Jorik <jorik.devreese@barco.com> SEMA (Smart Embedded Management Agent) is an agent used to manage system health and access the I/O pins through an API. Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> --- v2: reworked patch - added user sw step - fixed help text - fixed hash and license info v3: fixed build args v4: fix missing util-linux dependency v5: reworked patch - fix parallel build - add and use app_build/app_install --> Actually, I found this missing dependency after removing `$(eval $(kernel-module))` and the kernel dependency, only then I was able to run `./utils/test-pkg -p sema-linux-ec -a`. So there is not really a way to check for the generic package compilation by using `./utils/test-pkg` when there is a kernel-module defined. We should perhaps fix that. $ ./utils/test-pkg -p sema-linux-ec -a arm-aarch64 [ 1/32]: OK bootlin-aarch64-glibc [ 2/32]: OK bootlin-aarch64-glibc-old [ 3/32]: OK bootlin-arcle-hs38-uclibc [ 4/32]: OK bootlin-armv5-uclibc [ 5/32]: OK bootlin-armv7-glibc [ 6/32]: OK bootlin-armv7m-uclibc [ 7/32]: SKIPPED bootlin-armv7-musl [ 8/32]: OK bootlin-m68k-5208-uclibc [ 9/32]: SKIPPED bootlin-m68k-68040-uclibc [10/32]: OK bootlin-microblazeel-uclibc [11/32]: OK bootlin-mips64el-glibc [12/32]: OK bootlin-mipsel32r6-glibc [13/32]: OK bootlin-mipsel-uclibc [14/32]: OK bootlin-openrisc-uclibc [15/32]: OK bootlin-powerpc64le-power8-glibc [16/32]: OK bootlin-powerpc-e500mc-uclibc [17/32]: OK bootlin-riscv32-glibc [18/32]: OK bootlin-riscv64-glibc [19/32]: OK bootlin-riscv64-musl [20/32]: OK bootlin-s390x-z13-glibc [21/32]: OK bootlin-sh4-uclibc [22/32]: OK bootlin-sparc64-glibc [23/32]: OK bootlin-sparc-uclibc [24/32]: OK bootlin-x86-64-glibc [25/32]: OK bootlin-x86-64-musl [26/32]: OK bootlin-x86-64-uclibc [27/32]: OK bootlin-x86-i686-musl [28/32]: OK bootlin-xtensa-uclibc [29/32]: OK br-arm-basic [30/32]: OK br-arm-full-nothread [31/32]: OK br-arm-full-static [32/32]: SKIPPED 32 builds, 3 skipped, 0 build failed, 0 legal-info failed, 0 show-info failed --- package/Config.in | 1 + ...CC-variable-instead-of-hardcoded-gcc.patch | 54 +++++++++++++++++++ ...ure-that-lsema-is-always-built-first.patch | 32 +++++++++++ ...3-Makefile-add-cross-install-support.patch | 40 ++++++++++++++ ...file-add-a-separate-app_build-target.patch | 42 +++++++++++++++ package/sema-linux-ec/Config.in | 14 +++++ package/sema-linux-ec/sema-linux-ec.hash | 5 ++ package/sema-linux-ec/sema-linux-ec.mk | 34 ++++++++++++ 8 files changed, 222 insertions(+) create mode 100644 package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch create mode 100644 package/sema-linux-ec/0002-Makefile-ensure-that-lsema-is-always-built-first.patch create mode 100644 package/sema-linux-ec/0003-Makefile-add-cross-install-support.patch create mode 100644 package/sema-linux-ec/0004-Makefile-add-a-separate-app_build-target.patch create mode 100644 package/sema-linux-ec/Config.in create mode 100644 package/sema-linux-ec/sema-linux-ec.hash create mode 100644 package/sema-linux-ec/sema-linux-ec.mk diff --git a/package/Config.in b/package/Config.in index 0da9dc29287..ae32bcdd055 100644 --- a/package/Config.in +++ b/package/Config.in @@ -604,6 +604,7 @@ endmenu source "package/sane-backends/Config.in" source "package/sdparm/Config.in" source "package/sedutil/Config.in" + source "package/sema-linux-ec/Config.in" source "package/setserial/Config.in" source "package/sg3_utils/Config.in" source "package/sigrok-cli/Config.in" diff --git a/package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch b/package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch new file mode 100644 index 00000000000..9d4e9c49083 --- /dev/null +++ b/package/sema-linux-ec/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch @@ -0,0 +1,54 @@ +From 78de4c2656d76ffd69dc67815f6f8dc6dae8719d Mon Sep 17 00:00:00 2001 +From: Devreese Jorik <jorik.devreese@barco.com> +Date: Mon, 19 Jan 2026 15:00:00 +0000 +Subject: [PATCH] Makefile: use CC variable instead of hardcoded gcc + +Allow the compiler to be overridden via the CC variable for +cross-compilation support. + +Upstream: https://github.com/ADLINK/sema-linux-ec/pull/14 +Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> +Signed-off-by: Hendrik De Vloed <hendrik.devloed@dekimo.com> +Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> +--- + Makefile | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Makefile b/Makefile +index 440e377..ad02cf9 100644 +--- a/Makefile ++++ b/Makefile +@@ -25,7 +25,7 @@ all: libsema.so semautil wdogtest modules + driver: modules + + libsema.so: $(SEMA_OBJS) +- @gcc -shared -fPIC -g -o lib/$@ $^ ++ @$(CC) -shared -fPIC -g -o lib/$@ $^ + + modules: + @make -C /lib/modules/`uname -r`/build M=`pwd` $@ +@@ -91,16 +91,16 @@ app_clean: + @rm -f semautil wdogtest app/*.o lib/*.o lib/*.so + + semautil: $(APP_OBJS) +- @gcc -g -o $@ $^ -Llib -lsema -luuid ++ @$(CC) -g -o $@ $^ -Llib -lsema -luuid + + wdogtest: $(WDOG_OBJS) +- @gcc $^ -g -o $@ ++ @$(CC) $^ -g -o $@ + + lib/%.o: lib/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ + + app/%.o: app/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ + + watchdogtest/%.o: watchdogtest/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ +-- +2.43.0 + diff --git a/package/sema-linux-ec/0002-Makefile-ensure-that-lsema-is-always-built-first.patch b/package/sema-linux-ec/0002-Makefile-ensure-that-lsema-is-always-built-first.patch new file mode 100644 index 00000000000..3cab4315537 --- /dev/null +++ b/package/sema-linux-ec/0002-Makefile-ensure-that-lsema-is-always-built-first.patch @@ -0,0 +1,32 @@ +From f14f0874bc3dcc5cee1f9c1b4ae1d9918a005139 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <thomas.devoogdt@barco.com> +Date: Tue, 10 Mar 2026 09:08:05 +0100 +Subject: [PATCH] Makefile: ensure that -lsema is always built first + +When using parallel builds, there is no guarantee that libsema.so +is built first. + +Upstream: https://github.com/ADLINK/sema-linux-ec/pull/14 +Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com> +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index ad02cf9..b6d9af9 100644 +--- a/Makefile ++++ b/Makefile +@@ -90,8 +90,8 @@ driver_clean: + app_clean: + @rm -f semautil wdogtest app/*.o lib/*.o lib/*.so + +-semautil: $(APP_OBJS) +- @$(CC) -g -o $@ $^ -Llib -lsema -luuid ++semautil: libsema.so $(APP_OBJS) ++ @$(CC) -g -o $@ $(APP_OBJS) -Llib -lsema -luuid + + wdogtest: $(WDOG_OBJS) + @$(CC) $^ -g -o $@ +-- +2.43.0 + diff --git a/package/sema-linux-ec/0003-Makefile-add-cross-install-support.patch b/package/sema-linux-ec/0003-Makefile-add-cross-install-support.patch new file mode 100644 index 00000000000..1178253a21a --- /dev/null +++ b/package/sema-linux-ec/0003-Makefile-add-cross-install-support.patch @@ -0,0 +1,40 @@ +From 6e1e0e69682a92c22d07b0db1dd083273eb6fa15 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <thomas.devoogdt@barco.com> +Date: Tue, 10 Mar 2026 09:09:59 +0100 +Subject: [PATCH] Makefile: add cross install support + +Add support to override the DESTDIR & PREFIX. + +Upstream: https://github.com/ADLINK/sema-linux-ec/pull/14 +Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com> +--- + Makefile | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index b6d9af9..fefae79 100644 +--- a/Makefile ++++ b/Makefile +@@ -1,4 +1,7 @@ + # SPDX-License-Identifier: BSD-3-Clause ++DESTDIR ?= ++PREFIX ?= /usr ++ + SEMA_OBJS = $(patsubst %.c,%.o,$(wildcard lib/*.c)) + WDOG_OBJS = $(patsubst %.c,%.o,$(wildcard watchdogtest/*.c)) + APP_OBJS = $(patsubst %.c,%.o,$(wildcard app/*.c)) +@@ -77,8 +80,9 @@ driver_install: + @depmod -a + + app_install: +- @cp lib/libsema.so /usr/lib +- @cp wdogtest semautil /usr/bin ++ @install -d $(DESTDIR)$(PREFIX)/lib $(DESTDIR)$(PREFIX)/bin ++ @install -m 755 lib/libsema.so $(DESTDIR)$(PREFIX)/lib ++ @install -m 755 wdogtest semautil $(DESTDIR)$(PREFIX)/bin + + driver_clean: + @make -C /lib/modules/`uname -r`/build M=`pwd` clean +-- +2.43.0 + diff --git a/package/sema-linux-ec/0004-Makefile-add-a-separate-app_build-target.patch b/package/sema-linux-ec/0004-Makefile-add-a-separate-app_build-target.patch new file mode 100644 index 00000000000..70409f0d23d --- /dev/null +++ b/package/sema-linux-ec/0004-Makefile-add-a-separate-app_build-target.patch @@ -0,0 +1,42 @@ +From 831e8b1e95cd4add7a6d7fadf4d022dc8df8290c Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <thomas.devoogdt@barco.com> +Date: Tue, 10 Mar 2026 09:25:07 +0100 +Subject: [PATCH] Makefile: add a separate app_build target + +By this, there is: + - app_build + - app_install + - app_clean + +This makes compilation of the app-only a bit easier to maintain. + +Upstream: https://github.com/ADLINK/sema-linux-ec/pull/14 +Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com> +--- + Makefile | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index fefae79..54ee050 100644 +--- a/Makefile ++++ b/Makefile +@@ -23,13 +23,15 @@ DIR2 = /lib/modules/$(shell uname -r)/extra + + adl-ec-nvmem-sec-m := driver/adl-ec-nvmem-sec.o driver/nvmem-common.o + adl-ec-nvmem-m := driver/adl-ec-nvmem.o driver/nvmem-common.o +-all: libsema.so semautil wdogtest modules ++all: app_build modules + + driver: modules + + libsema.so: $(SEMA_OBJS) + @$(CC) -shared -fPIC -g -o lib/$@ $^ + ++app_build: libsema.so semautil wdogtest ++ + modules: + @make -C /lib/modules/`uname -r`/build M=`pwd` $@ + +-- +2.43.0 + diff --git a/package/sema-linux-ec/Config.in b/package/sema-linux-ec/Config.in new file mode 100644 index 00000000000..39663d542cf --- /dev/null +++ b/package/sema-linux-ec/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_SEMA_LINUX_EC + bool "sema-linux-ec" + depends on !BR2_STATIC_LIBS + depends on BR2_LINUX_KERNEL + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + help + SEMA (Smart Embedded Management Agent) is an agent used to + manage system health and access the I/O pins through an API. + + https://github.com/ADLINK/sema-linux-ec + +comment "sema-linux-ec needs a toolchain w/ dynamic library, Linux kernel" + depends on BR2_STATIC_LIBS || !BR2_LINUX_KERNEL diff --git a/package/sema-linux-ec/sema-linux-ec.hash b/package/sema-linux-ec/sema-linux-ec.hash new file mode 100644 index 00000000000..d32864316e1 --- /dev/null +++ b/package/sema-linux-ec/sema-linux-ec.hash @@ -0,0 +1,5 @@ +# locally computed +sha256 daef5a95e686ce1fa59511280759ccdaf59d41eb698b7c5df0a35e98c0718127 sema-linux-ec-v4.3.12.tar.gz +sha256 c45298c445058c0f8413c94be71ecedd55f306f3149ed2aea90b0e098ddc8810 LICENSE.BSD3 +sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 LICENSE.GPLv2 +sha256 2358eef45f799ab496fe93f4791f509524d3d65ca046e562706e62d72f738f20 LICENSE.dual diff --git a/package/sema-linux-ec/sema-linux-ec.mk b/package/sema-linux-ec/sema-linux-ec.mk new file mode 100644 index 00000000000..58af1bb2220 --- /dev/null +++ b/package/sema-linux-ec/sema-linux-ec.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# sema-linux-ec +# +################################################################################ + +SEMA_LINUX_EC_VERSION = v4.3.12 +SEMA_LINUX_EC_SITE = $(call github,ADLINK,sema-linux-ec,$(SEMA_LINUX_EC_VERSION)) +SEMA_LINUX_EC_LICENSE = BSD-3-Clause or GPL-2.0 +SEMA_LINUX_EC_LICENSE_FILES = LICENSE.BSD3 LICENSE.GPLv2 LICENSE.dual +SEMA_LINUX_EC_DEPENDENCIES = util-linux + +define SEMA_LINUX_EC_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) app_build +endef + +define SEMA_LINUX_EC_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) app_install +endef + +define SEMA_LINUX_EC_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_BACKLIGHT_CLASS_DEVICE) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIO_SYSFS) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIOLIB) + $(call KCONFIG_ENABLE_OPT,CONFIG_HWMON) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C_BOARDINFO) + $(call KCONFIG_ENABLE_OPT,CONFIG_NVMEM) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG_CORE) +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v6] package/sema-linux: add new unified adlink sema drivers package 2026-03-10 9:09 ` [Buildroot] [PATCH v5] " Thomas Devoogdt @ 2026-08-27 9:01 ` Thomas Devoogdt 2026-08-27 10:24 ` [Buildroot] [PATCH v7] " Thomas Devoogdt 0 siblings, 1 reply; 9+ messages in thread From: Thomas Devoogdt @ 2026-08-27 9:01 UTC (permalink / raw) To: thomas; +Cc: buildroot, jorik.devreese, thomas.petazzoni From: Devreese Jorik <jorik.devreese@barco.com> Add the unified sema-linux package, which replaces the archived sema-linux-ec repository from Adlink. This unified upstream repository provides support for both BMC (Board Management Controller) and EC (Embedded Controller) devices. Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> --- v2: reworked patch - added user sw step - fixed help text - fixed hash and license info v3: fixed build args v4: fix missing util-linux dependency v5: reworked patch - fix parallel build - add and use app_build/app_install v6: rework to use sema-linux as sema-linux-ec was archived --- package/Config.in | 1 + ...CC-variable-instead-of-hardcoded-gcc.patch | 54 +++++++++++++++++++ ...ure-that-lsema-is-always-built-first.patch | 32 +++++++++++ ...3-Makefile-add-cross-install-support.patch | 38 +++++++++++++ ...file-add-a-separate-app_build-target.patch | 42 +++++++++++++++ package/sema-linux/Config.in | 14 +++++ package/sema-linux/sema-linux.hash | 5 ++ package/sema-linux/sema-linux.mk | 34 ++++++++++++ 8 files changed, 220 insertions(+) create mode 100644 package/sema-linux/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch create mode 100644 package/sema-linux/0002-Makefile-ensure-that-lsema-is-always-built-first.patch create mode 100644 package/sema-linux/0003-Makefile-add-cross-install-support.patch create mode 100644 package/sema-linux/0004-Makefile-add-a-separate-app_build-target.patch create mode 100644 package/sema-linux/Config.in create mode 100644 package/sema-linux/sema-linux.hash create mode 100644 package/sema-linux/sema-linux.mk diff --git a/package/Config.in b/package/Config.in index 6058800682..b0793ed6cf 100644 --- a/package/Config.in +++ b/package/Config.in @@ -609,6 +609,7 @@ endmenu source "package/sane-backends/Config.in" source "package/sdparm/Config.in" source "package/sedutil/Config.in" + source "package/sema-linux/Config.in" source "package/setserial/Config.in" source "package/sg3_utils/Config.in" source "package/sigrok-cli/Config.in" diff --git a/package/sema-linux/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch b/package/sema-linux/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch new file mode 100644 index 0000000000..f9b454eef5 --- /dev/null +++ b/package/sema-linux/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch @@ -0,0 +1,54 @@ +From 6492dcc89737799b39555fdcb79e7254332fe2f4 Mon Sep 17 00:00:00 2001 +From: Devreese Jorik <jorik.devreese@barco.com> +Date: Mon, 19 Jan 2026 15:00:00 +0000 +Subject: [PATCH] Makefile: use CC variable instead of hardcoded gcc + +Allow the compiler to be overridden via the CC variable for +cross-compilation support. + +Upstream: https://github.com/ADLINK/sema-linux/pull/2 +Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> +Signed-off-by: Hendrik De Vloed <hendrik.devloed@dekimo.com> +Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> +--- + Makefile | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Makefile b/Makefile +index 1c4274d..cfad0c7 100755 +--- a/Makefile ++++ b/Makefile +@@ -20,7 +20,7 @@ all: libsema.so semautil wdogtest modules + driver: modules + + libsema.so: $(SEMA_OBJS) +- @gcc -shared -fPIC -g -o lib/$@ $^ ++ @$(CC) -shared -fPIC -g -o lib/$@ $^ + + modules: + @make -C /lib/modules/`uname -r`/build M=`pwd` $@ +@@ -52,16 +52,16 @@ app_clean: + @rm -f semautil wdogtest app/*.o lib/*.o lib/*.so + + semautil: $(APP_OBJS) +- @gcc -g -o $@ $^ -Llib -lsema -luuid ++ @$(CC) -g -o $@ $^ -Llib -lsema -luuid + + wdogtest: $(WDOG_OBJS) +- @gcc $^ -g -o $@ ++ @$(CC) $^ -g -o $@ + + lib/%.o: lib/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ + + app/%.o: app/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ + + watchdogtest/%.o: watchdogtest/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ +-- +2.43.0 + diff --git a/package/sema-linux/0002-Makefile-ensure-that-lsema-is-always-built-first.patch b/package/sema-linux/0002-Makefile-ensure-that-lsema-is-always-built-first.patch new file mode 100644 index 0000000000..d278b30b06 --- /dev/null +++ b/package/sema-linux/0002-Makefile-ensure-that-lsema-is-always-built-first.patch @@ -0,0 +1,32 @@ +From 2f1e58beeee7aedd1000f85e5f3a63766d131bc5 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <thomas.devoogdt@barco.com> +Date: Tue, 10 Mar 2026 09:08:05 +0100 +Subject: [PATCH] Makefile: ensure that -lsema is always built first + +When using parallel builds, there is no guarantee that libsema.so +is built first. + +Upstream: https://github.com/ADLINK/sema-linux/pull/2 +Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com> +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index cfad0c7..37926e1 100755 +--- a/Makefile ++++ b/Makefile +@@ -51,8 +51,8 @@ driver_clean: + app_clean: + @rm -f semautil wdogtest app/*.o lib/*.o lib/*.so + +-semautil: $(APP_OBJS) +- @$(CC) -g -o $@ $^ -Llib -lsema -luuid ++semautil: libsema.so $(APP_OBJS) ++ @$(CC) -g -o $@ $(APP_OBJS) -Llib -lsema -luuid + + wdogtest: $(WDOG_OBJS) + @$(CC) $^ -g -o $@ +-- +2.43.0 + diff --git a/package/sema-linux/0003-Makefile-add-cross-install-support.patch b/package/sema-linux/0003-Makefile-add-cross-install-support.patch new file mode 100644 index 0000000000..0e84e9cbb6 --- /dev/null +++ b/package/sema-linux/0003-Makefile-add-cross-install-support.patch @@ -0,0 +1,38 @@ +From dcd82a06551ade5c7dd85c3dbb472bd3593602ef Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <thomas.devoogdt@barco.com> +Date: Tue, 10 Mar 2026 09:09:59 +0100 +Subject: [PATCH] Makefile: add cross install support + +Add support to override the DESTDIR & PREFIX. + +Upstream: https://github.com/ADLINK/sema-linux/pull/2 +Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com> +--- + Makefile | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 37926e1..1432e0d 100755 +--- a/Makefile ++++ b/Makefile +@@ -1,3 +1,5 @@ ++DESTDIR ?= ++PREFIX ?= /usr + + SEMA_OBJS = $(patsubst %.c,%.o,$(wildcard lib/*.c)) + WDOG_OBJS = $(patsubst %.c,%.o,$(wildcard watchdogtest/*.c)) +@@ -38,8 +40,9 @@ driver_install: + @depmod -a + + app_install: +- @cp lib/libsema.so /usr/lib +- @cp wdogtest semautil /usr/bin ++ @install -d $(DESTDIR)$(PREFIX)/lib $(DESTDIR)$(PREFIX)/bin ++ @install -m 755 lib/libsema.so $(DESTDIR)$(PREFIX)/lib ++ @install -m 755 wdogtest semautil $(DESTDIR)$(PREFIX)/bin + + driver_clean: + @make -C /lib/modules/`uname -r`/build M=`pwd` clean +-- +2.43.0 + diff --git a/package/sema-linux/0004-Makefile-add-a-separate-app_build-target.patch b/package/sema-linux/0004-Makefile-add-a-separate-app_build-target.patch new file mode 100644 index 0000000000..346d31a75d --- /dev/null +++ b/package/sema-linux/0004-Makefile-add-a-separate-app_build-target.patch @@ -0,0 +1,42 @@ +From 6c7f7a88357c291780236738fabf82229d2598c5 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <thomas.devoogdt@barco.com> +Date: Tue, 10 Mar 2026 09:25:07 +0100 +Subject: [PATCH] Makefile: add a separate app_build target + +By this, there is: + - app_build + - app_install + - app_clean + +This makes compilation of the app-only a bit easier to maintain. + +Upstream: https://github.com/ADLINK/sema-linux/pull/2 +Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com> +--- + Makefile | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1432e0d..ee8089d 100755 +--- a/Makefile ++++ b/Makefile +@@ -17,13 +17,15 @@ obj-m := driver/adl-bmc.o \ + + adl-bmc-nvmem-sec-m := driver/adl-bmc-nvmem-sec.o driver/nvmem-common.o + adl-bmc-nvmem-m := driver/adl-bmc-nvmem.o driver/nvmem-common.o +-all: libsema.so semautil wdogtest modules ++all: app_build modules + + driver: modules + + libsema.so: $(SEMA_OBJS) + @$(CC) -shared -fPIC -g -o lib/$@ $^ + ++app_build: libsema.so semautil wdogtest ++ + modules: + @make -C /lib/modules/`uname -r`/build M=`pwd` $@ + +-- +2.43.0 + diff --git a/package/sema-linux/Config.in b/package/sema-linux/Config.in new file mode 100644 index 0000000000..04a1448444 --- /dev/null +++ b/package/sema-linux/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_SEMA_LINUX + bool "sema-linux" + depends on !BR2_s390x + depends on BR2_LINUX_KERNEL + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + help + SEMA (Smart Embedded Management Agent) is an agent used to + manage system health and access the I/O pins through an API. + + https://github.com/ADLINK/sema-linux + +comment "sema-linux needs a toolchain w/ dynamic library, Linux kernel" + depends on BR2_STATIC_LIBS || !BR2_LINUX_KERNEL diff --git a/package/sema-linux/sema-linux.hash b/package/sema-linux/sema-linux.hash new file mode 100644 index 0000000000..c2e086c5c5 --- /dev/null +++ b/package/sema-linux/sema-linux.hash @@ -0,0 +1,5 @@ +# locally computed +sha256 fe67c77b12db6db02e2c745dce79085b5fc16be2dabd3eedda625d53ccbd5b26 sema-linux-ec-v4.3.12.tar.gz +sha256 71be2577bc5028f0e15bb170439878b61593967460e88e0d26a889430a32db00 LICENSE.BSD3 +sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 LICENSE.GPLv2 +sha256 f484be998be05569aa68e5afb1d29a37cbe2cc7947aea66df83bab7bbdfd74f3 LICENSE.dual diff --git a/package/sema-linux/sema-linux.mk b/package/sema-linux/sema-linux.mk new file mode 100644 index 0000000000..daabd8b8c0 --- /dev/null +++ b/package/sema-linux/sema-linux.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# sema-linux +# +################################################################################ + +SEMA_LINUX_VERSION = v4.4.3 +SEMA_LINUX_SITE = $(call github,ADLINK,sema-linux,$(SEMA_LINUX_VERSION)) +SEMA_LINUX_LICENSE = BSD-3-Clause or GPL-2.0 +SEMA_LINUX_LICENSE_FILES = LICENSE.BSD3 LICENSE.GPLv2 LICENSE.dual +SEMA_LINUX_DEPENDENCIES = util-linux + +define SEMA_LINUX_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) app_build +endef + +define SEMA_LINUX_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) app_install +endef + +define SEMA_LINUX_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_BACKLIGHT_CLASS_DEVICE) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIO_SYSFS) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIOLIB) + $(call KCONFIG_ENABLE_OPT,CONFIG_HWMON) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C_BOARDINFO) + $(call KCONFIG_ENABLE_OPT,CONFIG_NVMEM) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG_CORE) +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v7] package/sema-linux: add new unified adlink sema drivers package 2026-08-27 9:01 ` [Buildroot] [PATCH v6] package/sema-linux: add new unified " Thomas Devoogdt @ 2026-08-27 10:24 ` Thomas Devoogdt 2026-09-18 22:53 ` [Buildroot] [PATCH v8] " Thomas Devoogdt 0 siblings, 1 reply; 9+ messages in thread From: Thomas Devoogdt @ 2026-08-27 10:24 UTC (permalink / raw) To: thomas; +Cc: buildroot, jorik.devreese, thomas.petazzoni From: Devreese Jorik <jorik.devreese@barco.com> Add the unified sema-linux package, which replaces the archived sema-linux-ec repository from Adlink. This unified upstream repository provides support for both BMC (Board Management Controller) and EC (Embedded Controller) devices. Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> --- v2: reworked patch - added user sw step - fixed help text - fixed hash and license info v3: fixed build args v4: fix missing util-linux dependency v5: reworked patch - fix parallel build - add and use app_build/app_install v6: rework to use sema-linux as sema-linux-ec was archived v7: fix wrong hash entry --- package/Config.in | 1 + ...CC-variable-instead-of-hardcoded-gcc.patch | 54 +++++++++++++++++++ ...ure-that-lsema-is-always-built-first.patch | 32 +++++++++++ ...3-Makefile-add-cross-install-support.patch | 38 +++++++++++++ ...file-add-a-separate-app_build-target.patch | 42 +++++++++++++++ package/sema-linux/Config.in | 14 +++++ package/sema-linux/sema-linux.hash | 5 ++ package/sema-linux/sema-linux.mk | 34 ++++++++++++ 8 files changed, 220 insertions(+) create mode 100644 package/sema-linux/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch create mode 100644 package/sema-linux/0002-Makefile-ensure-that-lsema-is-always-built-first.patch create mode 100644 package/sema-linux/0003-Makefile-add-cross-install-support.patch create mode 100644 package/sema-linux/0004-Makefile-add-a-separate-app_build-target.patch create mode 100644 package/sema-linux/Config.in create mode 100644 package/sema-linux/sema-linux.hash create mode 100644 package/sema-linux/sema-linux.mk diff --git a/package/Config.in b/package/Config.in index 6058800682..b0793ed6cf 100644 --- a/package/Config.in +++ b/package/Config.in @@ -609,6 +609,7 @@ endmenu source "package/sane-backends/Config.in" source "package/sdparm/Config.in" source "package/sedutil/Config.in" + source "package/sema-linux/Config.in" source "package/setserial/Config.in" source "package/sg3_utils/Config.in" source "package/sigrok-cli/Config.in" diff --git a/package/sema-linux/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch b/package/sema-linux/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch new file mode 100644 index 0000000000..f9b454eef5 --- /dev/null +++ b/package/sema-linux/0001-Makefile-use-CC-variable-instead-of-hardcoded-gcc.patch @@ -0,0 +1,54 @@ +From 6492dcc89737799b39555fdcb79e7254332fe2f4 Mon Sep 17 00:00:00 2001 +From: Devreese Jorik <jorik.devreese@barco.com> +Date: Mon, 19 Jan 2026 15:00:00 +0000 +Subject: [PATCH] Makefile: use CC variable instead of hardcoded gcc + +Allow the compiler to be overridden via the CC variable for +cross-compilation support. + +Upstream: https://github.com/ADLINK/sema-linux/pull/2 +Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> +Signed-off-by: Hendrik De Vloed <hendrik.devloed@dekimo.com> +Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> +--- + Makefile | 12 ++++++------ + 1 file changed, 6 insertions(+), 6 deletions(-) + +diff --git a/Makefile b/Makefile +index 1c4274d..cfad0c7 100755 +--- a/Makefile ++++ b/Makefile +@@ -20,7 +20,7 @@ all: libsema.so semautil wdogtest modules + driver: modules + + libsema.so: $(SEMA_OBJS) +- @gcc -shared -fPIC -g -o lib/$@ $^ ++ @$(CC) -shared -fPIC -g -o lib/$@ $^ + + modules: + @make -C /lib/modules/`uname -r`/build M=`pwd` $@ +@@ -52,16 +52,16 @@ app_clean: + @rm -f semautil wdogtest app/*.o lib/*.o lib/*.so + + semautil: $(APP_OBJS) +- @gcc -g -o $@ $^ -Llib -lsema -luuid ++ @$(CC) -g -o $@ $^ -Llib -lsema -luuid + + wdogtest: $(WDOG_OBJS) +- @gcc $^ -g -o $@ ++ @$(CC) $^ -g -o $@ + + lib/%.o: lib/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ + + app/%.o: app/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ + + watchdogtest/%.o: watchdogtest/%.c +- @gcc -Wall -I lib -g -fPIC -c $< -o $@ ++ @$(CC) -Wall -I lib -g -fPIC -c $< -o $@ +-- +2.43.0 + diff --git a/package/sema-linux/0002-Makefile-ensure-that-lsema-is-always-built-first.patch b/package/sema-linux/0002-Makefile-ensure-that-lsema-is-always-built-first.patch new file mode 100644 index 0000000000..d278b30b06 --- /dev/null +++ b/package/sema-linux/0002-Makefile-ensure-that-lsema-is-always-built-first.patch @@ -0,0 +1,32 @@ +From 2f1e58beeee7aedd1000f85e5f3a63766d131bc5 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <thomas.devoogdt@barco.com> +Date: Tue, 10 Mar 2026 09:08:05 +0100 +Subject: [PATCH] Makefile: ensure that -lsema is always built first + +When using parallel builds, there is no guarantee that libsema.so +is built first. + +Upstream: https://github.com/ADLINK/sema-linux/pull/2 +Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com> +--- + Makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index cfad0c7..37926e1 100755 +--- a/Makefile ++++ b/Makefile +@@ -51,8 +51,8 @@ driver_clean: + app_clean: + @rm -f semautil wdogtest app/*.o lib/*.o lib/*.so + +-semautil: $(APP_OBJS) +- @$(CC) -g -o $@ $^ -Llib -lsema -luuid ++semautil: libsema.so $(APP_OBJS) ++ @$(CC) -g -o $@ $(APP_OBJS) -Llib -lsema -luuid + + wdogtest: $(WDOG_OBJS) + @$(CC) $^ -g -o $@ +-- +2.43.0 + diff --git a/package/sema-linux/0003-Makefile-add-cross-install-support.patch b/package/sema-linux/0003-Makefile-add-cross-install-support.patch new file mode 100644 index 0000000000..0e84e9cbb6 --- /dev/null +++ b/package/sema-linux/0003-Makefile-add-cross-install-support.patch @@ -0,0 +1,38 @@ +From dcd82a06551ade5c7dd85c3dbb472bd3593602ef Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <thomas.devoogdt@barco.com> +Date: Tue, 10 Mar 2026 09:09:59 +0100 +Subject: [PATCH] Makefile: add cross install support + +Add support to override the DESTDIR & PREFIX. + +Upstream: https://github.com/ADLINK/sema-linux/pull/2 +Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com> +--- + Makefile | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/Makefile b/Makefile +index 37926e1..1432e0d 100755 +--- a/Makefile ++++ b/Makefile +@@ -1,3 +1,5 @@ ++DESTDIR ?= ++PREFIX ?= /usr + + SEMA_OBJS = $(patsubst %.c,%.o,$(wildcard lib/*.c)) + WDOG_OBJS = $(patsubst %.c,%.o,$(wildcard watchdogtest/*.c)) +@@ -38,8 +40,9 @@ driver_install: + @depmod -a + + app_install: +- @cp lib/libsema.so /usr/lib +- @cp wdogtest semautil /usr/bin ++ @install -d $(DESTDIR)$(PREFIX)/lib $(DESTDIR)$(PREFIX)/bin ++ @install -m 755 lib/libsema.so $(DESTDIR)$(PREFIX)/lib ++ @install -m 755 wdogtest semautil $(DESTDIR)$(PREFIX)/bin + + driver_clean: + @make -C /lib/modules/`uname -r`/build M=`pwd` clean +-- +2.43.0 + diff --git a/package/sema-linux/0004-Makefile-add-a-separate-app_build-target.patch b/package/sema-linux/0004-Makefile-add-a-separate-app_build-target.patch new file mode 100644 index 0000000000..346d31a75d --- /dev/null +++ b/package/sema-linux/0004-Makefile-add-a-separate-app_build-target.patch @@ -0,0 +1,42 @@ +From 6c7f7a88357c291780236738fabf82229d2598c5 Mon Sep 17 00:00:00 2001 +From: Thomas Devoogdt <thomas.devoogdt@barco.com> +Date: Tue, 10 Mar 2026 09:25:07 +0100 +Subject: [PATCH] Makefile: add a separate app_build target + +By this, there is: + - app_build + - app_install + - app_clean + +This makes compilation of the app-only a bit easier to maintain. + +Upstream: https://github.com/ADLINK/sema-linux/pull/2 +Signed-off-by: Thomas Devoogdt <thomas.devoogdt@barco.com> +--- + Makefile | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 1432e0d..ee8089d 100755 +--- a/Makefile ++++ b/Makefile +@@ -17,13 +17,15 @@ obj-m := driver/adl-bmc.o \ + + adl-bmc-nvmem-sec-m := driver/adl-bmc-nvmem-sec.o driver/nvmem-common.o + adl-bmc-nvmem-m := driver/adl-bmc-nvmem.o driver/nvmem-common.o +-all: libsema.so semautil wdogtest modules ++all: app_build modules + + driver: modules + + libsema.so: $(SEMA_OBJS) + @$(CC) -shared -fPIC -g -o lib/$@ $^ + ++app_build: libsema.so semautil wdogtest ++ + modules: + @make -C /lib/modules/`uname -r`/build M=`pwd` $@ + +-- +2.43.0 + diff --git a/package/sema-linux/Config.in b/package/sema-linux/Config.in new file mode 100644 index 0000000000..04a1448444 --- /dev/null +++ b/package/sema-linux/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_SEMA_LINUX + bool "sema-linux" + depends on !BR2_s390x + depends on BR2_LINUX_KERNEL + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + help + SEMA (Smart Embedded Management Agent) is an agent used to + manage system health and access the I/O pins through an API. + + https://github.com/ADLINK/sema-linux + +comment "sema-linux needs a toolchain w/ dynamic library, Linux kernel" + depends on BR2_STATIC_LIBS || !BR2_LINUX_KERNEL diff --git a/package/sema-linux/sema-linux.hash b/package/sema-linux/sema-linux.hash new file mode 100644 index 0000000000..20e4d74995 --- /dev/null +++ b/package/sema-linux/sema-linux.hash @@ -0,0 +1,5 @@ +# locally computed +sha256 fe67c77b12db6db02e2c745dce79085b5fc16be2dabd3eedda625d53ccbd5b26 sema-linux-v4.4.3.tar.gz +sha256 71be2577bc5028f0e15bb170439878b61593967460e88e0d26a889430a32db00 LICENSE.BSD3 +sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 LICENSE.GPLv2 +sha256 f484be998be05569aa68e5afb1d29a37cbe2cc7947aea66df83bab7bbdfd74f3 LICENSE.dual diff --git a/package/sema-linux/sema-linux.mk b/package/sema-linux/sema-linux.mk new file mode 100644 index 0000000000..daabd8b8c0 --- /dev/null +++ b/package/sema-linux/sema-linux.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# sema-linux +# +################################################################################ + +SEMA_LINUX_VERSION = v4.4.3 +SEMA_LINUX_SITE = $(call github,ADLINK,sema-linux,$(SEMA_LINUX_VERSION)) +SEMA_LINUX_LICENSE = BSD-3-Clause or GPL-2.0 +SEMA_LINUX_LICENSE_FILES = LICENSE.BSD3 LICENSE.GPLv2 LICENSE.dual +SEMA_LINUX_DEPENDENCIES = util-linux + +define SEMA_LINUX_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) app_build +endef + +define SEMA_LINUX_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) app_install +endef + +define SEMA_LINUX_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_BACKLIGHT_CLASS_DEVICE) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIO_SYSFS) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIOLIB) + $(call KCONFIG_ENABLE_OPT,CONFIG_HWMON) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C_BOARDINFO) + $(call KCONFIG_ENABLE_OPT,CONFIG_NVMEM) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG_CORE) +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [Buildroot] [PATCH v8] package/sema-linux: add new unified adlink sema drivers package 2026-08-27 10:24 ` [Buildroot] [PATCH v7] " Thomas Devoogdt @ 2026-09-18 22:53 ` Thomas Devoogdt 2026-10-26 21:15 ` Thomas Petazzoni via buildroot 0 siblings, 1 reply; 9+ messages in thread From: Thomas Devoogdt @ 2026-09-18 22:53 UTC (permalink / raw) To: thomas; +Cc: buildroot, jorik.devreese, thomas.petazzoni From: Devreese Jorik <jorik.devreese@barco.com> Add the unified sema-linux package, which replaces the archived sema-linux-ec repository from Adlink. This unified upstream repository provides support for both BMC (Board Management Controller) and EC (Embedded Controller) devices. Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> --- v2: reworked patch - added user sw step - fixed help text - fixed hash and license info v3: fixed build args v4: fix missing util-linux dependency v5: reworked patch - fix parallel build - add and use app_build/app_install v6: rework to use sema-linux as sema-linux-ec was archived v7: fix wrong hash entry v8: bump to v4.4.5 --- package/Config.in | 1 + package/sema-linux/Config.in | 14 ++++++++++++ package/sema-linux/sema-linux.hash | 5 +++++ package/sema-linux/sema-linux.mk | 34 ++++++++++++++++++++++++++++++ 4 files changed, 54 insertions(+) create mode 100644 package/sema-linux/Config.in create mode 100644 package/sema-linux/sema-linux.hash create mode 100644 package/sema-linux/sema-linux.mk diff --git a/package/Config.in b/package/Config.in index 9c2800781e5..fc964be7198 100644 --- a/package/Config.in +++ b/package/Config.in @@ -610,6 +610,7 @@ endmenu source "package/sane-backends/Config.in" source "package/sdparm/Config.in" source "package/sedutil/Config.in" + source "package/sema-linux/Config.in" source "package/setserial/Config.in" source "package/sg3_utils/Config.in" source "package/sigrok-cli/Config.in" diff --git a/package/sema-linux/Config.in b/package/sema-linux/Config.in new file mode 100644 index 00000000000..04a14484449 --- /dev/null +++ b/package/sema-linux/Config.in @@ -0,0 +1,14 @@ +config BR2_PACKAGE_SEMA_LINUX + bool "sema-linux" + depends on !BR2_s390x + depends on BR2_LINUX_KERNEL + select BR2_PACKAGE_UTIL_LINUX + select BR2_PACKAGE_UTIL_LINUX_LIBUUID + help + SEMA (Smart Embedded Management Agent) is an agent used to + manage system health and access the I/O pins through an API. + + https://github.com/ADLINK/sema-linux + +comment "sema-linux needs a toolchain w/ dynamic library, Linux kernel" + depends on BR2_STATIC_LIBS || !BR2_LINUX_KERNEL diff --git a/package/sema-linux/sema-linux.hash b/package/sema-linux/sema-linux.hash new file mode 100644 index 00000000000..a66c0ade050 --- /dev/null +++ b/package/sema-linux/sema-linux.hash @@ -0,0 +1,5 @@ +# locally computed +sha256 510d30023e8216626bfd0fafa9bc75ad5f9f8e7c98eed3fe2a23884c6a3b361f sema-linux-v4.4.5.tar.gz +sha256 71be2577bc5028f0e15bb170439878b61593967460e88e0d26a889430a32db00 LICENSE.BSD3 +sha256 d8c320ffc0030d1b096ae4732b50d2b811cf95e9a9b7377c1127b2563e0a0388 LICENSE.GPLv2 +sha256 f484be998be05569aa68e5afb1d29a37cbe2cc7947aea66df83bab7bbdfd74f3 LICENSE.dual diff --git a/package/sema-linux/sema-linux.mk b/package/sema-linux/sema-linux.mk new file mode 100644 index 00000000000..1fd2e371675 --- /dev/null +++ b/package/sema-linux/sema-linux.mk @@ -0,0 +1,34 @@ +################################################################################ +# +# sema-linux +# +################################################################################ + +SEMA_LINUX_VERSION = v4.4.5 +SEMA_LINUX_SITE = $(call github,ADLINK,sema-linux,$(SEMA_LINUX_VERSION)) +SEMA_LINUX_LICENSE = BSD-3-Clause or GPL-2.0 +SEMA_LINUX_LICENSE_FILES = LICENSE.BSD3 LICENSE.GPLv2 LICENSE.dual +SEMA_LINUX_DEPENDENCIES = util-linux + +define SEMA_LINUX_BUILD_CMDS + $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) -C $(@D) app_build +endef + +define SEMA_LINUX_INSTALL_TARGET_CMDS + $(TARGET_MAKE_ENV) $(MAKE) DESTDIR=$(TARGET_DIR) -C $(@D) app_install +endef + +define SEMA_LINUX_LINUX_CONFIG_FIXUPS + $(call KCONFIG_ENABLE_OPT,CONFIG_BACKLIGHT_CLASS_DEVICE) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIO_SYSFS) + $(call KCONFIG_ENABLE_OPT,CONFIG_GPIOLIB) + $(call KCONFIG_ENABLE_OPT,CONFIG_HWMON) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C) + $(call KCONFIG_ENABLE_OPT,CONFIG_I2C_BOARDINFO) + $(call KCONFIG_ENABLE_OPT,CONFIG_NVMEM) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG) + $(call KCONFIG_ENABLE_OPT,CONFIG_WATCHDOG_CORE) +endef + +$(eval $(kernel-module)) +$(eval $(generic-package)) -- 2.43.0 _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [Buildroot] [PATCH v8] package/sema-linux: add new unified adlink sema drivers package 2026-09-18 22:53 ` [Buildroot] [PATCH v8] " Thomas Devoogdt @ 2026-10-26 21:15 ` Thomas Petazzoni via buildroot 0 siblings, 0 replies; 9+ messages in thread From: Thomas Petazzoni via buildroot @ 2026-10-26 21:15 UTC (permalink / raw) To: Thomas Devoogdt; +Cc: buildroot, jorik.devreese On Sat, Sep 19, 2026 at 12:53:15AM +0200, Thomas Devoogdt wrote: > From: Devreese Jorik <jorik.devreese@barco.com> > > Add the unified sema-linux package, which replaces the archived > sema-linux-ec repository from Adlink. This unified upstream repository > provides support for both BMC (Board Management Controller) and EC > (Embedded Controller) devices. > > Signed-off-by: Devreese Jorik <jorik.devreese@barco.com> > Signed-off-by: Thomas Devoogdt <thomas@devoogdt.com> An entry in the DEVELOPERS file was missing, so I've added two: one for Jorik, one for you, so that both of you will receive the e-mail notifications about sema-linux. Other than that: patch applied, thanks! Best regards, Thomas Petazzoni -- Thomas Petazzoni, co-owner and CEO, Bootlin Embedded Linux and Kernel engineering and training https://bootlin.com _______________________________________________ buildroot mailing list buildroot@buildroot.org https://lists.buildroot.org/mailman/listinfo/buildroot ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2026-10-26 21:15 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-12-23 22:14 [Buildroot] [PATCH] package/sema-linux-ec: add ADLINK sema drivers package Thomas Devoogdt 2026-03-09 7:51 ` [Buildroot] [PATCH v2] package/sema-linux-ec: add new adlink " Thomas Devoogdt 2026-03-09 15:57 ` [Buildroot] [PATCH v3] " Thomas Devoogdt 2026-03-09 21:10 ` [Buildroot] [PATCH v4] " Thomas Devoogdt 2026-03-10 9:09 ` [Buildroot] [PATCH v5] " Thomas Devoogdt 2026-08-27 9:01 ` [Buildroot] [PATCH v6] package/sema-linux: add new unified " Thomas Devoogdt 2026-08-27 10:24 ` [Buildroot] [PATCH v7] " Thomas Devoogdt 2026-09-18 22:53 ` [Buildroot] [PATCH v8] " Thomas Devoogdt 2026-10-26 21:15 ` Thomas Petazzoni via buildroot
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.