summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hughes <tomhughes@chromium.org>2022-11-04 15:41:03 -0700
committerChromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com>2022-11-15 18:49:32 +0000
commit9a8aa751b99cfead9ce29654d97318d3b2531741 (patch)
treeef9a1b3cefd23604daed8e89abdf53f15dd6eba6
parent9bee67504df027376ffdfee5ebbb0ec5b55745b7 (diff)
downloadchrome-ec-9a8aa751b99cfead9ce29654d97318d3b2531741.tar.gz
util: Add libec support
libec needs a file descriptor for running commands. This comm_get_fd() API will allow us to use libec in ectool. Also add the necessary compile and link flags to use libec. BRANCH=none BUG=b:144959033 TEST=make buildall Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I746e0ac6b9dc30d920bbda87e581a695d83fd300 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4009404 Reviewed-by: Bobby Casey <bobbycasey@google.com> Reviewed-by: Andrea Grandi <agrandi@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
-rw-r--r--Makefile.toolchain5
-rw-r--r--util/comm-dev.cc5
-rw-r--r--util/comm-host.h8
3 files changed, 18 insertions, 0 deletions
diff --git a/Makefile.toolchain b/Makefile.toolchain
index 181888ed8c..80896e3e40 100644
--- a/Makefile.toolchain
+++ b/Makefile.toolchain
@@ -229,6 +229,9 @@ LIBFTDIUSB_HOST_LDLIBS:=$(shell $(HOST_PKG_CONFIG) --libs lib${LIBFTDI_NAME} l
LIBFTDIUSB_BUILD_CFLAGS:=$(shell $(BUILD_PKG_CONFIG) --cflags lib${LIBFTDI_NAME} libusb-1.0)
LIBFTDIUSB_BUILD_LDLIBS:=$(shell $(BUILD_PKG_CONFIG) --libs lib${LIBFTDI_NAME} libusb-1.0)
+LIBEC_HOST_CFLAGS:=$(shell $(HOST_PKG_CONFIG) --cflags libec)
+LIBEC_HOST_LDLIBS:=$(shell $(HOST_PKG_CONFIG) --libs libec)
+
ifeq ($(TEST_FUZZ),y)
LIBPROTOBUF_CFLAGS:=$(shell $(PKG_CONFIG) --cflags protobuf)
LIBPROTOBUF_LDLIBS:=$(shell $(PKG_CONFIG) --libs protobuf)
@@ -247,6 +250,7 @@ HOST_CFLAGS=$(HOST_CPPFLAGS) -O3 $(CFLAGS_DEBUG) $(CFLAGS_WARN) \
HOST_CFLAGS+=$(LIBFTDIUSB_HOST_CFLAGS)
HOST_CFLAGS+=-DCHROMIUM_EC=$(EMPTY)
HOST_CXXFLAGS=$(HOST_CFLAGS) -Wno-c99-designator
+HOST_CXXFLAGS+=$(LIBEC_HOST_CFLAGS)
ifneq (${SYSROOT},)
LDFLAGS_EXTRA+=--sysroot=${SYSROOT}
endif
@@ -266,6 +270,7 @@ HOST_LDFLAGS=$(LIBFTDIUSB_HOST_LDLIBS)
ifneq (${HOST_SYSROOT},)
HOST_LDFLAGS+=--sysroot=${HOST_SYSROOT}
endif
+HOST_LDFLAGS+=$(LIBEC_HOST_LDLIBS)
HOST_TEST_LDFLAGS=-Wl,-T core/host/host_exe.lds -lrt -pthread -rdynamic -lm\
-fuse-ld=bfd -no-pie \
$(if $(TEST_COVERAGE), --coverage,) \
diff --git a/util/comm-dev.cc b/util/comm-dev.cc
index f6467492f9..bbb79a448c 100644
--- a/util/comm-dev.cc
+++ b/util/comm-dev.cc
@@ -292,3 +292,8 @@ int comm_init_dev(const char *device_name)
return 0;
}
+
+int comm_get_fd()
+{
+ return fd;
+}
diff --git a/util/comm-host.h b/util/comm-host.h
index 907df3df96..0f07bb48f3 100644
--- a/util/comm-host.h
+++ b/util/comm-host.h
@@ -53,6 +53,14 @@ int comm_init_alt(int interfaces, const char *device_name, int i2c_bus);
int comm_init_dev(const char *device_name);
/**
+ * Get the file descriptor associated with the dev interface. comm_init_dev
+ * must be called first in order for the file descriptor to be valid.
+ *
+ * @return file descriptor
+ */
+int comm_get_fd(void);
+
+/**
* Initialize input & output buffers
*
* @return 0 in case of success, or error code.