:orphan:

Release Statistics for U-Boot v2021.10
======================================

* Processed 1509 csets from 176 developers

* 28 employers found

* A total of 98664 lines added, 74614 removed (delta 24050)

.. table:: Developers with the most changesets
   :widths: auto

   =================================  =====
   Name                               Count
   =================================  =====
   Simon Glass                        191 (12.7%)
   Tom Rini                           92 (6.1%)
   Michal Simek                       91 (6.0%)
   Pali Rohár                         80 (5.3%)
   Patrick Delaunay                   70 (4.6%)
   Tim Harvey                         54 (3.6%)
   Heinrich Schuchardt                51 (3.4%)
   Marek Vasut                        38 (2.5%)
   Aswath Govindraju                  37 (2.5%)
   Alexandru Gagniuc                  29 (1.9%)
   Marek Behún                        26 (1.7%)
   Bin Meng                           26 (1.7%)
   Ye Li                              26 (1.7%)
   Pratyush Yadav                     26 (1.7%)
   Peng Fan                           25 (1.7%)
   Tero Kristo                        22 (1.5%)
   Stephan Gerhold                    21 (1.4%)
   Andre Przywara                     20 (1.3%)
   Tony Dinh                          19 (1.3%)
   Ashok Reddy Soma                   18 (1.2%)
   Mattijs Korpershoek                18 (1.2%)
   Masami Hiramatsu                   18 (1.2%)
   Zong Li                            16 (1.1%)
   Siew Chin Lim                      15 (1.0%)
   Gireesh Hiremath                   15 (1.0%)
   Suman Anna                         13 (0.9%)
   Sean Anderson                      12 (0.8%)
   Kishon Vijay Abraham I             12 (0.8%)
   Masahisa Kojima                    10 (0.7%)
   Teresa Remmet                      10 (0.7%)
   Takahiro Kuwano                    10 (0.7%)
   T Karthik Reddy                    9 (0.6%)
   Artem Lapkin                       9 (0.6%)
   Alper Nebi Yasak                   9 (0.6%)
   Trevor Woerner                     9 (0.6%)
   Rasmus Villemoes                   8 (0.5%)
   Kuldeep Singh                      8 (0.5%)
   Fabio Estevam                      8 (0.5%)
   Steffen Jaeckel                    8 (0.5%)
   Vignesh Raghavendra                8 (0.5%)
   Stephen Carlson                    8 (0.5%)
   Dario Binacchi                     8 (0.5%)
   Samuel Holland                     7 (0.5%)
   Adam Ford                          7 (0.5%)
   Kunihiko Hayashi                   7 (0.5%)
   Vladimir Oltean                    7 (0.5%)
   Dave Gerlach                       6 (0.4%)
   Roland Gaudig                      6 (0.4%)
   AKASHI Takahiro                    6 (0.4%)
   Daniel Schwierzeck                 6 (0.4%)
   Gowtham Tammana                    6 (0.4%)
   Lokesh Vutla                       5 (0.3%)
   Priyanka Jain                      5 (0.3%)
   Wasim Khan                         5 (0.3%)
   Chris Morgan                       5 (0.3%)
   Johan Jonker                       5 (0.3%)
   Eugen Hristev                      5 (0.3%)
   Hai Pham                           5 (0.3%)
   Joseph Chen                        5 (0.3%)
   Grzegorz Szymaszek                 5 (0.3%)
   Patrice Chotard                    4 (0.3%)
   Ilias Apalodimas                   4 (0.3%)
   Matthias Schiffer                  4 (0.3%)
   Oleksandr Suvorov                  4 (0.3%)
   Michael Walle                      4 (0.3%)
   Matwey V. Kornilov                 4 (0.3%)
   Paul Barker                        4 (0.3%)
   Nandor Han                         4 (0.3%)
   Yifeng Zhao                        4 (0.3%)
   Frieder Schrempf                   4 (0.3%)
   Andy Shevchenko                    3 (0.2%)
   Tien Fong Chee                     3 (0.2%)
   Sebastian Reichel                  3 (0.2%)
   Camelia Groza                      3 (0.2%)
   Peter Robinson                     3 (0.2%)
   Xiaobo Tian                        3 (0.2%)
   John Keeping                       3 (0.2%)
   Reto Schneider                     3 (0.2%)
   Joao Marcos Costa                  3 (0.2%)
   Moses Christopher                  3 (0.2%)
   Tianrui Wei                        3 (0.2%)
   Jassi Brar                         3 (0.2%)
   Zhengxun                           3 (0.2%)
   Anand Moon                         3 (0.2%)
   Ilko Iliev                         3 (0.2%)
   Marek Szyprowski                   2 (0.1%)
   Matthias Brugger                   2 (0.1%)
   Mark Kettenis                      2 (0.1%)
   Roger Quadros                      2 (0.1%)
   Stefan Agner                       2 (0.1%)
   Raju Kumar Pothuraju               2 (0.1%)
   Oleh Kravchenko                    2 (0.1%)
   Dimitri John Ledkov                2 (0.1%)
   Guillaume La Roque                 2 (0.1%)
   Ming Liu                           2 (0.1%)
   Adarsh Babu Kalepalli              2 (0.1%)
   Thomas Perrot                      2 (0.1%)
   Jean-Jacques Hiblot                2 (0.1%)
   Piyush Mehta                       2 (0.1%)
   Chen Baozi                         2 (0.1%)
   Peter Hoyes                        2 (0.1%)
   Anders Dellien                     2 (0.1%)
   Lukasz Majewski                    2 (0.1%)
   Cosmin-Florin Aluchenesei          2 (0.1%)
   Vincent Chen                       2 (0.1%)
   Breno Lima                         2 (0.1%)
   MengLi                             2 (0.1%)
   Keerthy                            2 (0.1%)
   Sheep Sun                          2 (0.1%)
   Koji Matsuoka                      2 (0.1%)
   Elaine Zhang                       2 (0.1%)
   Tudor Ambarus                      2 (0.1%)
   Nicolas Saenz Julienne             1 (0.1%)
   Robert Marko                       1 (0.1%)
   Denis Odintsov                     1 (0.1%)
   Ruchika Gupta                      1 (0.1%)
   Simon Guinot                       1 (0.1%)
   Martyn Welch                       1 (0.1%)
   Nishanth Menon                     1 (0.1%)
   Jan Kiszka                         1 (0.1%)
   Christophe Leroy                   1 (0.1%)
   Ivan T. Ivanov                     1 (0.1%)
   Yuan Fang                          1 (0.1%)
   Marcel Ziswiler                    1 (0.1%)
   Derald D. Woods                    1 (0.1%)
   Yuezhang Mo                        1 (0.1%)
   Sven Auhagen                       1 (0.1%)
   Thomas Skibo                       1 (0.1%)
   Sai Krishna Potthuri               1 (0.1%)
   Ley Foon Tan                       1 (0.1%)
   Horia Geantă                       1 (0.1%)
   Kshitiz Varshney                   1 (0.1%)
   Jon Lin                            1 (0.1%)
   Johan Gunnarsson                   1 (0.1%)
   Alex Bee                           1 (0.1%)
   Christian Hewitt                   1 (0.1%)
   Campbell Suter                     1 (0.1%)
   Linus Walleij                      1 (0.1%)
   Icenowy Zheng                      1 (0.1%)
   Chris Packham                      1 (0.1%)
   litchipi                           1 (0.1%)
   Marc Kleine-Budde                  1 (0.1%)
   Chan, Donald                       1 (0.1%)
   Alan Douglas                       1 (0.1%)
   Faiz Abbas                         1 (0.1%)
   Manish Narani                      1 (0.1%)
   Mike Looijmans                     1 (0.1%)
   Ricardo Salveti                    1 (0.1%)
   Chia-Wei Wang                      1 (0.1%)
   Patrick Wildt                      1 (0.1%)
   Etienne Carriere                   1 (0.1%)
   Chen Guanqiao                      1 (0.1%)
   Vitaly Wool                        1 (0.1%)
   Alfonso Sánchez-Beato              1 (0.1%)
   Max Yang                           1 (0.1%)
   Joel Stanley                       1 (0.1%)
   Sven Roederer                      1 (0.1%)
   Yann Dirson                        1 (0.1%)
   Stefano Babic                      1 (0.1%)
   Cody Gray                          1 (0.1%)
   Kacper Kubkowski                   1 (0.1%)
   Christoph Niedermaier              1 (0.1%)
   Jernej Skrabec                     1 (0.1%)
   Yu-Tung Chang                      1 (0.1%)
   Paul Kocialkowski                  1 (0.1%)
   Sinan Akman                        1 (0.1%)
   Green Wan                          1 (0.1%)
   Radu Pirea (NXP OSS)               1 (0.1%)
   Jaime Liao                         1 (0.1%)
   Srinivas Neeli                     1 (0.1%)
   Stefano Stabellini                 1 (0.1%)
   Jorge Ramirez-Ortiz                1 (0.1%)
   Daniil Stas                        1 (0.1%)
   Michael Opdenacker                 1 (0.1%)
   Kevin Scholz                       1 (0.1%)
   Kai Stuhlemmer (ebee Engineering)  1 (0.1%)
   =================================  =====


