The kpc_spi driver stashes off an unsigned long representation of the
i/o mapping returned by devm_ioremap_nocache(). This is unnecessary, as
the only use of the unsigned long repr is to eventually be re-cast to
an (u64 __iomem *). Instead of casting the (void __iomem *) to an
(unsigned long) then a (u64 __iomem *), just remove this intermediate
step. As this intermediary is no longer used, also remove it from its
structure.
Signed-off-by: Geordan Neukum <gneukum1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
struct kp_spi {
struct spi_master *master;
u64 __iomem *base;
- unsigned long phys;
struct device *dev;
};
goto free_master;
}
- kpspi->phys = (unsigned long)devm_ioremap_nocache(&pldev->dev, r->start,
- resource_size(r));
- kpspi->base = (u64 __iomem *)kpspi->phys;
+ kpspi->base = devm_ioremap_nocache(&pldev->dev, r->start,
+ resource_size(r));
status = spi_register_master(master);
if (status < 0) {