diff options
author | Tom Hughes <tomhughes@chromium.org> | 2022-11-04 15:41:03 -0700 |
---|---|---|
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | 2022-11-15 18:49:32 +0000 |
commit | 9a8aa751b99cfead9ce29654d97318d3b2531741 (patch) | |
tree | ef9a1b3cefd23604daed8e89abdf53f15dd6eba6 | |
parent | 9bee67504df027376ffdfee5ebbb0ec5b55745b7 (diff) | |
download | chrome-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.toolchain | 5 | ||||
-rw-r--r-- | util/comm-dev.cc | 5 | ||||
-rw-r--r-- | util/comm-host.h | 8 |
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. |