Arnd Bergmann wrote: > On Wednesday 17 April 2013, Linus Torvalds wrote: >> Anyway, I'm attaching the untested patch to several drivers. Guys, >> mind taking a look? > > I took a look at the hpet_mmap function, which still contains this check: > > if (((vma->vm_end - vma->vm_start) != PAGE_SIZE) || vma->vm_pgoff) > return -EINVAL; > > As far as I can tell, this check is implied by the new code in > vm_iomap_memory as the len argument passed here is PAGE_SIZE, so you > can remove another three lines in hpet_mmap.
Yes indeed. > > [...] I just have this untested patch-collection for a few random > > drivers (picked across a few different driver subsystems, just to make > > it interesting). I did that largely just to check the different use > > cases, but I don't actually tend to *use* all that many fancy drivers, > > so I don't have much of a way of testing it. Any more-or-less recent x86 machine has HPET, so you could enable CONFIG_HPET(_MMAP) and try the (completely untested) program below. Regards, Clemens --8<---------------------------------------------------------------->8-- #include <stdio.h> #include <fcntl.h> #include <unistd.h> #include <sys/mman.h> int main(void) { int fd = open("/dev/hpet", O_RDONLY); if (fd == -1) { perror("/dev/hpet"); return 1; } const volatile unsigned int *ptr = mmap(NULL, 4096, PROT_READ, MAP_SHARED, fd, 0); if (ptr == MAP_FAILED) { perror("mmap"); return 1; } printf("frequency: %.5f MHz\n", 1e9 / ptr[1]); for (;;) { printf("\rcounter: %08x", ptr[60]); fflush(stdout); usleep(123456); } } -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/