diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index 1a0be02..f125468 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -359,6 +359,13 @@
 
 menu "Processor type and features"
 
+config PLATFORM_MOCK
+	bool "Enable a mock architecture used for unit testing."
+	depends on TEST && OF
+	default y
+	help
+	  "Used for testing stuff."
+
 config ZONE_DMA
 	bool "DMA memory allocation support" if EXPERT
 	default y
diff --git a/arch/x86/include/asm/io-mock.h b/arch/x86/include/asm/io-mock.h
new file mode 100644
index 0000000..8620743
--- /dev/null
+++ b/arch/x86/include/asm/io-mock.h
@@ -0,0 +1,74 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Mock IO functions.
+ *
+ * Copyright (C) 2018, Google LLC.
+ * Author: Brendan Higgins <brendanhiggins@google.com>
+ */
+
+#ifndef _ASM_UM_IO_MOCK_H
+#define _ASM_UM_IO_MOCK_H
+
+#include <asm/io.h>
+#include <test/mock.h>
+
+DECLARE_FUNCTION_MOCK(kunit_readb,
+		      RETURNS(u8), PARAMS(const volatile void __iomem *));
+
+DECLARE_FUNCTION_MOCK(kunit_readw,
+		      RETURNS(u16), PARAMS(const volatile void __iomem *));
+
+DECLARE_FUNCTION_MOCK(kunit_readl,
+		      RETURNS(u32), PARAMS(const volatile void __iomem *));
+
+#ifdef CONFIG_64BIT
+DECLARE_FUNCTION_MOCK(kunit_readq,
+		      RETURNS(u64), PARAMS(const volatile void __iomem *));
+#endif /* CONFIG_64BIT */
+
+DECLARE_FUNCTION_MOCK_VOID_RETURN(kunit_writeb,
+				  PARAMS(u8, const volatile void __iomem *));
+
+DECLARE_FUNCTION_MOCK_VOID_RETURN(kunit_writew,
+				  PARAMS(u16, const volatile void __iomem *));
+
+DECLARE_FUNCTION_MOCK_VOID_RETURN(kunit_writel,
+				  PARAMS(u32, const volatile void __iomem *));
+
+#ifdef CONFIG_64BIT
+DECLARE_FUNCTION_MOCK_VOID_RETURN(kunit_writeq,
+				  PARAMS(u64, const volatile void __iomem *));
+#endif /* CONFIG_64BIT */
+
+
+
+DECLARE_FUNCTION_MOCK(kunit_readb_relaxed,
+		      RETURNS(u8), PARAMS(const volatile void __iomem *));
+
+DECLARE_FUNCTION_MOCK(kunit_readw_relaxed,
+		      RETURNS(u16), PARAMS(const volatile void __iomem *));
+
+DECLARE_FUNCTION_MOCK(kunit_readl_relaxed,
+		      RETURNS(u32), PARAMS(const volatile void __iomem *));
+
+#ifdef CONFIG_64BIT
+DECLARE_FUNCTION_MOCK(kunit_readq_relaxed,
+		      RETURNS(u64), PARAMS(const volatile void __iomem *));
+#endif /* CONFIG_64BIT */
+
+DECLARE_FUNCTION_MOCK_VOID_RETURN(kunit_writeb_relaxed,
+				  PARAMS(u8, const volatile void __iomem *));
+
+DECLARE_FUNCTION_MOCK_VOID_RETURN(kunit_writew_relaxed,
+				  PARAMS(u16, const volatile void __iomem *));
+
+DECLARE_FUNCTION_MOCK_VOID_RETURN(kunit_writel_relaxed,
+				  PARAMS(u32, const volatile void __iomem *));
+
+#ifdef CONFIG_64BIT
+DECLARE_FUNCTION_MOCK_VOID_RETURN(kunit_writeq_relaxed,
+				  PARAMS(u64, const volatile void __iomem *));
+#endif /* CONFIG_64BIT */
+
+
+#endif /* _ASM_UM_IO_MOCK_H */
diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
index 6de6484..7ddad59 100644
--- a/arch/x86/include/asm/io.h
+++ b/arch/x86/include/asm/io.h
@@ -410,4 +410,34 @@
 extern bool phys_mem_access_encrypted(unsigned long phys_addr,
 				      unsigned long size);
 
