From: kfx Date: Mon, 18 Apr 2011 08:18:10 +0000 (+0800) Subject: update i2c-dev driver and sdmmc driver X-Git-Tag: firefly_0821_release~10463 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=f4c957589a4dfc30989d4c461c2922cba739d615;p=firefly-linux-kernel-4.4.55.git update i2c-dev driver and sdmmc driver --- diff --git a/drivers/i2c/busses/i2c-dev-rk29.c b/drivers/i2c/busses/i2c-dev-rk29.c index d5b29612e2cc..c56114bea5ed 100755 --- a/drivers/i2c/busses/i2c-dev-rk29.c +++ b/drivers/i2c/busses/i2c-dev-rk29.c @@ -19,7 +19,9 @@ #define I2C_DEV_SCL_RATE 100 * 1000 -struct completion i2c_dev_complete; +struct completion i2c_dev_complete = { + .done = -1; +}; struct i2c_dump_info g_dump; static void i2c_dev_get_list(struct i2c_list_info *list) @@ -99,7 +101,8 @@ void i2c_dev_dump_stop(struct i2c_adapter *adap, struct i2c_msg *msgs, int num, g_dump.get_value[j] = msgs[i].buf[j]; } } - complete(&i2c_dev_complete); + if(i2c_dev_complete.done == 0) + complete(&i2c_dev_complete); return; } EXPORT_SYMBOL(i2c_dev_dump_stop); diff --git a/drivers/mmc/core/bus.c b/drivers/mmc/core/bus.c index bdb165f93046..812b22035626 100755 --- a/drivers/mmc/core/bus.c +++ b/drivers/mmc/core/bus.c @@ -279,6 +279,7 @@ void mmc_remove_card(struct mmc_card *card) #endif if (mmc_card_present(card)) { + mmc_card_clr_present(card); if (mmc_host_is_spi(card->host)) { printk(KERN_INFO "%s: SPI card removed\n", mmc_hostname(card->host)); diff --git a/drivers/mmc/host/rk29_sdmmc.c b/drivers/mmc/host/rk29_sdmmc.c index 620a2323e22f..bdb8c98825f8 100755 --- a/drivers/mmc/host/rk29_sdmmc.c +++ b/drivers/mmc/host/rk29_sdmmc.c @@ -1392,6 +1392,7 @@ static int rk29_sdmmc_resume(struct platform_device *pdev) host); if(ret < 0) dev_err(host->dev, "gpio request_irq error\n"); + mmc_detect_change(host->mmc, 0); ret = mmc_resume_host(host->mmc); } #endif