.. table:: Developers with the most changed lines
   :widths: auto

   =================================  =====
   Name                               Count
   =================================  =====
   Tom Rini                           48665 (30.6%)
   Simon Glass                        14052 (8.8%)
   Peng Fan                           8037 (5.1%)
   Marek Vasut                        6463 (4.1%)
   Joseph Chen                        5161 (3.2%)
   Tim Harvey                         4466 (2.8%)
   Elaine Zhang                       4389 (2.8%)
   Zong Li                            3994 (2.5%)
   Patrick Delaunay                   3410 (2.1%)
   Aswath Govindraju                  3202 (2.0%)
   Michal Simek                       2657 (1.7%)
   Tien Fong Chee                     2547 (1.6%)
   Masami Hiramatsu                   2163 (1.4%)
   Tero Kristo                        2122 (1.3%)
   Siew Chin Lim                      1925 (1.2%)
   Pratyush Yadav                     1906 (1.2%)
   Ye Li                              1793 (1.1%)
   Sean Anderson                      1790 (1.1%)
   Yifeng Zhao                        1658 (1.0%)
   Stephan Gerhold                    1643 (1.0%)
   Peter Robinson                     1578 (1.0%)
   Dave Gerlach                       1550 (1.0%)
   Ashok Reddy Soma                   1456 (0.9%)
   Pali Rohár                         1432 (0.9%)
   Trevor Woerner                     1352 (0.8%)
   Steffen Jaeckel                    1326 (0.8%)
   Alexandru Gagniuc                  1220 (0.8%)
   Adam Ford                          1187 (0.7%)
   Jean-Jacques Hiblot                1174 (0.7%)
   Roland Gaudig                      1120 (0.7%)
   Tianrui Wei                        1029 (0.6%)
   Jassi Brar                         938 (0.6%)
   Nandor Han                         933 (0.6%)
   Keerthy                            931 (0.6%)
   Chris Morgan                       800 (0.5%)
   Kunihiko Hayashi                   781 (0.5%)
   Lokesh Vutla                       778 (0.5%)
   Alan Douglas                       760 (0.5%)
   Zhengxun                           754 (0.5%)
   Paul Barker                        730 (0.5%)
   Andre Przywara                     706 (0.4%)
   Linus Walleij                      667 (0.4%)
   Johan Jonker                       643 (0.4%)
   Vignesh Raghavendra                642 (0.4%)
   Hai Pham                           622 (0.4%)
   Heinrich Schuchardt                599 (0.4%)
   Tony Dinh                          584 (0.4%)
   Marek Behún                        573 (0.4%)
   Masahisa Kojima                    517 (0.3%)
   Ilias Apalodimas                   482 (0.3%)
   Dario Binacchi                     479 (0.3%)
   Fabio Estevam                      457 (0.3%)
   Kishon Vijay Abraham I             456 (0.3%)
   Joao Marcos Costa                  452 (0.3%)
   Teresa Remmet                      450 (0.3%)
   T Karthik Reddy                    406 (0.3%)
   Stephen Carlson                    398 (0.3%)
   Radu Pirea (NXP OSS)               368 (0.2%)
   Takahiro Kuwano                    358 (0.2%)
   Samuel Holland                     339 (0.2%)
   Sebastian Reichel                  314 (0.2%)
   Gireesh Hiremath                   301 (0.2%)
   Daniel Schwierzeck                 274 (0.2%)
   Alper Nebi Yasak                   254 (0.2%)
   Bin Meng                           226 (0.1%)
   Kevin Scholz                       220 (0.1%)
   Jorge Ramirez-Ortiz                218 (0.1%)
   Suman Anna                         214 (0.1%)
   Mattijs Korpershoek                206 (0.1%)
   Kuldeep Singh                      187 (0.1%)
   Vladimir Oltean                    135 (0.1%)
   Ilko Iliev                         134 (0.1%)
   Wasim Khan                         129 (0.1%)
   Artem Lapkin                       121 (0.1%)
   Michael Walle                      110 (0.1%)
   Yu-Tung Chang                      106 (0.1%)
   Guillaume La Roque                 81 (0.1%)
   Moses Christopher                  76 (0.0%)
   Vincent Chen                       75 (0.0%)
   Sinan Akman                        73 (0.0%)
   AKASHI Takahiro                    70 (0.0%)
   Koji Matsuoka                      65 (0.0%)
   Patrice Chotard                    62 (0.0%)
   Matwey V. Kornilov                 60 (0.0%)
   Rasmus Villemoes                   57 (0.0%)
   Eugen Hristev                      57 (0.0%)
   Roger Quadros                      55 (0.0%)
   Gowtham Tammana                    48 (0.0%)
   Jaime Liao                         46 (0.0%)
   Etienne Carriere                   44 (0.0%)
   Matthias Schiffer                  42 (0.0%)
   Priyanka Jain                      41 (0.0%)
   Derald D. Woods                    40 (0.0%)
   Frieder Schrempf                   39 (0.0%)
   Matthias Brugger                   37 (0.0%)
   Breno Lima                         37 (0.0%)
   Peter Hoyes                        36 (0.0%)
   Andy Shevchenko                    35 (0.0%)
   Jon Lin                            32 (0.0%)
   Grzegorz Szymaszek                 30 (0.0%)
   Manish Narani                      30 (0.0%)
   Piyush Mehta                       28 (0.0%)
   Kshitiz Varshney                   27 (0.0%)
   Yann Dirson                        27 (0.0%)
   Oleksandr Suvorov                  25 (0.0%)
   Lukasz Majewski                    24 (0.0%)
   Ruchika Gupta                      24 (0.0%)
   Camelia Groza                      22 (0.0%)
   Xiaobo Tian                        22 (0.0%)
   Stefan Agner                       21 (0.0%)
   Michael Opdenacker                 21 (0.0%)
   Sai Krishna Potthuri               20 (0.0%)
   Kai Stuhlemmer (ebee Engineering)  19 (0.0%)
   Nishanth Menon                     18 (0.0%)
   Marcel Ziswiler                    18 (0.0%)
   Oleh Kravchenko                    17 (0.0%)
   Reto Schneider                     16 (0.0%)
   MengLi                             16 (0.0%)
   Chris Packham                      16 (0.0%)
   litchipi                           16 (0.0%)
   Daniil Stas                        15 (0.0%)
   Ming Liu                           13 (0.0%)
   Marc Kleine-Budde                  13 (0.0%)
   Paul Kocialkowski                  13 (0.0%)
   John Keeping                       11 (0.0%)
   Anand Moon                         9 (0.0%)
   Tudor Ambarus                      9 (0.0%)
   Alfonso Sánchez-Beato              9 (0.0%)
   Marek Szyprowski                   8 (0.0%)
   Raju Kumar Pothuraju               8 (0.0%)
   Chen Baozi                         8 (0.0%)
   Mark Kettenis                      6 (0.0%)
   Dimitri John Ledkov                6 (0.0%)
   Sheep Sun                          6 (0.0%)
   Denis Odintsov                     6 (0.0%)
   Ivan T. Ivanov                     6 (0.0%)
   Mike Looijmans                     6 (0.0%)
   Vitaly Wool                        6 (0.0%)
   Cosmin-Florin Aluchenesei          5 (0.0%)
   Kacper Kubkowski                   5 (0.0%)
   Adarsh Babu Kalepalli              4 (0.0%)
   Sven Auhagen                       4 (0.0%)
   Ley Foon Tan                       4 (0.0%)
   Chia-Wei Wang                      4 (0.0%)
   Cody Gray                          4 (0.0%)
   Thomas Perrot                      3 (0.0%)
   Anders Dellien                     3 (0.0%)
   Martyn Welch                       3 (0.0%)
   Alex Bee                           3 (0.0%)
   Faiz Abbas                         3 (0.0%)
   Chen Guanqiao                      3 (0.0%)
   Jernej Skrabec                     3 (0.0%)
   Green Wan                          3 (0.0%)
   Robert Marko                       2 (0.0%)
   Jan Kiszka                         2 (0.0%)
   Yuezhang Mo                        2 (0.0%)
   Christian Hewitt                   2 (0.0%)
   Icenowy Zheng                      2 (0.0%)
   Patrick Wildt                      2 (0.0%)
   Max Yang                           2 (0.0%)
   Joel Stanley                       2 (0.0%)
   Sven Roederer                      2 (0.0%)
   Stefano Babic                      2 (0.0%)
   Christoph Niedermaier              2 (0.0%)
   Stefano Stabellini                 2 (0.0%)
   Nicolas Saenz Julienne             1 (0.0%)
   Simon Guinot                       1 (0.0%)
   Christophe Leroy                   1 (0.0%)
   Yuan Fang                          1 (0.0%)
   Thomas Skibo                       1 (0.0%)
   Horia Geantă                       1 (0.0%)
   Johan Gunnarsson                   1 (0.0%)
   Campbell Suter                     1 (0.0%)
   Chan, Donald                       1 (0.0%)
   Ricardo Salveti                    1 (0.0%)
   Srinivas Neeli                     1 (0.0%)
   =================================  =====