+#if IS_ENABLED(CONFIG_PLATFORM_MOCK)
+#define kunit_readb kunit_readb
+u8 kunit_readb(const volatile void __iomem *);
+
+#define kunit_readw kunit_readw
+u16 kunit_readw(const volatile void __iomem *);
+
+#define kunit_readl kunit_readl
+u32 kunit_readl(const volatile void __iomem *);
+
+#ifdef CONFIG_64BIT
+#define kunit_readq kunit_readq
+u64 kunit_readq(const volatile void __iomem *);
+#endif /* CONFIG_64BIT */
+
+#define kunit_writeb kunit_writeb
+void kunit_writeb(u8, const volatile void __iomem *);
+
+#define kunit_writew kunit_writew
+void kunit_writew(u16, const volatile void __iomem *);
+
+#define kunit_writel kunit_writel
+void kunit_writel(u32, const volatile void __iomem *);
+
+#ifdef CONFIG_64BIT
+#define kunit_writeq kunit_writeq
+void kunit_writeq(u64, const volatile void __iomem *);
+#endif /* CONFIG_64BIT */
+#endif
+
 #endif /* _ASM_X86_IO_H */
diff --git a/arch/x86/kernel/Makefile b/arch/x86/kernel/Makefile
index 8824d01..20841e0 100644
--- a/arch/x86/kernel/Makefile
+++ b/arch/x86/kernel/Makefile
@@ -139,6 +139,8 @@
 obj-$(CONFIG_UNWINDER_FRAME_POINTER)	+= unwind_frame.o
 obj-$(CONFIG_UNWINDER_GUESS)		+= unwind_guess.o
 
+obj-$(CONFIG_PLATFORM_MOCK) += io-mock.o
+
 ###
 # 64 bit specific files
 ifeq ($(CONFIG_X86_64),y)
diff --git a/arch/x86/kernel/io-mock.c b/arch/x86/kernel/io-mock.c
new file mode 100644
index 0000000..091397c
--- /dev/null
+++ b/arch/x86/kernel/io-mock.c
@@ -0,0 +1,32 @@
+#include <linux/mm.h>
+#include <linux/io.h>
+#include <linux/kernel.h>
+#include <test/mock.h>
+
+DEFINE_FUNCTION_MOCK(kunit_readb,
+		     RETURNS(u8), PARAMS(const volatile void __iomem *));
+
+DEFINE_FUNCTION_MOCK(kunit_readw,
+		     RETURNS(u16), PARAMS(const volatile void __iomem *));
+
+DEFINE_FUNCTION_MOCK(kunit_readl,
+		     RETURNS(u32), PARAMS(const volatile void __iomem *));
+
+#ifdef CONFIG_64BIT
+DEFINE_FUNCTION_MOCK(kunit_readq,
+		     RETURNS(u64), PARAMS(const volatile void __iomem *));
+#endif /* CONFIG_64BIT */
+
+DEFINE_FUNCTION_MOCK_VOID_RETURN(kunit_writeb,
+				 PARAMS(u8, const volatile void __iomem *));
+
+DEFINE_FUNCTION_MOCK_VOID_RETURN(kunit_writew,
+				 PARAMS(u16, const volatile void __iomem *));
+
+DEFINE_FUNCTION_MOCK_VOID_RETURN(kunit_writel,
+				 PARAMS(u32, const volatile void __iomem *));
+
+#ifdef CONFIG_64BIT
+DEFINE_FUNCTION_MOCK_VOID_RETURN(kunit_writeq,
+				 PARAMS(u64, const volatile void __iomem *));
+#endif /* CONFIG_64BIT */
diff --git a/drivers/clk/clk-devres.c b/drivers/clk/clk-devres.c
index 0e65e60..112bcdf 100644
--- a/drivers/clk/clk-devres.c
+++ b/drivers/clk/clk-devres.c
@@ -8,7 +8,7 @@
 #include <linux/device.h>
 #include <linux/export.h>
 #include <linux/gfp.h>
-#include <linux/mock.h>
+#include <test/mock.h>
 
 static void devm_clk_release(struct device *dev, void *res)
 {
@@ -81,7 +81,7 @@
 	return *c == data;
 }
 
