<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/source/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in xforms_lists.py</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>7538df7a2d7d26428803cf8053476169a6d28659 - docs: xforms_lists: use CMatch for all identifiers</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/python/kdoc/xforms_lists.py#7538df7a2d7d26428803cf8053476169a6d28659</link>
        <description>docs: xforms_lists: use CMatch for all identifiersCMatch is lexically correct and replaces only identifiers,which is exactly where macro transformations happen.Use it to make the output safer and ensure that all argumentswill be parsed the right way, even on complex cases.Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;Message-ID: &lt;86d4a07ff0e054207747fabf38d6bb261b52b5fa.1773770483.git.mchehab+huawei@kernel.org&gt;

            List of files:
            /linux/tools/lib/python/kdoc/xforms_lists.py</description>
        <pubDate>Tue, 17 Mar 2026 19:09:42 +0100</pubDate>
        <dc:creator>Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>79d881beb721d27f679f0dc1cba2d5fe2d7f6d8d - docs: kdoc_parser: avoid tokenizing structs everytime</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/python/kdoc/xforms_lists.py#79d881beb721d27f679f0dc1cba2d5fe2d7f6d8d</link>
        <description>docs: kdoc_parser: avoid tokenizing structs everytimeMost of the rules inside CTransforms are of the type CMatch.Don&apos;t re-parse the source code every time.Doing this doesn&apos;t change the output, but makes kdoc almostas fast as before the tokenizer patches:    # Before tokenizer patches    $ time ./scripts/kernel-doc . -man &gt;original 2&gt;&amp;1    real    0m42.933s    user    0m36.523s    sys     0m1.145s    # After tokenizer patches    $ time ./scripts/kernel-doc . -man &gt;before 2&gt;&amp;1    real    1m29.853s    user    1m23.974s    sys     0m1.237s    # After this patch    $ time ./scripts/kernel-doc . -man &gt;after 2&gt;&amp;1    real    0m48.579s    user    0m45.938s    sys     0m0.988s    $ diff -s before after    Files before and after are identicalManually checked the differences between original and afterwith:    $ diff -U0 -prBw original after|grep -v Warning|grep -v &quot;@@&quot;|lessThey&apos;re due:  - whitespace fixes;  - struct_group are now better handled;  - several badly-generated man pages from broken inline kernel-doc    markups are now fixed.Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;Message-ID: &lt;1cc2a4286ebf7d4b2d03fcaf42a1ba9fa09004b9.1773770483.git.mchehab+huawei@kernel.org&gt;

            List of files:
            /linux/tools/lib/python/kdoc/xforms_lists.py</description>
        <pubDate>Tue, 17 Mar 2026 19:09:41 +0100</pubDate>
        <dc:creator>Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>2f07ddbd5793df4ec24f727322cc68065feb3568 - docs: xforms_lists: better evaluate struct_group macros</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/python/kdoc/xforms_lists.py#2f07ddbd5793df4ec24f727322cc68065feb3568</link>
        <description>docs: xforms_lists: better evaluate struct_group macrosThe previous approach were to unwind nested structs/unions.Now that we have a logic that can handle it well, use it toensure that struct_group macros will properly reflect theactual struct.Note that the replacemend logic still simplifies the codea little bit, as the basic build block for struct group is:	union { \		struct { MEMBERS } ATTRS; \		struct __struct_group_tag(TAG) { MEMBERS } ATTRS NAME; \	} ATTRSThere:- ATTRS is meant to add extra macro attributes like __packed  which we already discard, as they aren&apos;t relevant to  document struct members;- TAG is used only when built with __cplusplus.So, instead, convert them into just:    struct { MEMBERS };Please notice that here, we&apos;re using the greedy version of thebackrefs, as MEMBERS is actually MEMBERS... on all such macros.Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;Reviewed-by: Aleksandr Loktionov &lt;aleksandr.loktionov@intel.com&gt;Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;Message-ID: &lt;24bf2c036b08814d9b4aabc27542fd3b2ff54424.1773770483.git.mchehab+huawei@kernel.org&gt;

            List of files:
            /linux/tools/lib/python/kdoc/xforms_lists.py</description>
        <pubDate>Tue, 17 Mar 2026 19:09:37 +0100</pubDate>
        <dc:creator>Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>f63e6163c7e4f988b2ff35721ffc86b95425293f - docs: xforms_lists: handle struct_group directly</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/python/kdoc/xforms_lists.py#f63e6163c7e4f988b2ff35721ffc86b95425293f</link>
        <description>docs: xforms_lists: handle struct_group directlyThe previous logic was handling struct_group on two steps.Remove the previous approach, as CMatch can do it the rightway on a single step.Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;Message-ID: &lt;da7f879d90e3ffbc1f47771522f212a60df1fab6.1773770483.git.mchehab+huawei@kernel.org&gt;

            List of files:
            /linux/tools/lib/python/kdoc/xforms_lists.py</description>
        <pubDate>Tue, 17 Mar 2026 19:09:36 +0100</pubDate>
        <dc:creator>Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>600079fdcf46fafe15b4ccd62804d66e05309cc6 - docs: kdoc: replace NestedMatch with CMatch</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/python/kdoc/xforms_lists.py#600079fdcf46fafe15b4ccd62804d66e05309cc6</link>
        <description>docs: kdoc: replace NestedMatch with CMatchOur previous approach to solve nested structs were to useNestedMatch. It works well, but adding support to parse delimitersis very complex.Instead, use CMatch, which uses a C tokenizer, making the code morereliable and simpler.Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;Message-ID: &lt;900bff66f8093402999f9fe055fbfa3fa33a8d8b.1773770483.git.mchehab+huawei@kernel.org&gt;

            List of files:
            /linux/tools/lib/python/kdoc/xforms_lists.py</description>
        <pubDate>Tue, 17 Mar 2026 19:09:34 +0100</pubDate>
        <dc:creator>Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>85c2a51357f720fabfb6fa8d2551d87a94e797cb - docs: kdoc_parser: move nested match transforms to xforms_lists.py</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/python/kdoc/xforms_lists.py#85c2a51357f720fabfb6fa8d2551d87a94e797cb</link>
        <description>docs: kdoc_parser: move nested match transforms to xforms_lists.pyAs NestedMatch now has a sub method and a declaration close towhat KernRe does, we can move the rules to xforms_lists andsimplify kdoc_parser a little bit.No functional changes.Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;Message-ID: &lt;762ce2a58ff024c1b0b6f6a6e05020d1415b8308.1772469446.git.mchehab+huawei@kernel.org&gt;

            List of files:
            /linux/tools/lib/python/kdoc/xforms_lists.py</description>
        <pubDate>Mon, 02 Mar 2026 17:41:01 +0100</pubDate>
        <dc:creator>Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;</dc:creator>
    </item>
