Skip to content

Commit

Permalink
[PATCH] mmc: conditional scr sysfs entry
Browse files Browse the repository at this point in the history
Only show the scr file in sysfs for SD cards.  Previously this was present
for all cards but had a contents of 0 for MMC cards.

Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
  • Loading branch information
Pierre Ossman authored and Linus Torvalds committed Sep 7, 2005
1 parent 65ae211 commit 4bc20a8
Showing 1 changed file with 18 additions and 3 deletions.
21 changes: 18 additions & 3 deletions drivers/mmc/mmc_sysfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,6 @@ MMC_ATTR(serial, "0x%08x\n", card->cid.serial);
static struct device_attribute mmc_dev_attrs[] = {
MMC_ATTR_RO(cid),
MMC_ATTR_RO(csd),
MMC_ATTR_RO(scr),
MMC_ATTR_RO(date),
MMC_ATTR_RO(fwrev),
MMC_ATTR_RO(hwrev),
Expand All @@ -59,6 +58,8 @@ static struct device_attribute mmc_dev_attrs[] = {
__ATTR_NULL
};

static struct device_attribute mmc_dev_attr_scr = MMC_ATTR_RO(scr);


static void mmc_release_card(struct device *dev)
{
Expand Down Expand Up @@ -209,10 +210,20 @@ void mmc_init_card(struct mmc_card *card, struct mmc_host *host)
*/
int mmc_register_card(struct mmc_card *card)
{
int ret;

snprintf(card->dev.bus_id, sizeof(card->dev.bus_id),
"%s:%04x", mmc_hostname(card->host), card->rca);

return device_add(&card->dev);
ret = device_add(&card->dev);
if (ret == 0) {
if (mmc_card_sd(card)) {
ret = device_create_file(&card->dev, &mmc_dev_attr_scr);
if (ret)
device_del(&card->dev);
}
}
return ret;
}

/*
Expand All @@ -221,8 +232,12 @@ int mmc_register_card(struct mmc_card *card)
*/
void mmc_remove_card(struct mmc_card *card)
{
if (mmc_card_present(card))
if (mmc_card_present(card)) {
if (mmc_card_sd(card))
device_remove_file(&card->dev, &mmc_dev_attr_scr);

device_del(&card->dev);
}

put_device(&card->dev);
}
Expand Down

0 comments on commit 4bc20a8

Please sign in to comment.