:orphan:

Release Statistics for U-Boot v2023.04
======================================

* Processed 1691 changesets from 157 developers

* 28 employers found

* A total of 174471 lines added, 78380 removed (delta 96091)

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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           381 (22.5%)
   Tom Rini                              333 (19.7%)
   Marek Vasut                           101 (6.0%)
   Heinrich Schuchardt                   70 (4.1%)
   Jagan Teki                            53 (3.1%)
   Jonas Karlman                         36 (2.1%)
   Patrick Delaunay                      35 (2.1%)
   Hai Pham                              21 (1.2%)
   Michal Simek                          20 (1.2%)
   Maxim Cournoyer                       20 (1.2%)
   Svyatoslav Ryhel                      17 (1.0%)
   Sean Anderson                         15 (0.9%)
   Fabio Estevam                         14 (0.8%)
   Pali Rohár                            14 (0.8%)
   Sumit Garg                            14 (0.8%)
   Bryan Brattlof                        14 (0.8%)
   Sinthu Raja                           13 (0.8%)
   Andre Przywara                        13 (0.8%)
   Heiko Schocher                        13 (0.8%)
   Yu Chien Peter Lin                    12 (0.7%)
   Tim Harvey                            12 (0.7%)
   Peng Fan                              12 (0.7%)
   Tony Dinh                             11 (0.7%)
   Angelo Dureghello                     11 (0.7%)
   Masahisa Kojima                       11 (0.7%)
   Quentin Schulz                        11 (0.7%)
   Roger Quadros                         11 (0.7%)
   Marcel Ziswiler                       11 (0.7%)
   Holger Brunck                         10 (0.6%)
   Mark Kettenis                         10 (0.6%)
   Sergiu Moga                           10 (0.6%)
   Nikhil M Jain                         9 (0.5%)
   Jim Liu                               9 (0.5%)
   Christophe Leroy                      9 (0.5%)
   Balamanikandan Gunasundar             9 (0.5%)
   Dario Binacchi                        8 (0.5%)
   Samuel Holland                        8 (0.5%)
   Frieder Schrempf                      8 (0.5%)
   Mikhail Ilin                          8 (0.5%)
   Sjoerd Simons                         7 (0.4%)
   Neil Armstrong                        7 (0.4%)
   Eugen Hristev                         7 (0.4%)
   Chris Morgan                          7 (0.4%)
   Dzmitry Sankouski                     7 (0.4%)
   Ioana Ciornei                         7 (0.4%)
   Ilias Apalodimas                      6 (0.4%)
   Peter Robinson                        6 (0.4%)
   Paweł Anikiel                         6 (0.4%)
   Andrejs Cainikovs                     6 (0.4%)
   Rob Herring                           6 (0.4%)
   John Keeping                          5 (0.3%)
   Mihai Sain                            5 (0.3%)
   Rick Chen                             5 (0.3%)
   Sergei Antonov                        5 (0.3%)
   Ashok Reddy Soma                      5 (0.3%)
   Algapally Santosh Sagar               5 (0.3%)
   Dhruva Gole                           5 (0.3%)
   Brandon Maier                         5 (0.3%)
   Alexey Romanov                        5 (0.3%)
   Vasily Khoruzhick                     4 (0.2%)
   Manoj Sai                             4 (0.2%)
   Jan Kiszka                            4 (0.2%)
   Ovidiu Panait                         4 (0.2%)
   Takahiro Kuwano                       4 (0.2%)
   Enric Balletbo i Serra                4 (0.2%)
   Fabrice Gasnier                       4 (0.2%)
   Victor Lim                            4 (0.2%)
   Stefan Bosch                          4 (0.2%)
   Vincent Stehlé                        3 (0.2%)
   Tam Nguyen                            3 (0.2%)
   Leo Yu-Chi Liang                      3 (0.2%)
   Mattijs Korpershoek                   3 (0.2%)
   Ye Li                                 3 (0.2%)
   Oleksandr Suvorov                     3 (0.2%)
   Max Krummenacher                      3 (0.2%)
   Andrew Davis                          3 (0.2%)
   Michael Walle                         3 (0.2%)
   Andreas Kemnade                       3 (0.2%)
   Kshitiz Varshney                      3 (0.2%)
   Dai Okamura                           3 (0.2%)
   Stefan Roese                          2 (0.1%)
   Vincent Fazio                         2 (0.1%)
   Kamlesh Gurudasani                    2 (0.1%)
   Johan Jonker                          2 (0.1%)
   Antoine Mazeas                        2 (0.1%)
   Christopher Obbard                    2 (0.1%)
   Akash Gajjar                          2 (0.1%)
   Ilko Iliev                            2 (0.1%)
   Qu Wenruo                             2 (0.1%)
   Etienne Carriere                      2 (0.1%)
   Thomas Fitzsimmons                    2 (0.1%)
   Pei Yue Ho                            2 (0.1%)
   Ryan Chen                             2 (0.1%)
   Adam Ford                             2 (0.1%)
   Philippe Schenker                     2 (0.1%)
   Linus Walleij                         2 (0.1%)
   Sean Edmond                           2 (0.1%)
   Nikita Shubin                         2 (0.1%)
   Ying-Chun Liu (PaulLiu)               2 (0.1%)
   Loic Poulain                          2 (0.1%)
   Pengfei Fan                           2 (0.1%)
   Jernej Skrabec                        2 (0.1%)
   Neha Malcom Francis                   2 (0.1%)
   Harald Seiler                         2 (0.1%)
   Shenlin Liang                         2 (0.1%)
   Martyn Welch                          2 (0.1%)
   Harini Katakam                        2 (0.1%)
   Marc Kleine-Budde                     2 (0.1%)
   David Sebek                           1 (0.1%)
   Jonathan Liu                          1 (0.1%)
   Vignesh Raghavendra                   1 (0.1%)
   Sebastian Andrzej Siewior             1 (0.1%)
   annsai01                              1 (0.1%)
   Peter Geis                            1 (0.1%)
   Ralph Siemsen                         1 (0.1%)
   Robert Marko                          1 (0.1%)
   Michal Suchanek                       1 (0.1%)
   Jaehoon Chung                         1 (0.1%)
   Christian Kohlschütter                1 (0.1%)
   Ramin Khonsari                        1 (0.1%)
   Maxim Schwalm                         1 (0.1%)
   Venkatesh Yadav Abbarapu              1 (0.1%)
   Ivan Khoronzhuk                       1 (0.1%)
   Ulf Samuelsson                        1 (0.1%)
   Jade Lovelace                         1 (0.1%)
   Michael Trimarchi                     1 (0.1%)
   Matwey V. Kornilov                    1 (0.1%)
   KaDiWa                                1 (0.1%)
   Christian Marangi                     1 (0.1%)
   Ehsan Mohandesi                       1 (0.1%)
   Aurelien Jarno                        1 (0.1%)
   Mario Kicherer                        1 (0.1%)
   Arnaud Ferraris                       1 (0.1%)
   Detlev Casanova                       1 (0.1%)
   Igor Opaniuk                          1 (0.1%)
   Massimo Pegorer                       1 (0.1%)
   Kunihiko Hayashi                      1 (0.1%)
   Joost van Zwieten                     1 (0.1%)
   Jorge Ramirez-Ortiz                   1 (0.1%)
   Jay Buddhabhatti                      1 (0.1%)
   Andrey Dolnikov                       1 (0.1%)
   chenzhipeng                           1 (0.1%)
   Olivier Moysan                        1 (0.1%)
   Ville Skyttä                          1 (0.1%)
   David Oberhollenzer                   1 (0.1%)
   Haijun Qin                            1 (0.1%)
   Neal Frager                           1 (0.1%)
   Luca Ceresoli                         1 (0.1%)
   Viacheslav Bocharov                   1 (0.1%)
   Yuepeng Xing                          1 (0.1%)
   Cristian Birsan                       1 (0.1%)
   Lokanathan, Raaj                      1 (0.1%)
   Christian Gmeiner                     1 (0.1%)
   Daniel Golle                          1 (0.1%)
   Manuel Traut                          1 (0.1%)
   Ben Dooks                             1 (0.1%)
   Kasper Revsbech                       1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Bryan Brattlof                        38811 (18.1%)
   Tom Rini                              36464 (17.0%)
   Simon Glass                           30090 (14.0%)
   Jagan Teki                            23918 (11.1%)
   Marek Vasut                           14720 (6.9%)
   Brandon Maier                         13759 (6.4%)
   Tony Dinh                             7399 (3.4%)
   Balamanikandan Gunasundar             4239 (2.0%)
   Jim Liu                               4106 (1.9%)
   Fabio Estevam                         3264 (1.5%)
   Christophe Leroy                      2145 (1.0%)
   Neil Armstrong                        2020 (0.9%)
   Nikhil M Jain                         1681 (0.8%)
   Sumit Garg                            1671 (0.8%)
   Tim Harvey                            1524 (0.7%)
   Jonas Karlman                         1439 (0.7%)
   Roger Quadros                         1431 (0.7%)
   Quentin Schulz                        1296 (0.6%)
   Heinrich Schuchardt                   1277 (0.6%)
   Michal Simek                          1274 (0.6%)
   Svyatoslav Ryhel                      1259 (0.6%)
   Akash Gajjar                          1057 (0.5%)
   Mark Kettenis                         1042 (0.5%)
   Sinthu Raja                           967 (0.5%)
   Holger Brunck                         966 (0.5%)
   Chris Morgan                          965 (0.4%)
   Peter Robinson                        919 (0.4%)
   Luca Ceresoli                         860 (0.4%)
   Hai Pham                              712 (0.3%)
   Andre Przywara                        702 (0.3%)
   Kunihiko Hayashi                      695 (0.3%)
   Dario Binacchi                        690 (0.3%)
   Patrick Delaunay                      668 (0.3%)
   Samuel Holland                        568 (0.3%)
   Dhruva Gole                           527 (0.2%)
   Ryan Chen                             504 (0.2%)
   Sergei Antonov                        464 (0.2%)
   Sean Anderson                         439 (0.2%)
   Ashok Reddy Soma                      399 (0.2%)
   Masahisa Kojima                       391 (0.2%)
   Sergiu Moga                           382 (0.2%)
   Maxim Cournoyer                       380 (0.2%)
   Massimo Pegorer                       353 (0.2%)
   Linus Walleij                         317 (0.1%)
   Eugen Hristev                         295 (0.1%)
   Alexey Romanov                        285 (0.1%)
   Yu Chien Peter Lin                    267 (0.1%)
   Stefan Bosch                          260 (0.1%)
   Dzmitry Sankouski                     257 (0.1%)
   Heiko Schocher                        221 (0.1%)
   Enric Balletbo i Serra                214 (0.1%)
   Kshitiz Varshney                      211 (0.1%)
   Thomas Fitzsimmons                    205 (0.1%)
   Mihai Sain                            191 (0.1%)
   Angelo Dureghello                     167 (0.1%)
   Adam Ford                             162 (0.1%)
   Marcel Ziswiler                       160 (0.1%)
   Mattijs Korpershoek                   154 (0.1%)
   Etienne Carriere                      154 (0.1%)
   Leo Yu-Chi Liang                      135 (0.1%)
   Ramin Khonsari                        131 (0.1%)
   Pali Rohár                            127 (0.1%)
   Olivier Moysan                        116 (0.1%)
   Vincent Fazio                         106 (0.0%)
   Fabrice Gasnier                       98 (0.0%)
   Max Krummenacher                      80 (0.0%)
   Takahiro Kuwano                       76 (0.0%)
   Victor Lim                            73 (0.0%)
   Frieder Schrempf                      72 (0.0%)
   Manoj Sai                             70 (0.0%)
   Andrew Davis                          70 (0.0%)
   Mikhail Ilin                          69 (0.0%)
   Dai Okamura                           65 (0.0%)
   Tam Nguyen                            63 (0.0%)
   Peng Fan                              61 (0.0%)
   Sjoerd Simons                         61 (0.0%)
   Cristian Birsan                       59 (0.0%)
   Antoine Mazeas                        51 (0.0%)
   Rick Chen                             49 (0.0%)
   Paweł Anikiel                         47 (0.0%)
   Andreas Kemnade                       45 (0.0%)
   Jan Kiszka                            43 (0.0%)
   Andrejs Cainikovs                     41 (0.0%)
   Michael Trimarchi                     41 (0.0%)
   Rob Herring                           40 (0.0%)
   Martyn Welch                          36 (0.0%)
   Stefan Roese                          35 (0.0%)
   Neha Malcom Francis                   35 (0.0%)
   Algapally Santosh Sagar               34 (0.0%)
   Jernej Skrabec                        34 (0.0%)
   Maxim Schwalm                         30 (0.0%)
   Qu Wenruo                             29 (0.0%)
   Loic Poulain                          29 (0.0%)
   Ioana Ciornei                         28 (0.0%)
   Christian Kohlschütter                28 (0.0%)
   Michael Walle                         23 (0.0%)
   Vasily Khoruzhick                     22 (0.0%)
   Pei Yue Ho                            22 (0.0%)
   Vincent Stehlé                        19 (0.0%)
   Venkatesh Yadav Abbarapu              19 (0.0%)
   Pengfei Fan                           16 (0.0%)
   Harald Seiler                         16 (0.0%)
   Ville Skyttä                          16 (0.0%)
   Sean Edmond                           14 (0.0%)
   Harini Katakam                        14 (0.0%)
   Robert Marko                          14 (0.0%)
   John Keeping                          13 (0.0%)
   Ovidiu Panait                         13 (0.0%)
   Kamlesh Gurudasani                    13 (0.0%)
   Nikita Shubin                         13 (0.0%)
   Marc Kleine-Budde                     13 (0.0%)
   Detlev Casanova                       13 (0.0%)
   David Oberhollenzer                   11 (0.0%)
   Ilias Apalodimas                      10 (0.0%)
   Mario Kicherer                        10 (0.0%)
   Yuepeng Xing                          10 (0.0%)
   Jaehoon Chung                         9 (0.0%)
   KaDiWa                                9 (0.0%)
   Oleksandr Suvorov                     8 (0.0%)
   Christian Gmeiner                     8 (0.0%)
   Ye Li                                 7 (0.0%)
   Christopher Obbard                    7 (0.0%)
   Ying-Chun Liu (PaulLiu)               7 (0.0%)
   Johan Jonker                          6 (0.0%)
   Jonathan Liu                          6 (0.0%)
   Andrey Dolnikov                       6 (0.0%)
   Daniel Golle                          6 (0.0%)
   Philippe Schenker                     5 (0.0%)
   Michal Suchanek                       5 (0.0%)
   Ivan Khoronzhuk                       5 (0.0%)
   Ilko Iliev                            4 (0.0%)
   Manuel Traut                          4 (0.0%)
   Shenlin Liang                         3 (0.0%)
   annsai01                              3 (0.0%)
   Ulf Samuelsson                        3 (0.0%)
   Matwey V. Kornilov                    3 (0.0%)
   Jay Buddhabhatti                      3 (0.0%)
   chenzhipeng                           3 (0.0%)
   Ben Dooks                             3 (0.0%)
   Peter Geis                            2 (0.0%)
   Ralph Siemsen                         2 (0.0%)
   Christian Marangi                     2 (0.0%)
   Jorge Ramirez-Ortiz                   2 (0.0%)
   David Sebek                           1 (0.0%)
   Vignesh Raghavendra                   1 (0.0%)
   Sebastian Andrzej Siewior             1 (0.0%)
   Jade Lovelace                         1 (0.0%)
   Ehsan Mohandesi                       1 (0.0%)
   Aurelien Jarno                        1 (0.0%)
   Arnaud Ferraris                       1 (0.0%)
   Igor Opaniuk                          1 (0.0%)
   Joost van Zwieten                     1 (0.0%)
   Haijun Qin                            1 (0.0%)
   Neal Frager                           1 (0.0%)
   Viacheslav Bocharov                   1 (0.0%)
   Lokanathan, Raaj                      1 (0.0%)
   Kasper Revsbech                       1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Tom Rini                              18089 (23.1%)
   Simon Glass                           5998 (7.7%)
   Luca Ceresoli                         860 (1.1%)
   Holger Brunck                         532 (0.7%)
   Leo Yu-Chi Liang                      90 (0.1%)
   Mattijs Korpershoek                   83 (0.1%)
   Andrew Davis                          43 (0.1%)
   Pali Rohár                            28 (0.0%)
   Maxim Schwalm                         27 (0.0%)
   Dai Okamura                           12 (0.0%)
   Michael Walle                         12 (0.0%)
   Ovidiu Panait                         10 (0.0%)
   Peng Fan                              7 (0.0%)
   Ioana Ciornei                         6 (0.0%)
   Michal Suchanek                       4 (0.0%)
   Rob Herring                           3 (0.0%)
   Johan Jonker                          3 (0.0%)
   Ying-Chun Liu (PaulLiu)               2 (0.0%)
   Ilko Iliev                            1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Francesco Dolcini                     21 (9.8%)
   Marek Vasut                           21 (9.8%)
   Tom                                   19 (8.8%)
   Michal Simek                          19 (8.8%)
   Michael Trimarchi                     8 (3.7%)
   Dario Binacchi                        8 (3.7%)
   Neil Armstrong                        8 (3.7%)
   Hai Pham                              7 (3.3%)
   Kever Yang                            6 (2.8%)
   Tom Rini                              5 (2.3%)
   YouMin Chen                           5 (2.3%)
   Jianqun Xu                            4 (1.9%)
   Elaine Zhang                          4 (1.9%)
   Mike Worsfold                         4 (1.9%)
   Manoj Sai                             4 (1.9%)
   Marcel Ziswiler                       4 (1.9%)
   Ashok Reddy Soma                      4 (1.9%)
   Peter Robinson                        4 (1.9%)
   Peng Fan                              3 (1.4%)
   Andre Przywara                        3 (1.4%)
   Heinrich Schuchardt                   3 (1.4%)
   Vignesh Raghavendra                   2 (0.9%)
   Joseph Chen                           2 (0.9%)
   Finley Xiao                           2 (0.9%)
   Suniel Mahesh                         2 (0.9%)
   FUKAUMI Naoki                         2 (0.9%)
   Judith Mendez                         2 (0.9%)
   Robert Hancock                        2 (0.9%)
   Peter Geis                            2 (0.9%)
   Andrejs Cainikovs                     2 (0.9%)
   Samuel Holland                        2 (0.9%)
   Jonas Karlman                         2 (0.9%)
   Jagan Teki                            2 (0.9%)
   Simon Glass                           1 (0.5%)
   Mattijs Korpershoek                   1 (0.5%)
   Pali Rohár                            1 (0.5%)
   Michal Suchanek                       1 (0.5%)
   Anand Gadiyar                         1 (0.5%)
   Angelo Durgehello                     1 (0.5%)
   Nam Nguyen                            1 (0.5%)
   Steven Liu                            1 (0.5%)
   Sebastian Reichel                     1 (0.5%)
   Yifeng Zhao                           1 (0.5%)
   Ren Jianing                           1 (0.5%)
   Vladimir Oltean                       1 (0.5%)
   Jonas Schwöbel                        1 (0.5%)
   Shawn Guo                             1 (0.5%)
   Jason Zhu                             1 (0.5%)
   Jon Lin                               1 (0.5%)
   Sugar Zhang                           1 (0.5%)
   Valentine Barshak                     1 (0.5%)
   Jit Loon Lim                          1 (0.5%)
   Philippe Schenker                     1 (0.5%)
   Ilias Apalodimas                      1 (0.5%)
   Sjoerd Simons                         1 (0.5%)
   Tam Nguyen                            1 (0.5%)
   Ramin Khonsari                        1 (0.5%)
   Sergiu Moga                           1 (0.5%)
   Svyatoslav Ryhel                      1 (0.5%)
   Quentin Schulz                        1 (0.5%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           225 (29.3%)
   Kever Yang                            112 (14.6%)
   Fabio Estevam                         49 (6.4%)
   Tom Rini                              33 (4.3%)
   Patrice Chotard                       33 (4.3%)
   Marek Vasut                           27 (3.5%)
   Ramon Fried                           22 (2.9%)
   Stefan Roese                          17 (2.2%)
   Ilias Apalodimas                      16 (2.1%)
   Leo Yu-Chi Liang                      15 (2.0%)
   Rick Chen                             15 (2.0%)
   Heinrich Schuchardt                   14 (1.8%)
   Jagan Teki                            14 (1.8%)
   Patrick Delaunay                      14 (1.8%)
   Mattijs Korpershoek                   13 (1.7%)
   Jaehoon Chung                         13 (1.7%)
   Samuel Holland                        12 (1.6%)
   Heiko Schocher                        9 (1.2%)
   Neil Armstrong                        8 (1.0%)
   Vladimir Oltean                       7 (0.9%)
   Sean Anderson                         7 (0.9%)
   Bin Meng                              6 (0.8%)
   FRANJOU Stephane                      6 (0.8%)
   Claudiu Beznea                        6 (0.8%)
   Michael Trimarchi                     5 (0.7%)
   Peng Fan                              5 (0.7%)
   Jens Wiklander                        5 (0.7%)
   Yu Chien Peter Lin                    4 (0.5%)
   Andre Przywara                        3 (0.4%)
   Pali Rohár                            3 (0.4%)
   Viacheslav Mitrofanov                 3 (0.4%)
   Ye Li                                 3 (0.4%)
   Dhruva Gole                           3 (0.4%)
   Marcel Ziswiler                       2 (0.3%)
   Oleksandr Suvorov                     2 (0.3%)
   Wei Liang Lim                         2 (0.3%)
   Eng Lee Teh                           2 (0.3%)
   Minkyu Kang                           2 (0.3%)
   Tudor Ambarus                         2 (0.3%)
   Philipp Tomsich                       2 (0.3%)
   Etienne Carriere                      2 (0.3%)
   Masahisa Kojima                       2 (0.3%)
   Eugen Hristev                         2 (0.3%)
   Francesco Dolcini                     1 (0.1%)
   Michal Simek                          1 (0.1%)
   Jonas Karlman                         1 (0.1%)
   Nishanth Menon                        1 (0.1%)
   Siddharth Vadapalli                   1 (0.1%)
   Matthias Brugger                      1 (0.1%)
   Chia-Wei Wang                         1 (0.1%)
   Huang Jianan                          1 (0.1%)
   Oliver Graute                         1 (0.1%)
   Pratyush Yadav                        1 (0.1%)
   Soeren Moch                           1 (0.1%)
   Sunil V L                             1 (0.1%)
   Miquel Raynal                         1 (0.1%)
   Hector Palacios                       1 (0.1%)
   Derald Woods                          1 (0.1%)
   Nick Desaulniers                      1 (0.1%)
   Frieder Schrempf                      1 (0.1%)
   Adam Ford                             1 (0.1%)
   Sumit Garg                            1 (0.1%)
   Christophe Leroy                      1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Svyatoslav Ryhel                      12 (15.4%)
   Andreas Westman Dorcsak               11 (14.1%)
   Thierry Reding                        9 (11.5%)
   Robert Eckelmann                      8 (10.3%)
   Samuel Holland                        6 (7.7%)
   Vagrant Cascadian                     3 (3.8%)
   Jagan Teki                            2 (2.6%)
   Eugen Hristev                         2 (2.6%)
   Jonas Schwöbel                        2 (2.6%)
   Quentin Schulz                        2 (2.6%)
   Agneli                                2 (2.6%)
   Lothar Waßmann                        2 (2.6%)
   Simon Glass                           1 (1.3%)
   Fabio Estevam                         1 (1.3%)
   Ilias Apalodimas                      1 (1.3%)
   Rick Chen                             1 (1.3%)
   Patrick Delaunay                      1 (1.3%)
   Mattijs Korpershoek                   1 (1.3%)
   Andre Przywara                        1 (1.3%)
   Dhruva Gole                           1 (1.3%)
   Jonas Karlman                         1 (1.3%)
   Suniel Mahesh                         1 (1.3%)
   Sjoerd Simons                         1 (1.3%)
   Matwey V. Kornilov                    1 (1.3%)
   Anand Moon                            1 (1.3%)
   Vaishnav Achath                       1 (1.3%)
   Karsten Merker                        1 (1.3%)
   Sean Nyekjaer                         1 (1.3%)
   Mihai Sain                            1 (1.3%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Svyatoslav Ryhel                      41 (52.6%)
   Andre Przywara                        6 (7.7%)
   Tom Rini                              5 (6.4%)
   Simon Glass                           4 (5.1%)
   Jonas Karlman                         3 (3.8%)
   Loic Poulain                          3 (3.8%)
   Ramin Khonsari                        2 (2.6%)
   Jagan Teki                            1 (1.3%)
   Patrick Delaunay                      1 (1.3%)
   Dhruva Gole                           1 (1.3%)
   Sjoerd Simons                         1 (1.3%)
   Michael Trimarchi                     1 (1.3%)
   Etienne Carriere                      1 (1.3%)
   Peter Geis                            1 (1.3%)
   Sergiu Moga                           1 (1.3%)
   Maxim Schwalm                         1 (1.3%)
   Kasper Revsbech                       1 (1.3%)
   Neha Malcom Francis                   1 (1.3%)
   Fabrice Gasnier                       1 (1.3%)
   Maxim Cournoyer                       1 (1.3%)
   Sergei Antonov                        1 (1.3%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Heinrich Schuchardt                   3 (13.6%)
   Ilias Apalodimas                      2 (9.1%)
   Patrick Delaunay                      1 (4.5%)
   Sjoerd Simons                         1 (4.5%)
   Samuel Holland                        1 (4.5%)
   Quentin Schulz                        1 (4.5%)
   Karsten Merker                        1 (4.5%)
   Marek Vasut                           1 (4.5%)
   Francesco Dolcini                     1 (4.5%)
   Nishanth Menon                        1 (4.5%)
   Oliver Graute                         1 (4.5%)
   Anand Gadiyar                         1 (4.5%)
   Philippe Schenker                     1 (4.5%)
   Andreas Schwab                        1 (4.5%)
   Stefan Herbrechtsmeier                1 (4.5%)
   Carlos Rafael Giani                   1 (4.5%)
   Dave Jones                            1 (4.5%)
   Serge Bazanski                        1 (4.5%)
   Sam Winchenbach                       1 (4.5%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           6 (27.3%)
   Tom Rini                              5 (22.7%)
   Heinrich Schuchardt                   3 (13.6%)
   Qu Wenruo                             2 (9.1%)
   Ilias Apalodimas                      1 (4.5%)
   Maxim Cournoyer                       1 (4.5%)
   Fabio Estevam                         1 (4.5%)
   Vignesh Raghavendra                   1 (4.5%)
   Harald Seiler                         1 (4.5%)
   Sinthu Raja                           1 (4.5%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             464 (27.4%)
   Google, Inc.                          381 (22.5%)
   Konsulko Group                        333 (19.7%)
   Renesas Electronics                   84 (5.0%)
   DENX Software Engineering             72 (4.3%)
   Texas Instruments                     49 (2.9%)
   Linaro                                47 (2.8%)
   Edgeble AI Technologies Pvt. Ltd.     46 (2.7%)
   ST Microelectronics                   40 (2.4%)
   AMD                                   35 (2.1%)
   NXP                                   25 (1.5%)
   Toradex                               24 (1.4%)
   Amarula Solutions                     20 (1.2%)
   Collabora Ltd.                        20 (1.2%)
   ARM                                   17 (1.0%)
   Semihalf Embedded Systems             6 (0.4%)
   Red Hat                               4 (0.2%)
   Siemens                               4 (0.2%)
   Socionext Inc.                        4 (0.2%)
   BayLibre SAS                          3 (0.2%)
   SUSE                                  3 (0.2%)
   Pengutronix                           2 (0.1%)
   Ronetix                               2 (0.1%)
   Extreme Engineering Solutions         2 (0.1%)
   Bootlin                               1 (0.1%)
   Intel                                 1 (0.1%)
   linutronix                            1 (0.1%)
   Samsung                               1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             51007 (23.8%)
   Texas Instruments                     42105 (19.6%)
   Konsulko Group                        36464 (17.0%)
   Google, Inc.                          30090 (14.0%)
   Edgeble AI Technologies Pvt. Ltd.     23070 (10.7%)
   Renesas Electronics                   14449 (6.7%)
   Linaro                                4601 (2.1%)
   DENX Software Engineering             4582 (2.1%)
   AMD                                   1744 (0.8%)
   Amarula Solutions                     1649 (0.8%)
   ST Microelectronics                   882 (0.4%)
   Bootlin                               860 (0.4%)
   Socionext Inc.                        760 (0.4%)
   ARM                                   724 (0.3%)
   Collabora Ltd.                        413 (0.2%)
   NXP                                   307 (0.1%)
   Toradex                               290 (0.1%)
   Red Hat                               214 (0.1%)
   BayLibre SAS                          154 (0.1%)
   Extreme Engineering Solutions         106 (0.0%)
   Semihalf Embedded Systems             47 (0.0%)
   Siemens                               43 (0.0%)
   SUSE                                  34 (0.0%)
   Pengutronix                           13 (0.0%)
   Samsung                               9 (0.0%)
   Ronetix                               4 (0.0%)
   Intel                                 1 (0.0%)
   linutronix                            1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Renesas Electronics                   30 (14.0%)
   Rockchip                              29 (13.5%)
   Toradex                               28 (13.0%)
   (Unknown)                             27 (12.6%)
   Amarula Solutions                     24 (11.2%)
   AMD                                   23 (10.7%)
   NVidia                                19 (8.8%)
   Linaro                                9 (4.2%)
   Texas Instruments                     5 (2.3%)
   Konsulko Group                        5 (2.3%)
   NXP                                   4 (1.9%)
   ARM                                   3 (1.4%)
   Canonical                             3 (1.4%)
   Collabora Ltd.                        2 (0.9%)
   Google, Inc.                          1 (0.5%)
   BayLibre SAS                          1 (0.5%)
   SUSE                                  1 (0.5%)
   Intel                                 1 (0.5%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             85 (53.1%)
   Linaro                                9 (5.6%)
   Texas Instruments                     8 (5.0%)
   AMD                                   7 (4.4%)
   Collabora Ltd.                        6 (3.8%)
   Toradex                               5 (3.1%)
   DENX Software Engineering             5 (3.1%)
   Amarula Solutions                     4 (2.5%)
   NXP                                   4 (2.5%)
   Renesas Electronics                   3 (1.9%)
   ARM                                   3 (1.9%)
   ST Microelectronics                   3 (1.9%)
   SUSE                                  2 (1.2%)
   Socionext Inc.                        2 (1.2%)
   Konsulko Group                        1 (0.6%)
   Google, Inc.                          1 (0.6%)
   BayLibre SAS                          1 (0.6%)
   Intel                                 1 (0.6%)
   Edgeble AI Technologies Pvt. Ltd.     1 (0.6%)
   Bootlin                               1 (0.6%)
   Red Hat                               1 (0.6%)
   Extreme Engineering Solutions         1 (0.6%)
   Semihalf Embedded Systems             1 (0.6%)
   Siemens                               1 (0.6%)
   Pengutronix                           1 (0.6%)
   Samsung                               1 (0.6%)
   Ronetix                               1 (0.6%)
   linutronix                            1 (0.6%)
   ====================================  =====

