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

Reply via email to