From: Arnd Bergmann <arnd@kernel.org>
To: linux-aspeed@lists.ozlabs.org
Subject: [PATCH] mmc: aspeed: move kunit test into separate module
Date: Mon, 25 Jan 2021 13:27:27 +0100 [thread overview]
Message-ID: <20210125122802.982-1-arnd@kernel.org> (raw)
From: Arnd Bergmann <arnd@arndb.de>
Having both the driver and the unit test in the same module
leads to a link failure because of the extra init/exit functions:
drivers/mmc/host/sdhci-of-aspeed-test.c:98:1: error: redefinition of '__inittest'
kunit_test_suite(aspeed_sdhci_test_suite);
Make it a separate module instead.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/mmc/host/Kconfig | 2 +-
drivers/mmc/host/Makefile | 1 +
drivers/mmc/host/sdhci-of-aspeed-test.c | 5 +++++
drivers/mmc/host/sdhci-of-aspeed.c | 11 ++++-------
drivers/mmc/host/sdhci-of-aspeed.h | 10 ++++++++++
5 files changed, 21 insertions(+), 8 deletions(-)
create mode 100644 drivers/mmc/host/sdhci-of-aspeed.h
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index d6f00d1d6251..a248f9f6be91 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -169,7 +169,7 @@ config MMC_SDHCI_OF_ASPEED
If unsure, say N.
config MMC_SDHCI_OF_ASPEED_TEST
- bool "Tests for the ASPEED SDHCI driver"
+ tristate "Tests for the ASPEED SDHCI driver"
depends on MMC_SDHCI_OF_ASPEED && KUNIT=y
help
Enable KUnit tests for the ASPEED SDHCI driver. Select this
diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
index 451c25fc2c69..5cc7e5f13587 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
@@ -90,6 +90,7 @@ obj-$(CONFIG_MMC_SDHCI_DOVE) += sdhci-dove.o
obj-$(CONFIG_MMC_SDHCI_TEGRA) += sdhci-tegra.o
obj-$(CONFIG_MMC_SDHCI_OF_ARASAN) += sdhci-of-arasan.o
obj-$(CONFIG_MMC_SDHCI_OF_ASPEED) += sdhci-of-aspeed.o
+obj-$(CONFIG_MMC_SDHCI_OF_ASPEED_TEST) += sdhci-of-aspeed-test.o
obj-$(CONFIG_MMC_SDHCI_OF_AT91) += sdhci-of-at91.o
obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhci-of-esdhc.o
obj-$(CONFIG_MMC_SDHCI_OF_HLWD) += sdhci-of-hlwd.o
diff --git a/drivers/mmc/host/sdhci-of-aspeed-test.c b/drivers/mmc/host/sdhci-of-aspeed-test.c
index 34070605b28b..e7e42991534a 100644
--- a/drivers/mmc/host/sdhci-of-aspeed-test.c
+++ b/drivers/mmc/host/sdhci-of-aspeed-test.c
@@ -2,6 +2,7 @@
/* Copyright (C) 2020 IBM Corp. */
#include <kunit/test.h>
+#include "sdhci-of-aspeed.h"
static void aspeed_sdhci_phase_ddr52(struct kunit *test)
{
@@ -96,3 +97,7 @@ static struct kunit_suite aspeed_sdhci_test_suite = {
.test_cases = aspeed_sdhci_test_cases,
};
kunit_test_suite(aspeed_sdhci_test_suite);
+
+MODULE_DESCRIPTION("Unit test for the ASPEED SD/SDIO/SDHCI Controllers");
+MODULE_AUTHOR("Andrew Jeffery <andrew@aj.id.au>");
+MODULE_LICENSE("GPL");
diff --git a/drivers/mmc/host/sdhci-of-aspeed.c b/drivers/mmc/host/sdhci-of-aspeed.c
index 3b0d381e1215..dcc80099f528 100644
--- a/drivers/mmc/host/sdhci-of-aspeed.c
+++ b/drivers/mmc/host/sdhci-of-aspeed.c
@@ -15,6 +15,7 @@
#include <linux/platform_device.h>
#include <linux/spinlock.h>
+#include "sdhci-of-aspeed.h"
#include "sdhci-pltfm.h"
#define ASPEED_SDC_INFO 0x00
@@ -42,7 +43,6 @@ struct aspeed_sdc {
struct aspeed_sdhci_tap_param {
bool valid;
-#define ASPEED_SDHCI_TAP_PARAM_INVERT_CLK BIT(4)
u8 in;
u8 out;
};
@@ -123,8 +123,8 @@ aspeed_sdc_set_phase_taps(struct aspeed_sdc *sdc,
#define ASPEED_SDHCI_NR_TAPS 15
/* Measured value with *handwave* environmentals and static loading */
#define ASPEED_SDHCI_MAX_TAP_DELAY_PS 1253
-static int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
- int phase_deg)
+int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
+ int phase_deg)
{
u64 phase_period_ps;
u64 prop_delay_ps;
@@ -158,6 +158,7 @@ static int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
return inverted | tap;
}
+EXPORT_SYMBOL_GPL(aspeed_sdhci_phase_to_tap);
static void
aspeed_sdhci_phases_to_taps(struct device *dev, unsigned long rate,
@@ -579,10 +580,6 @@ static void __exit aspeed_sdc_exit(void)
}
module_exit(aspeed_sdc_exit);
-#if defined(CONFIG_MMC_SDHCI_OF_ASPEED_TEST)
-#include "sdhci-of-aspeed-test.c"
-#endif
-
MODULE_DESCRIPTION("Driver for the ASPEED SD/SDIO/SDHCI Controllers");
MODULE_AUTHOR("Ryan Chen <ryan_chen@aspeedtech.com>");
MODULE_AUTHOR("Andrew Jeffery <andrew@aj.id.au>");
diff --git a/drivers/mmc/host/sdhci-of-aspeed.h b/drivers/mmc/host/sdhci-of-aspeed.h
new file mode 100644
index 000000000000..931e70781d08
--- /dev/null
+++ b/drivers/mmc/host/sdhci-of-aspeed.h
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+#ifndef _SDHCI_OF_ASPEED_H
+#define _SDHCI_OF_ASPEED_H
+
+struct device;
+int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
+ int phase_deg);
+#define ASPEED_SDHCI_TAP_PARAM_INVERT_CLK BIT(4)
+
+#endif /* _SDHCI_OF_ASPEED_H */
--
2.29.2
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@kernel.org>
To: Ulf Hansson <ulf.hansson@linaro.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>
Cc: Arnd Bergmann <arnd@arndb.de>,
Krzysztof Kozlowski <krzk@kernel.org>,
Baolin Wang <baolin.wang@linaro.org>,
linux-kernel@vger.kernel.org, linux-mmc@vger.kernel.org,
linux-aspeed@lists.ozlabs.org, openbmc@lists.ozlabs.org,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH] mmc: aspeed: move kunit test into separate module
Date: Mon, 25 Jan 2021 13:27:27 +0100 [thread overview]
Message-ID: <20210125122802.982-1-arnd@kernel.org> (raw)
From: Arnd Bergmann <arnd@arndb.de>
Having both the driver and the unit test in the same module
leads to a link failure because of the extra init/exit functions:
drivers/mmc/host/sdhci-of-aspeed-test.c:98:1: error: redefinition of '__inittest'
kunit_test_suite(aspeed_sdhci_test_suite);
Make it a separate module instead.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/mmc/host/Kconfig | 2 +-
drivers/mmc/host/Makefile | 1 +
drivers/mmc/host/sdhci-of-aspeed-test.c | 5 +++++
drivers/mmc/host/sdhci-of-aspeed.c | 11 ++++-------
drivers/mmc/host/sdhci-of-aspeed.h | 10 ++++++++++
5 files changed, 21 insertions(+), 8 deletions(-)
create mode 100644 drivers/mmc/host/sdhci-of-aspeed.h
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index d6f00d1d6251..a248f9f6be91 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -169,7 +169,7 @@ config MMC_SDHCI_OF_ASPEED
If unsure, say N.
config MMC_SDHCI_OF_ASPEED_TEST
- bool "Tests for the ASPEED SDHCI driver"
+ tristate "Tests for the ASPEED SDHCI driver"
depends on MMC_SDHCI_OF_ASPEED && KUNIT=y
help
Enable KUnit tests for the ASPEED SDHCI driver. Select this
diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
index 451c25fc2c69..5cc7e5f13587 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
@@ -90,6 +90,7 @@ obj-$(CONFIG_MMC_SDHCI_DOVE) += sdhci-dove.o
obj-$(CONFIG_MMC_SDHCI_TEGRA) += sdhci-tegra.o
obj-$(CONFIG_MMC_SDHCI_OF_ARASAN) += sdhci-of-arasan.o
obj-$(CONFIG_MMC_SDHCI_OF_ASPEED) += sdhci-of-aspeed.o
+obj-$(CONFIG_MMC_SDHCI_OF_ASPEED_TEST) += sdhci-of-aspeed-test.o
obj-$(CONFIG_MMC_SDHCI_OF_AT91) += sdhci-of-at91.o
obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhci-of-esdhc.o
obj-$(CONFIG_MMC_SDHCI_OF_HLWD) += sdhci-of-hlwd.o
diff --git a/drivers/mmc/host/sdhci-of-aspeed-test.c b/drivers/mmc/host/sdhci-of-aspeed-test.c
index 34070605b28b..e7e42991534a 100644
--- a/drivers/mmc/host/sdhci-of-aspeed-test.c
+++ b/drivers/mmc/host/sdhci-of-aspeed-test.c
@@ -2,6 +2,7 @@
/* Copyright (C) 2020 IBM Corp. */
#include <kunit/test.h>
+#include "sdhci-of-aspeed.h"
static void aspeed_sdhci_phase_ddr52(struct kunit *test)
{
@@ -96,3 +97,7 @@ static struct kunit_suite aspeed_sdhci_test_suite = {
.test_cases = aspeed_sdhci_test_cases,
};
kunit_test_suite(aspeed_sdhci_test_suite);
+
+MODULE_DESCRIPTION("Unit test for the ASPEED SD/SDIO/SDHCI Controllers");
+MODULE_AUTHOR("Andrew Jeffery <andrew@aj.id.au>");
+MODULE_LICENSE("GPL");
diff --git a/drivers/mmc/host/sdhci-of-aspeed.c b/drivers/mmc/host/sdhci-of-aspeed.c
index 3b0d381e1215..dcc80099f528 100644
--- a/drivers/mmc/host/sdhci-of-aspeed.c
+++ b/drivers/mmc/host/sdhci-of-aspeed.c
@@ -15,6 +15,7 @@
#include <linux/platform_device.h>
#include <linux/spinlock.h>
+#include "sdhci-of-aspeed.h"
#include "sdhci-pltfm.h"
#define ASPEED_SDC_INFO 0x00
@@ -42,7 +43,6 @@ struct aspeed_sdc {
struct aspeed_sdhci_tap_param {
bool valid;
-#define ASPEED_SDHCI_TAP_PARAM_INVERT_CLK BIT(4)
u8 in;
u8 out;
};
@@ -123,8 +123,8 @@ aspeed_sdc_set_phase_taps(struct aspeed_sdc *sdc,
#define ASPEED_SDHCI_NR_TAPS 15
/* Measured value with *handwave* environmentals and static loading */
#define ASPEED_SDHCI_MAX_TAP_DELAY_PS 1253
-static int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
- int phase_deg)
+int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
+ int phase_deg)
{
u64 phase_period_ps;
u64 prop_delay_ps;
@@ -158,6 +158,7 @@ static int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
return inverted | tap;
}
+EXPORT_SYMBOL_GPL(aspeed_sdhci_phase_to_tap);
static void
aspeed_sdhci_phases_to_taps(struct device *dev, unsigned long rate,
@@ -579,10 +580,6 @@ static void __exit aspeed_sdc_exit(void)
}
module_exit(aspeed_sdc_exit);
-#if defined(CONFIG_MMC_SDHCI_OF_ASPEED_TEST)
-#include "sdhci-of-aspeed-test.c"
-#endif
-
MODULE_DESCRIPTION("Driver for the ASPEED SD/SDIO/SDHCI Controllers");
MODULE_AUTHOR("Ryan Chen <ryan_chen@aspeedtech.com>");
MODULE_AUTHOR("Andrew Jeffery <andrew@aj.id.au>");
diff --git a/drivers/mmc/host/sdhci-of-aspeed.h b/drivers/mmc/host/sdhci-of-aspeed.h
new file mode 100644
index 000000000000..931e70781d08
--- /dev/null
+++ b/drivers/mmc/host/sdhci-of-aspeed.h
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+#ifndef _SDHCI_OF_ASPEED_H
+#define _SDHCI_OF_ASPEED_H
+
+struct device;
+int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
+ int phase_deg);
+#define ASPEED_SDHCI_TAP_PARAM_INVERT_CLK BIT(4)
+
+#endif /* _SDHCI_OF_ASPEED_H */
--
2.29.2
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@kernel.org>
To: Ulf Hansson <ulf.hansson@linaro.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>
Cc: Arnd Bergmann <arnd@arndb.de>,
linux-aspeed@lists.ozlabs.org,
Baolin Wang <baolin.wang@linaro.org>,
openbmc@lists.ozlabs.org, linux-mmc@vger.kernel.org,
linux-kernel@vger.kernel.org,
Krzysztof Kozlowski <krzk@kernel.org>,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH] mmc: aspeed: move kunit test into separate module
Date: Mon, 25 Jan 2021 13:27:27 +0100 [thread overview]
Message-ID: <20210125122802.982-1-arnd@kernel.org> (raw)
From: Arnd Bergmann <arnd@arndb.de>
Having both the driver and the unit test in the same module
leads to a link failure because of the extra init/exit functions:
drivers/mmc/host/sdhci-of-aspeed-test.c:98:1: error: redefinition of '__inittest'
kunit_test_suite(aspeed_sdhci_test_suite);
Make it a separate module instead.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/mmc/host/Kconfig | 2 +-
drivers/mmc/host/Makefile | 1 +
drivers/mmc/host/sdhci-of-aspeed-test.c | 5 +++++
drivers/mmc/host/sdhci-of-aspeed.c | 11 ++++-------
drivers/mmc/host/sdhci-of-aspeed.h | 10 ++++++++++
5 files changed, 21 insertions(+), 8 deletions(-)
create mode 100644 drivers/mmc/host/sdhci-of-aspeed.h
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index d6f00d1d6251..a248f9f6be91 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -169,7 +169,7 @@ config MMC_SDHCI_OF_ASPEED
If unsure, say N.
config MMC_SDHCI_OF_ASPEED_TEST
- bool "Tests for the ASPEED SDHCI driver"
+ tristate "Tests for the ASPEED SDHCI driver"
depends on MMC_SDHCI_OF_ASPEED && KUNIT=y
help
Enable KUnit tests for the ASPEED SDHCI driver. Select this
diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
index 451c25fc2c69..5cc7e5f13587 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
@@ -90,6 +90,7 @@ obj-$(CONFIG_MMC_SDHCI_DOVE) += sdhci-dove.o
obj-$(CONFIG_MMC_SDHCI_TEGRA) += sdhci-tegra.o
obj-$(CONFIG_MMC_SDHCI_OF_ARASAN) += sdhci-of-arasan.o
obj-$(CONFIG_MMC_SDHCI_OF_ASPEED) += sdhci-of-aspeed.o
+obj-$(CONFIG_MMC_SDHCI_OF_ASPEED_TEST) += sdhci-of-aspeed-test.o
obj-$(CONFIG_MMC_SDHCI_OF_AT91) += sdhci-of-at91.o
obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhci-of-esdhc.o
obj-$(CONFIG_MMC_SDHCI_OF_HLWD) += sdhci-of-hlwd.o
diff --git a/drivers/mmc/host/sdhci-of-aspeed-test.c b/drivers/mmc/host/sdhci-of-aspeed-test.c
index 34070605b28b..e7e42991534a 100644
--- a/drivers/mmc/host/sdhci-of-aspeed-test.c
+++ b/drivers/mmc/host/sdhci-of-aspeed-test.c
@@ -2,6 +2,7 @@
/* Copyright (C) 2020 IBM Corp. */
#include <kunit/test.h>
+#include "sdhci-of-aspeed.h"
static void aspeed_sdhci_phase_ddr52(struct kunit *test)
{
@@ -96,3 +97,7 @@ static struct kunit_suite aspeed_sdhci_test_suite = {
.test_cases = aspeed_sdhci_test_cases,
};
kunit_test_suite(aspeed_sdhci_test_suite);
+
+MODULE_DESCRIPTION("Unit test for the ASPEED SD/SDIO/SDHCI Controllers");
+MODULE_AUTHOR("Andrew Jeffery <andrew@aj.id.au>");
+MODULE_LICENSE("GPL");
diff --git a/drivers/mmc/host/sdhci-of-aspeed.c b/drivers/mmc/host/sdhci-of-aspeed.c
index 3b0d381e1215..dcc80099f528 100644
--- a/drivers/mmc/host/sdhci-of-aspeed.c
+++ b/drivers/mmc/host/sdhci-of-aspeed.c
@@ -15,6 +15,7 @@
#include <linux/platform_device.h>
#include <linux/spinlock.h>
+#include "sdhci-of-aspeed.h"
#include "sdhci-pltfm.h"
#define ASPEED_SDC_INFO 0x00
@@ -42,7 +43,6 @@ struct aspeed_sdc {
struct aspeed_sdhci_tap_param {
bool valid;
-#define ASPEED_SDHCI_TAP_PARAM_INVERT_CLK BIT(4)
u8 in;
u8 out;
};
@@ -123,8 +123,8 @@ aspeed_sdc_set_phase_taps(struct aspeed_sdc *sdc,
#define ASPEED_SDHCI_NR_TAPS 15
/* Measured value with *handwave* environmentals and static loading */
#define ASPEED_SDHCI_MAX_TAP_DELAY_PS 1253
-static int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
- int phase_deg)
+int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
+ int phase_deg)
{
u64 phase_period_ps;
u64 prop_delay_ps;
@@ -158,6 +158,7 @@ static int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
return inverted | tap;
}
+EXPORT_SYMBOL_GPL(aspeed_sdhci_phase_to_tap);
static void
aspeed_sdhci_phases_to_taps(struct device *dev, unsigned long rate,
@@ -579,10 +580,6 @@ static void __exit aspeed_sdc_exit(void)
}
module_exit(aspeed_sdc_exit);
-#if defined(CONFIG_MMC_SDHCI_OF_ASPEED_TEST)
-#include "sdhci-of-aspeed-test.c"
-#endif
-
MODULE_DESCRIPTION("Driver for the ASPEED SD/SDIO/SDHCI Controllers");
MODULE_AUTHOR("Ryan Chen <ryan_chen@aspeedtech.com>");
MODULE_AUTHOR("Andrew Jeffery <andrew@aj.id.au>");
diff --git a/drivers/mmc/host/sdhci-of-aspeed.h b/drivers/mmc/host/sdhci-of-aspeed.h
new file mode 100644
index 000000000000..931e70781d08
--- /dev/null
+++ b/drivers/mmc/host/sdhci-of-aspeed.h
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+#ifndef _SDHCI_OF_ASPEED_H
+#define _SDHCI_OF_ASPEED_H
+
+struct device;
+int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
+ int phase_deg);
+#define ASPEED_SDHCI_TAP_PARAM_INVERT_CLK BIT(4)
+
+#endif /* _SDHCI_OF_ASPEED_H */
--
2.29.2
WARNING: multiple messages have this Message-ID (diff)
From: Arnd Bergmann <arnd@kernel.org>
To: Ulf Hansson <ulf.hansson@linaro.org>,
Adrian Hunter <adrian.hunter@intel.com>,
Andrew Jeffery <andrew@aj.id.au>, Joel Stanley <joel@jms.id.au>
Cc: Arnd Bergmann <arnd@arndb.de>,
linux-aspeed@lists.ozlabs.org,
Baolin Wang <baolin.wang@linaro.org>,
openbmc@lists.ozlabs.org, linux-mmc@vger.kernel.org,
linux-kernel@vger.kernel.org,
Krzysztof Kozlowski <krzk@kernel.org>,
linux-arm-kernel@lists.infradead.org
Subject: [PATCH] mmc: aspeed: move kunit test into separate module
Date: Mon, 25 Jan 2021 13:27:27 +0100 [thread overview]
Message-ID: <20210125122802.982-1-arnd@kernel.org> (raw)
From: Arnd Bergmann <arnd@arndb.de>
Having both the driver and the unit test in the same module
leads to a link failure because of the extra init/exit functions:
drivers/mmc/host/sdhci-of-aspeed-test.c:98:1: error: redefinition of '__inittest'
kunit_test_suite(aspeed_sdhci_test_suite);
Make it a separate module instead.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/mmc/host/Kconfig | 2 +-
drivers/mmc/host/Makefile | 1 +
drivers/mmc/host/sdhci-of-aspeed-test.c | 5 +++++
drivers/mmc/host/sdhci-of-aspeed.c | 11 ++++-------
drivers/mmc/host/sdhci-of-aspeed.h | 10 ++++++++++
5 files changed, 21 insertions(+), 8 deletions(-)
create mode 100644 drivers/mmc/host/sdhci-of-aspeed.h
diff --git a/drivers/mmc/host/Kconfig b/drivers/mmc/host/Kconfig
index d6f00d1d6251..a248f9f6be91 100644
--- a/drivers/mmc/host/Kconfig
+++ b/drivers/mmc/host/Kconfig
@@ -169,7 +169,7 @@ config MMC_SDHCI_OF_ASPEED
If unsure, say N.
config MMC_SDHCI_OF_ASPEED_TEST
- bool "Tests for the ASPEED SDHCI driver"
+ tristate "Tests for the ASPEED SDHCI driver"
depends on MMC_SDHCI_OF_ASPEED && KUNIT=y
help
Enable KUnit tests for the ASPEED SDHCI driver. Select this
diff --git a/drivers/mmc/host/Makefile b/drivers/mmc/host/Makefile
index 451c25fc2c69..5cc7e5f13587 100644
--- a/drivers/mmc/host/Makefile
+++ b/drivers/mmc/host/Makefile
@@ -90,6 +90,7 @@ obj-$(CONFIG_MMC_SDHCI_DOVE) += sdhci-dove.o
obj-$(CONFIG_MMC_SDHCI_TEGRA) += sdhci-tegra.o
obj-$(CONFIG_MMC_SDHCI_OF_ARASAN) += sdhci-of-arasan.o
obj-$(CONFIG_MMC_SDHCI_OF_ASPEED) += sdhci-of-aspeed.o
+obj-$(CONFIG_MMC_SDHCI_OF_ASPEED_TEST) += sdhci-of-aspeed-test.o
obj-$(CONFIG_MMC_SDHCI_OF_AT91) += sdhci-of-at91.o
obj-$(CONFIG_MMC_SDHCI_OF_ESDHC) += sdhci-of-esdhc.o
obj-$(CONFIG_MMC_SDHCI_OF_HLWD) += sdhci-of-hlwd.o
diff --git a/drivers/mmc/host/sdhci-of-aspeed-test.c b/drivers/mmc/host/sdhci-of-aspeed-test.c
index 34070605b28b..e7e42991534a 100644
--- a/drivers/mmc/host/sdhci-of-aspeed-test.c
+++ b/drivers/mmc/host/sdhci-of-aspeed-test.c
@@ -2,6 +2,7 @@
/* Copyright (C) 2020 IBM Corp. */
#include <kunit/test.h>
+#include "sdhci-of-aspeed.h"
static void aspeed_sdhci_phase_ddr52(struct kunit *test)
{
@@ -96,3 +97,7 @@ static struct kunit_suite aspeed_sdhci_test_suite = {
.test_cases = aspeed_sdhci_test_cases,
};
kunit_test_suite(aspeed_sdhci_test_suite);
+
+MODULE_DESCRIPTION("Unit test for the ASPEED SD/SDIO/SDHCI Controllers");
+MODULE_AUTHOR("Andrew Jeffery <andrew@aj.id.au>");
+MODULE_LICENSE("GPL");
diff --git a/drivers/mmc/host/sdhci-of-aspeed.c b/drivers/mmc/host/sdhci-of-aspeed.c
index 3b0d381e1215..dcc80099f528 100644
--- a/drivers/mmc/host/sdhci-of-aspeed.c
+++ b/drivers/mmc/host/sdhci-of-aspeed.c
@@ -15,6 +15,7 @@
#include <linux/platform_device.h>
#include <linux/spinlock.h>
+#include "sdhci-of-aspeed.h"
#include "sdhci-pltfm.h"
#define ASPEED_SDC_INFO 0x00
@@ -42,7 +43,6 @@ struct aspeed_sdc {
struct aspeed_sdhci_tap_param {
bool valid;
-#define ASPEED_SDHCI_TAP_PARAM_INVERT_CLK BIT(4)
u8 in;
u8 out;
};
@@ -123,8 +123,8 @@ aspeed_sdc_set_phase_taps(struct aspeed_sdc *sdc,
#define ASPEED_SDHCI_NR_TAPS 15
/* Measured value with *handwave* environmentals and static loading */
#define ASPEED_SDHCI_MAX_TAP_DELAY_PS 1253
-static int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
- int phase_deg)
+int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
+ int phase_deg)
{
u64 phase_period_ps;
u64 prop_delay_ps;
@@ -158,6 +158,7 @@ static int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
return inverted | tap;
}
+EXPORT_SYMBOL_GPL(aspeed_sdhci_phase_to_tap);
static void
aspeed_sdhci_phases_to_taps(struct device *dev, unsigned long rate,
@@ -579,10 +580,6 @@ static void __exit aspeed_sdc_exit(void)
}
module_exit(aspeed_sdc_exit);
-#if defined(CONFIG_MMC_SDHCI_OF_ASPEED_TEST)
-#include "sdhci-of-aspeed-test.c"
-#endif
-
MODULE_DESCRIPTION("Driver for the ASPEED SD/SDIO/SDHCI Controllers");
MODULE_AUTHOR("Ryan Chen <ryan_chen@aspeedtech.com>");
MODULE_AUTHOR("Andrew Jeffery <andrew@aj.id.au>");
diff --git a/drivers/mmc/host/sdhci-of-aspeed.h b/drivers/mmc/host/sdhci-of-aspeed.h
new file mode 100644
index 000000000000..931e70781d08
--- /dev/null
+++ b/drivers/mmc/host/sdhci-of-aspeed.h
@@ -0,0 +1,10 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+#ifndef _SDHCI_OF_ASPEED_H
+#define _SDHCI_OF_ASPEED_H
+
+struct device;
+int aspeed_sdhci_phase_to_tap(struct device *dev, unsigned long rate_hz,
+ int phase_deg);
+#define ASPEED_SDHCI_TAP_PARAM_INVERT_CLK BIT(4)
+
+#endif /* _SDHCI_OF_ASPEED_H */
--
2.29.2
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2021-01-25 12:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-25 12:27 Arnd Bergmann [this message]
2021-01-25 12:27 ` [PATCH] mmc: aspeed: move kunit test into separate module Arnd Bergmann
2021-01-25 12:27 ` Arnd Bergmann
2021-01-25 12:27 ` Arnd Bergmann
2021-01-26 9:57 ` Ulf Hansson
2021-01-26 9:57 ` Ulf Hansson
2021-01-26 9:57 ` Ulf Hansson
2021-01-26 9:57 ` Ulf Hansson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210125122802.982-1-arnd@kernel.org \
--to=arnd@kernel.org \
--cc=linux-aspeed@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.