.. table:: Developers with the most lines removed
   :widths: auto

   =================================  =====
   Name                               Count
   =================================  =====
   Tom Rini                           46519 (62.3%)
   Simon Glass                        1414 (1.9%)
   Linus Walleij                      667 (0.9%)
   Patrick Delaunay                   331 (0.4%)
   Ilias Apalodimas                   293 (0.4%)
   Sean Anderson                      274 (0.4%)
   Ilko Iliev                         124 (0.2%)
   Stephen Carlson                    56 (0.1%)
   Suman Anna                         40 (0.1%)
   Derald D. Woods                    34 (0.0%)
   Xiaobo Tian                        20 (0.0%)
   Michael Walle                      15 (0.0%)
   Oleksandr Suvorov                  11 (0.0%)
   Lukasz Majewski                    5 (0.0%)
   Bin Meng                           2 (0.0%)
   Anand Moon                         2 (0.0%)
   Jan Kiszka                         2 (0.0%)
   Kai Stuhlemmer (ebee Engineering)  1 (0.0%)
   Ivan T. Ivanov                     1 (0.0%)
   Anders Dellien                     1 (0.0%)
   Yuezhang Mo                        1 (0.0%)
   =================================  =====


.. table:: Developers with the most signoffs (total 326)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Lokesh Vutla                      108 (33.1%)
   Michal Simek                      37 (11.3%)
   Neil Armstrong                    28 (8.6%)
   Tom Rini                          13 (4.0%)
   Peng Fan                          12 (3.7%)
   Kishon Vijay Abraham I            10 (3.1%)
   Andre Przywara                    10 (3.1%)
   Alexandru Gagniuc                 8 (2.5%)
   Marek Vasut                       7 (2.1%)
   Heinrich Schuchardt               6 (1.8%)
   Tero Kristo                       6 (1.8%)
   Jon Lin                           5 (1.5%)
   Guillaume La Roque                5 (1.5%)
   Ashok Reddy Soma                  5 (1.5%)
   Oleksandr Suvorov                 4 (1.2%)
   Markus Niebel                     4 (1.2%)
   Matthias Brugger                  4 (1.2%)
   Vignesh Raghavendra               4 (1.2%)
   Minkyu Kang                       3 (0.9%)
   Dave Gerlach                      3 (0.9%)
   Masami Hiramatsu                  3 (0.9%)
   Aswath Govindraju                 3 (0.9%)
   David Abdurachmanov               2 (0.6%)
   Jagan Teki                        2 (0.6%)
   Jonathan Balkind                  2 (0.6%)
   Roger Quadros                     2 (0.6%)
   Mattijs Korpershoek               2 (0.6%)
   T Karthik Reddy                   2 (0.6%)
   Hai Pham                          2 (0.6%)
   Jean-Jacques Hiblot               2 (0.6%)
   Ye Li                             2 (0.6%)
   Siew Chin Lim                     2 (0.6%)
   Patrick Delaunay                  1 (0.3%)
   Suman Anna                        1 (0.3%)
   Jan Kiszka                        1 (0.3%)
   Tom Warren                        1 (0.3%)
   Kever Yang                        1 (0.3%)
   Timothée Cercueil                 1 (0.3%)
   Murali Karicheri                  1 (0.3%)
   Robert Jones                      1 (0.3%)
   Paul Walmsley                     1 (0.3%)
   Alessandro Temil                  1 (0.3%)
   Praneeth Bajjuri                  1 (0.3%)
   Priyanka Jain                     1 (0.3%)
   Nishanth Menon                    1 (0.3%)
   Tudor Ambarus                     1 (0.3%)
   Patrice Chotard                   1 (0.3%)
   Marek Behún                       1 (0.3%)
   Pratyush Yadav                    1 (0.3%)
   Tien Fong Chee                    1 (0.3%)
   ================================  =====


