4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Hocheol Seo <hocheol.seo@samsung.com>
7 * Injun Yang <injun.yang@samsung.com>
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
30 #include "dr-common.h"
34 #define ACM_WAIT_TIME 300000
36 extern dr_info_t dr_info;
37 volatile gboolean dsr_status = FALSE;
39 static void __usb_status_noti_handler(void *data)
45 if (_get_usb_state(&usb_state) < 0) {
46 ERR(" Unable to get usb status !\n");
50 ret = vconf_get_int(VCONFKEY_SETAPPL_USB_MODE_INT, &usb_mode);
52 DBG("Vconf get failed\n");
56 DBG("USB noti handler, USB state : %d, Mode : %d\n", usb_state, usb_mode);
57 DBG("usb_fd = 0x%x\n", dr_info.usb.usb_fd);
61 * If USB driver builted in the Kernel, VCONFKEY_SYSMAN_USB_CONNECTED is not used.
62 * If USB driver loaded in DR/MTP then need to check VCONFKEY_SYSMAN_USB_CONNECTED.
63 * After usb driver loaded, MTP will be set vconf value as VCONFKEY_SYSMAN_USB_CONNECTED
65 if (usb_state != VCONFKEY_SYSMAN_USB_DISCONNECTED &&
66 usb_mode == SETTING_USB_DEFAULT_MODE) {
68 } else if (usb_state == VCONFKEY_SYSMAN_USB_DISCONNECTED) {
75 static void __usb_mode_noti_handler(void *data)
81 ret = vconf_get_int(VCONFKEY_SETAPPL_USB_MODE_INT, &usb_mode);
83 DBG("Vconf get failed\n");
87 DBG("USB Mode noti handler, USB Mode : %d\n", usb_mode);
88 DBG("usb_fd = 0x%x\n", dr_info.usb.usb_fd);
90 if (usb_mode != SETTING_USB_DEFAULT_MODE) {
99 gboolean _register_vconf_notification(void)
104 vconf_notify_key_changed(VCONFKEY_SYSMAN_USB_STATUS, (vconf_callback_fn) __usb_status_noti_handler, NULL);
106 ERR("Error !!! VCONFKEY reg noti : %s\n", VCONFKEY_SYSMAN_USB_STATUS);
110 vconf_notify_key_changed(VCONFKEY_SETAPPL_USB_MODE_INT,
111 (vconf_callback_fn) __usb_mode_noti_handler, NULL);
113 ERR("Error !!! VCONFKEY reg noti : %s\n", VCONFKEY_SETAPPL_USB_MODE_INT);
119 void _unregister_vconf_notification(void)
121 vconf_ignore_key_changed(VCONFKEY_SYSMAN_USB_STATUS, (vconf_callback_fn) __usb_status_noti_handler);
122 vconf_ignore_key_changed(VCONFKEY_SETAPPL_USB_MODE_INT, (vconf_callback_fn) __usb_mode_noti_handler);
126 gboolean _register_telephony_event(void)
131 void _unregister_telephony_event(void)