OK,I've cleaned up it now. Thanks
Cliff >-----Original Message----- >From: Robin Getz [mailto:[email protected]] >Sent: Sunday, January 04, 2009 11:03 PM >To: [email protected] >Cc: [email protected] >Subject: Re: [Linux-kernel-commits] [5940] >trunk/drivers/mmc/host: task[#4214]enable sdio irq, using >DATA1 as dedicated interrupt pin, then the driver have to work >in 1 bit mode > >On Sun 4 Jan 2009 03:25, [email protected] pondered: >> --- trunk/drivers/mmc/host/bfin_sdh.c 2009-01-01 >22:36:34 UTC (rev 5939) >> +++ trunk/drivers/mmc/host/bfin_sdh.c 2009-01-04 >08:25:55 UTC (rev 5940) >> @@ -428,12 +445,20 @@ >> int handled = 0; >> >> pr_debug("%s enter\n", __FUNCTION__); >> - if (bfin_read_SDH_E_STATUS() & SD_CARD_DET) { >> + status = bfin_read_SDH_E_STATUS(); >> + if (status & SD_CARD_DET) { >> mmc_detect_change(host->mmc, 0); >> bfin_write_SDH_E_STATUS(SD_CARD_DET); >> SSYNC(); > >I don't think you need the SSYNC - do you? > >> } >> - >> +#ifdef CONFIG_SDH_BFIN_ENABLE_SDIO_IRQ >> + if (status & SDIO_INT_DET) { >> + mmc_signal_sdio_irq(host->mmc); >> + bfin_write_SDH_E_STATUS(SDIO_INT_DET); >> + SSYNC(); > >Same here? > >> + handled = 1; >> + } >> +#endif >> status = bfin_read_SDH_STATUS(); >> if (status & (CMD_SENT | CMD_RESP_END | CMD_TIME_OUT | >CMD_CRC_FAIL)) { >> handled |= sdh_cmd_done(host, status); @@ >-497,7 +522,9 @@ >> mmc->ocr_avail = MMC_VDD_32_33 | MMC_VDD_33_34; >> mmc->f_min = get_sclk() >> 9; >> mmc->f_max = get_sclk(); >> +#ifndef CONFIG_SDH_BFIN_ENABLE_SDIO_IRQ >> mmc->caps = MMC_CAP_4_BIT_DATA; >> +#endif >> host = mmc_priv(mmc); >> host->mmc = mmc; > >And when comparing some of the functions to others in >drivers/mmc/host/* - they have more functions marked __init or >__devinit than we do - any reason? > > >ricoh_mmc.c:static int __devinit ricoh_mmc_probe(struct pci_dev *pdev, >ricoh_mmc.c: .probe = ricoh_mmc_probe, > >static int __init mmc_omap_probe(struct platform_device *pdev) > .probe = mmc_omap_probe, > >static int __devinit au1xmmc_probe(struct platform_device *pdev) > .probe = au1xmmc_probe, > > >no __init in our driver... >static int sdh_probe(struct platform_device *pdev) > .probe = sdh_probe, > >? > _______________________________________________ Linux-kernel-commits mailing list [email protected] http://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits
