)]}'
{
  "log": [
    {
      "commit": "18d5eacb52291faaa430fc50b435b3bb204dba88",
      "tree": "6e128bb4723309568167b8b570ac20233d236a81",
      "parents": [
        "c948ef3ae71c18c1079333b65d6887ceb4577618"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed May 23 10:15:42 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed May 23 10:15:51 2012 +0100"
      },
      "message": "regmap: Use select .. if to get IRQ_DOMAIN enabled\n\nEnsure that we can\u0027t get randconfig breakage by doing the IRQ_DOMAIN\nselect automatically. Don\u0027t just do the select from REGMAP_IRQ to ensure\nthat the select actually gets noticed.\n\nReported-by: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "38e7f5d1b73e71f87745a9c3e5806a6c28c34a53",
      "tree": "e0dd16a9be4f117d43d9a3afbd012e0d80304354",
      "parents": [
        "6550334f96ab02e540572a142d0851c7f3120585"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu May 17 13:59:40 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu May 17 22:59:24 2012 +0100"
      },
      "message": "regmap: Fix typo in IRQ register striding\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "022f926a2401c80ed36ebb48a1bffbac08f34d98",
      "tree": "7e39452a4312890ae6835f29ef87844467a5b2e0",
      "parents": [
        "4af8be67fd9989f4e63a8d1defc1895ed0f7d341"
      ],
      "author": {
        "name": "Graeme Gregory",
        "email": "gg@slimlogic.co.uk",
        "time": "Mon May 14 22:40:43 2012 +0900"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon May 14 17:40:05 2012 +0100"
      },
      "message": "regmap: add support for non contiguous status to regmap-irq\n\nIn some chips the IRQ status registers are not contiguous in the register\nmap but spaced at even spaces. This is an easy case to handle with minor\nchanges. It is assume for this purpose that the stride for status is\nequal to the stride for mask/ack registers as well.\n\nSigned-off-by: Graeme Gregory \u003cgg@slimlogic.co.uk\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "4af8be67fd9989f4e63a8d1defc1895ed0f7d341",
      "tree": "19059e119ba376ebd9b2e72fc135464552bd070d",
      "parents": [
        "06e65cb322f91dc20fbcfc1a7ee2fb105ecc417b"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun May 13 10:59:56 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun May 13 19:25:59 2012 +0100"
      },
      "message": "regmap: Convert regmap_irq to use irq_domain\n\nThis gets us up to date with the recommended current kernel infrastructure\nand should transparently give us device tree interrupt bindings for any\ndevices using the framework. If an explicit IRQ mapping is passed in then\na legacy interrupt range is created, otherwise a simple linear mapping is\nused. Previously a mapping was mandatory so existing drivers should not\nbe affected.\n\nA function regmap_irq_get_virq() is provided to allow drivers to map\nindividual IRQs which should be used in preference to the existing\nregmap_irq_chip_get_base() which is only valid if a legacy IRQ range is\nprovided.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "06e65cb322f91dc20fbcfc1a7ee2fb105ecc417b",
      "tree": "d36f2924aebb6e3667422df0d46222443950f565",
      "parents": [
        "f298536728d02c19f11bda8d712ff61d767bab32",
        "25061d285747f20aafa4b50df1b0b5665fef29cd",
        "72b39f6f2b5a6b0beff14b80bed9756f151218a9",
        "2431d0a1d68aabefeee02b93971ee73e8b215697"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun May 13 19:20:47 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun May 13 19:20:47 2012 +0100"
      },
      "message": "Merge branches \u0027regmap-core\u0027, \u0027regmap-stride\u0027, \u0027regmap-mmio\u0027 and \u0027regmap-irq\u0027 into regmap-next\n"
    },
    {
      "commit": "2431d0a1d68aabefeee02b93971ee73e8b215697",
      "tree": "06fc50fc05594bd2f40475fe50a100c0677b29a8",
      "parents": [
        "8614419451d88bf99fff7f5e468fe45f8450891e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun May 13 11:18:34 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun May 13 19:16:13 2012 +0100"
      },
      "message": "regmap: Pass back the allocated regmap IRQ controller data\n\nIt\u0027s needed for freeing and for obtaining the IRQ base later on.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "25061d285747f20aafa4b50df1b0b5665fef29cd",
      "tree": "c302ac93e3476788a4671ee556a902fce2592f3a",
      "parents": [
        "7a6476143270d947924f5bbbc124accb0e558bf4",
        "6560ffd1ccd688152393dc7c35dbdcc33140633b"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat May 12 13:06:08 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat May 12 13:06:08 2012 +0100"
      },
      "message": "Merge tag \u0027regmap-3.4\u0027 into regmap-stride\n\nregmap: Last minute bug fix for 3.4\n\nThis is a last minute bug fix that was only just noticed since the code\npath that\u0027s being exercised here is one that is fairly rarely used.  The\nchangelog for the change itself is extremely clear and the code itself\nis obvious to inspection so should be pretty safe.\n\nConflicts:\n\tdrivers/base/regmap/regmap.c (overlap between the fix and stride code)\n"
    },
    {
      "commit": "6560ffd1ccd688152393dc7c35dbdcc33140633b",
      "tree": "1b97199d8e97eedcb74904429dfc3793e2cfe557",
      "parents": [
        "d48b97b403d23f6df0b990cee652bdf9a52337a3"
      ],
      "author": {
        "name": "Laxman Dewangan",
        "email": "ldewangan@nvidia.com",
        "time": "Wed May 09 17:43:12 2012 +0530"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed May 09 15:44:11 2012 +0100"
      },
      "message": "regmap: fix possible memory corruption in regmap_bulk_read()\n\nThe function regmap_bulk_read() calls the regmap_read() for\neach register if set of register has volatile and cache is\nenabled. In this case, last few register read makes the memory\ncorruption if the register size is not the size of unsigned int.\nThe regam_read() takes argument as unsigned int for returning\nvalue and it update the value as\n\t*val \u003d map-\u003eformat.parse_val(map-\u003ework_buf);\nThis causes complete 4 bytes (size of unsigned int) to get written.\nNow if client pass the memory pointer for value which is equal to the\nrequired size of register count in regmap_bulk_read() then last few\nregister read actually update the memory beyond passed pointer size.\n\nAvoid this by using local variable for read and then do memcpy()\nfor actual byte copy to passed pointer based on register size.\n\nI allocated one pointer ptr and take first 16 bytes dump of that\npointer then call regmap_bulk_read() with pointer which is just\non top of this allocated pointer and register count of 128. Here\nregister size is 1 byte.\nThe memory trace of last 5 register read are as follows:\n\n[    5.438589] regmap_bulk_read after regamp_read() for register 122\n[    5.447421] 0xef993c20 0xef993c00 0x00000000 0x00000001\n[    5.467535] regmap_bulk_read after regamp_read() for register 123\n[    5.476374] 0xef993c20 0xef993c00 0x00000000 0x00000001\n[    5.496425] regmap_bulk_read after regamp_read() for register 124\n[    5.505260] 0xef993c20 0xef993c00 0x00000000 0x00000001\n[    5.525372] regmap_bulk_read after regamp_read() for register 125\n[    5.534205] 0xef993c00 0xef993c00 0x00000000 0x00000001\n[    5.554258] regmap_bulk_read after regamp_read() for register 126\n[    5.563100] 0xef990000 0xef993c00 0x00000000 0x00000001\n[    5.554258] regmap_bulk_read after regamp_read() for register 127\n[    5.587108] 0xef000000 0xef993c00 0x00000000 0x00000001\n\nHere it is observed that the memory content at first word started changing\non last 3 regmap_read() and so corruption happened.\n\nSigned-off-by: Laxman Dewangan \u003cldewangan@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "72b39f6f2b5a6b0beff14b80bed9756f151218a9",
      "tree": "c5e2688207b1c796413debfb1936ededf4493edc",
      "parents": [
        "851960ba7cb38a6a108d102e4c8b0ab702972e22"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue May 08 17:44:40 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue May 08 18:19:15 2012 +0100"
      },
      "message": "regmap: Implement dev_get_regmap()\n\nUse devres to implement dev_get_regmap(). This should mean that in almost\nall cases devices wishing to take advantage of framework features based on\nregmap shouldn\u0027t need to explicitly pass the regmap into the framework.\nThis simplifies device setup a bit.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "7a6476143270d947924f5bbbc124accb0e558bf4",
      "tree": "252e0f561b881960bab761081c6548eef300f329",
      "parents": [
        "2e33caf16f7a1903d226ef7f9f5ec6a234fee18e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Apr 30 23:26:32 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Apr 30 23:30:15 2012 +0100"
      },
      "message": "regmap: Devices using format_write don\u0027t support bulk operations\n\nSet the use_single_rw flag for devices that use format_write() since\nformat_write() doesn\u0027t support any form of block operation.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "2e33caf16f7a1903d226ef7f9f5ec6a234fee18e",
      "tree": "b557691a1197a035eee85df52d4eb05bcb9f02fb",
      "parents": [
        "56806555de5485d6786bf0f8df01b8ed9fc5d006"
      ],
      "author": {
        "name": "Ashish Jangam",
        "email": "ashish.jangam@kpitcummins.com",
        "time": "Mon Apr 30 23:23:40 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Apr 30 23:29:56 2012 +0100"
      },
      "message": "regmap: Converts group operation into single read write operations\n\nSome devices does not support bulk read and write operations, for them\nwe have series of single write and read operations.\n\nSigned-off-by: Anthony Olech \u003cAnthony.Olech@diasemi.com\u003e\nSigned-off-by: Ashish Jangam \u003cashish.jangam@kpitcummins.com\u003e\n[Fixed coding style, don\u0027t check use_single_rw before assign --broonie ]\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "f298536728d02c19f11bda8d712ff61d767bab32",
      "tree": "7666d562d16a143a9549d0a6feb66b558e22fcbb",
      "parents": [
        "d939fb9a78b4743bc4bc3cc415894ed42050c5cc"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Apr 30 21:25:05 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Apr 30 22:57:10 2012 +0100"
      },
      "message": "regmap: Cache single values read from the chip\n\nIf we don\u0027t have a cached value for a register and we can cache it then\nwhen we do a read a value we should add it to the cache to save rereading\nit later on. Do this for single register reads, for block reads the code\nwould be a little more complex and this covers most practical usage.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "56806555de5485d6786bf0f8df01b8ed9fc5d006",
      "tree": "dbe09e86b284a412b445a1a48840f37cfe7f4662",
      "parents": [
        "f01ee60fffa4dc6c77122121233a793f7f696e67"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Tue Apr 10 23:37:22 2012 -0600"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Apr 11 09:15:48 2012 +0100"
      },
      "message": "regmap: fix compile errors in regmap-irq.c due to stride changes\n\nCommit f01ee60fffa4 (\"regmap: implement register striding\") caused the\ncompile errors below. Fix them.\n\ndrivers/base/regmap/regmap-irq.c: In function \u0027regmap_irq_sync_unlock\u0027:\ndrivers/base/regmap/regmap-irq.c:62:12: error: \u0027map\u0027 undeclared (first use in this function)\ndrivers/base/regmap/regmap-irq.c:62:12: note: each undeclared identifier is reported only once for each function it appears in\ndrivers/base/regmap/regmap-irq.c: In function \u0027regmap_irq_enable\u0027:\ndrivers/base/regmap/regmap-irq.c:77:37: error: \u0027map\u0027 undeclared (first use in this function)\ndrivers/base/regmap/regmap-irq.c: In function \u0027regmap_irq_disable\u0027:\ndrivers/base/regmap/regmap-irq.c:85:37: error: \u0027map\u0027 undeclared (first use in this function)\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "f01ee60fffa4dc6c77122121233a793f7f696e67",
      "tree": "5072955487b9e4c80f5c6f6454358d80e8f23a48",
      "parents": [
        "c0cc6fe1d09e3f1baecbdf8922473c8e7d3a5317"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Mon Apr 09 13:40:24 2012 -0600"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Apr 10 11:01:18 2012 +0100"
      },
      "message": "regmap: implement register striding\n\nregmap_config.reg_stride is introduced. All extant register addresses\nare a multiple of this value. Users of serial-oriented regmap busses will\ntypically set this to 1. Users of the MMIO regmap bus will typically set\nthis based on the value size of their registers, in bytes, so 4 for a\n32-bit register.\n\nThroughout the regmap code, actual register addresses are used. Wherever\nthe register address is used to index some array of values, the address\nis divided by the stride to determine the index, or vice-versa. Error-\nchecking is added to all entry-points for register address data to ensure\nthat register addresses actually satisfy the specified stride. The MMIO\nbus ensures that the specified stride is large enough for the register\nsize.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "c0cc6fe1d09e3f1baecbdf8922473c8e7d3a5317",
      "tree": "a6bf2909f55e940c907b77cbaed9914bb1dda655",
      "parents": [
        "0034102808e0dbbf3a2394b82b1bb40b5778de9e",
        "d939fb9a78b4743bc4bc3cc415894ed42050c5cc",
        "851960ba7cb38a6a108d102e4c8b0ab702972e22",
        "abec95adefaeb2229cb28de65f3d32cd149b9dd9"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Apr 10 11:01:07 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Apr 10 11:01:07 2012 +0100"
      },
      "message": "Merge branches \u0027regmap-core\u0027, \u0027regmap-mmio\u0027 and \u0027regmap-naming\u0027 into regmap-stride\n"
    },
    {
      "commit": "abec95adefaeb2229cb28de65f3d32cd149b9dd9",
      "tree": "110b04593add3dc835c7497c93b6431e322770b5",
      "parents": [
        "d3c242e1f22f5dfed009296ee45ce896153f0b53"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Thu Apr 05 23:09:20 2012 -0600"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Apr 10 10:31:41 2012 +0100"
      },
      "message": "regmap: fix compilation when !CONFIG_DEBUG_FS\n\nCommit 79c64d5 \"regmap: allow regmap instances to be named\" changed the\nprototype of regmap_debugfs_init, but didn\u0027t update the dummy inline used\nwhen !CONFIG_DEBUGFS. Fix this.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "d3c242e1f22f5dfed009296ee45ce896153f0b53",
      "tree": "074bd0d53a1439e7201639d0acdeeedf5b3f0232",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 04 15:48:29 2012 -0600"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Apr 10 10:31:41 2012 +0100"
      },
      "message": "regmap: allow regmap instances to be named\n\nSome devices have multiple separate register regions. Logically, one\nregmap would be created per region. One issue that prevents this is that\neach instance will attempt to create the same debugfs files. Avoid this\nby allowing regmaps to be named, and use the name to construct the\ndebugfs directory name.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "f4e52e7ffdea791c89494752b175b991090f0920",
      "tree": "5ba632b8127ebc1a71f52102ef59d44c41eeb67b",
      "parents": [
        "a3fac08085136fb8b56bbd290500ed03c94ee5d1",
        "c04c1b9ee8f30c7a3a25e20e406247003f634ebe"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 07 09:56:00 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 07 09:56:00 2012 -0700"
      },
      "message": "Merge tag \u0027regmap-3.4-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap\n\nPull two more small regmap fixes from Mark Brown:\n - Now we have users for it that aren\u0027t running Android it turns out\n   that regcache_sync_region() is much more useful to drivers if it\u0027s\n   exported for use by modules.  Who knew?\n - Make sure we don\u0027t divide by zero when doing debugfs dumps of\n   rbtrees, not visible up until now because everything was providing at\n   least some cache on startup.\n\n* tag \u0027regmap-3.4-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:\n  regmap: prevent division by zero in rbtree_show\n  regmap: Export regcache_sync_region()\n"
    },
    {
      "commit": "851960ba7cb38a6a108d102e4c8b0ab702972e22",
      "tree": "0af40ec3a92921077f71a2f8b703f64eb0eb322f",
      "parents": [
        "9878647f4349dbaa46b4026ed9bbf8acfc0de34c"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Fri Apr 06 15:16:03 2012 -0600"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Apr 07 09:27:04 2012 +0100"
      },
      "message": "regmap: validate regmap_raw_read/write val_len\n\nval_len should be a multiple of val_bytes. If it\u0027s not, error out early.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "9878647f4349dbaa46b4026ed9bbf8acfc0de34c",
      "tree": "7d785cb74473da8cb3353359b74cfb2eccb1501a",
      "parents": [
        "40606dba450830e50420599c52a86cf6ce5c6a14"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Fri Apr 06 15:17:33 2012 -0600"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Apr 07 09:25:35 2012 +0100"
      },
      "message": "regmap: mmio: remove some error checks now in the core\n\nThese error checks are implemented in regmap core. Remove the duplicate\ncode from regmap-mmio.c\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "40606dba450830e50420599c52a86cf6ce5c6a14",
      "tree": "05ba5a5027b2e583e8c66b96516ae8d0c7c09944",
      "parents": [
        "45f5ff8107a845854b1d1812ab1d9c5541f08b4d"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Fri Apr 06 15:17:32 2012 -0600"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Apr 07 09:25:34 2012 +0100"
      },
      "message": "regmap: mmio: convert some error returns to BUG()\n\nSome of the error conditions detected by regmap_mmio_*() are pure internal\nerrors, rather than user-/client-triggerable conditions. Convert these to\nBUG().\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "45f5ff8107a845854b1d1812ab1d9c5541f08b4d",
      "tree": "d0d532ba060e3f3db9c7e376d90d1fcb34035c04",
      "parents": [
        "bacdbe077342ecc9e7b3e374cc5a41995116706a"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 04 15:48:31 2012 -0600"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Apr 06 10:47:35 2012 +0100"
      },
      "message": "regmap: add MMIO bus support\n\nThis is a basic memory-mapped-IO bus for regmap. It has the following\nfeatures and limitations:\n\n* Registers themselves may be 8, 16, 32, or 64-bit. 64-bit is only\n  supported on 64-bit platforms.\n* Register offsets are limited to precisely 32-bit.\n* IO is performed using readl/writel, with no provision for using the\n  __raw_readl or readl_relaxed variants.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "bacdbe077342ecc9e7b3e374cc5a41995116706a",
      "tree": "b5cf9547a0ab4a7fba287a3d654d132869057afa",
      "parents": [
        "0135bbcc7a0cc056f0203ff839466236b8e3dc19"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 04 15:48:28 2012 -0600"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Apr 06 10:47:34 2012 +0100"
      },
      "message": "regmap: introduce fast_io busses, and use a spinlock for them\n\nSome bus types have very fast IO. For these, acquiring a mutex for every\nIO operation is a significant overhead. Allow busses to indicate their IO\nis fast, and enhance regmap to use a spinlock for those busses.\n\n[Currently limited to native endian registers -- broonie]\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "0135bbcc7a0cc056f0203ff839466236b8e3dc19",
      "tree": "79f60f53754cfae8b9a5d9504502131d44ed3b14",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 04 15:48:30 2012 -0600"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Apr 06 10:47:34 2012 +0100"
      },
      "message": "regmap: introduce explicit bus_context for bus callbacks\n\nThe only context needed by I2C and SPI bus definitions is the device\nitself; this can be converted to an i2c_client or spi_device in order\nto perform IO on the device. However, other bus types may need more\ncontext in order to perform IO. Enable this by having regmap_init accept\na bus_context parameter, and pass this to all bus callbacks. The\nexisting callbacks simply pass the struct device here. Future bus types\nmay pass something else.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "5d32c88f0b94061b3af2e3ade92422407282eb12",
      "tree": "2e1f81aa47b2cf59625c8fba17199617e33802e6",
      "parents": [
        "43f63c8711ce02226b7bbdafeba7b8031faf3fb4",
        "dac23b0d0513916498d40412818bd2c581b365f7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:30:34 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:30:34 2012 -0700"
      },
      "message": "Merge branch \u0027akpm\u0027 (Andrew\u0027s patch-bomb)\n\nMerge batch of fixes from Andrew Morton:\n \"The simple_open() cleanup was held back while I wanted for laggards to\n  merge things.\n\n  I still need to send a few checkpoint/restore patches.  I\u0027ve been\n  wobbly about merging them because I\u0027m wobbly about the overall\n  prospects for success of the project.  But after speaking with Pavel\n  at the LSF conference, it sounds like they\u0027re further toward\n  completion than I feared - apparently davem is at the \"has stopped\n  complaining\" stage regarding the net changes.  So I need to go back\n  and re-review those patchs and their (lengthy) discussion.\"\n\n* emailed from Andrew Morton \u003cakpm@linux-foundation.org\u003e: (16 patches)\n  memcg swap: use mem_cgroup_uncharge_swap fix\n  backlight: add driver for DA9052/53 PMIC v1\n  C6X: use set_current_blocked() and block_sigmask()\n  MAINTAINERS: add entry for sparse checker\n  MAINTAINERS: fix REMOTEPROC F: typo\n  alpha: use set_current_blocked() and block_sigmask()\n  simple_open: automatically convert to simple_open()\n  scripts/coccinelle/api/simple_open.cocci: semantic patch for simple_open()\n  libfs: add simple_open()\n  hugetlbfs: remove unregister_filesystem() when initializing module\n  drivers/rtc/rtc-88pm860x.c: fix rtc irq enable callback\n  fs/xattr.c:setxattr(): improve handling of allocation failures\n  fs/xattr.c:listxattr(): fall back to vmalloc() if kmalloc() failed\n  fs/xattr.c: suppress page allocation failure warnings from sys_listxattr()\n  sysrq: use SEND_SIG_FORCED instead of force_sig()\n  proc: fix mount -t proc -o AAA\n"
    },
    {
      "commit": "234e340582901211f40d8c732afc49f0630ecf05",
      "tree": "753076500dfd883b3db56d4f5410af31d8945623",
      "parents": [
        "9b3ae64be658a573b33d05a8dc73b08d3345fa44"
      ],
      "author": {
        "name": "Stephen Boyd",
        "email": "sboyd@codeaurora.org",
        "time": "Thu Apr 05 14:25:11 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 05 15:25:50 2012 -0700"
      },
      "message": "simple_open: automatically convert to simple_open()\n\nMany users of debugfs copy the implementation of default_open() when\nthey want to support a custom read/write function op.  This leads to a\nproliferation of the default_open() implementation across the entire\ntree.\n\nNow that the common implementation has been consolidated into libfs we\ncan replace all the users of this function with simple_open().\n\nThis replacement was done with the following semantic patch:\n\n\u003csmpl\u003e\n@ open @\nidentifier open_f !\u003d simple_open;\nidentifier i, f;\n@@\n-int open_f(struct inode *i, struct file *f)\n-{\n(\n-if (i-\u003ei_private)\n-f-\u003eprivate_data \u003d i-\u003ei_private;\n|\n-f-\u003eprivate_data \u003d i-\u003ei_private;\n)\n-return 0;\n-}\n\n@ has_open depends on open @\nidentifier fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...\n-.open \u003d open_f,\n+.open \u003d simple_open,\n...\n};\n\u003c/smpl\u003e\n\n[akpm@linux-foundation.org: checkpatch fixes]\nSigned-off-by: Stephen Boyd \u003csboyd@codeaurora.org\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@linuxfoundation.org\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nCc: Julia Lawall \u003cJulia.Lawall@lip6.fr\u003e\nAcked-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c04c1b9ee8f30c7a3a25e20e406247003f634ebe",
      "tree": "c8f1de34051bce402ee5be5d6dfadc4bc7e47ae1",
      "parents": [
        "e466de05194b666114713b753e2f4be1d4200140"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@nvidia.com",
        "time": "Wed Apr 04 15:48:33 2012 -0600"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Apr 04 23:22:15 2012 +0100"
      },
      "message": "regmap: prevent division by zero in rbtree_show\n\nIf there are no nodes in the cache, nodes will be 0, so calculating\n\"registers / nodes\" will cause division by zero.\n\nSigned-off-by: Stephen Warren \u003cswarren@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "e466de05194b666114713b753e2f4be1d4200140",
      "tree": "d744106bb25b94cdc2e819b06483efc5202a5a28",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Apr 03 13:08:53 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Apr 03 13:08:53 2012 +0100"
      },
      "message": "regmap: Export regcache_sync_region()\n\nregcache_sync_region() isn\u0027t going to be useful to most drivers if we\ndon\u0027t export it since otherwise they can\u0027t use it when built modular.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "d939fb9a78b4743bc4bc3cc415894ed42050c5cc",
      "tree": "74980bd7c634676da11abb41f87447b50d3a4163",
      "parents": [
        "ea279fc5619e2541a0c28196b0fa06447d9ad026"
      ],
      "author": {
        "name": "Marc Reilly",
        "email": "marc@cpdesign.com.au",
        "time": "Fri Mar 16 12:11:43 2012 +1100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Apr 01 11:55:20 2012 +0100"
      },
      "message": "regmap: Use pad_bits and reg_bits when determining register format.\n\nThis change combines any padding bits into the register address bits when\ndetermining register format handlers to use the next byte-divisible\nregister size.\nA reg_shift member is introduced to the regmap struct to enable fixup\nof the reg format.\nFormat handlers now take an extra parameter specifying the number of\nbits to shift the value by.\n\nSigned-off-by: Marc Reilly \u003cmarc@cpdesign.com.au\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "ea279fc5619e2541a0c28196b0fa06447d9ad026",
      "tree": "897b7c313849b90d50e4c02efe3082dbdf8304da",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928"
      ],
      "author": {
        "name": "Marc Reilly",
        "email": "marc@cpdesign.com.au",
        "time": "Fri Mar 16 12:11:42 2012 +1100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Apr 01 11:54:06 2012 +0100"
      },
      "message": "regmap: Add support for device with 24 data bits.\n\nAdd support for devices with 24 data bits.\n\nSigned-off-by: Marc Reilly \u003cmarc@cpdesign.com.au\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "4b4e9e43fd210e0cd2a5d29357e7c000e13e08ae",
      "tree": "fe7d224017c0c6ce72751a16bf9f9b12037b248d",
      "parents": [
        "dd775ae2549217d3ae09363e3edb305d0fa19928"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Fri Mar 23 11:04:57 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Apr 01 11:47:13 2012 +0100"
      },
      "message": "regmap: rbtree: Fix register default look-up in sync\n\nThe code currently passes the register offset in the current block to\nregcache_lookup_reg. This works fine as long as there is only one block and with\nbase register of 0, but in all other cases it will look-up the default for a\nwrong register, which can cause unnecessary register writes. This patch fixes\nit by passing the actual register number to regcache_lookup_reg.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: \u003cstable@vger.kernel.org\u003e\n"
    },
    {
      "commit": "250f6715a4112d6686670c5a62ceb9305da94616",
      "tree": "ee1c9b41ed1fed8174efb312421902f19c877e8c",
      "parents": [
        "11bcb32848ddb5ab28f09f142b625e2ba4d55c4c",
        "313162d0b83836e2f57e51b9b8650fb4b9c396ea"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 24 10:41:37 2012 -0700"
      },
      "message": "Merge tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux\n\nPull \u003clinux/device.h\u003e avoidance patches from Paul Gortmaker:\n \"Nearly every subsystem has some kind of header with a proto like:\n\n\tvoid foo(struct device *dev);\n\n  and yet there is no reason for most of these guys to care about the\n  sub fields within the device struct.  This allows us to significantly\n  reduce the scope of headers including headers.  For this instance, a\n  reduction of about 40% is achieved by replacing the include with the\n  simple fact that the device is some kind of a struct.\n\n  Unlike the much larger module.h cleanup, this one is simply two\n  commits.  One to fix the implicit \u003clinux/device.h\u003e users, and then one\n  to delete the device.h includes from the linux/include/ dir wherever\n  possible.\"\n\n* tag \u0027device-for-3.4\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/paulg/linux:\n  device.h: audit and cleanup users in main include dir\n  device.h: cleanup users outside of linux/include (C files)\n"
    },
    {
      "commit": "0a329d2d5a1dd75273597538cdc33512ee38855e",
      "tree": "5e4b51863a0b05e8866615e2da1e123173a61220",
      "parents": [
        "307b1cd7ecd7f3dc5ce3d3860957f034f0abe4df"
      ],
      "author": {
        "name": "Akinobu Mita",
        "email": "akinobu.mita@gmail.com",
        "time": "Fri Mar 23 15:02:04 2012 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Mar 23 16:58:33 2012 -0700"
      },
      "message": "bitops: remove for_each_set_bit_cont()\n\nRemove for_each_set_bit_cont() after confirming that no one uses\nfor_each_set_bit_cont() anymore.\n\n[sfr@canb.auug.org.au: regmap: cope with bitops API change]\nSigned-off-by: Akinobu Mita \u003cakinobu.mita@gmail.com\u003e\nSigned-off-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nCc: Robert Richter \u003crobert.richter@amd.com\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "addfd8a09e1f434a73b3d87d36ef050c73511d2b",
      "tree": "22dd5a1f108dcd123797dbe9f5aa45e8d3faa492",
      "parents": [
        "eae4b51b21f7452b0b53a9848f48c02cb0fac336",
        "df00c79f78d8b0ad788daf689ea461ace9d0811f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 13:15:48 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 13:15:48 2012 +0000"
      },
      "message": "Merge remote-tracking branch \u0027regmap/topic/bulk\u0027 into regmap-next\n"
    },
    {
      "commit": "eae4b51b21f7452b0b53a9848f48c02cb0fac336",
      "tree": "20d54023bf32e061866c83565d44d694e2598ba5",
      "parents": [
        "4a6be7bb7474500a69f6d8f25899b8038491bdbb",
        "a6539c32949063c8147905512a83a98842c2d254"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 13:15:03 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 13:15:03 2012 +0000"
      },
      "message": "Merge remote-tracking branch \u0027regmap/topic/introspection\u0027 into regmap-next\n\nSimple add/add conflict:\n\tdrivers/base/regmap/regmap.c\n"
    },
    {
      "commit": "4a6be7bb7474500a69f6d8f25899b8038491bdbb",
      "tree": "a2645b0f707fcf1ea94a9e7ef7a59b298fb5ecac",
      "parents": [
        "7d9aca39dcacd2b3f42e2e287162329f410f93e1",
        "f9353e70bcebd00cd182d946083afd7d8eddd259"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 13:14:24 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 13:14:24 2012 +0000"
      },
      "message": "Merge remote-tracking branches \u0027regmap/topic/patch\u0027 and \u0027regmap/topic/sync\u0027 into regmap-next\n"
    },
    {
      "commit": "7d9aca39dcacd2b3f42e2e287162329f410f93e1",
      "tree": "2907b680b2b7625226f46d23d74ccc9c58ad0362",
      "parents": [
        "e1c1c69c8fc7656c33460c8e085ac0d0be22ac3b",
        "a0cc0209abb9fe2b9ab71aa41be70eddd0cbdd61"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 13:13:25 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 13:13:25 2012 +0000"
      },
      "message": "Merge remote-tracking branch \u0027regmap/topic/drivers\u0027 into regmap-next\n\nResolved simple add/add conflicts:\n\tdrivers/base/regmap/internal.h\n\tdrivers/base/regmap/regmap.c\n"
    },
    {
      "commit": "e1c1c69c8fc7656c33460c8e085ac0d0be22ac3b",
      "tree": "3199753118adf26baf52841cb913afa77f549829",
      "parents": [
        "f5d6eba74b8aac7d4bf646c5445807aa6a247e6c",
        "c0eb46766d395da8d62148bda2e59bad5e6ee2f2"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 13:12:33 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Mar 14 13:12:33 2012 +0000"
      },
      "message": "Merge remote-tracking branches \u0027regmap/topic/core\u0027 and \u0027regmap/topic/devm\u0027 into regmap-next\n"
    },
    {
      "commit": "51990e825431089747f8896244b5c17d3a6423f1",
      "tree": "5c1ef975ab55734a45444b629855a51f09775b93",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Jan 22 11:23:42 2012 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Sun Mar 11 14:27:37 2012 -0400"
      },
      "message": "device.h: cleanup users outside of linux/include (C files)\n\nFor files that are actively using linux/device.h, make sure\nthat they call it out.  This will allow us to clean up some\nof the implicit uses of linux/device.h within include/*\nwithout introducing build regressions.\n\nYes, this was created by \"cheating\" -- i.e. the headers were\ncleaned up, and then the fallout was found and fixed, and then\nthe two commits were reordered.  This ensures we don\u0027t introduce\nbuild regressions into the git history.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "f5d6eba74b8aac7d4bf646c5445807aa6a247e6c",
      "tree": "8fe6aafeca1e69ce782eaf9fe71a20fdc5bb9d92",
      "parents": [
        "b83d2ff01376cf3799394693c0dd089f657bdf84"
      ],
      "author": {
        "name": "Stephen Warren",
        "email": "swarren@wwwdotorg.org",
        "time": "Fri Mar 09 13:17:28 2012 -0700"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Mar 11 12:52:44 2012 +0000"
      },
      "message": "regmap: Fix future missing prototype of devres_alloc() and friends\n\n[Fix for breakage which will be introduced during the merge window via\nheader reworks in another tree, the regmap tree does include device.h\nbut Paul\u0027s tree breaks that.  Reworded subject to reflect -- broonie]\n\nregmap.s uses devres_alloc() and others that are prototyped in device.h.\nInclude that to solve the following:\n\ndrivers/base/regmap/regmap.c: In function \u0027devm_regmap_init\u0027:\ndrivers/base/regmap/regmap.c:331:2: error: implicit declaration of function \u0027devres_alloc\u0027 [-Werror\u003dimplicit-function-declaration]\ndrivers/base/regmap/regmap.c:338:3: error: implicit declaration of function \u0027devres_add\u0027 [-Werror\u003dimplicit-function-declaration]\ndrivers/base/regmap/regmap.c:340:3: error: implicit declaration of function \u0027devres_free\u0027 [-Werror\u003dimplicit-function-declaration]\ndrivers/base/regmap/regmap.c: In function \u0027_regmap_raw_write\u0027:\ndrivers/base/regmap/regmap.c:421:5: error: implicit declaration of function \u0027dev_err\u0027 [-Werror\u003dimplicit-function-declaration]\n\nSigned-off-by: Stephen Warren \u003cswarren@wwwdotorg.org\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "f9353e70bcebd00cd182d946083afd7d8eddd259",
      "tree": "a13460f9e9e88796067c24f0853c8a386413f022",
      "parents": [
        "a0941e562e8008804f9fe4400315ceb164752fac"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Mar 05 23:28:49 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Mar 05 23:49:24 2012 +0000"
      },
      "message": "regmap: Fix rbtree block base in sync\n\nOtherwise we\u0027ll end up running with bogus register numbers.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "994f5db65ef4b83db0321842bd43c6bc0a51f000",
      "tree": "633121617abdf0799462b87ed19dd4cc7b2f2f56",
      "parents": [
        "19694b5ea1d3a723dafe9544b5ee9a935414dc28"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Mar 05 23:31:39 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Mar 05 23:48:50 2012 +0000"
      },
      "message": "regcache: Make sure we sync register 0 in an rbtree cache\n\nMost of the current users have register 0 as a volatile register or don\u0027t\nhave a register 0 so it\u0027s not been apparent that it\u0027s not getting synced.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "19694b5ea1d3a723dafe9544b5ee9a935414dc28",
      "tree": "fbac80eeccde035993a89d9444d8fe5d293edca3",
      "parents": [
        "a313f9f565d84f2fcc81c818a6b0baaae752a821"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Tue Feb 28 19:28:02 2012 -0500"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Mar 01 11:10:35 2012 +0000"
      },
      "message": "regmap: delete unused module.h from drivers/base/regmap files\n\nRemove unused module.h and/or replace with export.h\nas required.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "a0941e562e8008804f9fe4400315ceb164752fac",
      "tree": "292189d45e7bedeecec74c4b23d69ea3e7fb4b0c",
      "parents": [
        "4d4cfd1656b5f6c88eae51c40741a695b108b006"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Feb 27 14:35:33 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Feb 27 14:35:33 2012 +0000"
      },
      "message": "regmap: Fix x86_64 breakage\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "4d4cfd1656b5f6c88eae51c40741a695b108b006",
      "tree": "c20b71443a4643122523ccdb2a9034a389a52374",
      "parents": [
        "ac8d91c801905a061ca883dca427a5e19602a1e7"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 23 20:53:37 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 24 14:52:41 2012 +0000"
      },
      "message": "regmap: Allow drivers to sync only part of the register cache\n\nProvide a regcache_sync_region() operation which allows drivers to\nwrite only part of the cache back to the hardware. This is intended\nfor use in cases like power domains or DSP memories where part of the\ndevice register map may be reset without fully resetting the device.\n\nFully supporting these devices is likely to require additional work to\nmake specific regions of the register map cache only while they are in\nreset, but this is enough for most devices.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "ac8d91c801905a061ca883dca427a5e19602a1e7",
      "tree": "3b715a8aa18db4ed553811595c113ef95e1c5f75",
      "parents": [
        "6ff7373809a9b4eb644d83e2e299da297e1cbffa"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 23 19:31:04 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 24 14:52:40 2012 +0000"
      },
      "message": "regmap: Supply ranges to the sync operations\n\nIn order to allow us to support partial sync operations add minimum and\nmaximum register arguments to the sync operation and update the rbtree\nand lzo caches to use this new information. The LZO implementation is\nobviously not good, we could exit the iteration earlier, but there may\nbe room for more wide reaching optimisation there.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "5d5b7d4f80ed6e861c1c220fd57e3dad0912526e",
      "tree": "40c015040a63379d114b8f33b4d70e248867a9a4",
      "parents": [
        "a3c3774176838bbfa4f6e48133644903818e56dc"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 23 22:02:57 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 23 22:10:56 2012 +0000"
      },
      "message": "regmap: Add tracepoints for cache only and cache bypass\n\nUseful for figuring out where the hardware interaction went or came from.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "6ff7373809a9b4eb644d83e2e299da297e1cbffa",
      "tree": "b8cb568ef36f900a356327e2bb5ea19cb77719ec",
      "parents": [
        "c3ec23288a92e20e0aff84a4cb6fbc7cc9bcf567"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 23 22:05:59 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 23 22:07:19 2012 +0000"
      },
      "message": "regmap: Mark the cache as clean after a successful sync\n\nPreviously the cache would never be marked clean, meaning syncs would\nnever be suppressed which isn\u0027t the end of the world but could be\ninefficient.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "c3ec23288a92e20e0aff84a4cb6fbc7cc9bcf567",
      "tree": "2bd8395c9e87fa9214ccd61c3b2a53b499727e3f",
      "parents": [
        "2a14d7d9b7439fe62082a60a7f8983ccb463d134"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 23 20:48:40 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 23 20:57:11 2012 +0000"
      },
      "message": "regmap: Remove default cache sync implementation\n\nIt\u0027s not used as all cache types have sync operations so it\u0027s just dead\ncode which never gets tested.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "a3c3774176838bbfa4f6e48133644903818e56dc",
      "tree": "a6398d371a2ee8c7b8e5854d3b04370ff404bcc9",
      "parents": [
        "f0c2319f9f196726ebe4d7508fd8fbd804988db3"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 23 20:11:58 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Feb 23 20:12:49 2012 +0000"
      },
      "message": "regmap: Skip hardware defaults for LZO caches\n\nSaves some I/O when resyncing; we assume that syncs start from the device\nreset state.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "f0c2319f9f196726ebe4d7508fd8fbd804988db3",
      "tree": "7fd39dbf7cbadc9f175f7dface4641b16189fdf6",
      "parents": [
        "09c6ecd394105c4864a0e409e181c9b1578c2a63"
      ],
      "author": {
        "name": "Dimitris Papastamos",
        "email": "dp@opensource.wolfsonmicro.com",
        "time": "Wed Feb 22 14:20:09 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Feb 22 14:24:45 2012 +0000"
      },
      "message": "regmap: Expose the driver name in debugfs\n\nAdd a file called \u0027name\u0027 containing the name of the driver.\n\nSigned-off-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "09c6ecd394105c4864a0e409e181c9b1578c2a63",
      "tree": "84ddf6946e4aeeb70d39c919f18bc5f6441e54ca",
      "parents": [
        "b8fb5ab156055b745254609f4635fcfd6b7dabc8"
      ],
      "author": {
        "name": "Dimitris Papastamos",
        "email": "dp@opensource.wolfsonmicro.com",
        "time": "Wed Feb 22 12:43:50 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Feb 22 13:10:31 2012 +0000"
      },
      "message": "regmap: Add support for writing to regmap registers via debugfs\n\nTo enable writing to the regmap debugfs registers file users will\nneed to modify the source directly and #define REGMAP_ALLOW_WRITE_DEBUGFS.\nThe reason for this is that it is dangerous to expose this\nfunctionality in general where clients could potentially be PMICs.\n\n[A couple of minor style updates -- broonie]\n\nSigned-off-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "b8fb5ab156055b745254609f4635fcfd6b7dabc8",
      "tree": "3b38473273181e316dd0db25ea4966cb1e7f946e",
      "parents": [
        "7d5e525b9ceda0e3b85da0acdaa2de19fea51edc"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Feb 21 19:12:47 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Feb 21 19:29:18 2012 +0000"
      },
      "message": "regmap: Support raw reads from cached registers\n\nFall back to a register by register read to do so; most likely we\u0027ll be\ncache only so the overhead will be low.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "aca1e172a1096ed3785e0da01d82943b7562527c",
      "tree": "0826c140b4e31acd7f8546727498dd849f099ba6",
      "parents": [
        "3bf06a1ad9b147ca3a64b119d70c4a7c0ace3695",
        "2a14d7d9b7439fe62082a60a7f8983ccb463d134"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Feb 20 21:21:33 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Feb 20 21:21:33 2012 +0000"
      },
      "message": "Merge branch \u0027topic/patch\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into regmap-drivers\n"
    },
    {
      "commit": "3bf06a1ad9b147ca3a64b119d70c4a7c0ace3695",
      "tree": "7e3e546895c3734bfcf36b237aa6609576a8586d",
      "parents": [
        "b01543dfe67bb1d191998e90d20534dc354de059",
        "c0eb46766d395da8d62148bda2e59bad5e6ee2f2"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Feb 20 21:21:25 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Feb 20 21:21:25 2012 +0000"
      },
      "message": "Merge branch \u0027topic/devm\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into regmap-drivers\n"
    },
    {
      "commit": "a6539c32949063c8147905512a83a98842c2d254",
      "tree": "0eb2d7a118d3fc94b998bc6fe24239fcdefa4450",
      "parents": [
        "b01543dfe67bb1d191998e90d20534dc354de059"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 17 14:20:14 2012 -0800"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Feb 20 21:17:08 2012 +0000"
      },
      "message": "regmap: Allow users to query the size of register values\n\nGeneric infrastructure based on top of regmap may want to operate on\nblocks of data and therefore find it useful to find the size of the\nregister values. Provide an accessor operation for this.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "7d5e525b9ceda0e3b85da0acdaa2de19fea51edc",
      "tree": "22291170c9f95d3decce9eebfc8f2df5ce674014",
      "parents": [
        "9cde5fcd435fd929db7b0b486efb435cdb1ddca4"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 17 15:58:25 2012 -0800"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 17 16:26:50 2012 -0800"
      },
      "message": "regmap: Implement support for 32 bit registers and values\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "df00c79f78d8b0ad788daf689ea461ace9d0811f",
      "tree": "75ddc463dc7392797bc3d19dad2c010f3497d498",
      "parents": [
        "8eaeb21925563075ae036c2e5ba8d041b70e18fa"
      ],
      "author": {
        "name": "Laxman Dewangan",
        "email": "ldewangan@nvidia.com",
        "time": "Fri Feb 17 18:57:26 2012 +0530"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 17 09:19:00 2012 -0800"
      },
      "message": "regmap: Bypassing cache when initializing cache\n\nDuring regcache_init, if client has not passed the\ndefault data of cached register then it is directly\nread from the hw to initialize cache. This hw register\nread happens before cache ops are initialized and hence\navoiding register read to check for the data available\non cache or not by enabling flag of cache_bypass.\n\nSigned-off-by: Laxman Dewangan \u003cldewangan@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "61cddc57dc14a5dffa0921d9a24fd68edbb374ac",
      "tree": "f909dda9bab29b39cecbd67bc9af008a0cf1ec03",
      "parents": [
        "d65b4e98d7ea3038b767b70fe8be959b2913f16d"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Wed Feb 15 10:23:25 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Feb 15 08:31:32 2012 -0800"
      },
      "message": "regmap: Fix cache defaults initialization from raw cache defaults\n\nCurrently registers with a value of 0 are ignored when initializing the register\ndefaults from raw defaults. This worked in the past, because registers without a\nexplicit default were assumed to have a default value of 0. This was changed in\ncommit b03622a8 (\"regmap: Ensure rbtree syncs registers set to zero properly\").\nAs a result registers, which have a raw default value of 0 are now assumed to\nhave no default. This again can result in unnecessary writes when syncing the\ncache. It will also result in unnecessary reads for e.g. the first update\noperation. In the case where readback is not possible this will even let the\nupdate operation fail, if the register has not been written to before.\n\nSo this patch removes the check. Instead it adds a check to ignore raw defaults\nfor registers which are volatile, since those registers are not cached.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\nCc: stable@vger.kernel.org\n"
    },
    {
      "commit": "8eaeb21925563075ae036c2e5ba8d041b70e18fa",
      "tree": "165075722500d35cd6c6b459d2be638e491df718",
      "parents": [
        "c9157198417076c0c2664ba997e7b0217f61fcce"
      ],
      "author": {
        "name": "Laxman Dewangan",
        "email": "ldewangan@nvidia.com",
        "time": "Sun Feb 12 19:49:43 2012 +0530"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Feb 14 14:03:32 2012 -0800"
      },
      "message": "regmap: add regmap_bulk_write() for register write\n\nThe bulk_write() supports the data transfer to multi\nregister which takes the data into cpu_endianness format\nand does formatting of data to device format before\nsending to device.\nThe transfer can be completed in single transfer or multiple\ntransfer based on data formatting.\n\nSigned-off-by: Laxman Dewangan \u003cldewangan@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "c9157198417076c0c2664ba997e7b0217f61fcce",
      "tree": "354dcd5c829676cc7702b490dd18853176cdbac5",
      "parents": [
        "d65b4e98d7ea3038b767b70fe8be959b2913f16d"
      ],
      "author": {
        "name": "Laxman Dewangan",
        "email": "ldewangan@nvidia.com",
        "time": "Fri Feb 10 21:30:27 2012 +0530"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Feb 11 23:03:45 2012 +0000"
      },
      "message": "regmap: Support for caching in reg_raw_write()\n\nAdding support for caching of data into the\nnon-volatile register from the call of reg_raw_write().\n\nThis will allow the larger block of data write into multiple\nregister without worrying whether register is cached or not\nthrough reg_raw_write().\n\nSigned-off-by: Laxman Dewangan \u003cldewangan@nvidia.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "2a14d7d9b7439fe62082a60a7f8983ccb463d134",
      "tree": "5a49db57fb6856e92f824870efb8e258e70729e6",
      "parents": [
        "8a892d6996b60c822f19ad1844eb15b96ce393c7"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Fri Feb 10 19:29:55 2012 +0800"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Feb 10 11:46:14 2012 +0000"
      },
      "message": "regmap: Fix kcalloc parameters swapped\n\nThe first parameter should be \"number of elements\" and the second parameter\nshould be \"element size\".\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "028a01e601487b5991b70dba506dfe87d83543f6",
      "tree": "f92c3f85f5b6d1d95dbc2467289fdc5748707c8b",
      "parents": [
        "847fb6fdf58c0ef4c207d2853a043a4da3db9c76"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Feb 06 18:02:06 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Feb 06 19:24:46 2012 +0000"
      },
      "message": "regmap: Add debugfs information for the cache status\n\nShow all the cache status flags in debugfs if we have a cache.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "847fb6fdf58c0ef4c207d2853a043a4da3db9c76",
      "tree": "70c75bb5f00233ab80e49ed3e4d1bae03f456734",
      "parents": [
        "aa795d129246cb4c973076e3242b8a2eb374f1ef"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Feb 06 18:01:35 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Feb 06 19:24:35 2012 +0000"
      },
      "message": "regmap: Don\u0027t use bitfields for booleans\n\nThis was a cut\u0027n\u0027paste from some older code.\n\nSince we\u0027re about to add debugfs support don\u0027t do the obvious thing and\nuse bool, use u32 instead (which debugfs has been using since time\nimmemorial).\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "aa795d129246cb4c973076e3242b8a2eb374f1ef",
      "tree": "293e910cb30abab980470be02a3d4fdadc4046eb",
      "parents": [
        "4191f19792bf91267835eb090d970e9cd6277a65"
      ],
      "author": {
        "name": "Axel Lin",
        "email": "axel.lin@gmail.com",
        "time": "Tue Jan 31 11:48:18 2012 +0800"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Jan 31 11:25:08 2012 +0000"
      },
      "message": "regmap: Remove incorrect unreachable comment in regcache_set_val()\n\nregcache_set_val() returns false if cache[idx] !\u003d val.\nThus it actually is not unreachable.\n\nSigned-off-by: Axel Lin \u003caxel.lin@gmail.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "c0eb46766d395da8d62148bda2e59bad5e6ee2f2",
      "tree": "9b808ba04041f4f10d08b384b4ad8c608a86df4c",
      "parents": [
        "567e47935a7cddd8e823c73bb8ee0b2805cd4940"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jan 30 19:56:52 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jan 30 21:06:43 2012 +0000"
      },
      "message": "regmap: Implement managed regmap_init()\n\nSave error handling and unwinding code in drivers by providing managed\nversions of the regmap init functions, simplifying usage.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "4191f19792bf91267835eb090d970e9cd6277a65",
      "tree": "ef01c8d48b3d6fd9c3f1bbffb4a77c7560c1d4d5",
      "parents": [
        "c212acccc368a087a53559aac2b7d3be941b1252"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Mon Jan 30 15:08:16 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jan 30 16:23:11 2012 +0000"
      },
      "message": "regmap: if format_write is used, declare all registers as \"unreadable\"\n\nUsing .format_write means, we have a custom function to write to the\nchip, but not to read back. Also, mark registers as \"not precious\" and\n\"not volatile\" which is implicit because we cannot read them. Make those\nfunctions use \u0027regmap_readable\u0027 to reuse the checks done there.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "c212acccc368a087a53559aac2b7d3be941b1252",
      "tree": "260a587cc531a75ad1abaf1d40ce775c4e236f32",
      "parents": [
        "9aa507505cdcd10b7390398790f013374ee74a26"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Sat Jan 28 02:16:41 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Jan 29 21:42:40 2012 +0000"
      },
      "message": "regmap: Properly round reg_bytes and val_bytes\n\nFor the upcoming 2/6-format, we don\u0027t see debugfs output otherwise,\nsince the current division results in 0. I\u0027d think 10/14 is broken\ncurrently, too.\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "9aa507505cdcd10b7390398790f013374ee74a26",
      "tree": "1ed486dd7d9f1a0c54cdc082992150fed1fb635d",
      "parents": [
        "a24f64a648376766497fddd8bc24b1ca5b906431"
      ],
      "author": {
        "name": "Wolfram Sang",
        "email": "w.sang@pengutronix.de",
        "time": "Fri Jan 27 16:10:22 2012 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jan 27 16:26:03 2012 +0000"
      },
      "message": "regmap: Add support for 2/6 register formating\n\nSigned-off-by: Wolfram Sang \u003cw.sang@pengutronix.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "a24f64a648376766497fddd8bc24b1ca5b906431",
      "tree": "b06e00797e507aa884b11bbba3f45dd66e5b0b90",
      "parents": [
        "7e53b195e412a813e915843adc7e4d91868e8e94"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 26 18:30:16 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Jan 26 18:34:49 2012 +0000"
      },
      "message": "regmap: Reset device debugfs when reinitialising the cache\n\nMost of the data exposed via debugfs is for or from the cache so reset\nall the debugfs configuration to make sure everything is up to date with\nthe latest configuration, especially if we\u0027re changing cache type.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "8a892d6996b60c822f19ad1844eb15b96ce393c7",
      "tree": "e3b2281798d9188cb69f21ff9d965d1073a69957",
      "parents": [
        "d9db762708e27c2892db9d8a54e735a8e506e16e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 25 21:05:48 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 25 21:22:05 2012 +0000"
      },
      "message": "regmap: Bypass the cache when applying patches\n\nOtherwise any patch that affects a register which is writable may trash\ncached values.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "d9db762708e27c2892db9d8a54e735a8e506e16e",
      "tree": "6c3dfa0bdb888df5f237f7b9de78c2b8a035ad91",
      "parents": [
        "22f0d90a34827812413bb3fbeda6a2a79bb58423"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 25 21:06:33 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 25 21:21:56 2012 +0000"
      },
      "message": "regmap: Skip patch application when the cache is not dirty on sync\n\nOn the basis that if we don\u0027t actually need to resync the cache then the\npatches are probably also already applied.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "7e53b195e412a813e915843adc7e4d91868e8e94",
      "tree": "894a83b52939e7e67b7e29a54aef2ab1ad4d1e0b",
      "parents": [
        "82159ba8e6ef8c38e3e0452d90b4ff8da9e4b2c1"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 25 20:46:53 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 25 21:20:49 2012 +0000"
      },
      "message": "regmap: Unexport regcache_write() and regcache_read()\n\nThey have no current users which is fortunate as they don\u0027t take the lock\nand therefore aren\u0027t safe to use externally. We\u0027ll need to add new\noperations if direct cache access is needed.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "22f0d90a34827812413bb3fbeda6a2a79bb58423",
      "tree": "c54935a6e2637408da23aa261c81f89dffa0724e",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Jan 21 12:01:14 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Jan 23 14:01:18 2012 +0000"
      },
      "message": "regmap: Support register patch sets\n\nDevice manufacturers frequently provide register sequences, usually not\nfully documented, to be run at startup in order to provide better defaults\nfor devices (for example, improving performance in the light of silicon\nevaluation). Support such updates by allowing drivers to register update\nsets with the core. These updates will be written to the device immediately\nand will also be rewritten when the cache is synced.\n\nThe assumption is that the reason for resyncing the cache will always be\nthat the device has been powered off. If this turns out to not be the case\nthen a separate operation can be provided.\n\nCurrently the implementation only allows a single set of updates to be\nspecified for a device, this could be extended in future.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "421e8d2de3bd8b089dc6322d8589b7eb38437a23",
      "tree": "b98bf2c5f9d26748129616268638b55b4106d167",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jan 20 13:39:37 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jan 20 13:49:30 2012 +0000"
      },
      "message": "regmap: Reset cache status when reinitialsing the cache\n\nWhen we reinitialise the cache make sure that we reset the cache access\nflags, ensuring that the reinitialised cache is in the default state\nwhich is what callers would and do expect given the function name.\n\nThis is particularly likely to cause issues in systems where there was no\ncache previously as those systems have cache bypass enabled, as for the\nwm8994 driver where this was noticed.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "82159ba8e6ef8c38e3e0452d90b4ff8da9e4b2c1",
      "tree": "2f488ebc125b24d6790afad633ec8be1e933be18",
      "parents": [
        "dcd6c92267155e70a94b3927bce681ce74b80d1f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Jan 18 10:52:25 2012 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Jan 20 12:15:39 2012 +0000"
      },
      "message": "regmap: Add support for padding between register and address\n\nSome devices, especially those with high speed control interfaces, require\npadding between the register and the data. Support this in the regmap API\nby providing a pad_bits configuration parameter.\n\nOnly devices with integer byte counts are supported.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "681ba97d9fbff59f67c71f1d9a88ad0b8ef49d25",
      "tree": "a9f2719a6a283bdbca27167aa2803cd8ddae6930",
      "parents": [
        "8569d023a0db699c462337d471f7e92163142e37",
        "209a600623cf13a8168b2f6b83643db7825abb9a"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Dec 05 16:21:05 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Dec 05 16:21:05 2011 +0000"
      },
      "message": "Merge branch \u0027regmap/irq\u0027 into regmap-next\n"
    },
    {
      "commit": "209a600623cf13a8168b2f6b83643db7825abb9a",
      "tree": "4e18c677d51bbdf6fc8771ca13b38c74431f1e4a",
      "parents": [
        "d23511f9590870effa5ace575b59aac18c47175f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Dec 05 16:10:15 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Dec 05 16:13:31 2011 +0000"
      },
      "message": "regmap: Add irq_base accessor to regmap_irq\n\nAllows devices to discover their own interrupt without having to remember\nit themselves.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "8569d023a0db699c462337d471f7e92163142e37",
      "tree": "7852eeafa7986edf03b2fab354b4ba2718ee44bd",
      "parents": [
        "bc7ee55633867909bb05e71f957a4d3c1aa1b488",
        "bf315173359b2f3b8b8ccca4264815e91f30be12"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Dec 05 13:18:50 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Dec 05 13:18:50 2011 +0000"
      },
      "message": "Merge branch \u0027topic/cache\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap into regmap-next\n"
    },
    {
      "commit": "bf315173359b2f3b8b8ccca4264815e91f30be12",
      "tree": "eb922a86d595849df02c474e034c855d770abce0",
      "parents": [
        "50b776fc71c13663eb7434f634f2b796de5c9885"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sat Dec 03 17:06:20 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Dec 05 13:17:36 2011 +0000"
      },
      "message": "regmap: Allow drivers to reinitialise the register cache at runtime\n\nSometimes the register map information may change in ways that drivers can\ndiscover at runtime. For example, new revisions of a device may add new\nregisters. Support runtime discovery by drivers by allowing the register\ncache to be reinitialised with a new function regmap_reinit_cache() which\ndiscards the existing cache and creates a new one.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "bc7ee55633867909bb05e71f957a4d3c1aa1b488",
      "tree": "b8465a2ee229fed3a7ea133a983236ffe7f657d7",
      "parents": [
        "018690d33ecf4aa1eb1415e38c40e2b0b6c7808e"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 30 14:27:08 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 30 20:51:09 2011 +0000"
      },
      "message": "regmap: Add trace event for successful cache reads\n\nCurrently we only trace physical reads, there\u0027s no instrumentation if\nthe read is satisfied from cache.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "018690d33ecf4aa1eb1415e38c40e2b0b6c7808e",
      "tree": "3ae08fb9d199813840564fb392ebc9b4a5d8c230",
      "parents": [
        "c86845dc7b56be050b9e53b31079e8bd0a3dc279"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Nov 29 20:10:36 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Nov 29 20:15:50 2011 +0000"
      },
      "message": "regmap: Allow regmap_update_bits() users to detect changes\n\nSome users of regmap_update_bits() would like to be able to tell their\nusers if they actually did an update so provide a variant which also\nreturns a flag indicating if an update took place. We could return a\ntristate in the return value of regmap_update_bits() but this makes the\nAPI more cumbersome to use and doesn\u0027t fit with the general zero for\nsuccess idiom we have.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "c86845dc7b56be050b9e53b31079e8bd0a3dc279",
      "tree": "3e1173ec8ef5afc528bc9bc106ba11868647241a",
      "parents": [
        "cce585ce1ebd5307c9709e24758d5eb8a1e087a7",
        "d23511f9590870effa5ace575b59aac18c47175f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 28 18:52:24 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 28 18:52:24 2011 +0000"
      },
      "message": "Merge remote-tracking branch \u0027regmap/topic/irq\u0027 into regmap-next\n"
    },
    {
      "commit": "d23511f9590870effa5ace575b59aac18c47175f",
      "tree": "c30929de930763a8a4930a171478dca9d414dfc3",
      "parents": [
        "f8beab2bb611d735767871e0e1a12dc6a0def7b1"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 28 18:50:39 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 28 18:51:57 2011 +0000"
      },
      "message": "regmap: Report if we actually handled an interrupt in regmap-irq\n\nWhile the IRQ core doesn\u0027t currently support shared threaded interrupts\nthat\u0027s no reason for drivers not to do their bit and report IRQ_NONE when\nthey don\u0027t get an interrupt. This allows the core spurious/wedget interrupt\ndetection support to do its thing.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "cce585ce1ebd5307c9709e24758d5eb8a1e087a7",
      "tree": "34afe74754a9714610e39a89f5b85645cf1dded2",
      "parents": [
        "bad2ab4b6d938482c2b0bdcf80a8d14dbef4e8f5"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Nov 22 11:33:31 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Nov 22 11:43:01 2011 +0000"
      },
      "message": "regmap: Fix rbtreee build when not using debugfs\n\nThe debugfs functions don\u0027t stub themselves out quite so well as might\nbe desirable so provide functions which do do this stubbing.\n\nReported-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "bad2ab4b6d938482c2b0bdcf80a8d14dbef4e8f5",
      "tree": "d62234f38e52aa3a76bea4d5dc44cc01f6632c28",
      "parents": [
        "052d2cd123e7e36ce54558ac5af0360de2343b2b"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 21 19:44:44 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 21 19:50:10 2011 +0000"
      },
      "message": "regmap: Provide debugfs dump of the rbtree cache data\n\nShow the register ranges we have in each rbtree node in debugfs, plus\nsome statistics on how big each node is and the total number of nodes.\nIt may also be worth collecting data on the ranges of dirty registers\nto see if there\u0027s much mileage in trying to coalesce writes on sync.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "052d2cd123e7e36ce54558ac5af0360de2343b2b",
      "tree": "5b400810d15810a0eac0493ec84f15aee13c7fd8",
      "parents": [
        "d91e8db2c3bbe8ef0e2f3e1a6ff5b31a8d53ef16"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 21 19:05:13 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 21 19:48:26 2011 +0000"
      },
      "message": "regmap: Do debugfs init before cache init\n\nThis allows caches to add custom debugfs files.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "d91e8db2c3bbe8ef0e2f3e1a6ff5b31a8d53ef16",
      "tree": "2bcc299fa62738407b5e25483230f7249f0d016d",
      "parents": [
        "4c691664583ef6a91f9ed0e08a75fbd30a5ffd5c"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Nov 18 16:03:50 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Nov 20 20:56:38 2011 +0000"
      },
      "message": "regmap: Suppress noop writes in regmap_update_bits()\n\nIf the new register value is identical to the original one then suppress\nthe write to the hardware in regmap_update_bits(), saving some I/O cost.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "4c691664583ef6a91f9ed0e08a75fbd30a5ffd5c",
      "tree": "78f9234a8329352e1150ebc5409fe57171dff154",
      "parents": [
        "b44d48c1ccf70273a91b7d3a920b0b54c3cb314f"
      ],
      "author": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Fri Nov 18 16:53:00 2011 +0000"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Sun Nov 20 20:56:34 2011 +0000"
      },
      "message": "regmap: Remove indexed cache type\n\nThere should be no situation where it offers any advantage over rbtree\nand there are no current users so remove the code for simplicity.\n\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "b44d48c1ccf70273a91b7d3a920b0b54c3cb314f",
      "tree": "1208c5fa80a8e0b4f14844914afc76914572eb67",
      "parents": [
        "064d4db11e23949c40b8a2f2f6be11c131b53932"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Wed Nov 16 20:34:04 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Nov 17 16:51:27 2011 +0000"
      },
      "message": "regmap: Drop check whether a register is readable in regcache_read\n\nOne of the reasons for using a cache is to have a software shadow of a register\nwhich is writable but not readable. This allows us to do a read-modify-write\noperation on such a register.\n\nCurrently regcache checks whether a register is readable when performing a\ncached read and returns an error if it is not. Drop this check, since it will\nprevent us from using the cache for registers where read-back is not possible.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "064d4db11e23949c40b8a2f2f6be11c131b53932",
      "tree": "a61edaa49618b7189a01fa9bb1a9c19e5cfda625",
      "parents": [
        "7e5ec63ef574775900c82bd98f95bf039f513de3"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Wed Nov 16 20:34:03 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Thu Nov 17 16:51:23 2011 +0000"
      },
      "message": "regmap: Properly round cache_word_size\n\nregcache currently only properly works with val bit sizes of 8 or 16, since\nit will, when calculating the cache word size, round down. This causes the\ncache storage to be too small to hold the full register value. Fix this by\nrounding up instead.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "7e5ec63ef574775900c82bd98f95bf039f513de3",
      "tree": "0631b11d049bcc0445107ace9333c8810dcfdb85",
      "parents": [
        "19254411db4e69d90958244c5017e7e4a38547b0"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Wed Nov 16 16:28:21 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 16 17:34:53 2011 +0000"
      },
      "message": "regmap: Add support for 10/14 register formating\n\nThis patch adds support for 10 bits register, 14 bits value type register\nformating. This is for example used by the Analog Devices AD5380.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "19254411db4e69d90958244c5017e7e4a38547b0",
      "tree": "fd45ca553cb7aef1c4665b6a28df92818d8ce507",
      "parents": [
        "720e4616e8fd85284ef1addd8b8d93d8415e8dbc"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Wed Nov 16 16:28:19 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 16 17:34:53 2011 +0000"
      },
      "message": "regmap: Try cached read before checking if a hardware read is possible\n\nFor some register format types we do not provide a parse_val so we can not do a\nhardware read. But a cached read is still possible, so try to read from the\ncache first, before checking whether a hardware read is possible. Otherwise the\ncache becomes pretty useless for these register types.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "720e4616e8fd85284ef1addd8b8d93d8415e8dbc",
      "tree": "7e168b437b5b4ecb1154186e3234fbdbf9c52b92",
      "parents": [
        "e5e3b8abeda1cf45f5a079458dbc267952694c7a"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Wed Nov 16 16:28:17 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 16 17:34:53 2011 +0000"
      },
      "message": "regmap: Make reg_config reg_defaults const\n\nThe reg_defaults field usually points to a static per driver array, which should\nnot be modified. Make requirement this explicit by making reg_defaults const.\nTo allow this the regcache_init code needs some minor changes. Previoulsy the\nreg_config was not available in regcache_init and regmap-\u003ereg_defaults was used\nto pass the default register set to regcache_init. Now that the reg_config is\navailable we can work on it directly.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "e5e3b8abeda1cf45f5a079458dbc267952694c7a",
      "tree": "46bd89885c027beaa4d549ea5f1d79f8a9279433",
      "parents": [
        "c2b1ecd13c6a7b19f1c0c48b68f61ab083f3ec3f"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Wed Nov 16 16:28:16 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Wed Nov 16 17:34:53 2011 +0000"
      },
      "message": "regmap: Move initialization of regcache related fields to regcache_init\n\nMove the initialization regcache related fields of the regmap struct to\nregcache_init. This allows us to keep regmap and regcache code better\nseparated.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "c2b1ecd13c6a7b19f1c0c48b68f61ab083f3ec3f",
      "tree": "d895140a11bfaaa1e5240b69e1a94fc49168859e",
      "parents": [
        "462a185c5cea7063348003c1644b70a6f6780f01"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Tue Nov 15 13:34:41 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Nov 15 19:22:59 2011 +0000"
      },
      "message": "regmap: Do not call regcache_exit from regcache_lzo_init error path\n\nCalling regcache_exit from regcache_lzo_init is first of all a layering\nviolation and secondly will cause double frees. regcache_exit will free buffers\nallocated by the core, but the core will also free the same buffers when the\ncacheops init callback returns an error. Thus we end up with a double free.\nFix this by not calling regcache_exit but only free those buffers which, have\nbeen allocated in this function.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nAcked-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "462a185c5cea7063348003c1644b70a6f6780f01",
      "tree": "ea7bac0e1c53a745fc41e12142cadf6b334d42bf",
      "parents": [
        "bd061c78cabc28bb64ed79f784d24918b6bdb791"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Tue Nov 15 13:34:40 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Tue Nov 15 19:22:59 2011 +0000"
      },
      "message": "regmap: Do not call regcache_exit from regcache_rbtree_init error path\n\nCalling regcache_exit from regcache_rbtree_init is first of all a layering\nviolation and secondly will cause double frees. regcache_exit will free buffers\nallocated by the core, but the core will also free the same buffers when the\ncacheops init callback returns an error. Thus we end up with a double free.\nFix this by not calling regcache_exit but only free those buffers which, have\nbeen allocated in this function.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nAcked-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "bd061c78cabc28bb64ed79f784d24918b6bdb791",
      "tree": "22cc4e766df7839257eaa893ada3b623d6201e09",
      "parents": [
        "021cd616decb4e8a4b31f1f8c466a847e8c04e67"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Mon Nov 14 10:40:17 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 14 21:46:25 2011 +0000"
      },
      "message": "regmap: Fix memory leak in regcache_init error path\n\nMake sure all allocated memory gets freed again in case initializing the cache\nfailed.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nAcked-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "021cd616decb4e8a4b31f1f8c466a847e8c04e67",
      "tree": "94d59c03e8fd9b89148b76cf3cc18eda2ef05d87",
      "parents": [
        "abbb18fb4ad7472ee2e1351f0ca12bce64cac143"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Mon Nov 14 10:40:16 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 14 21:46:09 2011 +0000"
      },
      "message": "regmap: Fix memory leak in regcache_hw_init error path\n\nMake sure reg_defaults_raw gets freed in case of an error.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nAcked-by: Dimitris Papastamos \u003cdp@opensource.wolfsonmicro.com\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    },
    {
      "commit": "abbb18fb4ad7472ee2e1351f0ca12bce64cac143",
      "tree": "6d978b25cf53daefb0003cd54d4f98bbc3e0c292",
      "parents": [
        "58072cbfc522c2520e34333a53c8f17bb1adb1a0"
      ],
      "author": {
        "name": "Lars-Peter Clausen",
        "email": "lars@metafoo.de",
        "time": "Mon Nov 14 10:40:15 2011 +0100"
      },
      "committer": {
        "name": "Mark Brown",
        "email": "broonie@opensource.wolfsonmicro.com",
        "time": "Mon Nov 14 21:44:45 2011 +0000"
      },
      "message": "regmap: return ERR_PTR instead of NULL in regmap_init\n\nThe regmap_init documentation states that it will either return a pointer to a\nvalid regmap structure or a ERR_PTR in case of an error. Currently it returns a\nNULL pointer in case no bus or no config was given. Since NULL is not a\nERR_PTR a caller might assume that it is a pointer to a valid regmap structure,\nso return a ERR_PTR(-EINVAL) instead.\n\nSigned-off-by: Lars-Peter Clausen \u003clars@metafoo.de\u003e\nSigned-off-by: Mark Brown \u003cbroonie@opensource.wolfsonmicro.com\u003e\n"
    }
  ],
  "next": "58072cbfc522c2520e34333a53c8f17bb1adb1a0"
}
