--- nozomi_2.21alpha_060917.orig/nozomi.c 2006-09-17 10:26:39.000000000 +0200 +++ nozomi_2.21alpha_060917/nozomi.c 2007-08-15 15:39:21.000000000 +0200 @@ -1686,7 +1686,13 @@ ret = -ENODEV; goto err_disable_device; } - dc->base_addr = (void *)ioremap((int)dc->base_addr, dc->card_type); + +#ifdef CONFIG_X86_64 + dc->base_addr = (void*)ioremap((u64)dc->base_addr, dc->card_type); +#else + dc->base_addr = (void *)ioremap((int)dc->base_addr, dc->card_type); +#endif + if (!dc->base_addr) { dev_err(&pdev->dev, "No I/O-Address for card detected\n"); ret = -ENODEV; @@ -1733,7 +1739,7 @@ BUG_ON(!dc->tty_flip_wq); return -ENOMEM; } - INIT_WORK(&dc->tty_flip_wq_struct, tty_flip_queue_function, dc); + INIT_WORK(&dc->tty_flip_wq_struct, tty_flip_queue_function); #endif spin_lock_init(&dc->spin_mutex); make_proc_dirs();