)]}'
{
  "log": [
    {
      "commit": "f1a304e7941cc76353363a139cbb6a4b1ca7c737",
      "tree": "ac29bd04bc7c16ddcf612d10efbf7db14b3d5fb9",
      "parents": [
        "b7e14fea4413440b9054b7fb1628bb9c545c509c"
      ],
      "author": {
        "name": "Pratheesh Gangadhar",
        "email": "pratheesh@ti.com",
        "time": "Sat Mar 05 04:30:17 2011 +0530"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 07 13:10:27 2011 -0800"
      },
      "message": "UIO: add PRUSS UIO driver support\n\nThis patch implements PRUSS (Programmable Real-time Unit Sub System)\nUIO driver which exports SOC resources associated with PRUSS like\nI/O, memories and IRQs to user space. PRUSS is dual 32-bit RISC\nprocessors which is efficient in performing embedded tasks that\nrequire manipulation of packed memory mapped data structures and\nhandling system events that have tight real time constraints. This\ndriver is currently supported on Texas Instruments DA850, AM18xx and\nOMAP-L138 devices.\nFor example, PRUSS runs firmware for real-time critical industrial\ncommunication data link layer and communicates with application stack\nrunning in user space via shared memory and IRQs.\n\nSigned-off-by: Pratheesh Gangadhar \u003cpratheesh@ti.com\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nReviewed-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nSigned-off-by: Hans J. Koch \u003chjk@hansjkoch.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "318af55ddd38bdaaa2b57f5c3bd394f3ce3a2610",
      "tree": "046eb0d15b7a0d0a02c3f454c0183e12f9d52d92",
      "parents": [
        "b17cd8d69a75f921d9d444cc3ac9b5b1d0b66ca0"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@hansjkoch.de",
        "time": "Sat Oct 30 00:36:47 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Nov 10 16:57:11 2010 -0800"
      },
      "message": "uio: Change mail address of Hans J. Koch\n\nMy old mail address doesn\u0027t exist anymore. This changes all occurrences\nto my new address.\n\nSigned-off-by: Hans J. Koch \u003chjk@hansjkoch.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "229aebb873e29726b91e076161649cf45154b0bf",
      "tree": "acc02a3702215bce8d914f4c8cc3d7a1382b1c67",
      "parents": [
        "8de547e1824437f3c6af180d3ed2162fa4b3f389",
        "50a23e6eec6f20d55a3a920e47adb455bff6046e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 24 13:41:39 2010 -0700"
      },
      "message": "Merge branch \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial\n\n* \u0027for-next\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (39 commits)\n  Update broken web addresses in arch directory.\n  Update broken web addresses in the kernel.\n  Revert \"drivers/usb: Remove unnecessary return\u0027s from void functions\" for musb gadget\n  Revert \"Fix typo: configuation \u003d\u003e configuration\" partially\n  ida: document IDA_BITMAP_LONGS calculation\n  ext2: fix a typo on comment in ext2/inode.c\n  drivers/scsi: Remove unnecessary casts of private_data\n  drivers/s390: Remove unnecessary casts of private_data\n  net/sunrpc/rpc_pipe.c: Remove unnecessary casts of private_data\n  drivers/infiniband: Remove unnecessary casts of private_data\n  drivers/gpu/drm: Remove unnecessary casts of private_data\n  kernel/pm_qos_params.c: Remove unnecessary casts of private_data\n  fs/ecryptfs: Remove unnecessary casts of private_data\n  fs/seq_file.c: Remove unnecessary casts of private_data\n  arm: uengine.c: remove C99 comments\n  arm: scoop.c: remove C99 comments\n  Fix typo configue \u003d\u003e configure in comments\n  Fix typo: configuation \u003d\u003e configuration\n  Fix typo interrest[ing|ed] \u003d\u003e interest[ing|ed]\n  Fix various typos of valid in comments\n  ...\n\nFix up trivial conflicts in:\n\tdrivers/char/ipmi/ipmi_si_intf.c\n\tdrivers/usb/gadget/rndis.c\n\tnet/irda/irnet/irnet_ppp.c\n"
    },
    {
      "commit": "b9da0571050c09863e59f94d0b8594a290d61b88",
      "tree": "3632c4fee768db9a27a5c872bd42133692e2f3d0",
      "parents": [
        "f8cae0f03f75adb54b1d48ddbc90f84a1f5de186",
        "5abd935661e01289ba143c3b2c1ba300c65bcc5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 19:36:42 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 19:36:42 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (31 commits)\n  driver core: Display error codes when class suspend fails\n  Driver core: Add section count to memory_block struct\n  Driver core: Add mutex for adding/removing memory blocks\n  Driver core: Move find_memory_block routine\n  hpilo: Despecificate driver from iLO generation\n  driver core: Convert link_mem_sections to use find_memory_block_hinted.\n  driver core: Introduce find_memory_block_hinted which utilizes kset_find_obj_hinted.\n  kobject: Introduce kset_find_obj_hinted.\n  driver core: fix build for CONFIG_BLOCK not enabled\n  driver-core: base: change to new flag variable\n  sysfs: only access bin file vm_ops with the active lock\n  sysfs: Fail bin file mmap if vma close is implemented.\n  FW_LOADER: fix kconfig dependency warning on HOTPLUG\n  uio: Statically allocate uio_class and use class .dev_attrs.\n  uio: Support 2^MINOR_BITS minors\n  uio: Cleanup irq handling.\n  uio: Don\u0027t clear driver data\n  uio: Fix lack of locking in init_uio_class\n  SYSFS: Allow boot time switching between deprecated and modern sysfs layout\n  driver core: remove CONFIG_SYSFS_DEPRECATED_V2 but keep it for block devices\n  ...\n"
    },
    {
      "commit": "c66fdab64fd791bdd49fed4f5785643251ddf586",
      "tree": "2d75b8ce0d1566f173511fc439b6f096bf30d9ca",
      "parents": [
        "91960a46c658b719c03fba80f1c60a96393bbcfd"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Tue Sep 14 11:38:36 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:43 2010 -0700"
      },
      "message": "uio: Statically allocate uio_class and use class .dev_attrs.\n\nInstead of adding uio class attributes manually after the uio device has\nbeen created and we have sent a uevent to userspace, use the class\nattribute mechanism.  This removes races and makes the code simpler.\n\nAt the same time don\u0027t bother to dynamically allocate a struct class for\nuio, just declare one statically.  Less code is needed and it is easier\nto set the class parameters.tune the class\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "91960a46c658b719c03fba80f1c60a96393bbcfd",
      "tree": "ffa50ea8eeddd9105dff834877ed594cf71ce697",
      "parents": [
        "6427a7655afd7f07dfa83736defd1d94656c83e5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Tue Sep 14 11:38:06 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:43 2010 -0700"
      },
      "message": "uio: Support 2^MINOR_BITS minors\n\nregister_chrdev limits uio devices to 256 minor numbers which causes\nproblems on one system I have with 384+ uio devices.  So instead set\nUIO_MAX_DEVICES to the maximum number of minors and use\nalloc_chrdev_region to reserve the uio minors.\n\nThe final result is that the code works the same but the uio driver now\nsupports any minor the idr allocator comes up with.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6427a7655afd7f07dfa83736defd1d94656c83e5",
      "tree": "248b7db4c38f5f537a57f62dd099097fd1233c27",
      "parents": [
        "70a9156bad9d9d1476df35dde582b9f411bf5914"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Tue Sep 14 11:37:36 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:43 2010 -0700"
      },
      "message": "uio: Cleanup irq handling.\n\nChange the value of UIO_IRQ_NONE -2 to 0.  0 is well defined in the rest\nof the kernel as the value to indicate an irq has not been assigned.\n\nUpdate the calls to request_irq and free_irq to only ignore UIO_IRQ_NONE\nand UIO_IRQ_CUSTOM allowing the rest of the kernel\u0027s possible irq\nnumbers to be used.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "70a9156bad9d9d1476df35dde582b9f411bf5914",
      "tree": "e44b2b21f59375eedd0431a1ea31aa26b4f602dd",
      "parents": [
        "3d4f9d76b0641b7984f95982e390927fc5998ad6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Tue Sep 14 11:36:54 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:43 2010 -0700"
      },
      "message": "uio: Don\u0027t clear driver data\n\nCurrently uio sets it\u0027s driver data to NULL just as it is unregistering\nattributes.  sysfs maks the guaranatee that it will not call attributes\nafter device_destroy is called so this is unncessary and leads to lots\nof unnecessary code in uio.c\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3d4f9d76b0641b7984f95982e390927fc5998ad6",
      "tree": "7f57194438afcfe364fc507b359840b65c63d203",
      "parents": [
        "e52eec13cd6b7f30ab19081b387813e03e592ae5"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@aristanetworks.com",
        "time": "Tue Sep 14 11:36:27 2010 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:43 2010 -0700"
      },
      "message": "uio: Fix lack of locking in init_uio_class\n\nThere is no locking in init_uio_class so multiple\ndrivers can race and create multiple uio classes.\n\nFix this by simplifying the code.   In particular always\nregister the uio class during module_init and make things\nsimpler.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@aristanetworks.com\u003e\nReviewed-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1037246cacd45d951227c8798f181b3ba5c8bcbe",
      "tree": "dbf5580c239ddd84ec4bd6c8479a60d55a62f5d9",
      "parents": [
        "d79d32440c33cf60f1e0efbeb8144b1647be0b50"
      ],
      "author": {
        "name": "Kulikov Vasiliy",
        "email": "segooon@gmail.com",
        "time": "Tue Aug 03 19:44:23 2010 +0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 22 10:16:42 2010 -0700"
      },
      "message": "uio: do not use PCI resources before pci_enable_device()\n\nIRQ and resource[] may not have correct values until\nafter PCI hotplug setup occurs at pci_enable_device() time.\n\nThe semantic match that finds this problem is as follows:\n\n// \u003csmpl\u003e\n@@\nidentifier x;\nidentifier request ~\u003d \"pci_request.*|pci_resource.*\";\n@@\n\n(\n* x-\u003eirq\n|\n* x-\u003eresource\n|\n* request(x, ...)\n)\n ...\n*pci_enable_device(x)\n// \u003c/smpl\u003e\n\nSigned-off-by: Kulikov Vasiliy \u003csegooon@gmail.com\u003e\nAcked-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "631dd1a885b6d7e9f6f51b4e5b311c2bb04c323c",
      "tree": "c431fa3479c1d35842fb5635ed7ccd487d063a62",
      "parents": [
        "d7eccbbae84b2ee7dbb756e60287c4b47071444e"
      ],
      "author": {
        "name": "Justin P. Mattock",
        "email": "justinmattock@gmail.com",
        "time": "Mon Oct 18 11:03:14 2010 +0200"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Mon Oct 18 11:03:14 2010 +0200"
      },
      "message": "Update broken web addresses in the kernel.\n\nThe patch below updates broken web addresses in the kernel\n\nSigned-off-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nCc: Maciej W. Rozycki \u003cmacro@linux-mips.org\u003e\nCc: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: Finn Thain \u003cfthain@telegraphics.com.au\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Matt Turner \u003cmattst88@gmail.com\u003e\nCc: Dimitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nAcked-by: Ben Pfaff \u003cblp@cs.stanford.edu\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nReviewed-by: Finn Thain \u003cfthain@telegraphics.com.au\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "14ec5394827eea8df7bbf14775c52fc48fc97a40",
      "tree": "8ad12f55c771287a1f0e95dad23d9082fa88080b",
      "parents": [
        "62c867791f7b9feb2f6c2ca60e8a246d0c810ad9"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Thu Jun 10 01:18:08 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 05 13:53:33 2010 -0700"
      },
      "message": "uio: Remove IRQF_DISABLED flag from uio_cif.c\n\nRemove IRQF_DISABLED since it is deprecated and a no-op in the\ncurrent kernel.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "62c867791f7b9feb2f6c2ca60e8a246d0c810ad9",
      "tree": "bf93c9cdd730558689d08faa5e16235779d7f86b",
      "parents": [
        "5685ad5b29934e09dd9746f8553066f8288d4dff"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Thu Jun 10 01:15:49 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 05 13:53:33 2010 -0700"
      },
      "message": "uio: Remove IRQF_DISABLED from uio_sercos3.c\n\nRemove IRQF_DISABLED since it is deprecated and a no-op in the\ncurrent kernel.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: John Ogness \u003cjohn.ogness@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5685ad5b29934e09dd9746f8553066f8288d4dff",
      "tree": "32dfa2cd1ddae96154df2f862ed0a2b6f9757c81",
      "parents": [
        "cdd854bc42b5e6c79bbbc40c6600d995ffe6e747"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Thu Jun 10 01:12:32 2010 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 05 13:53:33 2010 -0700"
      },
      "message": "uio: Remove IRQF_DISABLED flag from uio_pdrv_genirq.c\n\nRemove IRQF_DISABLED flag since it is deprecated and a no-op in the\ncurrent kernel.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "d6e976c0d258c9547a308bd8a9a82ec93e2bc6e2",
      "tree": "9c6f0d683c24549bd2f5e8b47295d333de0ac59c",
      "parents": [
        "0a965eb9f69caf0fb331d45556da8bab1c8dcb11"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Wed Feb 10 20:12:42 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:51 2010 -0800"
      },
      "message": "UIO: Remove SMX Cryptengine driver\n\nBen Nizette, the author of this driver, told me in a private mail that this\nproject has been cancelled. He suggested to remove the driver for now, and\nwill come back with a new version should the hardware really exist.\nThis patch completely removes the driver.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: Ben Nizette \u003cbn@niasdigital.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0a965eb9f69caf0fb331d45556da8bab1c8dcb11",
      "tree": "6d24a1606b9b0a96c94828140d65a7a871e63e05",
      "parents": [
        "8f314cfc1259d3f5039b142ce6fdc90367c22d82"
      ],
      "author": {
        "name": "John Ogness",
        "email": "john.ogness@linutronix.de",
        "time": "Thu Feb 11 15:38:53 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:51 2010 -0800"
      },
      "message": "UIO: minor Kconfig fixes\n\nTwo trivial fixes for the Userspace IO Kconfig file:\n1) uio_sercos3 is a PCI driver, so let it depend on PCI.\n2) \"default n\" under UIO_PCI_GENERIC is luxury since it is already the default.\n\nAcked-by: John Ogness \u003cjohn.ogness@linutronix.de\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8f314cfc1259d3f5039b142ce6fdc90367c22d82",
      "tree": "7c02ccbf7832c21cdffafb2573e7450953cbd591",
      "parents": [
        "57f1e87523bdb6c39659ead7c0f72eea9e520fbe"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Tue Feb 09 20:13:49 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:50 2010 -0800"
      },
      "message": "UIO: Add a driver for Hilscher netX-based fieldbus cards\n\nThis patch adds a Userspace IO driver for netX-based fieldbus cards by\nHilscher (see http://www.hilscher.com). ATM, cifX and comX cards are\nsupported. The userspace part for this driver is provided by Hilscher\nand should come with the card.\nThe driver is in use for several months now and has been tested by\npeople at Hilscher and Linutronix.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "52cf25d0ab7f78eeecc59ac652ed5090f69b619e",
      "tree": "031d1ffb3890bd69c0260c864c512e0be62ac05c",
      "parents": [
        "6c1733aca0b48db4d0e660d54976a1cca25b5eaf"
      ],
      "author": {
        "name": "Emese Revfy",
        "email": "re.emese@gmail.com",
        "time": "Tue Jan 19 02:58:23 2010 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sun Mar 07 17:04:49 2010 -0800"
      },
      "message": "Driver core: Constify struct sysfs_ops in struct kobj_type\n\nConstify struct sysfs_ops.\n\nThis is part of the ops structure constification\neffort started by Arjan van de Ven et al.\n\nBenefits of this constification:\n\n * prevents modification of data that is shared\n   (referenced) by many other structure instances\n   at runtime\n\n * detects/prevents accidental (but not intentional)\n   modification attempts on archs that enforce\n   read-only kernel data at runtime\n\n * potentially better optimized code as the compiler\n   can assume that the const data cannot be changed\n\n * the compiler/linker move const data into .rodata\n   and therefore exclude them from false sharing\n\nSigned-off-by: Emese Revfy \u003cre.emese@gmail.com\u003e\nAcked-by: David Teigland \u003cteigland@redhat.com\u003e\nAcked-by: Matt Domsch \u003cMatt_Domsch@dell.com\u003e\nAcked-by: Maciej Sosnowski \u003cmaciej.sosnowski@intel.com\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "471452104b8520337ae2fb48c4e61cd4896e025d",
      "tree": "8594ae4a8362014e3cccf72a4e8834cdbb610bdd",
      "parents": [
        "0ead0f84e81a41c3e98aeceab04af8ab1bb08d1f"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Dec 14 18:00:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:25 2009 -0800"
      },
      "message": "const: constify remaining dev_pm_ops\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "68fb2e499b054bf8359965422fffac70eff56004",
      "tree": "78c17121586c64799c2740ee78bdfbbf0cf0bce9",
      "parents": [
        "156171c71a0dc4bce12b4408bb1591f8fe32dc1a"
      ],
      "author": {
        "name": "Kuninori Morimoto",
        "email": "morimoto.kuninori@renesas.com",
        "time": "Mon Nov 09 02:42:47 2009 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Nov 13 11:36:00 2009 +0900"
      },
      "message": "uio: pm_runtime_disable is needed if failed\n\nSigned-off-by: Kuninori Morimoto \u003cmorimoto.kuninori@renesas.com\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "d43c36dc6b357fa1806800f18aa30123c747a6d1",
      "tree": "339ce510073ecbe9b3592008f7dece7b277035ef",
      "parents": [
        "69585dd69e663a40729492c7b52eb82477a2027a"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Wed Oct 07 17:09:06 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Oct 11 11:20:58 2009 -0700"
      },
      "message": "headers: remove sched.h from interrupt.h\n\nAfter m68k\u0027s task_thread_info() doesn\u0027t refer to current,\nit\u0027s possible to remove sched.h from interrupt.h and not break m68k!\nMany thanks to Heiko Carstens for allowing this.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\n"
    },
    {
      "commit": "f0f37e2f77731b3473fa6bd5ee53255d9a9cdb40",
      "tree": "3c26d3ed1a453156e9c208ccb5567a8954dba064",
      "parents": [
        "6f5071020d5ec89b5d095aa488db604adb921aec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Sun Sep 27 22:29:37 2009 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Sep 27 11:39:25 2009 -0700"
      },
      "message": "const: mark struct vm_struct_operations\n\n* mark struct vm_area_struct::vm_ops as const\n* mark vm_ops in AGP code\n\nBut leave TTM code alone, something is fishy there with global vm_ops\nbeing used.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "515b696b282f856c3ad1679ccd658120faa387d0",
      "tree": "d9d7c1185c396617f128ca23463062308d11393b",
      "parents": [
        "fa877c71e2136bd682b45022c96d5e073ced9f58",
        "064a16dc41be879d12bd5de5d2f9d38d890e0ee7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 18 09:43:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Sep 18 09:43:09 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (262 commits)\n  sh: mach-ecovec24: Add user debug switch support\n  sh: Kill off unused se_skipped in alignment trap notification code.\n  sh: Wire up HAVE_SYSCALL_TRACEPOINTS.\n  video: sh_mobile_lcdcfb: use both register sets for display panning\n  video: sh_mobile_lcdcfb: implement display panning\n  sh: Fix up sh7705 flush_dcache_page() build.\n  sh: kfr2r09: document the PLL/FLL \u003c-\u003e RF relationship.\n  sh: mach-ecovec24: need asm/clock.h.\n  sh: mach-ecovec24: deassert usb irq on boot.\n  sh: Add KEYSC support for EcoVec24\n  sh: add kycr2_delay for sh_keysc\n  sh: cpufreq: Include CPU id in info messages.\n  sh: multi-evt support for SH-X3 proto CPU.\n  sh: clkfwk: remove bogus set_bus_parent() from SH7709.\n  sh: Fix the indication point of the liquid crystal of AP-325RXA(AP3300)\n  sh: Add EcoVec24 romImage defconfig\n  sh: USB disable process is needed if romImage boot for EcoVec24\n  sh: EcoVec24: add HIZA setting for LED\n  sh: EcoVec24: write MAC address in boot\n  sh: Add romImage support for EcoVec24\n  ...\n"
    },
    {
      "commit": "ccb86a6907c9ba7b5be5f521362fc308e80bed34",
      "tree": "e10f409f582a50243124d9b8bf38b2ec8be8d5ac",
      "parents": [
        "a56af87648054089d89874b52e3fc23ed4f274ad"
      ],
      "author": {
        "name": "Michael S. Tsirkin",
        "email": "mst@redhat.com",
        "time": "Mon Jul 20 10:29:34 2009 +0300"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 15 09:50:48 2009 -0700"
      },
      "message": "uio: add generic driver for PCI 2.3 devices\n\nThis adds a generic uio driver that can bind to any PCI device.  First\nuser will be virtualization where a qemu userspace process needs to give\nguest OS access to the device.\n\nInterrupts are handled using the Interrupt Disable bit in the PCI\ncommand register and Interrupt Status bit in the PCI status register.\nAll devices compliant to PCI 2.3 (circa 2002) and all compliant PCI\nExpress devices should support these bits.  Driver detects this support,\nand won\u0027t bind to devices which do not support the Interrupt Disable Bit\nin the command register.\n\nIt\u0027s expected that more features of interest to virtualization will be\nadded to this driver in the future. Possibilities are: mmap for device\nresources, MSI/MSI-X, eventfd (to interface with kvm), iommu.\n\nSigned-off-by: Michael S. Tsirkin \u003cmst@redhat.com\u003e\nAcked-by: Chris Wright \u003cchrisw@redhat.com\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "5b2ea2f10dbb2fa91d8033993000f8664309395f",
      "tree": "f672e729346acd63ba0cd3e27f72a26cfbaf7ecf",
      "parents": [
        "a5b8b1ada6dd76503884f5492b995cd29eefae0f"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Wed Jun 24 17:30:25 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Sep 15 09:50:47 2009 -0700"
      },
      "message": "UIO: remove \u0027default n\u0027 from Kconfig\n\n\u0027default n\u0027 is the default, there is no need for these lines.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "af76756e6e8c268c684865d29b897a470de1f097",
      "tree": "ab7d67edc7a74cc66251c8261e71ea709087bf6e",
      "parents": [
        "6d1386c6b8db54ac8d94c01194e0c27cd538532b"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Fri Aug 14 10:49:38 2009 +0000"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Sun Aug 23 18:03:19 2009 +0900"
      },
      "message": "uio: Runtime PM for UIO devices\n\nThis patch modifies the uio_pdrv_genirq driver to support\nRuntime PM. The power management implementation simply\nruntime resumes the device at open() time and runtime\nsuspends it at release() time. The user space driver is\nresponsible for re-initializing the hardware after open().\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "912335c43bb10d124471bf063a85e132aa814214",
      "tree": "3c24f6d5087d0ac422119f9b8cc4702ead380956",
      "parents": [
        "7607b1d673469d5b5dce4c9b6779d165e03c8ff5"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Sat Apr 11 04:18:25 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Apr 16 16:17:11 2009 -0700"
      },
      "message": "UIO: fix specific device driver missing statement for depmod\n\nOn Fri, Apr 10, 2009 at 01:50:50PM -0700, Andrew Morton wrote:\n\u003e On Fri, 10 Apr 2009 13:32:01 GMT\n\u003e bugzilla-daemon@bugzilla.kernel.org wrote:\n\u003e \n\u003e \u003e http://bugzilla.kernel.org/show_bug.cgi?id\u003d13059\n\ndrivers/uio/uio_cif.c misses a MODULE_DEVICE_TABLE, this fixes it.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "6da2d377bba06c29d0bc41c8dee014164dec82a7",
      "tree": "46bdf19836227b27c4548431ec7cea5eeb2a8a08",
      "parents": [
        "1bafeb378e915f39b1bf44ee0871823d6f402ea5"
      ],
      "author": {
        "name": "Ian Abbott",
        "email": "abbotti@mev.co.uk",
        "time": "Tue Feb 24 17:22:59 2009 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:25 2009 -0700"
      },
      "message": "UIO: Take offset into account when determining number of pages that can be mapped\n\nIf a UIO memory region does not start on a page boundary but straddles one,\nthe number of actual pages that overlap the memory region may be calculated\nincorrectly because the offset isn\u0027t taken into account.  If userspace sets\nthe mmap length to offset+size, it may fail with -EINVAL if UIO thinks it\u0027s\ntrying to allocate too many pages.\n\nSigned-off-by: Ian Abbott \u003cabbotti@mev.co.uk\u003e\nCc: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "1bafeb378e915f39b1bf44ee0871823d6f402ea5",
      "tree": "c4af6b6a2965d0526eb79aaeb013caa7338140ac",
      "parents": [
        "8205779114e8f612549d191f8e151526a74ab9f2"
      ],
      "author": {
        "name": "Brandon Philips",
        "email": "brandon@ifup.org",
        "time": "Tue Jan 27 13:00:04 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:24 2009 -0700"
      },
      "message": "uio: add the uio_aec driver\n\nUIO driver for the Adrienne Electronics Corporation PCI time code\ndevice.\n\nThis device differs from other UIO devices since it uses I/O ports instead of\nmemory mapped I/O. In order to make it possible for UIO to work with this\ndevice a utility, uioport, can be used to read and write the ports.\n\nuioport is designed to be a setuid program and checks the permissions of\nthe /dev/uio* node and if the user has write permissions it will use\niopl and out*/in* to access the device.\n\n[1] git clone git://ifup.org/philips/uioport.git\n\nSigned-off-by: Brandon Philips \u003cbrandon@ifup.org\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "8205779114e8f612549d191f8e151526a74ab9f2",
      "tree": "fd26913320500193bd4078da0c164f9407aed47b",
      "parents": [
        "57fee4a58fe802272742caae248872c392a60670"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Wed Jan 07 00:15:39 2009 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Mar 24 16:38:24 2009 -0700"
      },
      "message": "UIO: Add name attributes for mappings and port regions\n\nIf a UIO device has several memory mappings, it can be difficult for userspace\nto find the right one. The situation becomes even worse if the UIO driver can\nhandle different versions of a card that have different numbers of mappings.\nBenedikt Spranger has such cards and pointed this out to me. Thanks, Bene!\n\nTo address this problem, this patch adds \"name\" sysfs attributes for each\nmapping. Userspace can use these to clearly identify each mapping. The name\nstring is optional. If a driver doesn\u0027t set it, an empty string will be\nreturned, so this patch won\u0027t break existing drivers.\n\nThe same problem exists for port region information, so a \"name\" attribute is\nadded there, too.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e70c412ee45332db2636a8f5a35a0685efb0e4aa",
      "tree": "98340f89baa09af04f67f4be5184363c54f2ef2f",
      "parents": [
        "e543ae896626a54c0c05e3c434312d6d033d450c"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Sat Dec 06 02:23:13 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:44 2009 -0800"
      },
      "message": "UIO: Pass information about ioports to userspace (V2)\n\nDevices sometimes have memory where all or parts of it can not be mapped to\nuserspace. But it might still be possible to access this memory from\nuserspace by other means. An example are PCI cards that advertise not only\nmappable memory but also ioport ranges. On x86 architectures, these can be\naccessed with ioperm, iopl, inb, outb, and friends. Mike Frysinger (CCed)\nreported a similar problem on Blackfin arch where it doesn\u0027t seem to be easy\nto mmap non-cached memory but it can still be accessed from userspace.\n\nThis patch allows kernel drivers to pass information about such ports to\nuserspace. Similar to the existing mem[] array, it adds a port[] array to\nstruct uio_info. Each port range is described by start, size, and porttype.\n\nIf a driver fills in at least one such port range, the UIO core will simply\npass this information to userspace by creating a new directory \"portio\"\nunderneath /sys/class/uio/uioN/. Similar to the \"mem\" directory, it will\ncontain a subdirectory (portX) for each port range given.\n\nNote that UIO simply passes this information to userspace, it performs no\naction whatsoever with this data. It\u0027s userspace\u0027s responsibility to obtain\naccess to these ports and to solve arch dependent issues. The \"porttype\"\nattribute tells userspace what kind of port it is dealing with.\n\nThis mechanism could also be used to give userspace information about GPIOs\nrelated to a device. You frequently find such hardware in embedded devices,\nso I added a UIO_PORT_GPIO definition. I\u0027m not really sure if this is a good\nidea since there are other solutions to this problem, but it won\u0027t hurt much\nanyway.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e543ae896626a54c0c05e3c434312d6d033d450c",
      "tree": "2bb381ab3822c9202e2fef60c02be3ba7f754726",
      "parents": [
        "7898aa5c39d159684dad15bab1150b8e77c7aed6"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Wed Oct 29 18:35:52 2008 -0400"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:43 2009 -0800"
      },
      "message": "UIO: uio_pdrv_genirq: allow custom irq_flags\n\nI can\u0027t think of a reason why the driver prevents people from setting any\ncustom bits in their platform device, but I can think of some reasons for\nallowing custom flags.  Like setting the IRQF_TRIGGER_... bits.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "7898aa5c39d159684dad15bab1150b8e77c7aed6",
      "tree": "c02a5087905bb7dd3273c15f8d5ba11037646da0",
      "parents": [
        "1d559e29138834bbcdf34ac072232bf543bfc4e0"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Tue Oct 21 11:17:51 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:43 2009 -0800"
      },
      "message": "UIO: use pci_ioremap_bar() in drivers/uio\n\nUse the newly introduced pci_ioremap_bar() function in drivers/uio.\npci_ioremap_bar() just takes a pci device and a bar number, with the goal\nof making it really hard to get wrong, while also having a central place\nto stick sanity checks.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "233e70f4228e78eb2f80dc6650f65d3ae3dbf17c",
      "tree": "4e18fbe1851e6d2161b7f18265cb21f8a61e3ce7",
      "parents": [
        "3318a386e4ca68c76e0294363d29bdc46fcad670"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Fri Oct 31 23:28:30 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Nov 01 09:49:46 2008 -0700"
      },
      "message": "saner FASYNC handling on file close\n\nAs it is, all instances of -\u003erelease() for files that have -\u003efasync()\nneed to remember to evict file from fasync lists; forgetting that\ncreates a hole and we actually have a bunch that *does* forget.\n\nSo let\u0027s keep our lives simple - let __fput() check FASYNC in\nfile-\u003ef_flags and call -\u003efasync() there if it\u0027s been set.  And lose that\ncrap in -\u003erelease() instances - leaving it there is still valid, but we\ndon\u0027t have to bother anymore.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2bea2e4abf2fe8bc7384103aeaad91089109cfba",
      "tree": "3f7cf9712fa8998213bf2f7ed97b40e65946cd92",
      "parents": [
        "a0bfb673dca8a2b4324fe11e678ec6d6a9ad67e0",
        "0d4a7bc12ffecd3ba41dd94179cc5b272b71ce8a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:42:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 13:42:14 2008 -0700"
      },
      "message": "Merge branch \u0027bkl-removal\u0027 of git://git.lwn.net/linux-2.6\n\n* \u0027bkl-removal\u0027 of git://git.lwn.net/linux-2.6:\n  UIO: BKL removal\n"
    },
    {
      "commit": "0d4a7bc12ffecd3ba41dd94179cc5b272b71ce8a",
      "tree": "40fb095468564e1bcd64ee9a01ac409406cc36d3",
      "parents": [
        "3fa8749e584b55f1180411ab1b51117190bac1e5"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Tue Aug 26 17:15:45 2008 -0600"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Thu Oct 16 12:32:26 2008 -0600"
      },
      "message": "UIO: BKL removal\n\nFill in needed locking around idr accesses, then remove the big kernel lock\nfrom the UIO driver.  Since there are no in-tree UIO drivers with open()\nmethods, no further BKL pushdown is required.\n\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "02683ffdf655b4ae15245376ba6fea6d9e5829a6",
      "tree": "9b66a97df10db3d09be94e90b90f1e3b6eaa4934",
      "parents": [
        "a6030fcc608bd333c80eab3bfc72f63906476c61"
      ],
      "author": {
        "name": "Andrew G. Harvey",
        "email": "agh@cisco.com",
        "time": "Wed Sep 24 01:10:02 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:54 2008 -0700"
      },
      "message": "UIO: Fix mapping of logical and virtual memory\n\nmmap() doesn\u0027t work as expected for UIO_MEM_LOGICAL or UIO_MEM_VIRTUAL\nmappings. The offset into the memory needs to be added, otherwise\nuio_vma_fault always returns the first page only. Note that for UIO\nuserspace calls mmap() with offset \u003d N * getpagesize() to access\nmapping N. This must be compensated when calculating the offset. A\ncomment was added to explain this since it is not obvious.\n\nSigned-off-by: Andrew G. Harvey \u003cagh@cisco.com\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a6030fcc608bd333c80eab3bfc72f63906476c61",
      "tree": "28057d28d93ab033a0fe0ee87326986bddba94c8",
      "parents": [
        "a6fcc3a196d34f6619173ff83c33f8a42074bb76"
      ],
      "author": {
        "name": "John Ogness",
        "email": "john.ogness@linutronix.de",
        "time": "Thu Sep 18 11:57:15 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:53 2008 -0700"
      },
      "message": "UIO: add automata sercos3 pci card support\n\nHere is a new version of the patch to support the Automata Sercos III\nPCI card driver. I now check that the IRQ is enabled before accepting\nthe interrupt.\n\nI still use a logical OR to store the enabled interrupts and I\u0027ve\nadded a second use of a logical OR when restoring the enabled\ninterrupts. I added an explanation of why I do this in comments at the\ntop of the source file.\n\nSince I use a logical OR, I also removed the extra checks if the\nInterrupt Enable Register and ier0_cache are 0.\n\nSigned-off-by: John Ogness \u003cjohn.ogness@linutronix.de\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a6fcc3a196d34f6619173ff83c33f8a42074bb76",
      "tree": "851cb903d1cc928b67c7bdc62206a64e82e266c7",
      "parents": [
        "e2b39df119712ea5184562a6a14696a5cea8ef18"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Thu Sep 18 23:03:07 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:53 2008 -0700"
      },
      "message": "UIO: Change driver name of uio_pdrv\n\nThe generic UIO platform device driver should be given a unique driver ID and\nnot just \"uio\". This is especially important since we now have a similar driver\nnamed uio_pdrv_genirq. Currently, there\u0027s no user of this driver in the\nmainline kernel.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "e2b39df119712ea5184562a6a14696a5cea8ef18",
      "tree": "b855a7b4e8893df122c96c69976d37a1a563492e",
      "parents": [
        "99178b036c97293a65004ff5ec5cff9f833aaecd"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Thu Sep 18 23:53:18 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:53 2008 -0700"
      },
      "message": "UIO: Add alignment warnings for uio-mem\n\nThis patch adds an \"offset\" attribute for UIO mappings. It shows the\ndifference between the actual start address of the memory and the start\naddress of the page.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a9b12619f7b6f19c871437ec24a088787a04b1de",
      "tree": "ff1b11e7affedccfd69fc20e14876d0821f6e555",
      "parents": [
        "91bd418fdc8526ee70a0e8f7970b584c8870ae10"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 20:03:34 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:43 2008 -0700"
      },
      "message": "device create: misc: convert device_create_drvdata to device_create\n\nNow that device_create() has been audited, rename things back to the\noriginal call to be sane.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c767db0ab4bc85f06119f2b42369e31b29991f16",
      "tree": "c094d9aa9ece9b80c0df389c11da50913c652ead",
      "parents": [
        "0f90927da11d596802d196cf299e91293abc90c5"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "magnus.damm@gmail.com",
        "time": "Fri Jul 11 18:55:27 2008 +0900"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 21 10:15:39 2008 -0700"
      },
      "message": "UIO: generic irq handling for some uio platform devices\n\nThis is V3 of uio_pdrv_genirq.c, a platform driver for UIO with\ngeneric IRQ handling code. This driver is very similar to the regular\nUIO platform driver, but is only suitable for devices that are\nconnected to the interrupt controller using unique interrupt lines.\n\nThe uio_pdrv_genirq driver includes generic interrupt handling code\nwhich disables the serviced interrupt in the interrupt controller\nand makes the user space driver responsible for acknowledging the\ninterrupt in the device and reenabling the interrupt in the interrupt\ncontroller.\n\nShared interrupts are not supported since the in-kernel interrupt\nhandler will disable the interrupt line in the interrupt controller,\nand in a shared interrupt configuration this will stop other devices\nfrom delivering interrupts.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "0f90927da11d596802d196cf299e91293abc90c5",
      "tree": "0562df789a2719337d0a520a21a92a5adeb99173",
      "parents": [
        "331995e78385a0b9860f4c4c1766e842e61c450a"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "Uwe.Kleine-Koenig@digi.com",
        "time": "Fri Jul 11 11:10:37 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 21 10:15:39 2008 -0700"
      },
      "message": "UIO: uio_pdrv: fix license specification\n\nThanks to Magnus Damm for pointing that out.\n\nSigned-off-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\nCc: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "331995e78385a0b9860f4c4c1766e842e61c450a",
      "tree": "ba53de09edc47c811c06c6447d7b383beb5300d1",
      "parents": [
        "5c0ef6d0214a08e5c846f4c45228adf135d8d0ef"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "Uwe.Kleine-Koenig@digi.com",
        "time": "Fri Jul 11 11:10:36 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Aug 21 10:15:38 2008 -0700"
      },
      "message": "UIO: uio_pdrv: fix memory leak\n\nThanks to Magnus Damm for pointing that out.\n\nSigned-off-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\nCc: Magnus Damm \u003cmagnus.damm@gmail.com\u003e\nAcked-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4d80d59437247075029534adec8d69fce2cfb87a",
      "tree": "b694224e588968d58732fa34274c5a594a9e430e",
      "parents": [
        "328a14e70e7f46997cb50d4258dd93d5377f98c6"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "Uwe.Kleine-Koenig@digi.com",
        "time": "Sat May 31 11:37:27 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:55 2008 -0700"
      },
      "message": "UIO: add generic UIO platform driver\n\nThis patch adds a generic UIO platform driver. It eliminates the need for a\ndedicated kernel module for simple platform devices. Users only need to\nimplement their irq handler in platform code and fill a struct uio_info\nthere. This helps avoiding code duplication as UIO platform drivers often\nshare a lot of common code.\n\nSigned-off-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "328a14e70e7f46997cb50d4258dd93d5377f98c6",
      "tree": "7cc64b122fc45af454d4dde9f561b329d9f2b0c4",
      "parents": [
        "934da4766e5f72797118f7c014efaef567a812fc"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Fri May 23 13:50:14 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:55 2008 -0700"
      },
      "message": "UIO: Add write function to allow irq masking\n\nSometimes it is necessary to enable/disable the interrupt of a UIO device\nfrom the userspace part of the driver. With this patch, the UIO kernel driver\ncan implement an \"irqcontrol()\" function that does this. Userspace can write\nan s32 value to /dev/uioX (usually 0 or 1 to turn the irq off or on). The\nUIO core will then call the driver\u0027s irqcontrol function.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nAcked-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\nAcked-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "934da4766e5f72797118f7c014efaef567a812fc",
      "tree": "8cfa08a281f048fe52518a40228a32d24e0b6324",
      "parents": [
        "22454cb99fc39f2629ad06a7eccb3df312f8830e"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "Uwe.Kleine-Koenig@digi.com",
        "time": "Sat May 31 11:37:27 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:53 2008 -0700"
      },
      "message": "UIO: fix UIO Kconfig dependencies\n\nae210f188614bb3d1ee3f19c64e28e3cdd44877c introduced a big \"if UIO\"/\"endif\"\nwhere all uio drivers are defined.  So know there is no need for them to\ndepend explicitly on UIO.\n\nSigned-off-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "2fceef397f9880b212a74c418290ce69e7ac00eb",
      "tree": "d9cc09ab992825ef7fede4a688103503e3caf655",
      "parents": [
        "feae1ef116ed381625d3731c5ae4f4ebcb3fa302",
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Jul 14 15:29:34 2008 -0600"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Jul 14 15:29:34 2008 -0600"
      },
      "message": "Merge commit \u0027v2.6.26\u0027 into bkl-removal\n"
    },
    {
      "commit": "fbc8a81d66bbbce3f0b4d5752f8bc8bb3c1fc439",
      "tree": "7a96eba56ea94a4b2a6ce95f4ad4d8ced0960ed9",
      "parents": [
        "2edbf8537edc62c9b0ef75e7025d01e8b6a48707"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Thu May 15 10:39:37 2008 -0600"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Fri Jun 20 14:05:47 2008 -0600"
      },
      "message": "UIO: cdev lock_kernel() pushdown\n\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "43691da4cefcf0d0dd6432f9e7e0dba902b59597",
      "tree": "515f8f2088b674f4e71d7286746a7e7f0e9317e1",
      "parents": [
        "54d29ad33e3483bcc7ca433a21cf294854e5154a"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri May 16 17:55:12 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue May 20 13:31:55 2008 -0700"
      },
      "message": "UIO: fix race in device_create\n\nThere is a race from when a device is created with device_create() and\nthen the drvdata is set with a call to dev_set_drvdata() in which a\nsysfs file could be open, yet the drvdata will be NULL, causing all\nsorts of bad things to happen.\n\nThis patch fixes the problem by using the new function,\ndevice_create_drvdata().\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "610ad5064cb90aec35f5837bbde3d316fe02aca7",
      "tree": "7c254ffa06ebd33b5a5b40dc28147eeba615d374",
      "parents": [
        "b54f2863a26d2b7c002d96abcde149940733c8e6"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "Uwe.Kleine-Koenig@digi.com",
        "time": "Fri Apr 11 11:07:39 2008 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:18 2008 -0700"
      },
      "message": "UIO: hold a reference to the device\u0027s owner while the device is open\n\nOtherwise the device might just disappear while /dev/uioX is being used\nwhich results in an Oops.\n\nSigned-off-by: Uwe Kleine-König \u003cUwe.Kleine-Koenig@digi.com\u003e\nSigned-off-by: Hans J Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b54f2863a26d2b7c002d96abcde149940733c8e6",
      "tree": "57c4a90df4eb46fed352c9b4b2814280fc84caed",
      "parents": [
        "a2a6024692ec86a9c1452ecf14da7ede0704911a"
      ],
      "author": {
        "name": "Ben Nizette",
        "email": "bn@niasdigital.com",
        "time": "Thu Mar 13 22:27:30 2008 +1100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:18 2008 -0700"
      },
      "message": "UIO: Implement a UIO interface for the SMX Cryptengine\n\nThis patch implements a UIO interface for the SMX Cryptengine.\n\nThe Cryptengine found on the Nias Digital SMX board is best suited\nfor a UIO interface.  It is not wired in to the cryptographic API\nas the engine handles it\u0027s own keys, algorithms, everything.  All\nthat we know about is that if there\u0027s room in the buffer, you can\nwrite data to it and when there\u0027s data ready, you read it out again.\n\nThere isn\u0027t necessarily even any direct correlation between data\ngoing in and data coming out again, the engine may consume or\ngenerate data all on its own.\n\nThis driver is for proprietary hardware but we\u0027re always told to\nsubmit the drivers anyway; here you are.  :-)\n\nThis is version 4 of this patch and addresses all issues raised by\nHans-Jürgen Koch and Paul Mundt in their reviews.  Slightly altered\nis Paul\u0027s suggestion to use DRV_NAME and DRV_VERSION as the UIO\nversion and name.  While at the moment they are the same, there\nis no reason for them to stay that way.  Nevertheless we now at\nleast provide a MODULE_VERSION macro to keep modinfo happy.\n\nSigned-off-by: Ben Nizette \u003cbn@niasdigital.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nSigned-off-by: Hans J Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a2a6024692ec86a9c1452ecf14da7ede0704911a",
      "tree": "3b0ca1f1cf947becd2047df5c92d6c872681127f",
      "parents": [
        "2dc034a85d4164b90fa883a1226afb971174bcc5"
      ],
      "author": {
        "name": "Hans-Jürgen Koch",
        "email": "hjk@linutronix.de",
        "time": "Sun Feb 03 01:48:28 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:18 2008 -0700"
      },
      "message": "UIO: Remove needless PCI_DEVICE_ID definition from uio_cif.c\n\nMeanwhile, PCI_DEVICE_ID_PLX_9030 is defined in pci_ids.h, no need to\ndefine it again in the driver.\n\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nCC: Benedikt Spranger \u003cb.spranger@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n\n"
    },
    {
      "commit": "0732460b3ad484c037dad8961bc4300610dd7613",
      "tree": "c684b20d0a752080ac9239236905eba92efca8b7",
      "parents": [
        "ae210f188614bb3d1ee3f19c64e28e3cdd44877c"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sat Feb 02 17:51:36 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:17 2008 -0700"
      },
      "message": "uio: mark pci_device_id hilscher_pci_ids[] __devinitdata\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "ae210f188614bb3d1ee3f19c64e28e3cdd44877c",
      "tree": "53c9c95cf10bef0f36231a1406baa156c1a1f6f0",
      "parents": [
        "c1ebdae514a356c71c09035f5141d94aab5e8fe4"
      ],
      "author": {
        "name": "Denis Cheng",
        "email": "crquan@gmail.com",
        "time": "Sat Feb 02 17:51:35 2008 +0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:17 2008 -0700"
      },
      "message": "uio: Kconfig improvements\n\nSigned-off-by: Denis Cheng \u003ccrquan@gmail.com\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c9698d6b1a90929e427a165bd8283f803f57d9bd",
      "tree": "d73c313d4fb05014ce5cf593c97d0ee44cdc5cd3",
      "parents": [
        "7c12c92fba4bd985ed6d909e5537468b268dcaa4"
      ],
      "author": {
        "name": "Jean-Samuel Chenard",
        "email": "jsamch@gmail.com",
        "time": "Fri Mar 14 11:28:36 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Mar 24 22:33:49 2008 -0700"
      },
      "message": "UIO: add pgprot_noncached() to UIO mmap code\n\nMapping of physical memory in UIO needs pgprot_noncached() to ensure\nthat IO memory is not cached. Without pgprot_noncached(), it (accidentally)\nworks on x86 and arm, but fails on PPC.\n\nSigned-off-by: Jean-Samuel Chenard \u003cjsamch@gmail.com\u003e\nSigned-off-by: Hans J Koch \u003chjk@linutronix.de\u003e\nCc: stable \u003cstable@kernel.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "4f808bcdf8dcf1f1ecd028f6d5c5347db4cddc54",
      "tree": "5b0e9e6a543ae3911ddba263a64864d05e14e235",
      "parents": [
        "46cdf871d9970b9252469531f9efd4a17243bb0b"
      ],
      "author": {
        "name": "Brandon Philips",
        "email": "brandon@ifup.org",
        "time": "Tue Feb 19 01:55:05 2008 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Feb 21 15:27:07 2008 -0800"
      },
      "message": "UIO: fix Greg\u0027s stupid changes\n\nThis fixes two bugs with UIO that cropped up recently in -rc1\n\n1) WARNING: at fs/sysfs/file.c:334 sysfs_open_file when trying to open\n   a map addr/size file - complaining about missing sysfs_ops for ktype\n\n2) Permission denied when reading uio/uio0/maps/map0/{addr,size} when\n   files are mode S_IRUGO\n\nAlso fix a typo: attr_attribute -\u003e addr_attribute\n\nSigned-off-by: Brandon Philips \u003cbphilips@suse.de\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "a18b630d1becdf1a087de644fea080c1977bcf10",
      "tree": "1972b084c14bfe46eeba0c05270aa45b3225619c",
      "parents": [
        "a1e096129bff79ae551592539bef19bfb5c9efa1"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Wed Feb 06 01:37:35 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Wed Feb 06 10:41:07 2008 -0800"
      },
      "message": "uio: nopage\n\nConvert uio from nopage to fault.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Hans J Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f0146919be6bff47b5ea97252bcec0286e4dd19",
      "tree": "f7c8f8fe40b81451e4fda1289984a41e96438cce",
      "parents": [
        "ae72cddb2338bc36b991674a56a7bf70ae104d9e"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@computergmbh.de",
        "time": "Tue Jan 22 20:50:54 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:43 2008 -0800"
      },
      "message": "UIO: constify function pointer tables\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@computergmbh.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "c10997f6575f476ff38442fa18fd4a0d80345f9d",
      "tree": "9b2bb7e647bd39fb80f23d7a6b34bf2587d660a7",
      "parents": [
        "38a382ae5dd4f4d04e3046816b0a41836094e538"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Dec 20 08:13:05 2007 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:40 2008 -0800"
      },
      "message": "Kobject: convert drivers/* from kobject_unregister() to kobject_put()\n\nThere is no need for kobject_unregister() anymore, thanks to Kay\u0027s\nkobject cleanup changes, so replace all instances of it with\nkobject_put().\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "f9cb074bff8e762ef24c44678a5a7d907f82fbeb",
      "tree": "50438fc90b8f6170dd8eb5d43712c61719a16304",
      "parents": [
        "e1543ddf739b22a8c4218716ad50c26b3e147403"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: rename kobject_init_ng() to kobject_init()\n\nNow that the old kobject_init() function is gone, rename\nkobject_init_ng() to kobject_init() to clean up the namespace.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "b2d6db5878a0832659ed58476357eea2db915550",
      "tree": "c7c9e98431078ca7b0405e8003bd905ab62df7c4",
      "parents": [
        "9e7bbccd0290e720e0874443932869c55f63d5a8"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Dec 17 23:05:35 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:38 2008 -0800"
      },
      "message": "Kobject: rename kobject_add_ng() to kobject_add()\n\nNow that the old kobject_add() function is gone, rename kobject_add_ng()\nto kobject_add() to clean up the namespace.\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "81e7c6a636c81d9eeaeaa732bfbace44535fab00",
      "tree": "fecb19e67acb96c2c9a11194ebebca63f0139f02",
      "parents": [
        "9f66fa2a4690a16da0dbaae2f44ddfc313802504"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Dec 04 22:41:54 2007 +0000"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:26 2008 -0800"
      },
      "message": "UIO: fix kobject usage\n\nThe uio kobject code is \"wierd\".  This patch should hopefully fix it up\nto be sane and not leak memory anymore.\n\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benedikt Spranger \u003cb.spranger@linutronix.de\u003e\nSigned-off-by: Hans J. Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "3514faca19a6fdc209734431c509631ea92b094e",
      "tree": "f6d102e6dec276f8e8d1044b47c74a02b901554f",
      "parents": [
        "c11c4154e7ff4cebfadad849b1e22689d759c3f4"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Oct 16 10:11:44 2007 -0600"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Jan 24 20:40:10 2008 -0800"
      },
      "message": "kobject: remove struct kobj_type from struct kset\n\nWe don\u0027t need a \"default\" ktype for a kset.  We should set this\nexplicitly every time for each kset.  This change is needed so that we\ncan make ksets dynamic, and cleans up one of the odd, undocumented\nassumption that the kset/kobject/ktype model has.\n\nThis patch is based on a lot of help from Kay Sievers.\n\nNasty bug in the block code was found by Dave Young\n\u003chidave.darkstar@gmail.com\u003e\n\nCc: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Dave Young \u003chidave.darkstar@gmail.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "bc4c4f45acbe1f1528d654b0b1793f25c175bf8f",
      "tree": "d8f20ad94d95a53d6644cbb6fb3d7220a5761761",
      "parents": [
        "e3e0a28b5b067d16b8e2e5ddaedecda5bd0c3ec2"
      ],
      "author": {
        "name": "Hans-Jürgen Koch",
        "email": "hjk@linutronix.de",
        "time": "Fri Mar 02 13:03:12 2007 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:57:16 2007 -0700"
      },
      "message": "UIO: Hilscher CIF card driver\n\nthis is a patch that adds support for Hilscher CIF DeviceNet and\nProfibus cards. I tested it on a Kontron CPX board, and Thomas reviewed\nit.\n\nYou can find the user space part here:\n\nhttp://www.osadl.org/projects/downloads/UIO/user/cif-0.1.0.tar.gz\n\nNotes: cif_api.c is the main file you want to look at. It contains the\nfunctions to open, close, mmap and so on. cif_dps.c adds functions\nspecific to Profibus cards, and cif_dn.c contains functions for\nDeviceNet cards.  cif.c is a universal playground, it\u0027s just a small\ntest program.  The user space part of this UIO driver is still work in\nprogress, and not everything is tested yet. At the moment, the thread in\ncif_api.c contains some code that artificially makes the card generate\ninterrupts, this was added for testing and will be removed later. But\nthe driver already contains all the functions needed for useful\noperation, so it gives a good idea of how such a thing looks like.\n\nFor comparison, here\u0027s what you get from the manufacturer\n(www.hilscher.com) when you ask for a Linux 2.6 driver:\n\nhttp://www.tglx.de/private/hjk/cif-orig-2.6.tar.bz2\n\nWARNING: Don\u0027t look at the code for too long, you might become sick :-)\n\n\nSigned-off-by: Hans-Jürgen Koch \u003chjk@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "beafc54c4e2fba24e1ca45cdb7f79d9aa83e3db1",
      "tree": "9f2d4060e4ab29b1483124fa398be30f72696b34",
      "parents": [
        "5bae7ac9feba925fd0099057f6b23d7be80b7b41"
      ],
      "author": {
        "name": "Hans J. Koch",
        "email": "hjk@linutronix.de",
        "time": "Thu Dec 07 10:58:29 2006 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Jul 18 15:57:15 2007 -0700"
      },
      "message": "UIO: Add the User IO core code\n\nThis interface allows the ability to write the majority of a driver in\nuserspace with only a very small shell of a driver in the kernel itself.\nIt uses a char device and sysfs to interact with a userspace process to\nprocess interrupts and control memory accesses.\n\nSee the docbook documentation for more details on how to use this\ninterface.\n\nFrom: Hans J. Koch \u003chjk@linutronix.de\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Benedikt Spranger \u003cb.spranger@linutronix.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    }
  ]
}