.. table:: Developers with the most reviews (total 832)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Stefan Roese                      124 (14.9%)
   Simon Glass                       120 (14.4%)
   Patrice Chotard                   52 (6.2%)
   Jagan Teki                        50 (6.0%)
   Marek Behún                       45 (5.4%)
   Jaehoon Chung                     42 (5.0%)
   Ramon Fried                       38 (4.6%)
   Kever Yang                        36 (4.3%)
   Chris Packham                     31 (3.7%)
   Bin Meng                          30 (3.6%)
   Priyanka Jain                     28 (3.4%)
   Leo Yu-Chi Liang                  28 (3.4%)
   Heinrich Schuchardt               21 (2.5%)
   Heiko Schocher                    20 (2.4%)
   Patrick Delaunay                  13 (1.6%)
   Pali Rohár                        13 (1.6%)
   Sean Anderson                     11 (1.3%)
   Miquel Raynal                     11 (1.3%)
   Alexandru Gagniuc                 9 (1.1%)
   Linus Walleij                     9 (1.1%)
   Fabio Estevam                     9 (1.1%)
   Pratyush Yadav                    8 (1.0%)
   Tom Rini                          7 (0.8%)
   Andre Przywara                    7 (0.8%)
   Walter Lozano                     7 (0.8%)
   Rick Chen                         6 (0.7%)
   Patrick Wildt                     5 (0.6%)
   Neil Armstrong                    4 (0.5%)
   Ashok Reddy Soma                  4 (0.5%)
   Nishanth Menon                    4 (0.5%)
   Ilias Apalodimas                  4 (0.5%)
   Konstantin Porotchkin             4 (0.5%)
   Ye Li                             3 (0.4%)
   Suman Anna                        3 (0.4%)
   Igor Opaniuk                      3 (0.4%)
   Nicolas Saenz Julienne            2 (0.2%)
   Jernej Skrabec                    2 (0.2%)
   Mark Kettenis                     2 (0.2%)
   Marcel Ziswiler                   2 (0.2%)
   Peng Fan                          1 (0.1%)
   Masami Hiramatsu                  1 (0.1%)
   Andy Wu                           1 (0.1%)
   Asherah Connor                    1 (0.1%)
   Qu Wenruo                         1 (0.1%)
   Biju Bas                          1 (0.1%)
   Heiko Stuebner                    1 (0.1%)
   Jens Wiklander                    1 (0.1%)
   Horatiu Vultur                    1 (0.1%)
   Ley Foon Tan                      1 (0.1%)
   Daniel Schwierzeck                1 (0.1%)
   Sebastian Reichel                 1 (0.1%)
   Joao Marcos Costa                 1 (0.1%)
   Paul Barker                       1 (0.1%)
   Steffen Jaeckel                   1 (0.1%)
   ================================  =====


