提交 a61370b4 编写于 作者: M Mupceet

合并charge处理

恢复bootcharge-reason
Signed-off-by: NMupceet <laiguizhong@huawei.com>

合并charge处理
Signed-off-by: NMupceet <laiguizhong@huawei.com>
上级 dc00e1c8
...@@ -11,10 +11,9 @@ ...@@ -11,10 +11,9 @@
"services": [ "services": [
"ueventd", "ueventd",
"console", "console",
"watchdog_service", "hdcd",
"hdf_devmgr", "charger",
"samgr", "misc"
"param_watcher"
], ],
"groups": [ "groups": [
] ]
......
{
"jobs": [
"param:sys.usb.config=hdc && param:sys.usb.configfs=1",
"param:sys.usb.ffs.ready=1 && param:sys.usb.config=hdc && param:sys.usb.configfs=1",
"boot && param:persist.sys.usb.config=*",
"param:sys.usb.config=none && param:sys.usb.configfs=0",
"boot && param:const.debuggable=1",
"param:sys.usb.config=none && param:sys.usb.configfs=1",
"load_persist_props_action"
],
"services": [
"ueventd",
"console",
"watchdog_service",
"hdf_devmgr",
"samgr",
"param_watcher"
],
"groups": [
]
}
\ No newline at end of file
...@@ -65,7 +65,6 @@ int ReadFileInDir(const char *dirPath, const char *includeExt, ...@@ -65,7 +65,6 @@ int ReadFileInDir(const char *dirPath, const char *includeExt,
char **SplitStringExt(char *buffer, const char *del, int *returnCount, int maxItemCount); char **SplitStringExt(char *buffer, const char *del, int *returnCount, int maxItemCount);
void FreeStringVector(char **vector, int count); void FreeStringVector(char **vector, int count);
int InUpdaterMode(void); int InUpdaterMode(void);
int InChargerMode(void);
int StringReplaceChr(char *strl, char oldChr, char newChr); int StringReplaceChr(char *strl, char oldChr, char newChr);
int GetMapValue(const char *name, const InitArgInfo *infos, int argNum, int defValue); int GetMapValue(const char *name, const InitArgInfo *infos, int argNum, int defValue);
......
...@@ -94,14 +94,7 @@ static void ParseAllImports(const cJSON *root) ...@@ -94,14 +94,7 @@ static void ParseAllImports(const cJSON *root)
void ReadConfig(void) void ReadConfig(void)
{ {
// parse cfg // parse cfg
char buffer[32] = {0}; // 32 reason max leb if (InUpdaterMode() == 0) {
uint32_t len = sizeof(buffer);
SystemReadParam("ohos.boot.reboot_reason", buffer, &len);
INIT_LOGV("ohos.boot.reboot_reason %s", buffer);
if (strcmp(buffer, "poweroff_charge") == 0) {
ParseInitCfg(INIT_CONFIGURATION_FILE, NULL);
ReadFileInDir(OTHER_CHARGE_PATH, ".cfg", ParseInitCfg, NULL);
} else if (InUpdaterMode() == 0) {
ParseInitCfg(INIT_CONFIGURATION_FILE, NULL); ParseInitCfg(INIT_CONFIGURATION_FILE, NULL);
ReadFileInDir(OTHER_CFG_PATH, ".cfg", ParseInitCfg, NULL); ReadFileInDir(OTHER_CFG_PATH, ".cfg", ParseInitCfg, NULL);
ReadFileInDir("/vendor/etc/init", ".cfg", ParseInitCfg, NULL); ReadFileInDir("/vendor/etc/init", ".cfg", ParseInitCfg, NULL);
......
...@@ -299,24 +299,18 @@ int CheckNodeValid(int type, const char *name) ...@@ -299,24 +299,18 @@ int CheckNodeValid(int type, const char *name)
if (type >= NODE_TYPE_GROUPS) { if (type >= NODE_TYPE_GROUPS) {
return -1; return -1;
} }
#ifndef INIT_TEST
if (g_initWorkspace.groupMode == GROUP_BOOT) {
return 0;
}
HashNode *node = HashMapGet(g_initWorkspace.hashMap[type], name);
if (node != NULL) {
return 0;
}
#else
HashNode *node = HashMapGet(g_initWorkspace.hashMap[type], name); HashNode *node = HashMapGet(g_initWorkspace.hashMap[type], name);
if (node != NULL) { if (node != NULL) {
INIT_LOGI("Found %s in %s group", name, type == NODE_TYPE_JOBS ? "job" : "service"); INIT_LOGI("Found %s in %s group", name, type == NODE_TYPE_JOBS ? "job" : "service");
return 0; return 0;
} }
if (g_initWorkspace.groupMode == GROUP_BOOT) { if (g_initWorkspace.groupMode == GROUP_BOOT) {
// for boot start, can not start charger service
if (strcmp(name, "charger") == 0) {
return -1;
}
return 0; return 0;
} }
#endif
return -1; return -1;
} }
......
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
#include <stdarg.h> #include <stdarg.h>
#include <sys/stat.h> #include <sys/stat.h>
#include <time.h> #include <time.h>
#include <sys/time.h>
#include "securec.h" #include "securec.h"
#ifdef OHOS_LITE #ifdef OHOS_LITE
...@@ -44,17 +45,18 @@ void SetInitLogLevel(InitLogLevel logLevel) ...@@ -44,17 +45,18 @@ void SetInitLogLevel(InitLogLevel logLevel)
#ifdef INIT_FILE #ifdef INIT_FILE
static void LogToFile(const char *logFile, const char *tag, const char *info) static void LogToFile(const char *logFile, const char *tag, const char *info)
{ {
time_t second = time(0); struct timespec curr;
if (second <= 0) { if (clock_gettime(CLOCK_REALTIME, &curr) != 0) {
return; return;
} }
struct tm *t = localtime(&second);
FILE *outfile = fopen(logFile, "a+"); FILE *outfile = fopen(logFile, "a+");
if (t == NULL || outfile == NULL) { if (outfile == NULL) {
return; return;
} }
(void)fprintf(outfile, "[%d-%d-%d %d:%d:%d][pid=%d][%s]%s \n", struct tm t;
(t->tm_year + BASE_YEAR), (t->tm_mon + 1), t->tm_mday, t->tm_hour, t->tm_min, t->tm_sec, getpid(), tag, info); char dateTime[80]; // 80 data time
strftime(dateTime, sizeof(dateTime), "%Y-%m-%d %H:%M:%S", localtime_r(&curr.tv_sec, &t));
(void)fprintf(outfile, "[%s.%ld][pid=%d %d][%s]%s \n", dateTime, curr.tv_nsec, getpid(), gettid(), tag, info);
(void)fflush(outfile); (void)fflush(outfile);
fclose(outfile); fclose(outfile);
return; return;
...@@ -111,6 +113,7 @@ void InitLog(InitLogLevel logLevel, unsigned int domain, const char *tag, const ...@@ -111,6 +113,7 @@ void InitLog(InitLogLevel logLevel, unsigned int domain, const char *tag, const
return; return;
} }
va_end(vargs); va_end(vargs);
#ifdef OHOS_LITE #ifdef OHOS_LITE
static LogLevel LOG_LEVEL[] = { LOG_DEBUG, LOG_INFO, LOG_WARN, LOG_ERROR, LOG_FATAL }; static LogLevel LOG_LEVEL[] = { LOG_DEBUG, LOG_INFO, LOG_WARN, LOG_ERROR, LOG_FATAL };
(void)HiLogPrint(INIT_LOG_INIT, LOG_LEVEL[logLevel], domain, tag, "%{public}s", tmpFmt); (void)HiLogPrint(INIT_LOG_INIT, LOG_LEVEL[logLevel], domain, tag, "%{public}s", tmpFmt);
......
...@@ -695,7 +695,6 @@ WorkSpace *GetWorkSpace(const char *name) ...@@ -695,7 +695,6 @@ WorkSpace *GetWorkSpace(const char *name)
space = HASHMAP_ENTRY(node, WorkSpace, hashNode); space = HASHMAP_ENTRY(node, WorkSpace, hashNode);
} }
WORKSPACE_RW_UNLOCK(g_paramWorkSpace); WORKSPACE_RW_UNLOCK(g_paramWorkSpace);
PARAM_LOGV("GetWorkSpace %s space-name %s, space %p", name, tmpName, space);
return (space != NULL && space->area != NULL) ? space : NULL; return (space != NULL && space->area != NULL) ? space : NULL;
} }
......
...@@ -259,8 +259,6 @@ int LoadParamFromCmdLine(void) ...@@ -259,8 +259,6 @@ int LoadParamFromCmdLine(void)
}, },
{OHOS_BOOT"bootgroup", CommonDealFun {OHOS_BOOT"bootgroup", CommonDealFun
}, },
{OHOS_BOOT"reboot_reason", CommonDealFun
},
{OHOS_BOOT"sn", SnDealFun {OHOS_BOOT"sn", SnDealFun
} }
}; };
......
...@@ -412,21 +412,6 @@ int InUpdaterMode(void) ...@@ -412,21 +412,6 @@ int InUpdaterMode(void)
} }
} }
int InChargerMode(void)
{
char *data = ReadFileData(BOOT_CMD_LINE);
char value[CMDLINE_VALUE_LEN_MAX];
int ret = 0;
if ((GetProcCmdlineValue("reboot_reason", data, value, CMDLINE_VALUE_LEN_MAX) == 0) &&
(strcmp(value, "poweroff_charge") == 0)) {
ret = 1;
}
INIT_LOGE("GetProcCmdlineValue():reboot_reason=%s ,ret=%d\n", value, ret);
free(data);
return ret;
}
int StringReplaceChr(char *strl, char oldChr, char newChr) int StringReplaceChr(char *strl, char oldChr, char newChr)
{ {
INIT_ERROR_CHECK(strl != NULL, return -1, "Invalid parament"); INIT_ERROR_CHECK(strl != NULL, return -1, "Invalid parament");
......
...@@ -70,7 +70,6 @@ HWTEST_F(UtilsUnitTest, TestUtilsApi, TestSize.Level0) ...@@ -70,7 +70,6 @@ HWTEST_F(UtilsUnitTest, TestUtilsApi, TestSize.Level0)
float sec = ConvertMicrosecondToSecond(1000000); // 1000000 microseconds float sec = ConvertMicrosecondToSecond(1000000); // 1000000 microseconds
EXPECT_EQ(sec, 1); EXPECT_EQ(sec, 1);
EXPECT_EQ(WriteAll(2, "test", strlen("test")), 4); EXPECT_EQ(WriteAll(2, "test", strlen("test")), 4);
EXPECT_EQ(InChargerMode(), 0);
GetRandom(); GetRandom();
} }
} // namespace init_ut } // namespace init_ut
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册