Пример #1
0
/*
 * Unregister a new MMC card with the driver model, and
 * (eventually) free it.
 */
void mmc_remove_card(struct mmc_card *card)
{
#ifdef CONFIG_DEBUG_FS
    mmc_remove_card_debugfs(card);
#endif

    if (mmc_card_present(card)) {
        if (mmc_host_is_spi(card->host)) {
            pr_info("%s: SPI card removed\n",
                    mmc_hostname(card->host));
        } else {
            pr_info("%s: card %04x removed\n",
                    mmc_hostname(card->host), card->rca);
        }
#ifdef  CONFIG_MMC_SD_BATTLOG_CUST_SH
        if (mmc_detection_status_check(card->host))
            mmc_post_detection(card->host, SD_SOFT_REMOVED);
        else
            mmc_post_detection(card->host, SD_PHY_REMOVED);
#endif /* CONFIG_MMC_SD_BATTLOG_CUST_SH */
        device_del(&card->dev);
    }

    kfree(card->wr_pack_stats.packing_events);

    put_device(&card->dev);
}
Пример #2
0
/*
 * Unregister a new MMC card with the driver model, and
 * (eventually) free it.
 */
void mmc_remove_card(struct mmc_card *card)
{
#ifdef CONFIG_DEBUG_FS
	mmc_remove_card_debugfs(card);
#endif

	if (mmc_card_present(card)) {
		if (mmc_host_is_spi(card->host)) {
			printk(KERN_INFO "%s: SPI card removed\n",
				mmc_hostname(card->host));
		} else {
			printk(KERN_INFO "%s: card %04x removed\n",
				mmc_hostname(card->host), card->rca);
		}
        
#ifdef CONFIG_HUAWEI_KERNEL
        if(MMC_TYPE_SD  == card->type)
        {
            hw_extern_sdcard_remove();
        }
#endif

		device_del(&card->dev);
	}

	put_device(&card->dev);
}
Пример #3
0
/*
 * Unregister a new MMC card with the driver model, and
 * (eventually) free it.
 */
void mmc_remove_card(struct mmc_card *card)
{
#ifdef CONFIG_DEBUG_FS
	mmc_remove_card_debugfs(card);
#endif

	if (mmc_card_present(card)) {
		if (mmc_host_is_spi(card->host)) {
			printk(KERN_INFO "%s: SPI card removed\n",
				mmc_hostname(card->host));
		} else {
			printk(KERN_INFO "%s: card %04x removed\n",
				mmc_hostname(card->host), card->rca);
#if defined (CONFIG_MIPS_BCM_NDVD)
			{
				extern void brcm_sdio_intr_disable(void);
				/*
				 * Must disable interrupts for boards with
				 * switched SDIO power.
				 */
				brcm_sdio_intr_disable();
				card->host->card_enable = 1;
			}
#endif
		}
		device_del(&card->dev);
	}

	put_device(&card->dev);
}
Пример #4
0
/*
 * Unregister a new MMC card with the driver model, and
 * (eventually) free it.
 */
void mmc_remove_card(struct mmc_card *card)
{
#ifdef CONFIG_DEBUG_FS
	mmc_remove_card_debugfs(card);
#endif

	if (mmc_card_present(card)) {
		if (mmc_host_is_spi(card->host)) {
			pr_info("%s: SPI card removed\n",
				mmc_hostname(card->host));
		} else {
			pr_info("%s: card %04x removed\n",
				mmc_hostname(card->host), card->rca);
			#ifdef CONFIG_SKY_WLAN_BCM4330  // 2013-08-29 thkim_wifi check wifi mmc card
			if(!strcmp(CHECK_WLAN_MMC, mmc_hostname(card->host))){
				pr_info("%s: pantech wlan mmc card %04x removed\n",
				mmc_hostname(card->host), card->rca);
				dump_stack();
				}
			#endif
		}
		device_del(&card->dev);
	}

	kfree(card->wr_pack_stats.packing_events);

	put_device(&card->dev);
}
Пример #5
0
/*
 * Unregister a new MMC card with the driver model, and
 * (eventually) free it.
 */
