title: implement mmap with multiple pages in device driver
body: <p>I have a device driver that uses buffers in RAM that I want the user to be able to map to user space. I have read <a href="http://lwn.net/images/pdf/LDD3/ch15.pdf" rel="nofollow">http://lwn.net/images/pdf/LDD3/ch15.pdf</a> which talks about using nopages, but the example there only uses single pages and says you can adjust usage counts to make it work for multiple pages. I don't understand how that works. It uses get_free_page with an order of 0 (so 1 free page) to allocate its buffers, but my buffer is two pages long.</p>
  
  <p>What does the usage count have to do with anything? From what I understand, only the first page is counted.</p>