#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "kd_camera_hw.h" #include #include #include #include #include #ifdef CONFIG_COMPAT #include #include #endif #include "kd_flashlight.h" /****************************************************************************** * Debug configuration ******************************************************************************/ // availible parameter // ANDROID_LOG_ASSERT // ANDROID_LOG_ERROR // ANDROID_LOG_WARNING // ANDROID_LOG_INFO // ANDROID_LOG_DEBUG // ANDROID_LOG_VERBOSE #define TAG_NAME "[sub_strobe.c]" #define PK_DBG_NONE(fmt, arg...) do {} while (0) #define PK_DBG_FUNC(fmt, arg...) pr_debug(TAG_NAME "%s: " fmt, __func__ ,##arg) #define PK_WARN(fmt, arg...) pr_warning(TAG_NAME "%s: " fmt, __func__ ,##arg) #define PK_NOTICE(fmt, arg...) pr_notice(TAG_NAME "%s: " fmt, __func__ ,##arg) #define PK_INFO(fmt, arg...) pr_info(TAG_NAME "%s: " fmt, __func__ ,##arg) #define PK_TRC_FUNC(f) pr_debug(TAG_NAME "<%s>\n", __func__) #define PK_TRC_VERBOSE(fmt, arg...) pr_debug(TAG_NAME fmt, ##arg) #define PK_ERROR(fmt, arg...) pr_err(TAG_NAME "%s: " fmt, __func__ ,##arg) #define DEBUG_LEDS_STROBE #ifdef DEBUG_LEDS_STROBE #define PK_DBG PK_DBG_FUNC #define PK_VER PK_TRC_VERBOSE #define PK_ERR PK_ERROR #else #define PK_DBG(a,...) #define PK_VER(a,...) #define PK_ERR(a,...) #endif static int sub_strobe_ioctl(unsigned int cmd, unsigned long arg) { PK_DBG("sub dummy ioctl"); return 0; } static int sub_strobe_open(void *pArg) { PK_DBG("sub dummy open"); return 0; } static int sub_strobe_release(void *pArg) { PK_DBG("sub dummy release"); return 0; } FLASHLIGHT_FUNCTION_STRUCT subStrobeFunc= { sub_strobe_open, sub_strobe_release, sub_strobe_ioctl }; MUINT32 subStrobeInit(PFLASHLIGHT_FUNCTION_STRUCT *pfFunc) { if (pfFunc != NULL) { *pfFunc = &subStrobeFunc; } return 0; }