void mmc_remove_card(struct mmc_card *card)
{
#if   0//def CONFIG_USB_S3C_OTGD   /*viking for Malata ICON*/
	if(card->type != MMC_TYPE_SDIO)
	{
		if(strcmp(mmc_hostname(card->host), MMC_SDCARD) == 0)
		{
			Notify_SDMMC_Insert(0);
			printk("####### notify Sdcard remove\n");
		}
		else
		if(strcmp(mmc_hostname(card->host), MMC_INAND) == 0)	
		{
			Notify_iNand_Insert(0);
			printk("####### notify iNand remove\n");
		}
	}
#endif
#ifdef CONFIG_DEBUG_FS
	mmc_remove_card_debugfs(card);
#endif

	if (mmc_card_present(card)) {
		if (mmc_host_is_spi(card->host)) {
			printk(KERN_INFO "%s: SPI card removed\n",
				mmc_hostname(card->host));
		} else {
			printk(KERN_INFO "%s: card %04x removed\n",
				mmc_hostname(card->host), card->rca);
		}
		device_del(&card->dev);
	}

	put_device(&card->dev);
}
Пример #6
0
/*
 * Unregister a new MMC card with the driver model, and
 * (eventually) free it.
 */
void mmc_remove_card(struct mmc_card *card)
{
#ifdef CONFIG_DEBUG_FS
	mmc_remove_card_debugfs(card);
#endif

	if (mmc_card_present(card)) {
		if (mmc_host_is_spi(card->host)) {
			pr_info("%s: SPI card removed\n",
				mmc_hostname(card->host));
		} else {
			pr_info("%s: card %04x removed\n",
				mmc_hostname(card->host), card->rca);
		}
        
        #ifdef CONFIG_HUAWEI_KERNEL
        if(MMC_TYPE_SD  == card->type)
        {
            hw_extern_sdcard_remove();
        }
        #endif

		device_del(&card->dev);
	}

	kfree(card->wr_pack_stats.packing_events);

	put_device(&card->dev);
}
Пример #7
0
/*
 * Unregister a new MMC card with the driver model, and
 * (eventually) free it.
 */
void mmc_remove_card(struct mmc_card *card)
{
#ifdef CONFIG_MMC_BLOCK_DEFERRED_RESUME
	if (mmc_bus_needs_resume(card->host)) {
		card->host->bus_resume_flags &= ~MMC_BUSRESUME_NEEDS_RESUME;
		printk(KERN_INFO "%s: MMC card is removed so no need to resume the bus.\n",
			mmc_hostname(card->host));
	}
#endif
#ifdef CONFIG_DEBUG_FS
	mmc_remove_card_debugfs(card);
#endif

	if (mmc_card_present(card)) {
		if (mmc_host_is_spi(card->host)) {
			printk(KERN_INFO "%s: SPI card removed\n",
				mmc_hostname(card->host));
		} else {
			printk(KERN_INFO "%s: card %04x removed\n",
				mmc_hostname(card->host), card->rca);
		}
		device_del(&card->dev);
	}

	put_device(&card->dev);
}
Пример #8
0
/*
 * Unregister a new MMC card with the driver model, and
 * (eventually) free it.
 */
void mmc_remove_card(struct mmc_card *card)
{
#ifdef CONFIG_DEBUG_FS
	mmc_remove_card_debugfs(card);
#endif

	if (mmc_card_present(card)) {
		if (mmc_host_is_spi(card->host)) {
			pr_info("%s: SPI card removed\n",
				mmc_hostname(card->host));
		} else {
			pr_info("%s: card %04x removed\n",
				mmc_hostname(card->host), card->rca);
		}
		device_del(&card->dev);
	}

	put_device(&card->dev);
}
Пример #9
0
/*
 * Unregister a new MMC card with the driver model, and
 * (eventually) free it.
 */
void mmc_remove_card(struct mmc_card *card)
{
#ifdef CONFIG_DEBUG_FS
	mmc_remove_card_debugfs(card);
#endif

	if (mmc_card_present(card)) {
		if (mmc_host_is_spi(card->host)) {
			printk(KERN_INFO "%s: SPI card removed\n",
				mmc_hostname(card->host));
		} else {
			printk(KERN_INFO "%s: card %04x removed\n",
				mmc_hostname(card->host), card->rca);
		}
printk("%s: device_del\n", __FUNCTION__);
		device_del(&card->dev);
	}

	put_device(&card->dev);
}
Пример #10
0
/*
 * Unregister a new MMC card with the driver model, and
 * (eventually) free it.
 */
