Skip to content

Commit

Permalink
mmc_test: add test case control
Browse files Browse the repository at this point in the history
Add the ability to run just a single test case by writing the test
case number into the sysfs "test" file.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
  • Loading branch information
Pierre Ossman committed Jul 15, 2008
1 parent 1e72859 commit fd8c326
Showing 1 changed file with 8 additions and 2 deletions.
10 changes: 8 additions & 2 deletions drivers/mmc/card/mmc_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -743,7 +743,7 @@ static const struct mmc_test_case mmc_test_cases[] = {

static struct mutex mmc_test_lock;

static void mmc_test_run(struct mmc_test_card *test)
static void mmc_test_run(struct mmc_test_card *test, int testcase)
{
int i, ret;

Expand All @@ -753,6 +753,9 @@ static void mmc_test_run(struct mmc_test_card *test)
mmc_claim_host(test->card->host);

for (i = 0;i < ARRAY_SIZE(mmc_test_cases);i++) {
if (testcase && ((i + 1) != testcase))
continue;

printk(KERN_INFO "%s: Test case %d. %s...\n",
mmc_hostname(test->card->host), i + 1,
mmc_test_cases[i].name);
Expand Down Expand Up @@ -824,9 +827,12 @@ static ssize_t mmc_test_store(struct device *dev,
{
struct mmc_card *card;
struct mmc_test_card *test;
int testcase;

card = container_of(dev, struct mmc_card, dev);

testcase = simple_strtol(buf, NULL, 10);

test = kzalloc(sizeof(struct mmc_test_card), GFP_KERNEL);
if (!test)
return -ENOMEM;
Expand All @@ -836,7 +842,7 @@ static ssize_t mmc_test_store(struct device *dev,
test->buffer = kzalloc(BUFFER_SIZE, GFP_KERNEL);
if (test->buffer) {
mutex_lock(&mmc_test_lock);
mmc_test_run(test);
mmc_test_run(test, testcase);
mutex_unlock(&mmc_test_lock);
}

Expand Down

0 comments on commit fd8c326

Please sign in to comment.