.. table:: Developers with the most test credits (total 67)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Chris Packham                     26 (38.8%)
   Patrice Chotard                   14 (20.9%)
   Simon Glass                       10 (14.9%)
   Patrick Wildt                     3 (4.5%)
   Michal Simek                      2 (3.0%)
   Jaehoon Chung                     1 (1.5%)
   Pali Rohár                        1 (1.5%)
   Tom Rini                          1 (1.5%)
   Andre Przywara                    1 (1.5%)
   Suman Anna                        1 (1.5%)
   Igor Opaniuk                      1 (1.5%)
   Masami Hiramatsu                  1 (1.5%)
   Tudor Ambarus                     1 (1.5%)
   Derald D. Woods                   1 (1.5%)
   Sughosh Ganu                      1 (1.5%)
   Stefan Agner                      1 (1.5%)
   Keerthy                           1 (1.5%)
   ================================  =====


.. table:: Developers who gave the most tested-by credits (total 67)
   :widths: auto

   =================================  =====
   Name                               Count
   =================================  =====
   Pali Rohár                         24 (35.8%)
   Marek Behún                        13 (19.4%)
   Bin Meng                           7 (10.4%)
   Stephan Gerhold                    4 (6.0%)
   Ye Li                              3 (4.5%)
   Joao Marcos Costa                  3 (4.5%)
   Ashok Reddy Soma                   2 (3.0%)
   Ilias Apalodimas                   2 (3.0%)
   Alexandru Gagniuc                  1 (1.5%)
   Jernej Skrabec                     1 (1.5%)
   Dave Gerlach                       1 (1.5%)
   Aswath Govindraju                  1 (1.5%)
   Kai Stuhlemmer (ebee Engineering)  1 (1.5%)
   Kevin Scholz                       1 (1.5%)
   Marek Szyprowski                   1 (1.5%)
   Ming Liu                           1 (1.5%)
   Adam Ford                          1 (1.5%)
   =================================  =====


