diff --git a/tools/binman/btool/lz4.py b/tools/binman/btool/lz4.py
index d165f52..f09c5c8 100644
--- a/tools/binman/btool/lz4.py
+++ b/tools/binman/btool/lz4.py
@@ -88,8 +88,8 @@
             bytes: Compressed data
         """
         with tempfile.NamedTemporaryFile(prefix='comp.tmp',
-                                         dir=tools.GetOutputDir()) as tmp:
-            tools.WriteFile(tmp.name, indata)
+                                         dir=tools.get_output_dir()) as tmp:
+            tools.write_file(tmp.name, indata)
             args = ['--no-frame-crc', '-B4', '-5', '-c', tmp.name]
             return self.run_cmd(*args, binary=True)
 
@@ -103,8 +103,8 @@
             bytes: Decompressed data
         """
         with tempfile.NamedTemporaryFile(prefix='decomp.tmp',
-                                         dir=tools.GetOutputDir()) as inf:
-            tools.WriteFile(inf.name, indata)
+                                         dir=tools.get_output_dir()) as inf:
+            tools.write_file(inf.name, indata)
             args = ['-cd', inf.name]
             return self.run_cmd(*args, binary=True)
 
diff --git a/tools/binman/btool/lzma_alone.py b/tools/binman/btool/lzma_alone.py
index d7c62df..52a960f 100644
--- a/tools/binman/btool/lzma_alone.py
+++ b/tools/binman/btool/lzma_alone.py
@@ -65,13 +65,13 @@
             bytes: Compressed data
         """
         with tempfile.NamedTemporaryFile(prefix='comp.tmp',
-                                         dir=tools.GetOutputDir()) as inf:
-            tools.WriteFile(inf.name, indata)
+                                         dir=tools.get_output_dir()) as inf:
+            tools.write_file(inf.name, indata)
             with tempfile.NamedTemporaryFile(prefix='compo.otmp',
-                                             dir=tools.GetOutputDir()) as outf:
+                                             dir=tools.get_output_dir()) as outf:
                 args = ['e', inf.name, outf.name, '-lc1', '-lp0', '-pb0', '-d8']
                 self.run_cmd(*args, binary=True)
-                return tools.ReadFile(outf.name)
+                return tools.read_file(outf.name)
 
     def decompress(self, indata):
         """Decompress data with lzma_alone
@@ -83,13 +83,13 @@
             bytes: Decompressed data
         """
         with tempfile.NamedTemporaryFile(prefix='decomp.tmp',
-                                         dir=tools.GetOutputDir()) as inf:
-            tools.WriteFile(inf.name, indata)
+                                         dir=tools.get_output_dir()) as inf:
+            tools.write_file(inf.name, indata)
             with tempfile.NamedTemporaryFile(prefix='compo.otmp',
-                                             dir=tools.GetOutputDir()) as outf:
+                                             dir=tools.get_output_dir()) as outf:
                 args = ['d', inf.name, outf.name]
                 self.run_cmd(*args, binary=True)
-                return tools.ReadFile(outf.name, binary=True)
+                return tools.read_file(outf.name, binary=True)
 
     def fetch(self, method):
         """Fetch handler for lzma_alone
