aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoman Stratiienko <roman.o.stratiienko@globallogic.com>2021-12-23 16:25:20 +0200
committerRoman Stratiienko <roman.o.stratiienko@globallogic.com>2022-01-12 10:33:55 +0200
commit24a7fc43eb610f531394d5447d1021b4260fa401 (patch)
tree8aaed3955f62e39f972560306ed6afc473e46795
parent35112734acc0dddb201e19b62b778e5c8a643b54 (diff)
downloaddrm_hwcomposer-24a7fc43eb610f531394d5447d1021b4260fa401.tar.gz
drm_hwcomposer: CI: Process every file with clang-tidy.
Currently part of header files isn't processed by CI. Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
-rw-r--r--.ci/Makefile149
-rw-r--r--.clang-tidy1
-rw-r--r--DrmHwcTwo.cpp8
-rw-r--r--DrmHwcTwo.h8
-rw-r--r--drm/DrmDevice.cpp1
-rw-r--r--drm/DrmDevice.h1
-rw-r--r--drm/DrmPlane.h1
-rw-r--r--drm/ResourceManager.cpp6
-rw-r--r--drm/ResourceManager.h6
-rw-r--r--drm/UEventListener.h6
-rw-r--r--utils/properties.h1
11 files changed, 133 insertions, 55 deletions
diff --git a/.ci/Makefile b/.ci/Makefile
index 08ca2b1..d78fde6 100644
--- a/.ci/Makefile
+++ b/.ci/Makefile
@@ -45,17 +45,25 @@ BUILD_FILES := \
#bufferinfo/BufferInfoMapperMetadata.cpp
#utils/hwcutils.cpp
-TIDY_FILES_H := \
- drm/DrmFbImporter.h \
- drm/DrmUnique.h \
- utils/UniqueFd.h \
- utils/log.h \
- utils/properties.h \
-
-TIDY_FILES_CPP := \
-
-TIDY_COARSE_CHECKS := * \
+TIDY_CHECKS_NORMAL := * \
-hicpp-* -llvmlibc-* -fuchsia-* -altera-* \
+ -llvm-header-guard \
+ -cppcoreguidelines-special-member-functions \
+ -cppcoreguidelines-pro-type-cstyle-cast \
+ -cppcoreguidelines-macro-usage \
+ -cppcoreguidelines-avoid-c-arrays \
+ -google-readability-braces-around-statements \
+ -google-readability-casting \
+ -misc-non-private-member-variables-in-classes \
+ -modernize-avoid-c-arrays \
+ -modernize-use-trailing-return-type \
+ -readability-braces-around-statements \
+ -readability-convert-member-functions-to-static \
+ -readability-implicit-bool-conversion \
+ -readability-identifier-naming \
+
+TIDY_CHECKS_COARSE := \
+ $(TIDY_CHECKS_NORMAL) \
-cppcoreguidelines-pro-bounds-array-to-pointer-decay \
-cppcoreguidelines-pro-bounds-constant-array-index \
-cppcoreguidelines-pro-bounds-pointer-arithmetic \
@@ -77,6 +85,75 @@ TIDY_COARSE_CHECKS := * \
-readability-magic-numbers \
-readability-use-anyofallof \
+TIDY_FILES := \
+ drm/UEventListener.h:COARSE \
+ drm/DrmFbImporter.h:FINE \
+ drm/ResourceManager.h: \
+ drm/DrmMode.h: \
+ drm/DrmDevice.h: \
+ drm/DrmProperty.h: \
+ drm/DrmConnector.h: \
+ drm/DrmCrtc.h: \
+ drm/VSyncWorker.h: \
+ drm/DrmPlane.h: \
+ drm/DrmUnique.h:FINE \
+ drm/DrmEncoder.h: \
+ bufferinfo/legacy/BufferInfoMinigbm.h: \
+ bufferinfo/legacy/BufferInfoLibdrm.h: \
+ bufferinfo/legacy/BufferInfoMaliMediatek.h: \
+ bufferinfo/legacy/BufferInfoMaliHisi.h: \
+ bufferinfo/legacy/BufferInfoImagination.h: \
+ bufferinfo/legacy/BufferInfoMaliMeson.h: \
+ bufferinfo/BufferInfoGetter.h: \
+ bufferinfo/BufferInfoMapperMetadata.h: \
+ include/drmhwcgralloc.h: \
+ include/drmhwcomposer.h: \
+ utils/Worker.h: \
+ utils/UniqueFd.h:FINE \
+ utils/autolock.h: \
+ utils/log.h:FINE \
+ utils/properties.h:FINE \
+ compositor/DrmDisplayCompositor.h: \
+ compositor/Planner.h: \
+ compositor/DrmDisplayComposition.h: \
+ backend/BackendManager.h: \
+ backend/BackendClient.h: \
+ backend/Backend.h: \
+ backend/BackendRCarDu.h: \
+ DrmHwcTwo.h: \
+
+TIDY_FILES += \
+ backend/BackendClient.cpp:COARSE \
+ backend/Backend.cpp:COARSE \
+ backend/BackendManager.cpp:COARSE \
+ backend/BackendRCarDu.cpp:COARSE \
+ bufferinfo/BufferInfoGetter.cpp:COARSE \
+ bufferinfo/legacy/BufferInfoImagination.cpp:COARSE \
+ bufferinfo/legacy/BufferInfoLibdrm.cpp:COARSE \
+ bufferinfo/legacy/BufferInfoMaliHisi.cpp:COARSE \
+ bufferinfo/legacy/BufferInfoMaliMediatek.cpp:COARSE \
+ bufferinfo/legacy/BufferInfoMaliMeson.cpp:COARSE \
+ bufferinfo/legacy/BufferInfoMinigbm.cpp:COARSE \
+ compositor/DrmDisplayComposition.cpp:COARSE \
+ compositor/DrmDisplayCompositor.cpp:COARSE \
+ compositor/Planner.cpp:COARSE \
+ drm/DrmConnector.cpp:COARSE \
+ drm/DrmCrtc.cpp:COARSE \
+ drm/DrmDevice.cpp:COARSE \
+ drm/DrmEncoder.cpp:COARSE \
+ drm/DrmFbImporter.cpp:COARSE \
+ drm/DrmMode.cpp:COARSE \
+ drm/DrmPlane.cpp:COARSE \
+ drm/DrmProperty.cpp:COARSE \
+ DrmHwcTwo.cpp:COARSE \
+ drm/ResourceManager.cpp:COARSE \
+ drm/UEventListener.cpp:COARSE \
+ drm/VSyncWorker.cpp:COARSE \
+ tests/worker_test.cpp:COARSE \
+ utils/autolock.cpp:COARSE \
+ utils/Worker.cpp:COARSE \
+
+
.PHONY: all build tidy tidy-fine clean
all: build tidy tidy-fine
@@ -87,21 +164,10 @@ clean:
_OBJ := $(BUILD_FILES:.cpp=.o)
OBJ := $(patsubst %,$(OUT_DIR)/%,$(_OBJ))
-_TIDY_TS := $(BUILD_FILES:.cpp=.cpp.t_ts)
-TIDY_TS := $(patsubst %,$(OUT_DIR)/%,$(_TIDY_TS))
-
-_FINE_TIDY_TS := $(TIDY_FILES_CPP:.cpp=.cpp,ft_ts)
-_FINE_TIDY_TS += $(TIDY_FILES_H:.h=.h.ft_ts)
-FINE_TIDY_TS := $(patsubst %,$(OUT_DIR)/%,$(_FINE_TIDY_TS))
-
DEPS := $(patsubst %.cpp,$(OUT_DIR)/%.d,$(BUILD_FILES))
build: $(OBJ)
-tidy: $(TIDY_TS) build
-
-tidy-fine: $(FINE_TIDY_TS) build
-
CXXARGS := $(foreach dir,$(INCLUDE_DIRS),-I$(SRC_DIR)/$(dir)) $(foreach dir,$(SYSTEM_INCLUDE_DIRS),-I$(dir)) $(CXXFLAGS)
$(OUT_DIR)/%.o: $(SRC_DIR)/%.cpp
@@ -112,34 +178,37 @@ $(OUT_DIR)/%.d: $(SRC_DIR)/%.cpp
mkdir -p $(dir $@)
$(CLANG) $(CXXARGS) $< -MM -MT $(OUT_DIR)/$(patsubst %.cpp,%.o,$<) -o $@
+# TIDY
space := $(subst ,, )
comma := ,
-# TIDY
-define exec-tidy
- mkdir -p $(dir $@)
- $(CLANG_TIDY) $< --checks="$(subst $(space),$(comma),$(strip $(TIDY_COARSE_CHECKS)))" -- -x c++ $(CXXARGS)
- touch $@
-endef
+TIDY_ARGS_FINE :=
+TIDY_ARGS_NONE := --checks="-*,llvm-include-order"
+TIDY_ARGS_ := --checks="-*,llvm-include-order"
+TIDY_ARGS_NORMAL := --checks="$(subst $(space),$(comma),$(strip $(TIDY_CHECKS_NORMAL)))"
+TIDY_ARGS_COARSE := --checks="$(subst $(space),$(comma),$(strip $(TIDY_CHECKS_COARSE)))"
-$(OUT_DIR)/%.h.t_ts: $(SRC_DIR)/%.h
- $(exec-tidy)
+define process-tidy
-$(OUT_DIR)/%.cpp.t_ts: $(SRC_DIR)/%.cpp $(OUT_DIR)/%.o
- $(exec-tidy)
+_TARG := $(OUT_DIR)/$1.tidy.ts
+_DEP := $(SRC_DIR)/$1
+
+TIDY_DEPS += $(_TARG)
+
+TIDY_ARGS:=$(TIDY_ARGS_$2)
+
+$(_TARG): $(_DEP)
+ mkdir -p $(dir $(_TARG))
+ $(CLANG_TIDY) $(_DEP) $(TIDY_ARGS) -- -x c++ $(CXXARGS)
+ touch $(_TARG)
-# TIDY-FINE
-define exec-tidy-fine
- mkdir -p $(dir $@)
- $(CLANG_TIDY) $< -- -x c++ $(CXXARGS)
- touch $@
endef
-$(OUT_DIR)/%.cpp.ft_ts: $(SRC_DIR)/%.cpp $(OUT_DIR)/%.o
- $(exec-tidy-fine)
+$(foreach pair,$(TIDY_FILES),$(eval $(call process-tidy,$(word 1, $(subst :, ,$(pair))),$(word 2, $(subst :, ,$(pair))))))
+
+#$(warning $(TIDY_DEPS))
-$(OUT_DIR)/%.h.ft_ts: $(SRC_DIR)/%.h
- $(exec-tidy-fine)
+tidy: $(TIDY_DEPS)
ifneq ($(MAKECMDGOALS), clean)
-include $(DEPS)
diff --git a/.clang-tidy b/.clang-tidy
index 4bd8ff7..300a2fe 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -6,7 +6,6 @@ Checks: >
*,
-fuchsia*,
-llvm*,
- -concurrency-mt-unsafe,
-cppcoreguidelines-pro-type-vararg, -hicpp-vararg,
-hicpp-signed-bitwise,
diff --git a/DrmHwcTwo.cpp b/DrmHwcTwo.cpp
index 45fb958..ad9c2c2 100644
--- a/DrmHwcTwo.cpp
+++ b/DrmHwcTwo.cpp
@@ -1083,6 +1083,14 @@ HWC2::Error DrmHwcTwo::HwcDisplay::SetColorModeWithIntent(int32_t mode,
#endif /* PLATFORM_SDK_VERSION > 27 */
+const Backend *DrmHwcTwo::HwcDisplay::backend() const {
+ return backend_.get();
+}
+
+void DrmHwcTwo::HwcDisplay::set_backend(std::unique_ptr<Backend> backend) {
+ backend_ = std::move(backend);
+}
+
HWC2::Error DrmHwcTwo::HwcLayer::SetCursorPosition(int32_t /*x*/,
int32_t /*y*/) {
return HWC2::Error::None;
diff --git a/DrmHwcTwo.h b/DrmHwcTwo.h
index eb74f32..beb2e5f 100644
--- a/DrmHwcTwo.h
+++ b/DrmHwcTwo.h
@@ -267,12 +267,8 @@ class DrmHwcTwo : public hwc2_device_t {
int active_config_id_ = 0;
int preferred_config_id_ = 0;
- const Backend *backend() const {
- return backend_.get();
- }
- void set_backend(std::unique_ptr<Backend> backend) {
- backend_ = std::move(backend);
- }
+ const Backend *backend() const;
+ void set_backend(std::unique_ptr<Backend> backend);
const std::vector<DrmPlane *> &primary_planes() const {
return primary_planes_;
diff --git a/drm/DrmDevice.cpp b/drm/DrmDevice.cpp
index 35ed45d..8dee817 100644
--- a/drm/DrmDevice.cpp
+++ b/drm/DrmDevice.cpp
@@ -30,6 +30,7 @@
#include <sstream>
#include <string>
+#include "drm/DrmPlane.h"
#include "utils/log.h"
#include "utils/properties.h"
diff --git a/drm/DrmDevice.h b/drm/DrmDevice.h
index c08c766..4cbbd60 100644
--- a/drm/DrmDevice.h
+++ b/drm/DrmDevice.h
@@ -26,7 +26,6 @@
#include "DrmCrtc.h"
#include "DrmEncoder.h"
#include "DrmFbImporter.h"
-#include "DrmPlane.h"
#include "utils/UniqueFd.h"
namespace android {
diff --git a/drm/DrmPlane.h b/drm/DrmPlane.h
index 34bba56..7fab2ba 100644
--- a/drm/DrmPlane.h
+++ b/drm/DrmPlane.h
@@ -29,6 +29,7 @@
namespace android {
class DrmDevice;
+struct DrmHwcLayer;
class DrmPlane {
public:
diff --git a/drm/ResourceManager.cpp b/drm/ResourceManager.cpp
index 8baa4cb..2cd393f 100644
--- a/drm/ResourceManager.cpp
+++ b/drm/ResourceManager.cpp
@@ -24,6 +24,8 @@
#include <sstream>
#include "bufferinfo/BufferInfoGetter.h"
+#include "drm/DrmDevice.h"
+#include "drm/DrmPlane.h"
#include "utils/log.h"
#include "utils/properties.h"
@@ -32,6 +34,10 @@ namespace android {
ResourceManager::ResourceManager() : num_displays_(0) {
}
+ResourceManager::~ResourceManager() {
+ uevent_listener_.Exit();
+}
+
int ResourceManager::Init() {
char path_pattern[PROPERTY_VALUE_MAX];
// Could be a valid path or it can have at the end of it the wildcard %
diff --git a/drm/ResourceManager.h b/drm/ResourceManager.h
index 5ffe92c..bb91882 100644
--- a/drm/ResourceManager.h
+++ b/drm/ResourceManager.h
@@ -20,8 +20,8 @@
#include <string.h>
#include "DrmDevice.h"
-#include "UEventListener.h"
#include "DrmFbImporter.h"
+#include "UEventListener.h"
namespace android {
@@ -30,9 +30,7 @@ class ResourceManager {
ResourceManager();
ResourceManager(const ResourceManager &) = delete;
ResourceManager &operator=(const ResourceManager &) = delete;
- ~ResourceManager() {
- uevent_listener_.Exit();
- }
+ ~ResourceManager();
int Init();
DrmDevice *GetDrmDevice(int display);
diff --git a/drm/UEventListener.h b/drm/UEventListener.h
index 048eb40..0724443 100644
--- a/drm/UEventListener.h
+++ b/drm/UEventListener.h
@@ -27,16 +27,16 @@ namespace android {
class UEventListener : public Worker {
public:
UEventListener();
- virtual ~UEventListener() = default;
+ ~UEventListener() override = default;
int Init();
void RegisterHotplugHandler(std::function<void()> hotplug_handler) {
- hotplug_handler_ = hotplug_handler;
+ hotplug_handler_ = std::move(hotplug_handler);
}
protected:
- virtual void Routine();
+ void Routine() override;
private:
UniqueFd uevent_fd_;
diff --git a/utils/properties.h b/utils/properties.h
index c8ddbae..0b49c61 100644
--- a/utils/properties.h
+++ b/utils/properties.h
@@ -17,6 +17,7 @@ constexpr int PROPERTY_VALUE_MAX = 92;
// NOLINTNEXTLINE(readability-identifier-naming)
auto inline property_get(const char *name, char *value,
const char *default_value) -> int {
+ // NOLINTNEXTLINE (concurrency-mt-unsafe)
char *prop = std::getenv(name);
snprintf(value, PROPERTY_VALUE_MAX, "%s",
(prop == nullptr) ? default_value : prop);