.. table:: Developers with the most report credits (total 10)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          3 (30.0%)
   Marek Behún                       1 (10.0%)
   Keerthy                           1 (10.0%)
   Walter Lozano                     1 (10.0%)
   Minkyu Kang                       1 (10.0%)
   Jan Kiszka                        1 (10.0%)
   Andreas Schwab                    1 (10.0%)
   Fu Wei                            1 (10.0%)
   ================================  =====


.. table:: Developers who gave the most report credits (total 10)
   :widths: auto

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       4 (40.0%)
   Tom Rini                          3 (30.0%)
   Dave Gerlach                      1 (10.0%)
   Dimitri John Ledkov               1 (10.0%)
   Tianrui Wei                       1 (10.0%)
   ================================  =====


.. table:: Top changeset contributors by employer
   :widths: auto

   ==================================  =====
   Name                                Count
   ==================================  =====
   (Unknown)                           577 (38.2%)
   Google, Inc.                        191 (12.7%)
   Texas Instruments                   141 (9.3%)
   Konsulko Group                      93 (6.2%)
   AMD                                 91 (6.0%)
   NXP                                 86 (5.7%)
   ST Microelectronics                 74 (4.9%)
   Linaro                              44 (2.9%)
   DENX Software Engineering           43 (2.8%)
   Xilinx                              35 (2.3%)
   ARM                                 24 (1.6%)
   Intel                               21 (1.4%)
   BayLibre SAS                        20 (1.3%)
   Rockchip                            12 (0.8%)
   Phytec                              10 (0.7%)
   Renesas Electronics                 7 (0.5%)
   Socionext Inc.                      7 (0.5%)
   Toradex                             6 (0.4%)
   Weidmüller Interface GmbH & Co. KG  6 (0.4%)
   Bootlin                             4 (0.3%)
   Collabora Ltd.                      4 (0.3%)
   Ronetix                             3 (0.2%)
   SUSE                                3 (0.2%)
   Wind River                          2 (0.1%)
   Samsung                             2 (0.1%)
   Sony                                1 (0.1%)
   Pengutronix                         1 (0.1%)
   Siemens                             1 (0.1%)
   ==================================  =====


