ALSA: hda/ca0132 - make pci_iounmap() call conditional
diff mbox series

Message ID 20181210205445.2913413-1-arnd@arndb.de
State New
Headers show
Series
  • ALSA: hda/ca0132 - make pci_iounmap() call conditional
Related show

Commit Message

Arnd Bergmann Dec. 10, 2018, 8:54 p.m. UTC
When building without CONFIG_PCI, we can (depending on the architecture)
get a link failure:

ERROR: "pci_iounmap" [sound/pci/hda/snd-hda-codec-ca0132.ko] undefined!

Adding a compile-time check for PCI gets it to work correctly on
32-bit ARM.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 sound/pci/hda/patch_ca0132.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Takashi Iwai Dec. 11, 2018, 8:14 a.m. UTC | #1
On Mon, 10 Dec 2018 21:54:25 +0100,
Arnd Bergmann wrote:
> 
> When building without CONFIG_PCI, we can (depending on the architecture)
> get a link failure:
> 
> ERROR: "pci_iounmap" [sound/pci/hda/snd-hda-codec-ca0132.ko] undefined!
> 
> Adding a compile-time check for PCI gets it to work correctly on
> 32-bit ARM.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

The proper "fix" would be to make this working for SH no matter which
config is...  But pci_iomap and pci_iounmap() are such a mess, and no
one really cares about SH nowadays, so I'd take this easier way.


thanks,

Takashi

> ---
>  sound/pci/hda/patch_ca0132.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
> index c40cb6336017..e5bdbc245682 100644
> --- a/sound/pci/hda/patch_ca0132.c
> +++ b/sound/pci/hda/patch_ca0132.c
> @@ -8451,7 +8451,7 @@ static void ca0132_free(struct hda_codec *codec)
>  	ca0132_exit_chip(codec);
>  
>  	snd_hda_power_down(codec);
> -	if (spec->mem_base)
> +	if (IS_ENABLED(CONFIG_PCI) && spec->mem_base)
>  		pci_iounmap(codec->bus->pci, spec->mem_base);
>  	kfree(spec->spec_init_verbs);
>  	kfree(codec->spec);
> -- 
> 2.20.0
> 
>

Patch
diff mbox series

diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index c40cb6336017..e5bdbc245682 100644
--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -8451,7 +8451,7 @@  static void ca0132_free(struct hda_codec *codec)
 	ca0132_exit_chip(codec);
 
 	snd_hda_power_down(codec);
-	if (spec->mem_base)
+	if (IS_ENABLED(CONFIG_PCI) && spec->mem_base)
 		pci_iounmap(codec->bus->pci, spec->mem_base);
 	kfree(spec->spec_init_verbs);
 	kfree(codec->spec);