diff options
| author | Jeff Garzik <jgarzik@pobox.com> | 2005-08-29 19:24:43 -0400 | 
|---|---|---|
| committer | Jeff Garzik <jgarzik@pobox.com> | 2005-08-29 19:24:43 -0400 | 
| commit | 76b2bf9b4dee2fb32ef17f5c84a99ce481a14be2 (patch) | |
| tree | 49cd36d6e980044c2a88f2c14cdc9259e0f0f1b4 /drivers/mmc/mmc.c | |
| parent | 2fca877b68b2b4fc5b94277858a1bedd46017cde (diff) | |
| parent | 8f3d17fb7bcb7c255197d11469fb5e9695c9d2f4 (diff) | |
Merge libata branch 'chs-support' to latest upstream kernel.
Diffstat (limited to 'drivers/mmc/mmc.c')
| -rw-r--r-- | drivers/mmc/mmc.c | 29 | 
1 files changed, 13 insertions, 16 deletions
| diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index eeb9f6668e6..3c5904834fe 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -361,7 +361,7 @@ static void mmc_decode_cid(struct mmc_card *card)  	default:  		printk("%s: card has unknown MMCA version %d\n", -			card->host->host_name, card->csd.mmca_vsn); +			mmc_hostname(card->host), card->csd.mmca_vsn);  		mmc_card_set_bad(card);  		break;  	} @@ -383,7 +383,7 @@ static void mmc_decode_csd(struct mmc_card *card)  	csd_struct = UNSTUFF_BITS(resp, 126, 2);  	if (csd_struct != 1 && csd_struct != 2) {  		printk("%s: unrecognised CSD structure version %d\n", -			card->host->host_name, csd_struct); +			mmc_hostname(card->host), csd_struct);  		mmc_card_set_bad(card);  		return;  	} @@ -551,7 +551,7 @@ static void mmc_discover_cards(struct mmc_host *host)  		}  		if (err != MMC_ERR_NONE) {  			printk(KERN_ERR "%s: error requesting CID: %d\n", -				host->host_name, err); +				mmc_hostname(host), err);  			break;  		} @@ -796,17 +796,13 @@ struct mmc_host *mmc_alloc_host(int extra, struct device *dev)  {  	struct mmc_host *host; -	host = kmalloc(sizeof(struct mmc_host) + extra, GFP_KERNEL); +	host = mmc_alloc_host_sysfs(extra, dev);  	if (host) { -		memset(host, 0, sizeof(struct mmc_host) + extra); -  		spin_lock_init(&host->lock);  		init_waitqueue_head(&host->wq);  		INIT_LIST_HEAD(&host->cards);  		INIT_WORK(&host->detect, mmc_rescan, host); -		host->dev = dev; -  		/*  		 * By default, hosts do not support SGIO or large requests.  		 * They have to set these according to their abilities. @@ -828,15 +824,15 @@ EXPORT_SYMBOL(mmc_alloc_host);   */  int mmc_add_host(struct mmc_host *host)  { -	static unsigned int host_num; +	int ret; -	snprintf(host->host_name, sizeof(host->host_name), -		 "mmc%d", host_num++); - -	mmc_power_off(host); -	mmc_detect_change(host); +	ret = mmc_add_host_sysfs(host); +	if (ret == 0) { +		mmc_power_off(host); +		mmc_detect_change(host); +	} -	return 0; +	return ret;  }  EXPORT_SYMBOL(mmc_add_host); @@ -859,6 +855,7 @@ void mmc_remove_host(struct mmc_host *host)  	}  	mmc_power_off(host); +	mmc_remove_host_sysfs(host);  }  EXPORT_SYMBOL(mmc_remove_host); @@ -872,7 +869,7 @@ EXPORT_SYMBOL(mmc_remove_host);  void mmc_free_host(struct mmc_host *host)  {  	flush_scheduled_work(); -	kfree(host); +	mmc_free_host_sysfs(host);  }  EXPORT_SYMBOL(mmc_free_host); | 
