提交 b307e854 编写于 作者: A Andrew Morton 提交者: Linus Torvalds

[PATCH] ad1848 section fix

WARNING: sound/oss/ad1848.o - Section mismatch: reference to .init.data:ad1848_isapnp_list from .text between 'ad1848_init_generic' (at offset 0x46f0) and 'kmalloc'
WARNING: sound/oss/ad1848.o - Section mismatch: reference to .init.data:ad1848_isapnp_list from .text between 'ad1848_init_generic' (at offset 0x46f8) and 'kmalloc'
WARNING: sound/oss/ad1848.o - Section mismatch: reference to .init.data:ad1848_isapnp_list from .text between 'ad1848_init_generic' (at offset 0x4818) and 'kmalloc'

Also,

sound/oss/ad1848.c: In function `ad1848_init':
sound/oss/ad1848.c:2029: warning: cast to pointer from integer of different size
sound/oss/ad1848.c: In function `ad1848_unload':
sound/oss/ad1848.c:2178: warning: cast to pointer from integer of different size
sound/oss/ad1848.c: In function `adintr':
sound/oss/ad1848.c:2207: warning: cast from pointer to integer of different size
Signed-off-by: NAndrew Morton <akpm@osdl.org>
Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
上级 db314194
...@@ -2026,7 +2026,8 @@ int ad1848_init (char *name, struct resource *ports, int irq, int dma_playback, ...@@ -2026,7 +2026,8 @@ int ad1848_init (char *name, struct resource *ports, int irq, int dma_playback,
if (irq > 0) if (irq > 0)
{ {
devc->dev_no = my_dev; devc->dev_no = my_dev;
if (request_irq(devc->irq, adintr, 0, devc->name, (void *)my_dev) < 0) if (request_irq(devc->irq, adintr, 0, devc->name,
(void *)(long)my_dev) < 0)
{ {
printk(KERN_WARNING "ad1848: Unable to allocate IRQ\n"); printk(KERN_WARNING "ad1848: Unable to allocate IRQ\n");
/* Don't free it either then.. */ /* Don't free it either then.. */
...@@ -2175,7 +2176,7 @@ void ad1848_unload(int io_base, int irq, int dma_playback, int dma_capture, int ...@@ -2175,7 +2176,7 @@ void ad1848_unload(int io_base, int irq, int dma_playback, int dma_capture, int
if (!share_dma) if (!share_dma)
{ {
if (devc->irq > 0) /* There is no point in freeing irq, if it wasn't allocated */ if (devc->irq > 0) /* There is no point in freeing irq, if it wasn't allocated */
free_irq(devc->irq, (void *)devc->dev_no); free_irq(devc->irq, (void *)(long)devc->dev_no);
sound_free_dma(dma_playback); sound_free_dma(dma_playback);
...@@ -2204,7 +2205,7 @@ irqreturn_t adintr(int irq, void *dev_id, struct pt_regs *dummy) ...@@ -2204,7 +2205,7 @@ irqreturn_t adintr(int irq, void *dev_id, struct pt_regs *dummy)
unsigned char c930_stat = 0; unsigned char c930_stat = 0;
int cnt = 0; int cnt = 0;
dev = (int)dev_id; dev = (long)dev_id;
devc = (ad1848_info *) audio_devs[dev]->devc; devc = (ad1848_info *) audio_devs[dev]->devc;
interrupt_again: /* Jump back here if int status doesn't reset */ interrupt_again: /* Jump back here if int status doesn't reset */
...@@ -2900,7 +2901,8 @@ static struct pnp_dev *activate_dev(char *devname, char *resname, struct pnp_dev ...@@ -2900,7 +2901,8 @@ static struct pnp_dev *activate_dev(char *devname, char *resname, struct pnp_dev
return(dev); return(dev);
} }
static struct pnp_dev *ad1848_init_generic(struct pnp_card *bus, struct address_info *hw_config, int slot) static struct pnp_dev __init *ad1848_init_generic(struct pnp_card *bus,
struct address_info *hw_config, int slot)
{ {
/* Configure Audio device */ /* Configure Audio device */
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册