Re: [PATCH] sdhci: fix undue iomem warning

Arnd Bergmann
2011-05-30T18:33:22Z

On Monday 30 May 2011 20:21:03 Wolfram Sang wrote:
> Show Details
> > > a) SDHC Specs (even v3) only mention 0x100, so this is the standard.
> > > Do the new cards (which ones?) have anything located in the extra
> > > area?
> >
> > This controller is a dual-slot one, so has two register sets (though
> > one set of pins aren't wired to a socket).
>
> There are two controllers and they are packed into one PCI-bar? :( I guess this
> needs refactoring of the probe_slot routine then. Just silencing the warning
> will just hide the problem.

Right. Presumably someone has already built a different system with the
same chip and both slots in use. This probably also means we need a
way to figure out which of the slots are in fact connected.

> > > b) your approach won't scale very well
> >
> > True - a more scalable test would be to check for non-zero length and
> > a multiple of 256 bytes, would you say?
>
> That wouldn't alarm for 0x10000 or the like, so no gain as well.

In fact, all PCI resources are by definition power-of-two numbers,
so the check would not work at all.

> > >> + dev_warn(&pdev->dev, "Invalid iomem size. You may "
> > >> "experience problems.\n");
> > >
> > > I second turning the message into a warning, though.
> >
> > If the latter method is preferred, I'll adjust the patch and resend.
>
> Reconsidering: Given the current situation, an error message is maybe not a
> that bad idea, until the code can handle two controllers in one bar.

Agreed.

Arnd