:orphan:

Release Statistics for U-Boot v2024.01
======================================

* Processed 1564 changesets from 191 developers

* 25 employers found

* A total of 100266 lines added, 38766 removed (delta 61500)

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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           273 (17.5%)
   Marek Vasut                           194 (12.4%)
   Michal Simek                          64 (4.1%)
   Heinrich Schuchardt                   51 (3.3%)
   Tom Rini                              50 (3.2%)
   Jonas Karlman                         46 (2.9%)
   Sean Anderson                         38 (2.4%)
   Svyatoslav Ryhel                      36 (2.3%)
   Nishanth Menon                        35 (2.2%)
   Andre Przywara                        33 (2.1%)
   Paul Barker                           32 (2.0%)
   Venkatesh Yadav Abbarapu              28 (1.8%)
   Bryan Brattlof                        26 (1.7%)
   Sughosh Ganu                          21 (1.3%)
   AKASHI Takahiro                       20 (1.3%)
   Bin Meng                              19 (1.2%)
   Alexey Romanov                        19 (1.2%)
   Chanho Park                           18 (1.2%)
   Dario Binacchi                        16 (1.0%)
   Sam Protsenko                         15 (1.0%)
   Dan Carpenter                         15 (1.0%)
   Tim Harvey                            14 (0.9%)
   Fabio Estevam                         14 (0.9%)
   Roger Quadros                         13 (0.8%)
   Rasmus Villemoes                      13 (0.8%)
   Randolph                              11 (0.7%)
   Tony Dinh                             11 (0.7%)
   Alexander Dahl                        11 (0.7%)
   Igor Prusov                           9 (0.6%)
   Ilias Apalodimas                      9 (0.6%)
   Hector Martin                         9 (0.6%)
   Samuel Holland                        9 (0.6%)
   Johan Jonker                          9 (0.6%)
   Matthias Schiffer                     9 (0.6%)
   Neha Malcom Francis                   8 (0.5%)
   Chris Packham                         8 (0.5%)
   Joao Marcos Costa                     8 (0.5%)
   Jan Kiszka                            7 (0.4%)
   Jim Liu                               7 (0.4%)
   Yang Xiwen                            7 (0.4%)
   Marcel Ziswiler                       7 (0.4%)
   Siddharth Vadapalli                   7 (0.4%)
   Gatien Chevallier                     7 (0.4%)
   Neil Armstrong                        6 (0.4%)
   Masahisa Kojima                       6 (0.4%)
   Udit Kumar                            6 (0.4%)
   Eddie James                           6 (0.4%)
   Sam Edwards                           6 (0.4%)
   Teresa Remmet                         6 (0.4%)
   Manorit Chawdhry                      6 (0.4%)
   Laurentiu Tudor                       6 (0.4%)
   Joshua Watt                           6 (0.4%)
   Mattijs Korpershoek                   5 (0.3%)
   Shantur Rathore                       5 (0.3%)
   Patrick Delaunay                      5 (0.3%)
   Artur Rojek                           5 (0.3%)
   Mikhail Kshevetskiy                   5 (0.3%)
   FUKAUMI Naoki                         5 (0.3%)
   Ashok Reddy Soma                      5 (0.3%)
   Mark Kettenis                         4 (0.3%)
   John Clark                            4 (0.3%)
   Philip Oberfichtner                   4 (0.3%)
   Milan P. Stanić                       4 (0.3%)
   Tom Fitzhenry                         4 (0.3%)
   Josua Mayer                           4 (0.3%)
   Elaine Zhang                          4 (0.3%)
   Sébastien Szymanski                   4 (0.3%)
   Andrew Davis                          4 (0.3%)
   Manoj Sai                             4 (0.3%)
   Alper Nebi Yasak                      4 (0.3%)
   Emanuele Ghidoli                      3 (0.2%)
   Alexander Gendin                      3 (0.2%)
   Hiago De Franco                       3 (0.2%)
   Andrejs Cainikovs                     3 (0.2%)
   Yu Chien Peter Lin                    3 (0.2%)
   Quentin Schulz                        3 (0.2%)
   Tim Lunn                              3 (0.2%)
   Patrice Chotard                       3 (0.2%)
   Algapally Santosh Sagar               3 (0.2%)
   Abdellatif El Khlifi                  3 (0.2%)
   Fedor Ross                            3 (0.2%)
   Reid Tonking                          3 (0.2%)
   Massimo Pegorer                       3 (0.2%)
   Frank Wunderlich                      3 (0.2%)
   Fabrice Gasnier                       3 (0.2%)
   Thomas Mittelstaedt                   3 (0.2%)
   Baruch Siach                          2 (0.1%)
   Peter Robinson                        2 (0.1%)
   Hugo Villeneuve                       2 (0.1%)
   Janne Grunau                          2 (0.1%)
   Simon Holesch                         2 (0.1%)
   Dylan Corrales                        2 (0.1%)
   Oleksandr Suvorov                     2 (0.1%)
   Tejas Bhumkar                         2 (0.1%)
   Amit Kumar Mahapatra                  2 (0.1%)
   Robert Marko                          2 (0.1%)
   Sean Edmond                           2 (0.1%)
   Maksim Kiselev                        2 (0.1%)
   Wei Chen                              2 (0.1%)
   Francois Berder                       2 (0.1%)
   Lukas Funke                           2 (0.1%)
   Lars Feyaerts                         2 (0.1%)
   Love Kumar                            2 (0.1%)
   Suman Anna                            2 (0.1%)
   Laurent Pinchart                      2 (0.1%)
   Harald Seiler                         2 (0.1%)
   Neal Frager                           2 (0.1%)
   Shiji Yang                            2 (0.1%)
   Anthony Loiseau                       1 (0.1%)
   Moritz Fischer                        1 (0.1%)
   Miquel Raynal                         1 (0.1%)
   Mikhail Kalashnikov                   1 (0.1%)
   Stephen Graf                          1 (0.1%)
   Chukun Pan                            1 (0.1%)
   Weizhao Ouyang                        1 (0.1%)
   Stefan Roese                          1 (0.1%)
   Cong Dang                             1 (0.1%)
   Jonathan Corbet                       1 (0.1%)
   Nikita Yushchenko                     1 (0.1%)
   John Keeping                          1 (0.1%)
   Ludwig Kormann                        1 (0.1%)
   Igor Opaniuk                          1 (0.1%)
   Bhupesh Sharma                        1 (0.1%)
   Ibai Erkiaga                          1 (0.1%)
   Piyush Mehta                          1 (0.1%)
   Linus Walleij                         1 (0.1%)
   Dmitry Rokosov                        1 (0.1%)
   Frank de Brabander                    1 (0.1%)
   Dylan Hung                            1 (0.1%)
   Ley Foon Tan                          1 (0.1%)
   Caleb Connolly                        1 (0.1%)
   Maxim Cournoyer                       1 (0.1%)
   Yong-Xuan Wang                        1 (0.1%)
   Eugen Hristev                         1 (0.1%)
   Nathan Barrett-Morrison               1 (0.1%)
   Emekcan Aras                          1 (0.1%)
   Vishal Mahaveer                       1 (0.1%)
   Wojciech Nizinski                     1 (0.1%)
   Michel Alex                           1 (0.1%)
   Martin Fäcknitz                       1 (0.1%)
   Marek Behún                           1 (0.1%)
   Andrey Skvortsov                      1 (0.1%)
   Yurii Monakov                         1 (0.1%)
   Ricardo Pardini                       1 (0.1%)
   Matwey V. Kornilov                    1 (0.1%)
   Guochun Huang                         1 (0.1%)
   Okhunjon Sobirjonov                   1 (0.1%)
   Mayuresh Chitale                      1 (0.1%)
   Guillaume La Roque                    1 (0.1%)
   Ye Li                                 1 (0.1%)
   Alice Guo                             1 (0.1%)
   Joao Paulo Goncalves                  1 (0.1%)
   Eduard Strehlau                       1 (0.1%)
   Andrej Rosano                         1 (0.1%)
   Ricardo Salveti                       1 (0.1%)
   Michael Scott                         1 (0.1%)
   Dominik Haller                        1 (0.1%)
   Nikhil M Jain                         1 (0.1%)
   Roman Azarenko                        1 (0.1%)
   Nicolò Veronese                       1 (0.1%)
   Andrii Chepurnyi                      1 (0.1%)
   Han Xu                                1 (0.1%)
   Patryk Biel                           1 (0.1%)
   Polak, Leszek                         1 (0.1%)
   Tanmay Shah                           1 (0.1%)
   shengfei Xu                           1 (0.1%)
   Joseph Chen                           1 (0.1%)
   Anatolij Gustschin                    1 (0.1%)
   Kuan Lim Lee                          1 (0.1%)
   Roger Knecht                          1 (0.1%)
   Jesse Taube                           1 (0.1%)
   Rong Tao                              1 (0.1%)
   Andy Shevchenko                       1 (0.1%)
   Troy Kisky                            1 (0.1%)
   Thippeswamy Havalige                  1 (0.1%)
   Srinivas Neeli                        1 (0.1%)
   Saeed Nowshadi                        1 (0.1%)
   Maxim Kochetkov                       1 (0.1%)
   Christian Taedcke                     1 (0.1%)
   Trevor Woerner                        1 (0.1%)
   Nicolas Frattaroli                    1 (0.1%)
   Li Hua Qian                           1 (0.1%)
   Robert Nelson                         1 (0.1%)
   Łukasz Stelmach                       1 (0.1%)
   Elena Popa                            1 (0.1%)
   Naveen Kumar Chaudhary                1 (0.1%)
   Kevin Chen                            1 (0.1%)
   Sergei Antonov                        1 (0.1%)
   Jason Kacines                         1 (0.1%)
   Ilya Lukin                            1 (0.1%)
   Mihai Sain                            1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           11496 (9.8%)
   Marek Vasut                           8067 (6.8%)
   Michal Simek                          7518 (6.4%)
   Laurentiu Tudor                       6213 (5.3%)
   Paul Barker                           5361 (4.5%)
   Andre Przywara                        4529 (3.8%)
   Tim Harvey                            4234 (3.6%)
   Nishanth Menon                        3762 (3.2%)
   Jonas Karlman                         3755 (3.2%)
   Dario Binacchi                        3615 (3.1%)
   AKASHI Takahiro                       3492 (3.0%)
   Robert Nelson                         3243 (2.8%)
   FUKAUMI Naoki                         2908 (2.5%)
   Roger Quadros                         2836 (2.4%)
   Neha Malcom Francis                   2822 (2.4%)
   Svyatoslav Ryhel                      2768 (2.3%)
   Manorit Chawdhry                      2699 (2.3%)
   Tom Rini                              2320 (2.0%)
   Sean Anderson                         2224 (1.9%)
   Johan Jonker                          1984 (1.7%)
   Heinrich Schuchardt                   1886 (1.6%)
   Sughosh Ganu                          1824 (1.5%)
   Igor Prusov                           1710 (1.5%)
   Eddie James                           1481 (1.3%)
   Bryan Brattlof                        1357 (1.2%)
   Tom Fitzhenry                         1323 (1.1%)
   Reid Tonking                          1209 (1.0%)
   John Clark                            1202 (1.0%)
   Tony Dinh                             1163 (1.0%)
   Alexey Romanov                        1159 (1.0%)
   Sébastien Szymanski                   1129 (1.0%)
   Frank Wunderlich                      1035 (0.9%)
   Mikhail Kshevetskiy                   926 (0.8%)
   Chanho Park                           880 (0.7%)
   Teresa Remmet                         781 (0.7%)
   Mihai Sain                            781 (0.7%)
   Yang Xiwen                            652 (0.6%)
   Patrice Chotard                       605 (0.5%)
   Artur Rojek                           595 (0.5%)
   Alexander Gendin                      516 (0.4%)
   Yu Chien Peter Lin                    421 (0.4%)
   Randolph                              379 (0.3%)
   Andrew Davis                          354 (0.3%)
   Joshua Watt                           343 (0.3%)
   Joao Marcos Costa                     334 (0.3%)
   Alexander Dahl                        305 (0.3%)
   Mikhail Kalashnikov                   294 (0.2%)
   Sam Edwards                           288 (0.2%)
   Neil Armstrong                        282 (0.2%)
   Venkatesh Yadav Abbarapu              277 (0.2%)
   Samuel Holland                        266 (0.2%)
   Philip Oberfichtner                   266 (0.2%)
   Gatien Chevallier                     264 (0.2%)
   Janne Grunau                          231 (0.2%)
   Matthias Schiffer                     230 (0.2%)
   Bin Meng                              201 (0.2%)
   Andrii Chepurnyi                      181 (0.2%)
   Marek Behún                           180 (0.2%)
   Jan Kiszka                            179 (0.2%)
   Algapally Santosh Sagar               174 (0.1%)
   Linus Walleij                         170 (0.1%)
   Udit Kumar                            165 (0.1%)
   Patrick Delaunay                      142 (0.1%)
   Rasmus Villemoes                      128 (0.1%)
   Fabio Estevam                         126 (0.1%)
   Shiji Yang                            123 (0.1%)
   Elaine Zhang                          111 (0.1%)
   Oleksandr Suvorov                     108 (0.1%)
   Siddharth Vadapalli                   107 (0.1%)
   Fabrice Gasnier                       103 (0.1%)
   Sergei Antonov                        103 (0.1%)
   Kuan Lim Lee                          102 (0.1%)
   Alper Nebi Yasak                      99 (0.1%)
   Marcel Ziswiler                       97 (0.1%)
   Christian Taedcke                     95 (0.1%)
   Tim Lunn                              93 (0.1%)
   Hector Martin                         90 (0.1%)
   Emanuele Ghidoli                      89 (0.1%)
   Nicolas Frattaroli                    89 (0.1%)
   Mark Kettenis                         88 (0.1%)
   Fedor Ross                            86 (0.1%)
   Chris Packham                         84 (0.1%)
   Love Kumar                            84 (0.1%)
   Robert Marko                          80 (0.1%)
   Sam Protsenko                         78 (0.1%)
   Vishal Mahaveer                       75 (0.1%)
   Ilias Apalodimas                      70 (0.1%)
   Ashok Reddy Soma                      64 (0.1%)
   Andrejs Cainikovs                     59 (0.1%)
   Peter Robinson                        58 (0.0%)
   Jesse Taube                           57 (0.0%)
   Quentin Schulz                        55 (0.0%)
   Tejas Bhumkar                         54 (0.0%)
   Suman Anna                            51 (0.0%)
   Ibai Erkiaga                          49 (0.0%)
   Masahisa Kojima                       45 (0.0%)
   Sean Edmond                           45 (0.0%)
   Maxim Cournoyer                       45 (0.0%)
   Laurent Pinchart                      44 (0.0%)
   Jim Liu                               43 (0.0%)
   Lars Feyaerts                         42 (0.0%)
   Massimo Pegorer                       41 (0.0%)
   Manoj Sai                             40 (0.0%)
   Joseph Chen                           40 (0.0%)
   Simon Holesch                         39 (0.0%)
   Josua Mayer                           35 (0.0%)
   Hiago De Franco                       35 (0.0%)
   Tanmay Shah                           33 (0.0%)
   Frank de Brabander                    32 (0.0%)
   Shantur Rathore                       31 (0.0%)
   Igor Opaniuk                          30 (0.0%)
   Dan Carpenter                         28 (0.0%)
   Ludwig Kormann                        27 (0.0%)
   Maxim Kochetkov                       26 (0.0%)
   Neal Frager                           23 (0.0%)
   Mattijs Korpershoek                   22 (0.0%)
   Baruch Siach                          22 (0.0%)
   Ley Foon Tan                          20 (0.0%)
   Andy Shevchenko                       20 (0.0%)
   shengfei Xu                           19 (0.0%)
   Eduard Strehlau                       16 (0.0%)
   Yurii Monakov                         14 (0.0%)
   Ye Li                                 13 (0.0%)
   Dylan Hung                            12 (0.0%)
   Michel Alex                           12 (0.0%)
   Matwey V. Kornilov                    12 (0.0%)
   Milan P. Stanić                       11 (0.0%)
   Li Hua Qian                           11 (0.0%)
   Wei Chen                              10 (0.0%)
   Mayuresh Chitale                      10 (0.0%)
   Polak, Leszek                         9 (0.0%)
   Dylan Corrales                        8 (0.0%)
   Andrey Skvortsov                      8 (0.0%)
   Troy Kisky                            8 (0.0%)
   Naveen Kumar Chaudhary                8 (0.0%)
   Okhunjon Sobirjonov                   7 (0.0%)
   Roman Azarenko                        7 (0.0%)
   Han Xu                                7 (0.0%)
   Anatolij Gustschin                    7 (0.0%)
   Thomas Mittelstaedt                   6 (0.0%)
   Amit Kumar Mahapatra                  6 (0.0%)
   Eugen Hristev                         6 (0.0%)
   Abdellatif El Khlifi                  5 (0.0%)
   Harald Seiler                         5 (0.0%)
   Anthony Loiseau                       5 (0.0%)
   Chukun Pan                            5 (0.0%)
   Weizhao Ouyang                        5 (0.0%)
   Roger Knecht                          5 (0.0%)
   Trevor Woerner                        5 (0.0%)
   Ilya Lukin                            5 (0.0%)
   Hugo Villeneuve                       4 (0.0%)
   Lukas Funke                           4 (0.0%)
   Jonathan Corbet                       4 (0.0%)
   Ricardo Salveti                       4 (0.0%)
   Nicolò Veronese                       4 (0.0%)
   Saeed Nowshadi                        4 (0.0%)
   Maksim Kiselev                        3 (0.0%)
   Caleb Connolly                        3 (0.0%)
   Guillaume La Roque                    3 (0.0%)
   Jason Kacines                         3 (0.0%)
   Francois Berder                       2 (0.0%)
   Stephen Graf                          2 (0.0%)
   Nikita Yushchenko                     2 (0.0%)
   Bhupesh Sharma                        2 (0.0%)
   Piyush Mehta                          2 (0.0%)
   Wojciech Nizinski                     2 (0.0%)
   Alice Guo                             2 (0.0%)
   Joao Paulo Goncalves                  2 (0.0%)
   Andrej Rosano                         2 (0.0%)
   Srinivas Neeli                        2 (0.0%)
   Łukasz Stelmach                       2 (0.0%)
   Moritz Fischer                        1 (0.0%)
   Miquel Raynal                         1 (0.0%)
   Stefan Roese                          1 (0.0%)
   Cong Dang                             1 (0.0%)
   John Keeping                          1 (0.0%)
   Dmitry Rokosov                        1 (0.0%)
   Yong-Xuan Wang                        1 (0.0%)
   Nathan Barrett-Morrison               1 (0.0%)
   Emekcan Aras                          1 (0.0%)
   Martin Fäcknitz                       1 (0.0%)
   Ricardo Pardini                       1 (0.0%)
   Guochun Huang                         1 (0.0%)
   Michael Scott                         1 (0.0%)
   Dominik Haller                        1 (0.0%)
   Nikhil M Jain                         1 (0.0%)
   Patryk Biel                           1 (0.0%)
   Rong Tao                              1 (0.0%)
   Thippeswamy Havalige                  1 (0.0%)
   Elena Popa                            1 (0.0%)
   Kevin Chen                            1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Laurentiu Tudor                       5975 (15.4%)
   Dario Binacchi                        3012 (7.8%)
   Tom Rini                              1059 (2.7%)
   Andrew Davis                          346 (0.9%)
   Tim Harvey                            83 (0.2%)
   Chris Packham                         58 (0.1%)
   Peter Robinson                        58 (0.1%)
   Ilias Apalodimas                      21 (0.1%)
   Jesse Taube                           21 (0.1%)
   Ibai Erkiaga                          16 (0.0%)
   Eduard Strehlau                       16 (0.0%)
   Bin Meng                              12 (0.0%)
   Matwey V. Kornilov                    10 (0.0%)
   Andy Shevchenko                       9 (0.0%)
   Ilya Lukin                            5 (0.0%)
   Trevor Woerner                        4 (0.0%)
   Maxim Kochetkov                       2 (0.0%)
   Piyush Mehta                          2 (0.0%)
   Joao Paulo Goncalves                  2 (0.0%)
   Abdellatif El Khlifi                  1 (0.0%)
   Stephen Graf                          1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Michal Simek                          55 (25.6%)
   Neil Armstrong                        29 (13.5%)
   Minkyu Kang                           13 (6.0%)
   Heinrich Schuchardt                   9 (4.2%)
   Peng Fan                              7 (3.3%)
   Ilias Apalodimas                      6 (2.8%)
   Dario Binacchi                        5 (2.3%)
   Bin Meng                              5 (2.3%)
   Frieder Schrempf                      5 (2.3%)
   Marc Kleine-Budde                     5 (2.3%)
   Alexandre Torgue                      5 (2.3%)
   Mattijs Korpershoek                   4 (1.9%)
   Ashok Reddy Soma                      4 (1.9%)
   Patrice Chotard                       4 (1.9%)
   Marek Vasut                           4 (1.9%)
   Simon Glass                           4 (1.9%)
   Tom Rini                              3 (1.4%)
   Oleksandr Suvorov                     3 (1.4%)
   Venkatesh Yadav Abbarapu              3 (1.4%)
   Jonas Karlman                         3 (1.4%)
   Andre Przywara                        3 (1.4%)
   Miquel Raynal                         2 (0.9%)
   Francesco Dolcini                     2 (0.9%)
   Rui Miguel Silva                      2 (0.9%)
   Qi Feng                               2 (0.9%)
   Suniel Mahesh                         2 (0.9%)
   Siddharth Vadapalli                   2 (0.9%)
   Neha Malcom Francis                   2 (0.9%)
   Alexey Romanov                        2 (0.9%)
   Sébastien Szymanski                   2 (0.9%)
   Roger Quadros                         2 (0.9%)
   Nishanth Menon                        2 (0.9%)
   Andy Shevchenko                       1 (0.5%)
   Abdellatif El Khlifi                  1 (0.5%)
   Jon Mason                             1 (0.5%)
   Martin Kurbanov                       1 (0.5%)
   Jakub Klama                           1 (0.5%)
   Marcin Jabrzyk                        1 (0.5%)
   Valerio 'ftp21' Mancini               1 (0.5%)
   Lee Jones                             1 (0.5%)
   Geert Uytterhoeven                    1 (0.5%)
   Hiago De Franco                       1 (0.5%)
   Patrick Delaunay                      1 (0.5%)
   Elaine Zhang                          1 (0.5%)
   Fabio Estevam                         1 (0.5%)
   Manorit Chawdhry                      1 (0.5%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           251 (25.4%)
   Kever Yang                            67 (6.8%)
   Tom Rini                              66 (6.7%)
   Nishanth Menon                        55 (5.6%)
   Marek Vasut                           50 (5.1%)
   Mattijs Korpershoek                   47 (4.7%)
   Bin Meng                              38 (3.8%)
   Patrice Chotard                       33 (3.3%)
   Fabio Estevam                         33 (3.3%)
   Leo Yu-Chi Liang                      33 (3.3%)
   Heinrich Schuchardt                   24 (2.4%)
   Stefan Roese                          23 (2.3%)
   Patrick Delaunay                      20 (2.0%)
   Biju Das                              17 (1.7%)
   Neil Armstrong                        16 (1.6%)
   Lad Prabhakar                         16 (1.6%)
   Sean Anderson                         16 (1.6%)
   Ilias Apalodimas                      15 (1.5%)
   Etienne Carriere                      14 (1.4%)
   Jaehoon Chung                         12 (1.2%)
   Andre Przywara                        11 (1.1%)
   Neha Malcom Francis                   9 (0.9%)
   Ramon Fried                           9 (0.9%)
   Bhupesh Sharma                        7 (0.7%)
   Jernej Skrabec                        6 (0.6%)
   Yannic Moog                           6 (0.6%)
   Samuel Holland                        6 (0.6%)
   Heiko Schocher                        5 (0.5%)
   Sam Edwards                           5 (0.5%)
   Manorit Chawdhry                      4 (0.4%)
   Mark Kettenis                         4 (0.4%)
   Peng Fan                              3 (0.3%)
   Roger Quadros                         3 (0.3%)
   Yoshihiro Shimoda                     3 (0.3%)
   Heiko Stuebner                        3 (0.3%)
   Michael Trimarchi                     3 (0.3%)
   Marcel Ziswiler                       3 (0.3%)
   Paul Barker                           3 (0.3%)
   Frieder Schrempf                      2 (0.2%)
   Weizhao Ouyang                        2 (0.2%)
   Xavier Drudis Ferran                  2 (0.2%)
   Angelo Dureghello                     2 (0.2%)
   Christopher Obbard                    2 (0.2%)
   Mike Frysinger                        2 (0.2%)
   Dhruva Gole                           2 (0.2%)
   Qu Wenruo                             2 (0.2%)
   Linus Walleij                         2 (0.2%)
   Svyatoslav Ryhel                      2 (0.2%)
   Jonas Karlman                         1 (0.1%)
   Andrew Davis                          1 (0.1%)
   Nikhil M Jain                         1 (0.1%)
   Eric Curtin                           1 (0.1%)
   Neal Gompa                            1 (0.1%)
   Dragan Simic                          1 (0.1%)
   Daniel Schwierzeck                    1 (0.1%)
   Ryan Chen                             1 (0.1%)
   Lukasz Majewski                       1 (0.1%)
   Rick Chen                             1 (0.1%)
   Anup Patel                            1 (0.1%)
   Kristian Amlie                        1 (0.1%)
   Sebastian Reichel                     1 (0.1%)
   Martyn Welch                          1 (0.1%)
   Grzegorz Szymaszek                    1 (0.1%)
   Raphaël Gallais-Pou                   1 (0.1%)
   Wei Liang Lim                         1 (0.1%)
   Adam Ford                             1 (0.1%)
   Alexander Graf                        1 (0.1%)
   Devarsh Thakkar                       1 (0.1%)
   Michal Suchánek                       1 (0.1%)
   Rafał Miłecki                         1 (0.1%)
   Weijie Gao                            1 (0.1%)
   Jan Kiszka                            1 (0.1%)
   Sam Protsenko                         1 (0.1%)
   Ye Li                                 1 (0.1%)
   Marek Behún                           1 (0.1%)
   Bryan Brattlof                        1 (0.1%)
   Mikhail Kalashnikov                   1 (0.1%)
   Randolph                              1 (0.1%)
   Tony Dinh                             1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Tom Rini                              29 (22.1%)
   Mattijs Korpershoek                   22 (16.8%)
   Joao Paulo Goncalves                  8 (6.1%)
   Bhupesh Sharma                        6 (4.6%)
   Yannic Moog                           6 (4.6%)
   Samuel Holland                        5 (3.8%)
   Svyatoslav Ryhel                      5 (3.8%)
   Simon Glass                           4 (3.1%)
   Nishanth Menon                        4 (3.1%)
   Ivan T.Ivanov                         4 (3.1%)
   Milan P. Stanić                       4 (3.1%)
   Thuan Nguyen Hong                     3 (2.3%)
   Marek Vasut                           2 (1.5%)
   Ilias Apalodimas                      2 (1.5%)
   Sam Edwards                           2 (1.5%)
   Michal Simek                          2 (1.5%)
   Andreas Westman Dorcsak               2 (1.5%)
   Sean Anderson                         1 (0.8%)
   Jaehoon Chung                         1 (0.8%)
   Neha Malcom Francis                   1 (0.8%)
   Marcel Ziswiler                       1 (0.8%)
   Paul Barker                           1 (0.8%)
   Christopher Obbard                    1 (0.8%)
   Mikhail Kalashnikov                   1 (0.8%)
   Andy Shevchenko                       1 (0.8%)
   Stephen Graf                          1 (0.8%)
   Bob McChesney                         1 (0.8%)
   Piotr Oniszczuk                       1 (0.8%)
   Maksim Kurnosenko                     1 (0.8%)
   Henrik Grimler                        1 (0.8%)
   Bao Cheng Su                          1 (0.8%)
   Kevin Amadiva                         1 (0.8%)
   Chris Paterson                        1 (0.8%)
   Masahisa Kojima                       1 (0.8%)
   Maksim Kiselev                        1 (0.8%)
   Shantur Rathore                       1 (0.8%)
   Chanho Park                           1 (0.8%)
   FUKAUMI Naoki                         1 (0.8%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Bryan Brattlof                        26 (19.8%)
   Nishanth Menon                        18 (13.7%)
   Marek Vasut                           17 (13.0%)
   Andre Przywara                        10 (7.6%)
   Joao Marcos Costa                     8 (6.1%)
   Svyatoslav Ryhel                      7 (5.3%)
   Simon Glass                           6 (4.6%)
   Teresa Remmet                         6 (4.6%)
   Roger Quadros                         5 (3.8%)
   Jonas Karlman                         5 (3.8%)
   Heinrich Schuchardt                   4 (3.1%)
   Paul Barker                           3 (2.3%)
   Tom Rini                              2 (1.5%)
   Sam Edwards                           2 (1.5%)
   Andrew Davis                          2 (1.5%)
   Ilias Apalodimas                      1 (0.8%)
   Sean Anderson                         1 (0.8%)
   Mikhail Kalashnikov                   1 (0.8%)
   Jan Kiszka                            1 (0.8%)
   Lukas Funke                           1 (0.8%)
   Guillaume La Roque                    1 (0.8%)
   Wojciech Nizinski                     1 (0.8%)
   Massimo Pegorer                       1 (0.8%)
   Eddie James                           1 (0.8%)
   Robert Nelson                         1 (0.8%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Nishanth Menon                        3 (12.0%)
   Tom Rini                              2 (8.0%)
   Sean Anderson                         2 (8.0%)
   Date Huang                            2 (8.0%)
   Vincent Stehlé                        2 (8.0%)
   Andre Przywara                        1 (4.0%)
   Roger Quadros                         1 (4.0%)
   Jonas Karlman                         1 (4.0%)
   Heinrich Schuchardt                   1 (4.0%)
   Mikhail Kalashnikov                   1 (4.0%)
   Bao Cheng Su                          1 (4.0%)
   Fabio Estevam                         1 (4.0%)
   Weizhao Ouyang                        1 (4.0%)
   Martin Liška                          1 (4.0%)
   Peter Hoyes                           1 (4.0%)
   Madushan Nishantha                    1 (4.0%)
   Ivan Ivanov                           1 (4.0%)
   Jayantajit Gogoi                      1 (4.0%)
   Suman Anna                            1 (4.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           6 (24.0%)
   Nishanth Menon                        3 (12.0%)
   Marek Vasut                           3 (12.0%)
   Andre Przywara                        2 (8.0%)
   Heinrich Schuchardt                   2 (8.0%)
   Siddharth Vadapalli                   2 (8.0%)
   Roger Quadros                         1 (4.0%)
   Jan Kiszka                            1 (4.0%)
   Massimo Pegorer                       1 (4.0%)
   Samuel Holland                        1 (4.0%)
   Jonathan Corbet                       1 (4.0%)
   Rasmus Villemoes                      1 (4.0%)
   Udit Kumar                            1 (4.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             515 (32.9%)
   Google LLC                            274 (17.5%)
   Renesas Electronics                   177 (11.3%)
   AMD                                   114 (7.3%)
   Texas Instruments                     100 (6.4%)
   Linaro                                95 (6.1%)
   DENX Software Engineering             72 (4.6%)
   Konsulko Group                        50 (3.2%)
   ARM                                   39 (2.5%)
   Amarula Solutions                     20 (1.3%)
   Samsung                               19 (1.2%)
   ST Microelectronics                   18 (1.2%)
   Toradex                               17 (1.1%)
   NXP                                   10 (0.6%)
   Siemens                               8 (0.5%)
   Phytec                                7 (0.4%)
   Rockchip                              7 (0.4%)
   BayLibre SAS                          6 (0.4%)
   IBM                                   6 (0.4%)
   Bosch                                 3 (0.2%)
   Weidmüller Interface GmbH & Co. KG    3 (0.2%)
   Bootlin                               1 (0.1%)
   Collabora Ltd.                        1 (0.1%)
   Intel                                 1 (0.1%)
   LWN.net                               1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             43854 (37.2%)
   Texas Instruments                     12605 (10.7%)
   Renesas Electronics                   11595 (9.8%)
   Google LLC                            11497 (9.8%)
   AMD                                   8291 (7.0%)
   NXP                                   6236 (5.3%)
   Linaro                                5994 (5.1%)
   ARM                                   4545 (3.9%)
   Amarula Solutions                     3655 (3.1%)
   Konsulko Group                        2320 (2.0%)
   DENX Software Engineering             2239 (1.9%)
   IBM                                   1481 (1.3%)
   ST Microelectronics                   1114 (0.9%)
   Samsung                               882 (0.7%)
   Phytec                                782 (0.7%)
   Toradex                               282 (0.2%)
   Siemens                               190 (0.2%)
   Rockchip                              171 (0.1%)
   Weidmüller Interface GmbH & Co. KG    99 (0.1%)
   BayLibre SAS                          25 (0.0%)
   Intel                                 20 (0.0%)
   Bosch                                 6 (0.0%)
   Collabora Ltd.                        6 (0.0%)
   LWN.net                               4 (0.0%)
   Bootlin                               1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   AMD                                   62 (28.8%)
   Linaro                                37 (17.2%)
   (Unknown)                             28 (13.0%)
   Samsung                               13 (6.0%)
   ST Microelectronics                   10 (4.7%)
   Canonical                             9 (4.2%)
   Texas Instruments                     7 (3.3%)
   NXP                                   7 (3.3%)
   ARM                                   7 (3.3%)
   Amarula Solutions                     7 (3.3%)
   Pengutronix                           5 (2.3%)
   Google LLC                            4 (1.9%)
   DENX Software Engineering             4 (1.9%)
   BayLibre SAS                          4 (1.9%)
   Konsulko Group                        3 (1.4%)
   Toradex                               3 (1.4%)
   Bootlin                               2 (0.9%)
   Renesas Electronics                   1 (0.5%)
   Rockchip                              1 (0.5%)
   Intel                                 1 (0.5%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             104 (54.2%)
   AMD                                   14 (7.3%)
   Texas Instruments                     12 (6.2%)
   Linaro                                10 (5.2%)
   DENX Software Engineering             6 (3.1%)
   NXP                                   5 (2.6%)
   Toradex                               5 (2.6%)
   ST Microelectronics                   4 (2.1%)
   ARM                                   4 (2.1%)
   Rockchip                              4 (2.1%)
   Renesas Electronics                   3 (1.6%)
   Samsung                               2 (1.0%)
   Amarula Solutions                     2 (1.0%)
   Google LLC                            2 (1.0%)
   BayLibre SAS                          2 (1.0%)
   Phytec                                2 (1.0%)
   Siemens                               2 (1.0%)
   Weidmüller Interface GmbH & Co. KG    2 (1.0%)
   Konsulko Group                        1 (0.5%)
   Bootlin                               1 (0.5%)
   Intel                                 1 (0.5%)
   IBM                                   1 (0.5%)
   Bosch                                 1 (0.5%)
   Collabora Ltd.                        1 (0.5%)
   LWN.net                               1 (0.5%)
   ====================================  =====
