diff --git a/lpc.c b/lpc.c
index ff36318..f4bfcd9 100644
--- a/lpc.c
+++ b/lpc.c
@@ -32,7 +32,7 @@
 
 #define LPC_CTRL_PATH		"/dev/aspeed-lpc-ctrl"
 
-int __init_lpc_dev(struct mbox_context *context, const char *path)
+int __lpc_dev_init(struct mbox_context *context, const char *path)
 {
 	struct aspeed_lpc_ctrl_mapping map = {
 		.window_type = ASPEED_LPC_CTRL_WINDOW_MEMORY,
@@ -79,9 +79,9 @@
 	return 0;
 }
 
-int init_lpc_dev(struct mbox_context *context)
+int lpc_dev_init(struct mbox_context *context)
 {
-	return __init_lpc_dev(context, LPC_CTRL_PATH);
+	return __lpc_dev_init(context, LPC_CTRL_PATH);
 }
 
 void free_lpc_dev(struct mbox_context *context)
diff --git a/lpc.h b/lpc.h
index 53b2fb4..3c42950 100644
--- a/lpc.h
+++ b/lpc.h
@@ -4,7 +4,7 @@
 #ifndef LPC_H
 #define LPC_H
 
-int init_lpc_dev(struct mbox_context *context);
+int lpc_dev_init(struct mbox_context *context);
 void free_lpc_dev(struct mbox_context *context);
 int point_to_flash(struct mbox_context *context);
 int point_to_memory(struct mbox_context *context);
diff --git a/mboxd.c b/mboxd.c
index d7b65ff..9265b6d 100644
--- a/mboxd.c
+++ b/mboxd.c
@@ -358,7 +358,7 @@
 		goto finish;
 	}
 
-	rc = init_lpc_dev(context);
+	rc = lpc_dev_init(context);
 	if (rc) {
 		goto finish;
 	}
diff --git a/test/mbox.c b/test/mbox.c
index 991a7b9..3375810 100644
--- a/test/mbox.c
+++ b/test/mbox.c
@@ -208,7 +208,7 @@
 }
 
 int __init_mbox_dev(struct mbox_context *context, const char *path);
-int __init_lpc_dev(struct mbox_context *context, const char *path);
+int __lpc_dev_init(struct mbox_context *context, const char *path);
 
 struct mbox_context *mbox_create_test_context(int n_windows, size_t len)
 {
@@ -248,7 +248,7 @@
 	rc = fallocate(test.flash.fd, 0, 0, test.context.mtd_info.size);
 	assert(rc == 0);
 
-	rc = __init_lpc_dev(&test.context, test.lpc.path);
+	rc = __lpc_dev_init(&test.context, test.lpc.path);
 	assert(rc == 0);
 
 	rc = fallocate(test.lpc.fd, 0, 0, test.context.mem_size);