-void devm_clk_put(struct device *dev, struct clk *clk)
+void __mockable devm_clk_put(struct device *dev, struct clk *clk)
 {
 	int ret;
 
diff --git a/drivers/i2c/busses/i2c-aspeed-test.c b/drivers/i2c/busses/i2c-aspeed-test.c
index 084f562..28956fc 100644
--- a/drivers/i2c/busses/i2c-aspeed-test.c
+++ b/drivers/i2c/busses/i2c-aspeed-test.c
@@ -45,6 +45,11 @@
 			    unsigned long,
 			    const char *,
 			    void *));
+DEFINE_FUNCTION_MOCK(devm_clk_get,
+		     RETURNS(struct clk *),
+		     PARAMS(struct device *, const char *));
+DEFINE_FUNCTION_MOCK_VOID_RETURN(devm_clk_put,
+				 PARAMS(struct device *, struct clk *));
 
 static void call_irq_handler(struct work_struct *work)
 {
@@ -339,6 +344,17 @@
 	aspeed_i2c_25xx_get_clk_reg_val_params_test(test, 2176, 7, 8, 7);
 }
 
+struct clk {
+	struct clk_core	*core;
+	struct device *dev;
+	const char *dev_id;
+	const char *con_id;
+	unsigned long min_rate;
+	unsigned long max_rate;
+	unsigned int exclusive_count;
+	struct hlist_node clks_node;
+};
+
 static int aspeed_i2c_test_init(struct test *test)
 {
 	struct mock_param_capturer *adap_capturer,
@@ -346,7 +362,9 @@
 				   *irq_ctx_capturer;
 	struct aspeed_i2c_fake *i2c_fake;
 	struct aspeed_i2c_test *ctx;
+	struct clk *clk;
 
+	clk = test_kzalloc(test, sizeof(*clk), GFP_KERNEL);
 	i2c_fake = aspeed_i2c_fake_init(test, schedule_irq_handler_call);
 	ctx = test_kzalloc(test, sizeof(*ctx), GFP_KERNEL);
 	if (!ctx)
@@ -378,6 +396,8 @@
 						      any(test),
                                                       capturer_to_matcher(irq_ctx_capturer))),
                 int_return(test, 0));
+	Returns(EXPECT_CALL(devm_clk_get(any(test), any(test))), ptr_return(test, clk));
+	Returns(EXPECT_CALL(devm_clk_put(any(test), any(test))), int_return(test, 0));
 
 	adap_capturer = mock_ptr_capturer_create(test, any(test));
 	ActionOnMatch(EXPECT_CALL(
@@ -387,6 +407,8 @@
 	ctx->pdev = of_fake_probe_platform_by_name(test,
 						   "aspeed-i2c-bus",
 						   "test-i2c-bus");
+	/* Don't let mock expectations bleed into test cases. */
+	mock_validate_expectations(mock_get_global_mock());
 	ASSERT_NOT_ERR_OR_NULL(test, ctx->pdev);
 
 	ASSERT_PARAM_CAPTURED(test, adap_capturer);
@@ -396,9 +418,6 @@
 	ctx->irq_handler = mock_capturer_get(irq_capturer, irq_handler_t);
 	ctx->irq_ctx = mock_capturer_get(irq_ctx_capturer, void *);
 
-	/* Don't let mock expectations bleed into test cases. */
-	mock_validate_expectations(mock_get_global_mock());
-
 	INIT_WORK(&ctx->call_irq_handler, call_irq_handler);
 
 	ctx->test = test;
diff --git a/include/test/test.h b/include/test/test.h
index 1369963..b3b6644 100644
--- a/include/test/test.h
+++ b/include/test/test.h
@@ -942,8 +942,8 @@
 			      "Asserted " #ptr " is not null, but is.");       \
 	if (IS_ERR(__ptr))						       \
 		__stream->add(__stream,					       \
-			      "Asserted " #ptr " is not error, but is: %ld",   \
-			      strerror_r(-PTR_ERR(__ptr), buf, sizeof(buf)));  \
+			      "Asserted " #ptr " is not error, but is: %ld (%s)",   \
+			      -PTR_ERR(__ptr), strerror_r(-PTR_ERR(__ptr), buf, sizeof(buf)));  \
 									       \
 	ASSERT_END(test, !IS_ERR_OR_NULL(__ptr), __stream);		       \
 } while (0)