.. table:: Top lines changed by employer
   :widths: auto

   ==================================  =====
   Name                                Count
   ==================================  =====
   Konsulko Group                      48671 (30.6%)
   (Unknown)                           32467 (20.4%)
   Google, Inc.                        14052 (8.8%)
   Texas Instruments                   13223 (8.3%)
   Rockchip                            11240 (7.1%)
   NXP                                 10782 (6.8%)
   DENX Software Engineering           6493 (4.1%)
   Linaro                              4905 (3.1%)
   Intel                               4507 (2.8%)
   ST Microelectronics                 3472 (2.2%)
   AMD                                 2657 (1.7%)
   Xilinx                              1951 (1.2%)
   Weidmüller Interface GmbH & Co. KG  1120 (0.7%)
   Socionext Inc.                      781 (0.5%)
   ARM                                 745 (0.5%)
   Renesas Electronics                 687 (0.4%)
   Phytec                              450 (0.3%)
   Collabora Ltd.                      317 (0.2%)
   BayLibre SAS                        287 (0.2%)
   Ronetix                             134 (0.1%)
   Toradex                             69 (0.0%)
   SUSE                                43 (0.0%)
   Bootlin                             37 (0.0%)
   Wind River                          16 (0.0%)
   Pengutronix                         13 (0.0%)
   Samsung                             8 (0.0%)
   Sony                                2 (0.0%)
   Siemens                             2 (0.0%)
   ==================================  =====


