summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWootak Jung <wootak.jung@samsung.com>2024-07-10 13:32:43 +0900
committerWootak Jung <wootak.jung@samsung.com>2024-07-10 13:32:43 +0900
commit7dd2039de922cad66ce03790d20a6096c77de8a4 (patch)
tree73afd3655d061167e1953a36630d13aff55fffb9
parent99d72c97877d28819b539eab2ad497306a048676 (diff)
downloadbluetooth-usb-accepted/tizen_unified_x_asan.tar.gz
bluetooth-usb-accepted/tizen_unified_x_asan.tar.bz2
bluetooth-usb-accepted/tizen_unified_x_asan.zip
Change-Id: I988a2d6c10c33415e8dcb83e4b58921cd5ac9d63 Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
-rw-r--r--CMakeLists.txt4
-rw-r--r--packaging/hal-backend-bluetooth-usb.spec4
-rw-r--r--src/CMakeLists.txt4
-rw-r--r--src/hal-backend-bluetooth.c51
-rw-r--r--src/log.h29
5 files changed, 68 insertions, 24 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 129f748..e593cb8 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -1,6 +1,10 @@
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
PROJECT(hal-backend-bluetooth-usb C)
+IF(ENABLE_DLOG STREQUAL on)
+ ADD_DEFINITIONS("-DFEATURE_DLOG")
+ENDIF()
+
FOREACH(flag ${package_CFLAGS})
SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
ENDFOREACH(flag)
diff --git a/packaging/hal-backend-bluetooth-usb.spec b/packaging/hal-backend-bluetooth-usb.spec
index 6762885..2d829cd 100644
--- a/packaging/hal-backend-bluetooth-usb.spec
+++ b/packaging/hal-backend-bluetooth-usb.spec
@@ -7,9 +7,7 @@ License: Apache-2.0
Source0: hal-backend-bluetooth-usb-%{version}.tar.gz
BuildRequires: cmake
-BuildRequires: pkgconfig(dlog)
-BuildRequires: pkgconfig(hal-api-common)
-BuildRequires: pkgconfig(hal-api-bluetooth)
+BuildRequires: pkgconfig(hal-rootstrap)
%description
USB firmware and tools for bluetooth
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 964fe52..a5d2986 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -5,9 +5,7 @@ INCLUDE_DIRECTORIES(${PROJECT_SOURCE_DIR}/include)
INCLUDE(FindPkgConfig)
pkg_check_modules(hal-backend-bluetooth_pkgs REQUIRED
- dlog
- hal-api-common
- hal-api-bluetooth
+ hal-rootstrap
)
SET(SRCS
diff --git a/src/hal-backend-bluetooth.c b/src/hal-backend-bluetooth.c
index 2a552b4..0e07f22 100644
--- a/src/hal-backend-bluetooth.c
+++ b/src/hal-backend-bluetooth.c
@@ -1,13 +1,27 @@
+/*
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include <errno.h>
-#include <dlog.h>
#include <hal/hal-bluetooth-interface.h>
-#undef LOG_TAG
-#define LOG_TAG "HALAPI_BLUETOOTH"
+#include "log.h"
#define EXPORT __attribute__ ((visibility("default")))
@@ -16,13 +30,13 @@ static int bluetooth_usb_start(void)
int ret;
ret = system("/hal/etc/bluetooth/bt-dev-start.sh");
if (ret == 0x100) {
- LOGE("script internal failed");
+ _E("script internal failed");
return HAL_BACKEND_ERROR_INTERNAL;
} else if (ret == 0x200) {
- LOGE("script timeout failed");
+ _E("script timeout failed");
return HAL_BACKEND_ERROR_TIMEOUT;
}
- LOGD("script started successfully");
+ _D("script started successfully");
return HAL_BACKEND_ERROR_NONE;
}
@@ -31,13 +45,13 @@ static int bluetooth_usb_stop(void)
int ret;
ret = system("/hal/etc/bluetooth/bt-dev-end.sh");
if (ret == 0x100) {
- LOGE("script internal failed");
+ _E("script internal failed");
return HAL_BACKEND_ERROR_INTERNAL;
} else if (ret == 0x200) {
- LOGE("script timeout failed");
+ _E("script timeout failed");
return HAL_BACKEND_ERROR_TIMEOUT;
}
- LOGD("script started successfully");
+ _D("script started successfully");
return HAL_BACKEND_ERROR_NONE;
}
@@ -45,31 +59,32 @@ static int bluetooth_usb_init(void **data)
{
hal_backend_bluetooth_funcs *bluetooth_funcs;
- bluetooth_funcs = calloc(1, sizeof(hal_backend_bluetooth_funcs));
+ if (!data) {
+ _E("data is NULL");
+ return -EINVAL;
+ }
+
+ bluetooth_funcs = *(hal_backend_bluetooth_funcs **)data;
if (!bluetooth_funcs)
- return -ENOMEM;
+ return -EINVAL;
bluetooth_funcs->start = bluetooth_usb_start;
bluetooth_funcs->stop = bluetooth_usb_stop;
- *data = (void *)bluetooth_funcs;
-
return 0;
}
static int bluetooth_usb_exit(void *data)
{
- if (!data)
- return -EINVAL;
- free(data);
-
return 0;
}
hal_backend EXPORT hal_backend_bluetooth_data = {
.name = "bluetooth-usb",
- .vendor = "Usb",
+ .vendor = "Samsung",
.abi_version = HAL_ABI_VERSION_TIZEN_6_5,
.init = bluetooth_usb_init,
.exit = bluetooth_usb_exit,
+ .major_version = 1,
+ .minor_version = 0,
};
diff --git a/src/log.h b/src/log.h
new file mode 100644
index 0000000..598ae4a
--- /dev/null
+++ b/src/log.h
@@ -0,0 +1,29 @@
+/*
+ * Copyright (c) 2024 Samsung Electronics Co., Ltd All Rights Reserved
+ *
+ * Licensed under the Apache License, Version 2.0 (the License);
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an AS IS BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifdef FEATURE_DLOG
+ #define LOG_TAG "HAL_BACKEND_BLUETOOTH_USB"
+ #include <dlog.h>
+ #define _D(fmt, args...) dlog_print(DLOG_DEBUG, LOG_TAG, fmt, ##args)
+ #define _I(fmt, args...) dlog_print(DLOG_INFO, LOG_TAG, fmt, ##args)
+ #define _W(fmt, args...) dlog_print(DLOG_WARN, LOG_TAG, fmt, ##args)
+ #define _E(fmt, args...) dlog_print(DLOG_ERROR, LOG_TAG, fmt, ##args)
+#else
+ #define _D(x, ...)
+ #define _I(x, ...)
+ #define _W(x, ...)
+ #define _E(x, ...)
+#endif