)]}'
{
  "log": [
    {
      "commit": "dcddbc20a6c5a0ffe27973250a09af4ffd56b812",
      "tree": "522b17b0247ea938fb1147796263c6a64e4a9e66",
      "parents": [
        "18170600bd3f8255e147cd991996d0bcee240d95"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Wed Apr 15 16:37:25 2026 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 28 18:30:20 2026 +0200"
      },
      "message": "pwmtestperf: Implement -I for inversed polarity requests\n\nThe driver handling for .duty_offset_ns \u003e 0 isn\u0027t always trivial to get\nright. So make pwmtestperf capable to do some tests with a non-zero duty\noffset.\n\nFix a typo in the manpage en passant.\n\nLink: https://lore.kernel.org/r/20260415143724.447340-2-u.kleine-koenig@baylibre.com\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "18170600bd3f8255e147cd991996d0bcee240d95",
      "tree": "c0efbca3f035e13135c3b6d45417a8e475f439f4",
      "parents": [
        "7e51859bcc90a61d4ba46a626c48d85c1e4c13ba"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Jul 21 18:14:24 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Jul 29 19:08:01 2025 +0200"
      },
      "message": "Fix error messages to contain the correct chip and pwm ids\n\nCreate a variant of perror that takes a format string and arguments and\nuse that to replace the hardcoded zero in the error string.\n\nLink: https://lore.kernel.org/r/20250721161423.2273295-2-u.kleine-koenig@baylibre.com\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "7e51859bcc90a61d4ba46a626c48d85c1e4c13ba",
      "tree": "6e08b51a70cec820c2e5d2ec7b34ced853fd00f9",
      "parents": [
        "0fb5f1a606f1eb7b83a6cc0240ae300e2fadbca1"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Jul 21 14:08:57 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Jul 21 14:08:57 2025 +0200"
      },
      "message": "Release libpwm 1.0-rc2\n"
    },
    {
      "commit": "0fb5f1a606f1eb7b83a6cc0240ae300e2fadbca1",
      "tree": "921552a5ca20e9b52d9611f12f1082a38220d7ad",
      "parents": [
        "40eb549b731546d2d99d1075ca16cd6c5581ac7c"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Jul 21 14:07:22 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Jul 21 14:07:31 2025 +0200"
      },
      "message": "Makefile.am: Add uapi-pwm.h to distribution tarball\n\nFixes: 3a9a9d36d95e (\"cdev: Make backend compilable without \u003clinux/pwm.h\u003e\")\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "40eb549b731546d2d99d1075ca16cd6c5581ac7c",
      "tree": "0ae05ae8f7b0d93966cba3eb0d896661b18a0002",
      "parents": [
        "18d92cb4e09adaee975d04a6b1cd7aa2d21767a5"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Thu Jul 10 18:04:18 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Jul 21 13:09:32 2025 +0200"
      },
      "message": "pwmround/pwmset: Fix check for invalid duty_offset\n\n.period_length_ns \u003d\u003d .duty_offset_ns \u003d\u003d 0 is a valid waveform that\nshouldn\u0027t trigger a warning.\n\nLink: https://lore.kernel.org/r/20250710160417.2089742-2-u.kleine-koenig@baylibre.com\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "18d92cb4e09adaee975d04a6b1cd7aa2d21767a5",
      "tree": "533964992823b6eca112b25476490a74dc7021e5",
      "parents": [
        "480fa6e7b29d62128260c8d88718f68b39cd21f8"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Jul 08 19:24:16 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Jul 21 13:09:32 2025 +0200"
      },
      "message": "sysfs: Implement fine grained cache control\n\nTo save a few slow sysfs write accesses, track the validity of the four\nsysfs properties separately.\n\nLink: https://lore.kernel.org/r/6b94a7748509ca1e714c4ca51185371a1e12da65.1751995302.git.u.kleine-koenig@baylibre.com\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "480fa6e7b29d62128260c8d88718f68b39cd21f8",
      "tree": "24d8c3094a85216e356ed647385759a15d7a4cc0",
      "parents": [
        "bbaa8ca04b27b7016025a4da3d505d2961f782ae"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Jul 08 19:24:15 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Jul 21 13:09:32 2025 +0200"
      },
      "message": "sysfs: Keep polarity for constant waveforms\n\nSome waveforms have equivalent representations in sysfs with different\npolarities. As some PWMs only support a single polarity, minimize polarity\nchanges.\n\nLink: https://lore.kernel.org/r/372ed9bf9ac6c45c651fae81f8be6f909a6b7564.1751995302.git.u.kleine-koenig@baylibre.com\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "bbaa8ca04b27b7016025a4da3d505d2961f782ae",
      "tree": "1d8f856be3fcbc1244afdb63d698432acda58b73",
      "parents": [
        "7b2bee962631b7ee4fe65020d8dcceb37039dd77"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Jul 08 19:24:14 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Jul 21 13:08:29 2025 +0200"
      },
      "message": "sysfs: Fix polarity handling\n\nDepending on polarity the sysfs duty_cycle either defines the active or the\ninactive time of the PWM output. This has three effects that were not\nconsidered before in the sysfs backend:\n\n - If polarity changes this affects the waveform\u0027s duty_length;\n - if duty_length_ns changes and polarity is inverted this affects\n   duty_offset; and\n - for inverted polarity the written duty_cycle value must be\n   period_length_ns - duty_length_ns.\n\nTo simplify handling the first two items, rework the cache representation\nto use the parameters of the sysfs representation.\n\nFor the third introduce a helper variable.\n\nFixes: 67f0b9f2a2aa (\"First prototype for libpwm\")\nLink: https://lore.kernel.org/r/149cd2e217dfb90210cc6fff332ec776371b0387.1751995302.git.u.kleine-koenig@baylibre.com\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "7b2bee962631b7ee4fe65020d8dcceb37039dd77",
      "tree": "851c1056d24105b2c3c9233c4399bff6e3aededf",
      "parents": [
        "3a9a9d36d95e8aa5ed563590d53c1715285a5ffb"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Jul 08 19:24:13 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Mon Jul 21 13:07:15 2025 +0200"
      },
      "message": "sysfs: Fix a wrong condition for duty_cycle writing\n\nIt\u0027s an invalid cache that must result in setting the duty_cycle\nexplicitly. In this else branch it\u0027s already known that cache_valid is\ntrue. So the damage is small and the condition can just be dropped.\n\nFixes: 67f0b9f2a2aa (\"First prototype for libpwm\")\nLink: https://lore.kernel.org/r/edbef643dbd7489f232aee478e5b2d512c6db437.1751995302.git.u.kleine-koenig@baylibre.com\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "3a9a9d36d95e8aa5ed563590d53c1715285a5ffb",
      "tree": "3172b4caf89b0a6071285b7eeb9dba95c9ea78da",
      "parents": [
        "f7c32a3182cb7e5ff5d6550c7ae461e4b13a9a8d"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Fri May 16 21:18:56 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Sat May 17 17:10:14 2025 +0200"
      },
      "message": "cdev: Make backend compilable without \u003clinux/pwm.h\u003e\n\nThat uapi header is quite new and so hardly any system provides it yet.\nSo add a local copy and fall back to that to make character device\nsupport included unconditional.\n\nLink: https://lore.kernel.org/r/20250516191855.1354125-2-u.kleine-koenig@baylibre.com\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "f7c32a3182cb7e5ff5d6550c7ae461e4b13a9a8d",
      "tree": "dd80ee1ff369d62dcf7c332858c4e384080fa4c1",
      "parents": [
        "00aff52a76199f13ea9e0ad628ffcac93fdce538"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Fri May 16 21:15:36 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Sat May 17 17:08:13 2025 +0200"
      },
      "message": "sysfs: Complete cleanup in close callback\n\nUnexport used PWMs and close all open file descriptors.\n\nLink: https://lore.kernel.org/r/20250516191536.1353824-1-u.kleine-koenig@baylibre.com\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "00aff52a76199f13ea9e0ad628ffcac93fdce538",
      "tree": "17c0ce80c23cc3745c7d0d1ff0c14208fbd2d622",
      "parents": [
        "eb52203ed5c7679d5ada6cc8cf60d96e0accf3b8"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Wed Apr 16 12:24:00 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Wed May 14 17:26:27 2025 +0200"
      },
      "message": "Release libpwm 1.0-rc1\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "eb52203ed5c7679d5ada6cc8cf60d96e0accf3b8",
      "tree": "1b0ca2a420df6ce38002fb7b4b5ce299ce43fc19",
      "parents": [
        "fae029a342bd5773ec988f593acd978cb2057252"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Wed May 14 15:59:56 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Wed May 14 17:26:27 2025 +0200"
      },
      "message": "Provide manpages for pwmset, pwmround and pwmtestperf\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "fae029a342bd5773ec988f593acd978cb2057252",
      "tree": "9f95163b765ec16d74459054672da9b1031a72b6",
      "parents": [
        "0b0f058438b219870a8e583776c82d9d5daa42a5"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Wed May 14 11:17:15 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Wed May 14 17:17:17 2025 +0200"
      },
      "message": "README: Fix a spelling error\n\nFound by lintian while working on packaging libpwm for Debian.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "0b0f058438b219870a8e583776c82d9d5daa42a5",
      "tree": "280f546c8acbf1f2dbccb36dcc7d7c977993e812",
      "parents": [
        "6ae1a90f89f2f432484677e65fdac86dc5b0535b"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Wed Apr 16 18:34:42 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Thu Apr 17 09:37:05 2025 +0200"
      },
      "message": "Update SPDX copyright and license markers\n\nMake License of internal code consistently LGPL-2.1-only, update email\naddress and copyright years.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "6ae1a90f89f2f432484677e65fdac86dc5b0535b",
      "tree": "57569f8c7c7a02367d4b3bfd669101a580e203d4",
      "parents": [
        "aa1f7c3d4c479fa4810953368622c4245560dbd1"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Wed Apr 16 12:21:41 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Thu Apr 17 09:37:05 2025 +0200"
      },
      "message": "pwmset: Add switch -e to request exact waveform setting\n\nNote this is only supported for the cdev backend.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "aa1f7c3d4c479fa4810953368622c4245560dbd1",
      "tree": "576d7187874f9d7e5e1e25586435379d644719cc",
      "parents": [
        "d1643d3d02b628dd67ba07fae42b9811233d9b28"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Wed Apr 16 12:20:45 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Thu Apr 17 09:37:05 2025 +0200"
      },
      "message": "cdev: Implement backend for pwm_set_waveform_exact()\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "d1643d3d02b628dd67ba07fae42b9811233d9b28",
      "tree": "ebf1646a40fab5a2bd291b2ccd931bd1668467f0",
      "parents": [
        "cd62c9a00fa9166e008e8a2faf5d10d7dc13b3b1"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Wed Apr 16 12:20:02 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Thu Apr 17 09:37:05 2025 +0200"
      },
      "message": "libpwm: Add API function pwm_set_waveform_exact()\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "cd62c9a00fa9166e008e8a2faf5d10d7dc13b3b1",
      "tree": "cc645029c83391ecfe9de3d3b8e0ed7e5b8ed537",
      "parents": [
        "f09f6923ab521801241cbb85b1e1d087881ff7a9"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Wed Apr 16 19:17:59 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Thu Apr 17 09:37:05 2025 +0200"
      },
      "message": "Make sure pwm-internal.h and libpwm.sym are included in a release tarball\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "f09f6923ab521801241cbb85b1e1d087881ff7a9",
      "tree": "e72ea9c00fd69bb1921a63e7571e339325b9adcb",
      "parents": [
        "706a320bdd0e823104e94e3b2d44e3502faab739"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Thu Apr 17 09:29:59 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Thu Apr 17 09:32:34 2025 +0200"
      },
      "message": "pwmround: Fix format string for uint64_t variables\n\nThis fixes three -Wall warnings when compiling on a 64bit arch:\n\n\tpwmround.c:97:36: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 2 has type ‘uint64_t’ {aka ‘long unsigned int’} [-Wformat\u003d]\n\tpwmround.c:97:56: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 3 has type ‘uint64_t’ {aka ‘long unsigned int’} [-Wformat\u003d]\n\tpwmround.c:97:76: warning: format ‘%llu’ expects argument of type ‘long long unsigned int’, but argument 4 has type ‘uint64_t’ {aka ‘long unsigned int’} [-Wformat\u003d]\n\nFixes: 087882cf8f40 (\"pwmround: New console tool to wrap pwm_round_waveform()\")\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "706a320bdd0e823104e94e3b2d44e3502faab739",
      "tree": "3ceb8a9c39ba8c9f7f885ccdcb29c6ab9f92e9e7",
      "parents": [
        "4ddb8110018edc61dbf3d67cbb656bb9c686b6f9"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 14:45:35 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 14:48:58 2025 +0200"
      },
      "message": "README: Update for rename of pwmtest and new pwmround\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "4ddb8110018edc61dbf3d67cbb656bb9c686b6f9",
      "tree": "ad1b160f721c103c0850d6bd48cef0f5d34e8d7e",
      "parents": [
        "087882cf8f401eab39631f682af0f3f120abfcd5"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 11:02:33 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 14:48:37 2025 +0200"
      },
      "message": "libpwm: Drop old function names pwm_apply_state() and pwm_get_state()\n\nFor a clean start before libpwm starts to promise a stable API, drop old\nfunction names that are probably unused.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "087882cf8f401eab39631f682af0f3f120abfcd5",
      "tree": "a07b6ae40ab2177b82d1afa991522d79a841ff92",
      "parents": [
        "b7531dab8f8188ed4b9d1f029407f62e9613df3a"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 11:00:00 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 14:47:07 2025 +0200"
      },
      "message": "pwmround: New console tool to wrap pwm_round_waveform()\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "b7531dab8f8188ed4b9d1f029407f62e9613df3a",
      "tree": "4552003fa75f7d8aefd649770c918c3b20c7bebe",
      "parents": [
        "996dbcee51cfa8bff9666081a0619ec73d0fffe2"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 10:59:18 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 14:47:07 2025 +0200"
      },
      "message": "cdev: Implement backend for pwm_round_waveform()\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "996dbcee51cfa8bff9666081a0619ec73d0fffe2",
      "tree": "34a6c127b93388d9666b6d3086a1b41aab89e268",
      "parents": [
        "d0439cc7082b707baf3b0663ada9d84ce76d5a6d"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 10:58:38 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 14:47:07 2025 +0200"
      },
      "message": "libpwm: Add API function pwm_round_waveform()\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "d0439cc7082b707baf3b0663ada9d84ce76d5a6d",
      "tree": "cf4ca488daf47ce079d7e16707c663d573718ea1",
      "parents": [
        "3ef881326304bb1eae49a14c376e32383875b871"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 10:13:25 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 14:47:07 2025 +0200"
      },
      "message": "pwmset: Choose default duty_length a bit more intelligently\n\nThis allows to disable a PWM with just passing `-P 0`.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "3ef881326304bb1eae49a14c376e32383875b871",
      "tree": "23674e8e446a1d38b9f13c2e2b09151e073a83b0",
      "parents": [
        "4c98568f6a22a3b17539a4a0eafa5f384ba1fcf1"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 10:11:21 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 14:47:07 2025 +0200"
      },
      "message": "pwmset: Warn about invalid waveforms\n\nStill pass invalid settings on assuming the user knows what they do, but\nemit a warning anyhow to give a hint about the problem instead of\nfailing with just \"Invalid argument\".\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "4c98568f6a22a3b17539a4a0eafa5f384ba1fcf1",
      "tree": "4a9b6f5a4ac37798cd2e5300a57ebfaba470f427",
      "parents": [
        "5714be8a82b89a313f10e0b98a99273729d89056"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 14:46:58 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 14:46:58 2025 +0200"
      },
      "message": "Rename pwmtest to pwmset\n\nThis better matches its purpose.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "5714be8a82b89a313f10e0b98a99273729d89056",
      "tree": "92fab7fa5557b0751aad3e652f75778353ca5d50",
      "parents": [
        "4502e35552b6ca58106f49c20db2fb69e4339096"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 07:41:09 2025 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Apr 08 07:41:09 2025 +0200"
      },
      "message": "cdev: Fix error handling of PWM_IOCTL_REQUEST\n\nIf the PWM_IOCTL_REQUEST ioctl fails, the return value is -1 and errno\nis already set accordingly. So don\u0027t overwrite errno in the error path.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "4502e35552b6ca58106f49c20db2fb69e4339096",
      "tree": "0e415984cb9946ceaf4b2a23e6f7fa55d7dce680",
      "parents": [
        "6826be791c96dc2009839fb6f05576e931c76fff"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Fri Sep 20 10:34:27 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Fri Sep 20 10:34:27 2024 +0200"
      },
      "message": "cdev: Explicitly call PWM_IOCTL_REQUEST\n\nUp to now the kernel auto-requested the lines, but starting with\nv5 of the patch series adding support for pwm character devices\nrequesting is obligatory. Note this doesn\u0027t work with v4 and earlier as\nthe argument passing for PWM_IOCTL_REQUEST changed in v5.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "6826be791c96dc2009839fb6f05576e931c76fff",
      "tree": "5e0449ebb828ed94991c01831c415523287f8c03",
      "parents": [
        "ae09ef6896448e094d4457430674c8109014a052"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Wed Sep 18 18:27:44 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Wed Sep 18 18:27:44 2024 +0200"
      },
      "message": "cdev: Store pwm in the array that already exists for that purpose\n\nThis way for each pwm line only once memory is allocated.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "ae09ef6896448e094d4457430674c8109014a052",
      "tree": "9364d9d5bc96514abe593c10739b24569f308f7a",
      "parents": [
        "b085a8bacf8491d060e8e83d39cbdb9930192b77"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Thu Aug 01 11:33:33 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Fri Aug 02 08:58:20 2024 +0200"
      },
      "message": "configure.ac: Drop some debug code\n\nThis was introduced with the initial commit (i.e. 67f0b9f2a2aa (\"First\nprototype for libpwm\") and should never have been committed.\n\nSigned-off-by: Uwe Kleine-König \u003cukleinek@kernel.org\u003e\n"
    },
    {
      "commit": "b085a8bacf8491d060e8e83d39cbdb9930192b77",
      "tree": "59a481d947f7f28df1441cb3c548320baa50a139",
      "parents": [
        "dc70234319c8f0f6c60f9a183bfe58dcf6e79b94"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Thu Aug 01 00:56:55 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Fri Aug 02 08:58:15 2024 +0200"
      },
      "message": "cdev: Stop using PWM_IOCTL_GET_NUM_PWMS\n\nThis ioctl will be dropped before pwm chardev support will go mainline.\nSo extract the number of pwm lines from sysfs.\n\nSigned-off-by: Uwe Kleine-König \u003cukleinek@kernel.org\u003e\n"
    },
    {
      "commit": "dc70234319c8f0f6c60f9a183bfe58dcf6e79b94",
      "tree": "1c3f3b763d1d25441884dcdf325c45206bcb14b9",
      "parents": [
        "c2486ebb53c49de263a17d42be205a23e92e5b60"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Mon Jul 29 21:53:29 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Mon Jul 29 21:55:25 2024 +0200"
      },
      "message": "Adopt _ns suffix\n\nThe kernel interface changed to use a _ns suffix for the members of\nstruct pwmchip_waveform. Do the same for the lib API.\n\nSigned-off-by: Uwe Kleine-König \u003cukleinek@kernel.org\u003e\n"
    },
    {
      "commit": "c2486ebb53c49de263a17d42be205a23e92e5b60",
      "tree": "83ba7601f238f133cd7a3a4ede55c137318ff209",
      "parents": [
        "e10534b9217f0682c0291a1437e541de52880a32"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Mon Jul 29 21:49:17 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Mon Jul 29 21:49:19 2024 +0200"
      },
      "message": "cdev: Update to v3 of kernel chardev support\n\nLink: https://lore.kernel.org/linux-pwm/cover.1722261050.git.u.kleine-koenig@baylibre.com\nSigned-off-by: Uwe Kleine-König \u003cukleinek@kernel.org\u003e\n"
    },
    {
      "commit": "e10534b9217f0682c0291a1437e541de52880a32",
      "tree": "58cc77851f0f6220c15325b50224970dee92f2a3",
      "parents": [
        "6d1129c7cabd8cf47f14ba201a6960f26b0af423"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Mon Jul 15 12:43:38 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Mon Jul 15 12:43:38 2024 +0200"
      },
      "message": "pwmtestperf: Introduce step option for period\n\nThis allows to test decreasing values of period and do the testing in\nbigger steps.\n\nSigned-off-by: Uwe Kleine-König \u003cukleinek@kernel.org\u003e\n"
    },
    {
      "commit": "6d1129c7cabd8cf47f14ba201a6960f26b0af423",
      "tree": "288bf920147f0c9098aebd16497dde1c4bc469fc",
      "parents": [
        "dd530095bdc8b5b4c31803ea7bf23db2c30fe475"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Mon Jul 15 12:40:59 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Mon Jul 15 12:40:59 2024 +0200"
      },
      "message": "Restrict period to \u003c\u003d INT64_MAX and do some sanity checking\n\nThe restriction for period shouldn\u0027t matter much, I guess most users\nwon\u0027t need period length bigger than 100000 days.\n\nSigned-off-by: Uwe Kleine-König \u003cukleinek@kernel.org\u003e\n"
    },
    {
      "commit": "dd530095bdc8b5b4c31803ea7bf23db2c30fe475",
      "tree": "32c717474af65cf739f559ee94b182a3b18d0685",
      "parents": [
        "61f31bb5fbdea730d7d1bedf4b37b0ec299f19f9"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Fri Jun 28 17:30:06 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Fri Jun 28 17:30:06 2024 +0200"
      },
      "message": "sysfs: Check period_length \u003d\u003d 0 first to win one indention level\n\nThe biggest part of the pwm_chip_sysfs_set_waveform() function is in\nan if block. Check for the simple case first and return in there. This\nway the big code block can live at a reduced indention level.\n\nSuggested-by: Alexandru Ardelean \u003caardelean@baylibre.com\u003e\nSigned-off-by: Uwe Kleine-König \u003cukleinek@kernel.org\u003e\n"
    },
    {
      "commit": "61f31bb5fbdea730d7d1bedf4b37b0ec299f19f9",
      "tree": "7be6617ce38545acef50b2f252cc6b132bb9ca28",
      "parents": [
        "5bc95f125a2f6c2ef699e030438529def6ef37e1"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Thu Jun 27 20:59:29 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Thu Jun 27 23:28:22 2024 +0200"
      },
      "message": "cdev: Update to new WIP API of the kernel pwm devices\n\nSigned-off-by: Uwe Kleine-König \u003cukleinek@kernel.org\u003e\n"
    },
    {
      "commit": "5bc95f125a2f6c2ef699e030438529def6ef37e1",
      "tree": "e7ef41902cda16bf19cddf43c125a76d60b58562",
      "parents": [
        "38f38c363d2ef960acc1fb07f649342ef36ca9ed"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Thu Jun 27 16:04:32 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Thu Jun 27 23:28:22 2024 +0200"
      },
      "message": "Adopt new (better) nameing conventions\n\n  state -\u003e waveform\n  period -\u003e period_length\n  duty_cycle -\u003e duty_length\n\nAliases for the two renamed functions are introduced to not break\nbinaries using libpwm. (Well, there is no stable API promise (yet), but\nit\u0027s easy enough.)\n\nSigned-off-by: Uwe Kleine-König \u003cukleinek@kernel.org\u003e\n"
    },
    {
      "commit": "38f38c363d2ef960acc1fb07f649342ef36ca9ed",
      "tree": "2becb35884630cc9bb149db19a74fbcef82c465c",
      "parents": [
        "f49d189e68e79c0f4e7dd4015e6a69865a183c6f"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Thu Jun 27 16:02:04 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "ukleinek@kernel.org",
        "time": "Thu Jun 27 16:02:04 2024 +0200"
      },
      "message": "Add libpwm.sym as a dependency of libpwm.la\n\nIf libpwm.sym changes libpwm.la should be rebuild, so list it as a dependency.\n\nSigned-off-by: Uwe Kleine-König \u003cukleinek@kernel.org\u003e\n"
    },
    {
      "commit": "f49d189e68e79c0f4e7dd4015e6a69865a183c6f",
      "tree": "28b3c21c0f6c296e84f062035668c116b55323cb",
      "parents": [
        "9fa188dae398c8d59b27022474a7d20d3413480d"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Jun 18 11:30:46 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Jun 18 11:30:46 2024 +0200"
      },
      "message": "pwmtest: Add a verbose switch (-v)\n\nTo make pwmtest verbose, pass -v. (Or actually: To make it more silent\nthan it was before, don\u0027t pass -v.)\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "9fa188dae398c8d59b27022474a7d20d3413480d",
      "tree": "7bd9a69453db14e1c9fe5646349f1d7193c19b7d",
      "parents": [
        "f7a7496fcb9db076ff0aec5cdac911d7606acc02"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Jun 18 11:18:54 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@baylibre.com",
        "time": "Tue Jun 18 11:20:08 2024 +0200"
      },
      "message": "pwmtest: Make sleep length configurable\n\nWhile it\u0027s usefull to have the sleep long to give some time to observe\nthe output, a short period is also usefull at times, e.g. to call\npwmtest in a tight loop to test many different settings.\n\nSo make the amount to sleep configurable using -s and a number of\nnanoseconds.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@baylibre.com\u003e\n"
    },
    {
      "commit": "f7a7496fcb9db076ff0aec5cdac911d7606acc02",
      "tree": "5209bee3045c61ac0512218c8348dade581454b8",
      "parents": [
        "46ae8279a4141aa950bfcb2409a4da284d03d8ba"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue Apr 09 10:31:27 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue Apr 09 10:31:27 2024 +0200"
      },
      "message": "README: Document where and how to send patches for contributions\n"
    },
    {
      "commit": "46ae8279a4141aa950bfcb2409a4da284d03d8ba",
      "tree": "1781dbab0367d97f69bcd3973fb373e34619326b",
      "parents": [
        "910fef6430a4f214ec921ecddcfc24cc946320f1"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue Apr 09 10:16:20 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue Apr 09 10:19:51 2024 +0200"
      },
      "message": "COPYING: Establish a license conformance procedure\n\nTo keep the license situation for libpwm clean, document a procedure\nsimilar to how Linux kernel contributions are handled involving the\nDeveloper\u0027s Certificate of Origin.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\n"
    },
    {
      "commit": "910fef6430a4f214ec921ecddcfc24cc946320f1",
      "tree": "b9542cb750ba4fb35964df240647c3b79b61a977",
      "parents": [
        "046435df57055c60d72bed414d2fac2d0161a945"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue Apr 09 10:04:26 2024 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Tue Apr 09 10:18:21 2024 +0200"
      },
      "message": "Provide an initial .gitignore file\n\nTo declutter the output of git status add a .gitignore file for automatically\ngenerated stuff that should be ignored by git.\n"
    },
    {
      "commit": "046435df57055c60d72bed414d2fac2d0161a945",
      "tree": "f2aedda4480d47afb74d34987827a4b51b8c3168",
      "parents": [
        "8ef8f5b1f4d9c20d361cbeef0da64504e9d3bc1c"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "uwe@kleine-koenig.org",
        "time": "Sun Mar 17 11:43:23 2024 +0100"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "uwe@kleine-koenig.org",
        "time": "Sun Mar 17 11:43:23 2024 +0100"
      },
      "message": "cdev: Implement get_state callback\n"
    },
    {
      "commit": "8ef8f5b1f4d9c20d361cbeef0da64504e9d3bc1c",
      "tree": "81988f04dc4f8594e25f47724dce4c933e7da087",
      "parents": [
        "2860dd0fb70d9bf1ca28f53648eec7378b522c80"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "uwe@kleine-koenig.org",
        "time": "Thu Oct 26 07:29:25 2023 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "uwe@kleine-koenig.org",
        "time": "Thu Oct 26 07:32:22 2023 +0200"
      },
      "message": "confgure: Provide better args to AC_INIT call\n\nReplace dummy bug-report address with the linux-pwm mailing list, drop\ndummy homepage URL and TARNAME ($4) that defaults to PACKAGE ($1) when\nnot given.\n"
    },
    {
      "commit": "2860dd0fb70d9bf1ca28f53648eec7378b522c80",
      "tree": "37aee568610e276a298d813b24776d85af78a128",
      "parents": [
        "4f64440b7163589741cdec7c11340670f9dbd9a1"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Oct 25 16:10:45 2023 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "uwe@kleine-koenig.org",
        "time": "Thu Oct 26 07:32:19 2023 +0200"
      },
      "message": "Fix a few warnings when using -Wextra\n\nI didn\u0027t check in detail, but I think they are all harmless.\n"
    },
    {
      "commit": "4f64440b7163589741cdec7c11340670f9dbd9a1",
      "tree": "911b878c9684d1cd7b3b909bdbc9c43751c63846",
      "parents": [
        "5dc4fe252ffa93cc4d4ed5d6288e5d3d53ce086b"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Wed Oct 25 16:09:57 2023 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "uwe@kleine-koenig.org",
        "time": "Thu Oct 26 07:32:13 2023 +0200"
      },
      "message": "Fix returning an uninitialized value in pwm_chip_sysfs_apply_state()\n\nI would have expected the compiler to warn about this potentially\nuninitialized usage, but it doesn\u0027t.\n\nReported-by: Jens Gehrlein \u003cj.gehrlein@eckelmann.de\u003e\n"
    },
    {
      "commit": "5dc4fe252ffa93cc4d4ed5d6288e5d3d53ce086b",
      "tree": "0365d6a2ceb47689ebfdbd74d318021298e360e3",
      "parents": [
        "67f0b9f2a2aa9bb4d54bb2e7e42cec69f30d7951"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Mon Oct 23 13:02:42 2023 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "uwe@kleine-koenig.org",
        "time": "Thu Oct 26 07:32:10 2023 +0200"
      },
      "message": "Fix sysfs backend for pwmchips with npwm \u003e 1\n"
    },
    {
      "commit": "67f0b9f2a2aa9bb4d54bb2e7e42cec69f30d7951",
      "tree": "19ea2dedf3f57b8eaf4d9e8e174987db22557dcb",
      "parents": [],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Oct 12 12:17:42 2023 +0200"
      },
      "committer": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Oct 12 12:17:42 2023 +0200"
      },
      "message": "First prototype for libpwm\n"
    }
  ]
}
