All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.