summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYoungjae Cho <y0.cho@samsung.com>2022-05-02 16:40:17 +0900
committerYoungjae Cho <y0.cho@samsung.com>2022-05-02 16:40:17 +0900
commit6fea7458e93661815be86ca9f85cf1a483d6a96f (patch)
tree57ca58597d0bf4503f1b91bfd7c7f5ef661c632b
parent1825df3bbb6143776ce32d2c4f1e06d33bf272d1 (diff)
downloaddevice-vim3-tizen_8.0.tar.gz
device-vim3-tizen_8.0.tar.bz2
device-vim3-tizen_8.0.zip
The actual operation of usb-gadget is no more hal dependent. Instead, the deviced is now in charge of running usb-gadget. The hal backend has changed to provide only target specific usb-gadget configurations. If there is no target specific configurations, deviced runs usb-gadget with default configurations. Change-Id: I62cc495240913e7447a16c7cf09a70f68bef7a70 Signed-off-by: Youngjae Cho <y0.cho@samsung.com>
-rw-r--r--CMakeLists.txt1
-rw-r--r--conf/usb-gadget.conf18
-rw-r--r--hw/usb_gadget/CMakeLists.txt18
-rw-r--r--hw/usb_gadget/usb_gadget.c81
-rw-r--r--packaging/hal-backend-device-vim3.spec5
5 files changed, 23 insertions, 100 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 45ba039..c626cb4 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -15,6 +15,5 @@ ADD_SUBDIRECTORY(hw/board)
ADD_SUBDIRECTORY(hw/display)
ADD_SUBDIRECTORY(hw/touchscreen)
ADD_SUBDIRECTORY(hw/thermal)
-ADD_SUBDIRECTORY(hw/usb_gadget)
ADD_SUBDIRECTORY(hw/haptic)
ADD_SUBDIRECTORY(hw/memory)
diff --git a/conf/usb-gadget.conf b/conf/usb-gadget.conf
new file mode 100644
index 0000000..d2abda4
--- /dev/null
+++ b/conf/usb-gadget.conf
@@ -0,0 +1,18 @@
+#[SystemdUnit]
+#Service=diag.service
+#RemainAfterDisable=yes
+#
+#[Attribute]
+#Function=diag|rmnet
+#idVendor=0x05c6
+#idProduct=0x901d
+#
+#[Attribute]
+#Function=acm|diag
+#idVendor=0x05c6
+#idProduct=0x901d
+#
+#[Attribute]
+#Function=diag
+#idVendor=0x05c6
+#idProduct=0x901d
diff --git a/hw/usb_gadget/CMakeLists.txt b/hw/usb_gadget/CMakeLists.txt
deleted file mode 100644
index 7146f92..0000000
--- a/hw/usb_gadget/CMakeLists.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
-PROJECT(hal-backend-device-usb-gadget C)
-
-SET(PREFIX ${CMAKE_INSTALL_PREFIX})
-
-INCLUDE(FindPkgConfig)
-pkg_check_modules(hal-backend-device-usb-gadget_pkgs REQUIRED hal-backend-device-common)
-
-FOREACH(flag ${hal-backend-device-usb-gadget_pkgs_CFLAGS})
- SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} ${flag}")
-ENDFOREACH(flag)
-
-SET(EXTRA_CFLAGS "${EXTRA_CFLAGS} -fvisibility=hidden")
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS}")
-
-ADD_LIBRARY(${PROJECT_NAME} MODULE usb_gadget.c)
-TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${hal-backend-device-usb-gadget_pkgs_LDFLAGS})
-INSTALL(TARGETS ${PROJECT_NAME} DESTINATION ${HAL_LIB_DIR} COMPONENT RuntimeLibraries)
diff --git a/hw/usb_gadget/usb_gadget.c b/hw/usb_gadget/usb_gadget.c
deleted file mode 100644
index 5336eed..0000000
--- a/hw/usb_gadget/usb_gadget.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 2016 Samsung Electronics Co., Ltd.
- *
- * 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 <errno.h>
-#include <stdlib.h>
-
-#include <hal/hal-common-interface.h>
-#include <hal/device/hal-usb_gadget-interface.h>
-
-#include </hal/include/device/hal-backend-common-usb_gadget.h>
-#include </hal/include/device/hal-backend-common.h>
-
-static int usb_gadget_init(void **data)
-{
- hal_backend_usb_gadget_funcs *usb_gadget_funcs;
-
- if (!data)
- return -EINVAL;
-
- usb_gadget_funcs = calloc(1, sizeof(hal_backend_usb_gadget_funcs));
- if (!usb_gadget_funcs)
- return -ENOMEM;
-
- // usb_gadget_translator
- if (simple_translator_open(usb_gadget_funcs)) {
- _E("No USB gadget translator");
- goto error_translator_open;
- }
-
- // usb_client
- if (hw_cfs_gadget_open(usb_gadget_funcs)) {
- _I("No USB client");
- goto error_gadget_open;
- }
-
- *data = (void *)usb_gadget_funcs;
-
- return 0;
-
-error_gadget_open:
- simple_translator_close(usb_gadget_funcs);
-
-error_translator_open:
- free(usb_gadget_funcs);
-
- return -ENODEV;
-}
-
-static int usb_gadget_exit(void *data)
-{
- hal_backend_usb_gadget_funcs *usb_gadget_funcs = (hal_backend_usb_gadget_funcs *)data;
-
- if (usb_gadget_funcs) {
- hw_cfs_gadget_close(usb_gadget_funcs);
- simple_translator_close(usb_gadget_funcs);
- free(usb_gadget_funcs);
- }
-
- return 0;
-}
-
-hal_backend EXPORT hal_backend_device_usb_gadget_data = {
- .name = "usb_gadget",
- .vendor = "VIM3",
- .abi_version = HAL_ABI_VERSION_TIZEN_7_0,
- .init = usb_gadget_init,
- .exit = usb_gadget_exit,
-};
diff --git a/packaging/hal-backend-device-vim3.spec b/packaging/hal-backend-device-vim3.spec
index ce183bd..fa21eb7 100644
--- a/packaging/hal-backend-device-vim3.spec
+++ b/packaging/hal-backend-device-vim3.spec
@@ -34,6 +34,10 @@ make %{?jobs:-j%jobs}
%install
%make_install
+# install conf files
+mkdir -p %{buildroot}%{_hal_sysconfdir}/deviced
+install -m 644 conf/*.conf %{buildroot}%{_hal_sysconfdir}/deviced
+
%post
/sbin/ldconfig
@@ -44,3 +48,4 @@ make %{?jobs:-j%jobs}
%{_hal_libdir}/*.so*
%manifest %{name}.manifest
%{_hal_licensedir}/%{name}/LICENSE.Apache-2.0
+%{_hal_sysconfdir}/deviced/*