On Tue, Aug 16, 2011 at 02:40:25PM +0200, Guennadi Liakhovetski wrote:
> On Tue, 16 Aug 2011, Simon Horman wrote:
> 
> > On Tue, Aug 16, 2011 at 01:11:42PM +0200, Guennadi Liakhovetski wrote:
> > > On Tue, 16 Aug 2011, Simon Horman wrote:

[snip]

> > > Sorry, I still don't understand why you check "CARD_DETECT" and request 
> > > "sdcard_irq." Am I missing something or was my comment not clear enough 
> > > in 
> > > the previous review?
> > > 
> > > > +               if (ret)
> > > > +                       goto eirq_card_detect;
> > > > +       } else if (multi_irq)
> > > > +               goto eirq_card_detect;
> > > 
> > > ? Sorry, have you maybe missed my review?
> > > 
> > > > +
> > > > +       ret = irq = platform_get_irq(pdev, SH_MOBILE_SDHI_IRQ_SDCARD);
> > > > +       if (irq < 0)
> > > > +               goto eirq_sdcard;
> > > > +       f = multi_irq ? tmio_mmc_card_detect_irq : tmio_mmc_irq;
> > > 
> > > Same here
> > 
> > Sorry, that is a bug.
> > 
> > As the code seems to work on my board I think it should be fixed by
> > inverting the values of SH_MOBILE_SDHI_IRQ_SDCARD and
> > SH_MOBILE_SDHI_IRQ_CARD_DETECT.
> > 
> > I will check that and repost.
> 
> Right, SDIO works, /proc/interrupts has
> 
>   96:          5  sh7372-intca-level     sh_mobile_sdhi.0
>   97:    4116138  sh7372-intca-level     sh_mobile_sdhi.0
>   98:      44822  sh7372-intca-level     sh_mobile_sdhi.0
> 
> So, indeed, #0 is card-detect, #1 is sdcard, #2 is sdio, your enum is 
> wrong and request_irq() swapped ISRs compensate for that mistake.

Thanks.

I swapped around the enum, made the appropriate changes elsewhere
and things do seem to work correctly. Its a bit late now so I'll hold
off on reposting until tomorrow.
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to