<item>
        <title>4ff59bdd93f0e80b5014977502d082c778f96304 - docs: xforms_lists: ignore context analysis and lock attributes</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/python/kdoc/xforms_lists.py#4ff59bdd93f0e80b5014977502d082c778f96304</link>
        <description>docs: xforms_lists: ignore context analysis and lock attributesDrop context analysis and lock (tracking) attributes to avoidkernel-doc warnings.There are now lots of warnings like these:    Documentation/core-api/kref:328: ../include/linux/kref.h:72: WARNING: Invalid C declaration: Expected end of definition. [error at 96]      int kref_put_mutex (struct kref *kref, void (*release)(struct kref *kref), struct mutex *mutex) __cond_acquires(true# mutex)      ------------------------------------------------------------------------------------------------^    Documentation/core-api/kref:328: ../include/linux/kref.h:94: WARNING: Invalid C declaration: Expected end of definition. [error at 92]      int kref_put_lock (struct kref *kref, void (*release)(struct kref *kref), spinlock_t *lock) __cond_acquires(true# lock)      --------------------------------------------------------------------------------------------^The regex is suggested by Mauro; mine was too greedy. Thanks.Updated context analysis and lock macros list provided by PeterZ. Thanks.[mchehab: modified to be applied after xforms_lists split]Reported-by: Stephen Rothwell &lt;sfr@canb.auug.org.au&gt;Closes: https://lore.kernel.org/all/20260107161548.45530e1c@canb.auug.org.au/Signed-off-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;Reviewed-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;Reviewed-by: Aleksandr Loktionov &lt;aleksandr.loktionov@intel.com&gt;Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;Message-ID: &lt;3c7fdfc364a8920f92530b47bdbf4bb29a40371f.1772469446.git.mchehab+huawei@kernel.org&gt;

            List of files:
            /linux/tools/lib/python/kdoc/xforms_lists.py</description>
        <pubDate>Mon, 02 Mar 2026 17:40:56 +0100</pubDate>
        <dc:creator>Randy Dunlap &lt;rdunlap@infradead.org&gt;</dc:creator>
    </item>
<item>
        <title>d842057c4a205084fb3036122c7426963f04e826 - docs: kdoc_parser: move transform lists to a separate file</title>
        <link>http://kernelsources.org:8080/source/history/linux/tools/lib/python/kdoc/xforms_lists.py#d842057c4a205084fb3036122c7426963f04e826</link>
        <description>docs: kdoc_parser: move transform lists to a separate fileOver the time, most of the changes at kernel-doc are relatedto maintaining a list of transforms to convert macros into pureC code.Place such transforms on a separate module, to cleanup theparser module.There is an advantage on that: QEMU also uses our own kernel-doc,but the xforms list there is different. By placing it on aseparate module, we can minimize the differences and make iteasier to keep QEMU in sync with Kernel upstream.No functional changes.Signed-off-by: Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;Reviewed-by: Aleksandr Loktionov &lt;aleksandr.loktionov@intel.com&gt;Signed-off-by: Jonathan Corbet &lt;corbet@lwn.net&gt;Message-ID: &lt;ccd74b7589e1fff340a74bf8ed16a974532cb54f.1772469446.git.mchehab+huawei@kernel.org&gt;

            List of files:
            /linux/tools/lib/python/kdoc/xforms_lists.py</description>
        <pubDate>Mon, 02 Mar 2026 17:40:55 +0100</pubDate>
        <dc:creator>Mauro Carvalho Chehab &lt;mchehab+huawei@kernel.org&gt;</dc:creator>
    </item>
</channel>
</rss>
