Re: [PATCH 12/15] sound: add missing HAS_IOPORT and GENERIC_HARDIRQS dependencies

Takashi Iwai
2013-02-06T17:05:23Z

At Wed, 6 Feb 2013 17:24:00 +0100,
Heiko Carstens wrote:
>
> Fix these two compile errors on s390 which does not have HAS_IOPORT
> nor GENERIC_HARDIRQS:
>
> sound/pci/lx6464es/lx6464es.c: In function ‘snd_lx6464es_free’:
> sound/pci/lx6464es/lx6464es.c:565:2: error: implicit declaration of function ‘ioport_unmap’

Shouldn't this be fixed rather in asm-generic/io.h?
Something like,

#if defined(CONFIG_HAS_IOPORT) && defined(CONFIG_GENERIC_IOMAP)
extern void __iomem *ioport_map(unsigned long port, unsigned int nr);
extern void ioport_unmap(void __iomem *p);
#else
static inline void __iomem *ioport_map(unsigned long port, unsigned int nr)
{
return (void __iomem *) port;
}

static inline void ioport_unmap(void __iomem *p)
{
}
#endif /* CONFIG_HAS_IOPORT */

> sound/soc/codecs/wm8903.c: In function ‘wm8903_set_pdata_irq_trigger’:
> sound/soc/codecs/wm8903.c:1954:9: error: implicit declaration of function ‘irq_get_irq_data’

Ditto, how about defining

#ifndef CONFIG_GENERIC_HARDIRQS
#define irq_get_irq_data(x) NULL
#endif

somewhere appropriately?

Takashi

>
> Cc: Jaroslav Kysela <perex@perex.cz>
> Cc: Takashi Iwai <tiwai@suse.de>
> Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
> ---
> sound/pci/Kconfig | 1 +
> sound/soc/codecs/Kconfig | 2 +-
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/sound/pci/Kconfig b/sound/pci/Kconfig
> index 947cfb4..fe6fa93 100644
> --- a/sound/pci/Kconfig
> +++ b/sound/pci/Kconfig
> @@ -678,6 +678,7 @@ config SND_LOLA
>
> config SND_LX6464ES
> tristate "Digigram LX6464ES"
> + depends on HAS_IOPORT
> select SND_PCM
> help
> Say Y here to include support for Digigram LX6464ES boards.
> diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig
> index 298822c..65e3c6a 100644
> --- a/sound/soc/codecs/Kconfig
> +++ b/sound/soc/codecs/Kconfig
> @@ -98,7 +98,7 @@ config SND_SOC_ALL_CODECS
> select SND_SOC_WM8782
> select SND_SOC_WM8804 if SND_SOC_I2C_AND_SPI
> select SND_SOC_WM8900 if I2C
> - select SND_SOC_WM8903 if I2C
> + select SND_SOC_WM8903 if I2C && GENERIC_HARDIRQS
> select SND_SOC_WM8904 if I2C
> select SND_SOC_WM8940 if I2C
> select SND_SOC_WM8955 if I2C
> --
> 1.7.10.4
>