static int invoke_led_service(void) { int rc = 0; int getvalue; char *argv_on[] = { "/system/bin/sh", "/system/bin/am", "startservice", "--es", "rfs", "on", "-n", FELICA_LED_INTENT, NULL }; char *argv_off[] = { "/system/bin/sh", "/system/bin/am", "startservice", "--es", "rfs", "off", "-n", FELICA_LED_INTENT, NULL }; static char *envp[] = {FELICA_LD_LIBRARY_PATH,FELICA_BOOTCLASSPATH,FELICA_PATH,NULL}; #ifdef FEATURE_DEBUG_LOW FELICA_DEBUG_MSG("[FELICA_RFS] invoke led service ... \n"); #endif getvalue = felica_gpio_read(felica_get_rfs_gpio_num()); if( isFelicaUsed ==0 && getvalue == GPIO_LOW_VALUE) { #ifdef FEATURE_DEBUG_HIGH FELICA_DEBUG_MSG("[FELICA_RFS] Felica LED On ... \n"); #endif lock_felica_rfs_wake_lock(); rc = call_usermodehelper( argv_on[0], argv_on, envp, UMH_WAIT_PROC ); isFelicaUsed = 1; } else if( isFelicaUsed ==1 && getvalue == GPIO_HIGH_VALUE) { #ifdef FEATURE_DEBUG_HIGH FELICA_DEBUG_MSG("[FELICA_RFS] Felica LED Off ... \n"); #endif unlock_felica_rfs_wake_lock(); rc = call_usermodehelper( argv_off[0], argv_off, envp, UMH_WAIT_PROC ); isFelicaUsed =0; } else { #ifdef FEATURE_DEBUG_MED FELICA_DEBUG_MSG("[FELICA_RFS] Felica LED exception case ... do nothing \n"); FELICA_DEBUG_MSG("[FELICA_RFS] felica_gpio_read = %d , isFelicaUsed =%d \n",getvalue,isFelicaUsed); #endif unlock_felica_rfs_wake_lock(); #if defined(CONFIG_LGE_FELICA_ONLY) FELICA_DEBUG_MSG("[FELICA_RFS] Felica LED ERROR case so LED Off ... \n"); rc = call_usermodehelper( argv_off[0], argv_off, envp, UMH_WAIT_PROC ); isFelicaUsed =0; #endif } #ifdef FEATURE_DEBUG_LOW FELICA_DEBUG_MSG("[FELICA_RFS] invoke_led_service: %d \n", rc); #endif return rc; }
static int invoke_led_service(void) { int rc = 0; int getvalue; char *argv_on[] = { "/system/bin/sh", "/system/bin/am", "startservice", "--es", "rfs", "on", "-n", FELICA_LED_INTENT, NULL }; char *argv_off[] = { "/system/bin/sh", "/system/bin/am", "startservice", "--es", "rfs", "off", "-n", FELICA_LED_INTENT, NULL }; static char *envp[] = {FELICA_LD_LIBRARY_PATH,FELICA_BOOTCLASSPATH,FELICA_PATH,NULL}; FELICA_DEBUG_MSG("[FELICA_RFS] invoke led service ... \n"); getvalue = felica_gpio_read(GPIO_FELICA_RFS); FELICA_DEBUG_MSG("[FELICA_RFS] felica_gpio_read = %d , isFelicaUsed =%d \n",getvalue,isFelicaUsed); if( isFelicaUsed ==0 && getvalue == GPIO_LOW_VALUE) { FELICA_DEBUG_MSG("[FELICA_RFS] Felica LED On ... \n"); lock_felica_rfs_wake_lock(); rc = call_usermodehelper( argv_on[0], argv_on, envp, UMH_WAIT_PROC ); isFelicaUsed = 1; } else if( isFelicaUsed ==1 && getvalue == GPIO_HIGH_VALUE) { FELICA_DEBUG_MSG("[FELICA_RFS] Felica LED Off ... \n"); unlock_felica_rfs_wake_lock(); rc = call_usermodehelper( argv_off[0], argv_off, envp, UMH_WAIT_PROC ); isFelicaUsed =0; } else { FELICA_DEBUG_MSG("[FELICA_RFS] Felica LED ERROR case so LED Off ... \n"); unlock_felica_rfs_wake_lock(); rc = call_usermodehelper( argv_off[0], argv_off, envp, UMH_WAIT_PROC ); isFelicaUsed =0; } FELICA_DEBUG_MSG("[FELICA_RFS] invoke_led_service: %d \n", rc); return rc; }