.. table:: Employers with the most signoffs (total 326)
   :widths: auto

   =================================  =====
   Name                               Count
   =================================  =====
   Texas Instruments                  138 (42.3%)
   Xilinx                             44 (13.5%)
   (Unknown)                          39 (12.0%)
   BayLibre SAS                       35 (10.7%)
   NXP                                15 (4.6%)
   Konsulko Group                     13 (4.0%)
   ARM                                10 (3.1%)
   Rockchip                           6 (1.8%)
   Toradex                            4 (1.2%)
   SUSE                               4 (1.2%)
   Linaro                             3 (0.9%)
   Intel                              3 (0.9%)
   ST Microelectronics                3 (0.9%)
   Samsung                            3 (0.9%)
   Renesas Electronics                2 (0.6%)
   Amarula Solutions                  2 (0.6%)
   Siemens                            1 (0.3%)
   NVidia                             1 (0.3%)
   =================================  =====


.. table:: Employers with the most hackers (total 181)
   :widths: auto

   ==================================  =====
   Name                                Count
   ==================================  =====
   (Unknown)                           94 (51.9%)
   Texas Instruments                   15 (8.3%)
   NXP                                 12 (6.6%)
   Xilinx                              8 (4.4%)
   Linaro                              8 (4.4%)
   Rockchip                            4 (2.2%)
   Toradex                             4 (2.2%)
   DENX Software Engineering           4 (2.2%)
   ARM                                 3 (1.7%)
   Intel                               3 (1.7%)
   Bootlin                             3 (1.7%)
   BayLibre SAS                        2 (1.1%)
   Konsulko Group                      2 (1.1%)
   SUSE                                2 (1.1%)
   ST Microelectronics                 2 (1.1%)
   Renesas Electronics                 2 (1.1%)
   Collabora Ltd.                      2 (1.1%)
   Samsung                             1 (0.6%)
   Siemens                             1 (0.6%)
   Google, Inc.                        1 (0.6%)
   AMD                                 1 (0.6%)
   Weidmüller Interface GmbH & Co. KG  1 (0.6%)
   Socionext Inc.                      1 (0.6%)
   Phytec                              1 (0.6%)
   Ronetix                             1 (0.6%)
   Wind River                          1 (0.6%)
   Pengutronix                         1 (0.6%)
   Sony                                1 (0.6%)
   ==================================  =====
