提交 c9058d43 编写于 作者: B Ben Dooks 提交者: Takashi Iwai

ALSA: hda/tegra: iomem fixups for sparse warnings

The readl/writel are not being passed __iomem annotated
variables, so fix the following sparse warnings by adding
__iomem in:

sound/pci/hda/hda_tegra.c:120:9: warning: incorrect type in argument 2 (different address spaces)
sound/pci/hda/hda_tegra.c:120:9:    expected void volatile [noderef] <asn:2>*addr
sound/pci/hda/hda_tegra.c:120:9:    got unsigned int [usertype] *addr
sound/pci/hda/hda_tegra.c:125:16: warning: incorrect type in argument 1 (different address spaces)
sound/pci/hda/hda_tegra.c:125:16:    expected void const volatile [noderef] <asn:2>*addr
sound/pci/hda/hda_tegra.c:125:16:    got unsigned int [usertype] *addr
sound/pci/hda/hda_tegra.c:134:13: warning: incorrect type in argument 1 (different address spaces)
sound/pci/hda/hda_tegra.c:134:13:    expected void const volatile [noderef] <asn:2>*addr
sound/pci/hda/hda_tegra.c:134:13:    got void *dword_addr
sound/pci/hda/hda_tegra.c:137:9: warning: incorrect type in argument 2 (different address spaces)
sound/pci/hda/hda_tegra.c:137:9:    expected void volatile [noderef] <asn:2>*addr
sound/pci/hda/hda_tegra.c:137:9:    got void *dword_addr
sound/pci/hda/hda_tegra.c:146:13: warning: incorrect type in argument 1 (different address spaces)
sound/pci/hda/hda_tegra.c:146:13:    expected void const volatile [noderef] <asn:2>*addr
sound/pci/hda/hda_tegra.c:146:13:    got void *dword_addr
sound/pci/hda/hda_tegra.c:156:13: warning: incorrect type in argument 1 (different address spaces)
sound/pci/hda/hda_tegra.c:156:13:    expected void const volatile [noderef] <asn:2>*addr
sound/pci/hda/hda_tegra.c:156:13:    got void *dword_addr
sound/pci/hda/hda_tegra.c:159:9: warning: incorrect type in argument 2 (different address spaces)
sound/pci/hda/hda_tegra.c:159:9:    expected void volatile [noderef] <asn:2>*addr
sound/pci/hda/hda_tegra.c:159:9:    got void *dword_addr
sound/pci/hda/hda_tegra.c:168:13: warning: incorrect type in argument 1 (different address spaces)
sound/pci/hda/hda_tegra.c:168:13:    expected void const volatile [noderef] <asn:2>*addr
sound/pci/hda/hda_tegra.c:168:13:    got void *dword_addr
sound/pci/hda/hda_tegra.c:173:23: warning: incorrect type in initializer (incompatible argument 2 (different address spaces))
sound/pci/hda/hda_tegra.c:173:23:    expected void ( *reg_writel )( ... )
sound/pci/hda/hda_tegra.c:173:23:    got void ( static [toplevel] *<noident> )( ... )
sound/pci/hda/hda_tegra.c:174:22: warning: incorrect type in initializer (incompatible argument 1 (different address spaces))
sound/pci/hda/hda_tegra.c:174:22:    expected unsigned int ( *reg_readl )( ... )
sound/pci/hda/hda_tegra.c:174:22:    got unsigned int ( static [toplevel] *<noident> )( ... )
sound/pci/hda/hda_tegra.c:175:23: warning: incorrect type in initializer (incompatible argument 2 (different address spaces))
sound/pci/hda/hda_tegra.c:175:23:    expected void ( *reg_writew )( ... )
sound/pci/hda/hda_tegra.c:175:23:    got void ( static [toplevel] *<noident> )( ... )
sound/pci/hda/hda_tegra.c:176:22: warning: incorrect type in initializer (incompatible argument 1 (different address spaces))
sound/pci/hda/hda_tegra.c:176:22:    expected unsigned short ( *reg_readw )( ... )
sound/pci/hda/hda_tegra.c:176:22:    got unsigned short ( static [toplevel] *<noident> )( ... )
sound/pci/hda/hda_tegra.c:177:23: warning: incorrect type in initializer (incompatible argument 2 (different address spaces))
sound/pci/hda/hda_tegra.c:177:23:    expected void ( *reg_writeb )( ... )
sound/pci/hda/hda_tegra.c:177:23:    got void ( static [toplevel] *<noident> )( ... )
sound/pci/hda/hda_tegra.c:178:22: warning: incorrect type in initializer (incompatible argument 1 (different address spaces))
sound/pci/hda/hda_tegra.c:178:22:    expected unsigned char ( *reg_readb )( ... )
sound/pci/hda/hda_tegra.c:178:22:    got unsigned char ( static [toplevel] *<noident> )( ... )
Signed-off-by: NBen Dooks <ben.dooks@codethink.co.uk>
Acked-by: NThierry Reding <treding@nvidia.com>
Signed-off-by: NTakashi Iwai <tiwai@suse.de>
上级 8198868f
...@@ -115,20 +115,20 @@ static int substream_free_pages(struct azx *chip, ...@@ -115,20 +115,20 @@ static int substream_free_pages(struct azx *chip,
/* /*
* Register access ops. Tegra HDA register access is DWORD only. * Register access ops. Tegra HDA register access is DWORD only.
*/ */
static void hda_tegra_writel(u32 value, u32 *addr) static void hda_tegra_writel(u32 value, u32 __iomem *addr)
{ {
writel(value, addr); writel(value, addr);
} }
static u32 hda_tegra_readl(u32 *addr) static u32 hda_tegra_readl(u32 __iomem *addr)
{ {
return readl(addr); return readl(addr);
} }
static void hda_tegra_writew(u16 value, u16 *addr) static void hda_tegra_writew(u16 value, u16 __iomem *addr)
{ {
unsigned int shift = ((unsigned long)(addr) & 0x3) << 3; unsigned int shift = ((unsigned long)(addr) & 0x3) << 3;
void *dword_addr = (void *)((unsigned long)(addr) & ~0x3); void __iomem *dword_addr = (void __iomem *)((unsigned long)(addr) & ~0x3);
u32 v; u32 v;
v = readl(dword_addr); v = readl(dword_addr);
...@@ -137,20 +137,20 @@ static void hda_tegra_writew(u16 value, u16 *addr) ...@@ -137,20 +137,20 @@ static void hda_tegra_writew(u16 value, u16 *addr)
writel(v, dword_addr); writel(v, dword_addr);
} }
static u16 hda_tegra_readw(u16 *addr) static u16 hda_tegra_readw(u16 __iomem *addr)
{ {
unsigned int shift = ((unsigned long)(addr) & 0x3) << 3; unsigned int shift = ((unsigned long)(addr) & 0x3) << 3;
void *dword_addr = (void *)((unsigned long)(addr) & ~0x3); void __iomem *dword_addr = (void __iomem *)((unsigned long)(addr) & ~0x3);
u32 v; u32 v;
v = readl(dword_addr); v = readl(dword_addr);
return (v >> shift) & 0xffff; return (v >> shift) & 0xffff;
} }
static void hda_tegra_writeb(u8 value, u8 *addr) static void hda_tegra_writeb(u8 value, u8 __iomem *addr)
{ {
unsigned int shift = ((unsigned long)(addr) & 0x3) << 3; unsigned int shift = ((unsigned long)(addr) & 0x3) << 3;
void *dword_addr = (void *)((unsigned long)(addr) & ~0x3); void __iomem *dword_addr = (void __iomem *)((unsigned long)(addr) & ~0x3);
u32 v; u32 v;
v = readl(dword_addr); v = readl(dword_addr);
...@@ -159,10 +159,10 @@ static void hda_tegra_writeb(u8 value, u8 *addr) ...@@ -159,10 +159,10 @@ static void hda_tegra_writeb(u8 value, u8 *addr)
writel(v, dword_addr); writel(v, dword_addr);
} }
static u8 hda_tegra_readb(u8 *addr) static u8 hda_tegra_readb(u8 __iomem *addr)
{ {
unsigned int shift = ((unsigned long)(addr) & 0x3) << 3; unsigned int shift = ((unsigned long)(addr) & 0x3) << 3;
void *dword_addr = (void *)((unsigned long)(addr) & ~0x3); void __iomem *dword_addr = (void __iomem *)((unsigned long)(addr) & ~0x3);
u32 v; u32 v;
v = readl(dword_addr); v = readl(dword_addr);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册