The recent optimization to store an iomem pointer in card's private_data field caused sparse warnings. Although they are practically harmless, add the explicit cast for avoiding the spurious warnings.
Fixes: 9b7843d1e125 ("ALSA: sc6000: Assign vport directly on card's private_data") Reported-by: kernel test robot lkp@intel.com Link: https://lore.kernel.org/r/202107210511.SnFqlZMa-lkp@intel.com Signed-off-by: Takashi Iwai tiwai@suse.de --- sound/isa/sc6000.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/isa/sc6000.c b/sound/isa/sc6000.c index d92e56cb0490..26ab7ff80768 100644 --- a/sound/isa/sc6000.c +++ b/sound/isa/sc6000.c @@ -531,7 +531,7 @@ static int snd_sc6000_match(struct device *devptr, unsigned int dev)
static void snd_sc6000_free(struct snd_card *card) { - char __iomem *vport = card->private_data; + char __iomem *vport = (char __force __iomem *)card->private_data;
if (vport) sc6000_setup_board(vport, 0); @@ -582,7 +582,7 @@ static int snd_sc6000_probe(struct device *devptr, unsigned int dev) "I/O port cannot be iomapped.\n"); return -EBUSY; } - card->private_data = vport; + card->private_data = (void __force *)vport;
/* to make it marked as used */ if (!devm_request_region(devptr, mss_port[dev], 4, DRV_NAME)) {