Hello! I'm trying to add UIO device to my system to handle interrupt. But i'm facing following problem. Docs says, on reading device /dev/uio0 it will block until interrupt occurs. I've made simple program for test. It tries to write 1 to enable interrupts. #include <unistd.h> #include <errno.h> #include <fcntl.h> #include <stdio.h> int main() { int fd; char c = 1; fd = open("/dev/uio0", O_RDONLY); if (fd<0) { printf("open error: %d\n", errno); return 0; } printf("fd == %d\n", fd); int res = write(fd, &c, 1); if(res<0) { printf("write error: %d\n", errno); } return 0; } And as the output i get fd == 3 write error: 9 error 9 means "bad file descriptor". File /dev/uio0 is here. /sys/class/uio/uio0 folder i also. Reading are fails the same way. Here is how i add device to the system in board specific code static struct uio_info cross_uio_info = { .name = "uio_mcross", .version = "0.1", .irq = IRQ_EINT14, .irq_flags = 0, }; static struct platform_device minipos_cross_device = { .name = "uio_pdrv_genirq", .id = -1, .dev = { .platform_data = &cross_uio_info, } }; and then add platform device. Please, help. -- To unsubscribe from this list: send the line "unsubscribe linux-embedded" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html