diff --git a/mboxd_msg.c b/mboxd_msg.c
index ac9cff7..ea07a0d 100644
--- a/mboxd_msg.c
+++ b/mboxd_msg.c
@@ -461,7 +461,7 @@
 		 offset << context->block_size_shift,
 		 size << context->block_size_shift);
 
-	rc = set_window_bytemap(context, context->current, offset, size,
+	rc = window_set_bytemap(context, context->current, offset, size,
 				  WINDOW_DIRTY);
 	if (rc < 0) {
 		return (rc == -EACCES) ? -MBOX_R_PARAM_ERROR
@@ -507,7 +507,7 @@
 		 offset << context->block_size_shift,
 		 size << context->block_size_shift);
 
-	rc = set_window_bytemap(context, context->current, offset, size,
+	rc = window_set_bytemap(context, context->current, offset, size,
 				WINDOW_ERASED);
 	if (rc < 0) {
 		return (rc == -EACCES) ? -MBOX_R_PARAM_ERROR
@@ -617,7 +617,7 @@
 	}
 
 	/* Clear the dirty bytemap since we have written back all changes */
-	rc = set_window_bytemap(context, context->current, 0,
+	rc = window_set_bytemap(context, context->current, 0,
 				  context->current->size >>
 				  context->block_size_shift,
 				  WINDOW_CLEAN);
diff --git a/windows.c b/windows.c
index bf00f81..2c3f48b 100644
--- a/windows.c
+++ b/windows.c
@@ -351,7 +351,7 @@
 }
 
 /*
- * set_window_bytemap() - Set the window bytemap
+ * window_set_bytemap() - Set the window bytemap
  * @context:	The mbox context pointer
  * @cur:	The window to set the bytemap of
  * @offset:	Where in the window to set the bytemap (blocks)
@@ -360,7 +360,7 @@
  *
  * Return:	0 on success otherwise negative error code
  */
-int set_window_bytemap(struct mbox_context *context, struct window_context *cur,
+int window_set_bytemap(struct mbox_context *context, struct window_context *cur,
 		       uint32_t offset, uint32_t size, uint8_t val)
 {
 	if (offset + size > (cur->size >> context->block_size_shift)) {
@@ -415,7 +415,7 @@
 	window->flash_offset = FLASH_OFFSET_UNINIT;
 	window->size = context->windows.default_size;
 	if (window->dirty_bmap) { /* Might not have been allocated */
-		set_window_bytemap(context, window, 0,
+		window_set_bytemap(context, window, 0,
 				   window->size >> context->block_size_shift,
 				   WINDOW_CLEAN);
 	}
@@ -660,7 +660,7 @@
 	}
 
 	/* Clear the bytemap of the window just loaded -> we know it's clean */
-	set_window_bytemap(context, cur, 0,
+	window_set_bytemap(context, cur, 0,
 			   cur->size >> context->block_size_shift,
 			   WINDOW_CLEAN);
 
diff --git a/windows.h b/windows.h
index fdb389f..6fe100b 100644
--- a/windows.h
+++ b/windows.h
@@ -19,7 +19,7 @@
 		      uint32_t count, uint8_t type);
 /* Window Management Functions */
 void windows_alloc_dirty_bytemap(struct mbox_context *context);
-int set_window_bytemap(struct mbox_context *context, struct window_context *cur,
+int window_set_bytemap(struct mbox_context *context, struct window_context *cur,
 		       uint32_t offset, uint32_t size, uint8_t val);
 void close_current_window(struct mbox_context *context, bool set_bmc_event,
 			  uint8_t flags);
