Some hosts have an extended SDHCI iomem size, so the driver should
only print errors if the iomem size is less than 0x100.
Signed-off-by: Anton Vorontsov <[email protected]>
---
drivers/mmc/host/sdhci-pltfm.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c
index d0a52cb..3e65221 100644
--- a/drivers/mmc/host/sdhci-pltfm.c
+++ b/drivers/mmc/host/sdhci-pltfm.c
@@ -61,7 +61,7 @@ static int __devinit sdhci_pltfm_probe(struct platform_device *pdev)
goto err;
}
- if (resource_size(iomem) != 0x100)
+ if (resource_size(iomem) < 0x100)
dev_err(&pdev->dev, "Invalid iomem size. You may "
"experience problems.\n");
--
1.7.0
On Wed, Mar 17, 2010 at 07:02:52AM +0100, Richard Röjfors wrote:
> On 3/16/10 7:34 PM, Anton Vorontsov wrote:
> > Some hosts have an extended SDHCI iomem size, so the driver should
> > only print errors if the iomem size is less than 0x100.
>
> With this change you allow a bigger resource than we really need.
> I think you should also change request_mem_region and ioremap to only
> request and map the actual needed size. (0x100)
Sorry for the delayed response.
Why do you think that mapping more than "needed" is a bad thing?
Looking into the PCI driver, it just maps the whole PCI BAR (which
makes sense, since later SDHCI spec might easily introduce an
extended address space, so hardcoding 0x100 isn't very good).
There is another case when mapping the whole SDHCI mem space
might be convenient: if the platform code will want to use
the ioremapped region inside the platform hooks.
Thanks!
> > Signed-off-by: Anton Vorontsov <[email protected]>
> > ---
> > drivers/mmc/host/sdhci-pltfm.c | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c
> > index 217b911..b6ee0d7 100644
> > --- a/drivers/mmc/host/sdhci-pltfm.c
> > +++ b/drivers/mmc/host/sdhci-pltfm.c
> > @@ -61,7 +61,7 @@ static int __devinit sdhci_pltfm_probe(struct platform_device *pdev)
> > goto err;
> > }
> >
> > - if (resource_size(iomem) != 0x100)
> > + if (resource_size(iomem) < 0x100)
> > dev_err(&pdev->dev, "Invalid iomem size. You may "
> > "experience problems.\n");
> >
>
--
Anton Vorontsov
email: [email protected]
irc://irc.freenode.net/bd2