Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 54f3caf5 authored by Per Forlin's avatar Per Forlin Committed by Chris Ball
Browse files

mmc: mmc_test: add debugfs file to list all tests



Add a debugfs file "testlist" to print all available tests.

Signed-off-by: default avatarPer Forlin <per.forlin@linaro.org>
Acked-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
Acked-by: default avatarArnd Bergmann <arnd@arndb.de>
Reviewed-by: default avatarVenkatraman S <svenkatr@ti.com>
Tested-by: default avatarSourav <Poddar&lt;sourav.poddar@ti.com>
Tested-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarChris Ball <cjb@laptop.org>
parent 58c7ccbf
Loading
Loading
Loading
Loading
+38 −1
Original line number Diff line number Diff line
@@ -2445,6 +2445,32 @@ static const struct file_operations mmc_test_fops_test = {
	.release	= single_release,
};

static int mtf_testlist_show(struct seq_file *sf, void *data)
{
	int i;

	mutex_lock(&mmc_test_lock);

	for (i = 0; i < ARRAY_SIZE(mmc_test_cases); i++)
		seq_printf(sf, "%d:\t%s\n", i+1, mmc_test_cases[i].name);

	mutex_unlock(&mmc_test_lock);

	return 0;
}

static int mtf_testlist_open(struct inode *inode, struct file *file)
{
	return single_open(file, mtf_testlist_show, inode->i_private);
}

static const struct file_operations mmc_test_fops_testlist = {
	.open		= mtf_testlist_open,
	.read		= seq_read,
	.llseek		= seq_lseek,
	.release	= single_release,
};

static void mmc_test_free_file_test(struct mmc_card *card)
{
	struct mmc_test_dbgfs_file *df, *dfs;
@@ -2476,7 +2502,18 @@ static int mmc_test_register_file_test(struct mmc_card *card)

	if (IS_ERR_OR_NULL(file)) {
		dev_err(&card->dev,
			"Can't create file. Perhaps debugfs is disabled.\n");
			"Can't create test. Perhaps debugfs is disabled.\n");
		ret = -ENODEV;
		goto err;
	}

	if (card->debugfs_root)
		file = debugfs_create_file("testlist", S_IRUGO,
			card->debugfs_root, card, &mmc_test_fops_testlist);

	if (IS_ERR_OR_NULL(file)) {
		dev_err(&card->dev,
			"Can't create testlist. Perhaps debugfs is disabled.\n");
		ret = -ENODEV;
		goto err;
	}