void mmc_remove_card(struct mmc_card *card)
{
#ifdef CONFIG_DEBUG_FS
	mmc_remove_card_debugfs(card);
#endif

	if (mmc_card_present(card)) {
		//if(!HOST_IS_EMMC(card->host))
		//	mmc_card_clr_present(card);
		if (mmc_host_is_spi(card->host)) {
			printk(KERN_INFO "%s: SPI card removed\n",
				mmc_hostname(card->host));
		} else {
			printk(KERN_INFO "%s: card %04x removed\n",
				mmc_hostname(card->host), card->rca);
		}
		device_del(&card->dev);
	}

	put_device(&card->dev);
}
Пример #11
0
/*
 * Unregister a new MMC card with the driver model, and
 * (eventually) free it.
 */
void mmc_remove_card(struct mmc_card *card)
{
#ifdef CONFIG_DEBUG_FS
    mmc_remove_card_debugfs(card);
#endif

    if (mmc_card_present(card)) {
        if (mmc_host_is_spi(card->host)) {
            printk(KERN_INFO "%s: SPI card removed\n",
                   mmc_hostname(card->host));
        } else {
            printk(KERN_INFO "%s: card %04x removed\n",
                   mmc_hostname(card->host), card->rca);
        }
        device_del(&card->dev);
    }

    kfree(card->wr_pack_stats.packing_events);

    put_device(&card->dev);
}
Пример #12
0
/*
 * Unregister a new MMC card with the driver model, and
 * (eventually) free it.
 */
void mmc_remove_card(struct mmc_card *card)
{
#ifdef CONFIG_DEBUG_FS
	mmc_remove_card_debugfs(card);
#endif

	if (mmc_card_present(card)) {
		if (mmc_host_is_spi(card->host)) {
			printk(KERN_INFO "%s: SPI card removed\n",
				mmc_hostname(card->host));
		} else {
			printk(KERN_INFO "%s: card %04x removed\n",
				mmc_hostname(card->host), card->rca);
		}
/*LGE_UPDATE_S DYLEE */
		printk(KERN_INFO "[LGE] mmc device remove\n");	//LGE_UPDATE E720 BCPARK
/*LGE_UPDATE_E DYLEE */
		device_del(&card->dev);
	}

	put_device(&card->dev);
}
Пример #13
0
/*
 * Unregister a new MMC card with the driver model, and
 * (eventually) free it.
 */
void mmc_remove_card(struct mmc_card *card)
{
#ifdef CONFIG_DEBUG_FS
	mmc_remove_card_debugfs(card);
#endif

	if (mmc_card_present(card)) {
#if defined(CONFIG_SDMMC_RK29) && defined(CONFIG_SDMMC_RK29_OLD)
		mmc_card_clr_present(card);
#endif		
		if (mmc_host_is_spi(card->host)) {
			printk(KERN_INFO "%s: SPI card removed\n",
				mmc_hostname(card->host));
		} else {
			printk(KERN_INFO "%s: card %04x removed\n",
				mmc_hostname(card->host), card->rca);
		}
		device_del(&card->dev);
	}

	put_device(&card->dev);
}
Пример #14
0
/*
 * Unregister a new MMC card with the driver model, and
 * (eventually) free it.
 */
void mmc_remove_card(struct mmc_card *card)
{
#ifdef CONFIG_DEBUG_FS
	mmc_remove_card_debugfs(card);
#endif

	if (mmc_card_present(card)) {
		if (mmc_host_is_spi(card->host)) {
			printk(KERN_INFO "%s: SPI card removed\n",
				mmc_hostname(card->host));
		} else {
			printk(KERN_INFO "%s: card %04x removed\n",
				mmc_hostname(card->host), card->rca);
		}
#ifdef CONFIG_MACH_SEMC_ZEUS
		mmc_card_set_removed(card);
#endif /* CONFIG_MACH_SEMC_ZEUS */
		device_del(&card->dev);
	}

	put_device(&card->dev);
}