I have a question about device driver.
I'm writing device driver for parallel port on Linux. In initial function which is argument of module_init() in my device driver, I reserved I/O address region, 0x378-0x37a, with using request_region() and regist my charactor device driver calling register_chrdev(). After I compile and link it. I insert this module and I can confirm that I obtaind the range of I/O address at /proc/ioports. But I cannot write data on I/O address line, It means that following check program shows "false". --- check program --- #include <linux/types.h> #include <asm/io.h> #include <stdio.h> int main(void){ int base = 0x378; char read, write; ioperm(base, 1, 1); write = 0xa; outb(write, base); read = inb(base); if((read & 0xf) == write){ printf("true\n"); }else{ printf("false\n"); } return 0; } --- At this time, I unloaded kernel modules which are related to parallel port. they are 'ppdev', 'lp', 'parport_pc' and 'parport'. What should I do at initial funtion in my module to do I/O. (The version of kernel that I use is 2.6.19-7.) === by Hiroyasu Ohyama -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/