The code is calculating the resource size wrong because it should be
inclusive of the "res->end" address. In other words, "end - start + 1".
We can just use the resource_size() function to do it correctly.
Fixes: 7dc7967fc39a ("staging: kpc2000: add initial set of Daktronics drivers")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
priv->adapter.algo = &smbus_algorithm;
res = platform_get_resource(pldev, IORESOURCE_MEM, 0);
- priv->smba = (unsigned long)ioremap_nocache(res->start, res->end - res->start);
+ priv->smba = (unsigned long)ioremap_nocache(res->start, resource_size(res));
priv->pldev = pldev;
pldev->dev.platform_data = priv;
goto free_master;
}
- kpspi->phys = (unsigned long)ioremap_nocache(r->start, r->end - r->start);
+ kpspi->phys = (unsigned long)ioremap_nocache(r->start, resource_size(r));
kpspi->base = (u64 __iomem *)kpspi->phys;
status = spi_register_master(master);