From: Andrew Morton Fix these: sound/oss/mpu401.c: In function 'attach_mpu401': sound/oss/mpu401.c:1006: warning: cast to pointer from integer of different size sound/oss/mpu401.c:1115: warning: cast to pointer from integer of different size sound/oss/mpu401.c: In function 'unload_mpu401': sound/oss/mpu401.c:1230: warning: cast to pointer from integer of different size by making it implement the request_irq()/free_irq() cookies correctly. Cc: Jaroslav Kysela Cc: Takashi Iwai Cc: Alan Cox Signed-off-by: Andrew Morton --- sound/oss/mpu401.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff -puN sound/oss/mpu401.c~mpu401-warning-fixes sound/oss/mpu401.c --- a/sound/oss/mpu401.c~mpu401-warning-fixes +++ a/sound/oss/mpu401.c @@ -1003,7 +1003,8 @@ int attach_mpu401(struct address_info *h } if (!devc->shared_irq) { - if (request_irq(devc->irq, mpuintr, 0, "mpu401", (void *)m) < 0) + if (request_irq(devc->irq, mpuintr, 0, "mpu401", + hw_config) < 0) { printk(KERN_WARNING "mpu401: Failed to allocate IRQ%d\n", devc->irq); ret = -ENOMEM; @@ -1112,7 +1113,7 @@ int attach_mpu401(struct address_info *h return 0; out_irq: - free_irq(devc->irq, (void *)m); + free_irq(devc->irq, hw_config); out_mididev: sound_unload_mididev(m); out_err: @@ -1227,7 +1228,7 @@ void unload_mpu401(struct address_info * if (n != -1) { release_region(hw_config->io_base, 2); if (hw_config->always_detect == 0 && hw_config->irq > 0) - free_irq(hw_config->irq, (void *)n); + free_irq(hw_config->irq, hw_config); p=mpu401_synth_operations[n]; sound_unload_mididev(n); sound_unload_timerdev(hw_config->slots[2]); _