:orphan:

Release Statistics for U-Boot v2022.07
======================================

* Processed 1696 csets from 183 developers

* 27 employers found

* A total of 148026 lines added, 56440 removed (delta 91586)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          164 (9.7%)
   Simon Glass                       141 (8.3%)
   Pali Rohár                        114 (6.7%)
   Marek Vasut                       94 (5.5%)
   Peng Fan                          61 (3.6%)
   Sean Anderson                     59 (3.5%)
   Heinrich Schuchardt               57 (3.4%)
   Samuel Holland                    49 (2.9%)
   Michal Simek                      49 (2.9%)
   Johan Jonker                      45 (2.7%)
   Aaron Williams                    40 (2.4%)
   AKASHI Takahiro                   38 (2.2%)
   Marek Behún                       36 (2.1%)
   Tim Harvey                        33 (1.9%)
   Philippe Reynes                   29 (1.7%)
   Andre Przywara                    28 (1.7%)
   Andrew Scull                      27 (1.6%)
   Patrice Chotard                   26 (1.5%)
   Patrick Delaunay                  25 (1.5%)
   Fabio Estevam                     24 (1.4%)
   Gaurav Jain                       20 (1.2%)
   Ye Li                             20 (1.2%)
   Ashok Reddy Soma                  16 (0.9%)
   Stefan Roese                      13 (0.8%)
   Sughosh Ganu                      12 (0.7%)
   Masahisa Kojima                   12 (0.7%)
   Michael Trimarchi                 11 (0.6%)
   Paweł Anikiel                     11 (0.6%)
   Adam Ford                         11 (0.6%)
   Marcel Ziswiler                   11 (0.6%)
   Dave Gerlach                      11 (0.6%)
   Philip Oberfichtner               11 (0.6%)
   T Karthik Reddy                   11 (0.6%)
   Bin Meng                          9 (0.5%)
   Tommaso Merciai                   9 (0.5%)
   Heiko Thiery                      8 (0.5%)
   Alper Nebi Yasak                  8 (0.5%)
   Philippe Schenker                 8 (0.5%)
   Vyacheslav Bocharov               8 (0.5%)
   Michael Walle                     7 (0.4%)
   Peter Robinson                    6 (0.4%)
   Francesco Dolcini                 6 (0.4%)
   Mark Kettenis                     6 (0.4%)
   Neal Frager                       6 (0.4%)
   Robert Marko                      6 (0.4%)
   Jim Liu                           6 (0.4%)
   Tudor Ambarus                     6 (0.4%)
   Paweł Jarosz                      5 (0.3%)
   Dinesh Maniyam                    5 (0.3%)
   Ariel D'Alessandro                5 (0.3%)
   Eugen Hristev                     5 (0.3%)
   Sergiu Moga                       5 (0.3%)
   Lukasz Majewski                   5 (0.3%)
   Clément Léger                     5 (0.3%)
   Huang Jianan                      5 (0.3%)
   Etienne Carriere                  5 (0.3%)
   Tien Fong Chee                    4 (0.2%)
   Chris Morgan                      4 (0.2%)
   Dario Binacchi                    4 (0.2%)
   Frieder Schrempf                  4 (0.2%)
   Janne Grunau                      4 (0.2%)
   Josua Mayer                       4 (0.2%)
   Vincent Stehlé                    4 (0.2%)
   Chris Packham                     4 (0.2%)
   Sai Pavan Boddu                   4 (0.2%)
   Neil Armstrong                    4 (0.2%)
   Jan Kiszka                        4 (0.2%)
   Andrew Davis                      4 (0.2%)
   Aswath Govindraju                 4 (0.2%)
   Masami Hiramatsu                  4 (0.2%)
   Durai Manickam KR                 4 (0.2%)
   Billy Tsai                        4 (0.2%)
   Angus Ainslie                     4 (0.2%)
   Jesse Taube                       4 (0.2%)
   Andrew Jeffery                    4 (0.2%)
   Hari Nagalla                      4 (0.2%)
   Icenowy Zheng                     4 (0.2%)
   Romain Naour                      4 (0.2%)
   Joel Stanley                      3 (0.2%)
   Andrey Zhizhikin                  3 (0.2%)
   Loic Poulain                      3 (0.2%)
   Rasmus Villemoes                  3 (0.2%)
   Vagrant Cascadian                 3 (0.2%)
   Ilias Apalodimas                  3 (0.2%)
   Eddie James                       3 (0.2%)
   Gireesh Hiremath                  3 (0.2%)
   Sam Shih                          3 (0.2%)
   Luca Ellero                       3 (0.2%)
   Tony Dinh                         3 (0.2%)
   Paul Barker                       3 (0.2%)
   Oleksandr Suvorov                 3 (0.2%)
   Igor Opaniuk                      3 (0.2%)
   Denys Drozdov                     3 (0.2%)
   SESA644425                        3 (0.2%)
   Vignesh Raghavendra               3 (0.2%)
   Dzmitry Sankouski                 3 (0.2%)
   Jernej Skrabec                    3 (0.2%)
   Miquel Raynal                     2 (0.1%)
   Christian Gmeiner                 2 (0.1%)
   Nate Drude                        2 (0.1%)
   Rick Chen                         2 (0.1%)
   Yannick Fertre                    2 (0.1%)
   Peter Hoyes                       2 (0.1%)
   Dominic Rath                      2 (0.1%)
   Du Huanpeng                       2 (0.1%)
   Haolin Li                         2 (0.1%)
   Clement Faure                     2 (0.1%)
   Vladimir Oltean                   2 (0.1%)
   Christoph Niedermaier             2 (0.1%)
   Paul Barbieri                     1 (0.1%)
   Hannes Schmelzer                  1 (0.1%)
   Teik Heng Chong                   1 (0.1%)
   Andrea Scian                      1 (0.1%)
   Jerome Forissier                  1 (0.1%)
   Emmanuel Vadot                    1 (0.1%)
   Nicolas Iooss                     1 (0.1%)
   Andrejs Cainikovs                 1 (0.1%)
   qianfan Zhao                      1 (0.1%)
   Yau Wai Gan                       1 (0.1%)
   Corentin LABBE                    1 (0.1%)
   Christophe Leroy                  1 (0.1%)
   Chunfeng Yun                      1 (0.1%)
   Camelia Groza                     1 (0.1%)
   Wasim Khan                        1 (0.1%)
   Georgi Vlaev                      1 (0.1%)
   Andrea zi0Black Cappa             1 (0.1%)
   Leo Yu-Chi Liang                  1 (0.1%)
   Humberto Naves                    1 (0.1%)
   Sean Nyekjaer                     1 (0.1%)
   Christoph Fritz                   1 (0.1%)
   Sergei Antonov                    1 (0.1%)
   George Hilliard                   1 (0.1%)
   Ying-Chun Liu (PaulLiu)           1 (0.1%)
   Vishal Patel                      1 (0.1%)
   Piyush Mehta                      1 (0.1%)
   Amit Kumar Mahapatra              1 (0.1%)
   Jorge Ramirez-Ortiz               1 (0.1%)
   Ralph Siemsen                     1 (0.1%)
   Ovidiu Panait                     1 (0.1%)
   John Keeping                      1 (0.1%)
   Oliver Graute                     1 (0.1%)
   Nicolas Heemeryck                 1 (0.1%)
   Stanley Chu                       1 (0.1%)
   Josef Schlehofer                  1 (0.1%)
   Stephen Carlson                   1 (0.1%)
   Yuantian Tang                     1 (0.1%)
   Hou Zhiqiang                      1 (0.1%)
   Kyle Evans                        1 (0.1%)
   Lyle Franklin                     1 (0.1%)
   Andrew Abbott                     1 (0.1%)
   Oleksii Titov                     1 (0.1%)
   Kshitiz Varshney                  1 (0.1%)
   Ian Ray                           1 (0.1%)
   Rogier Stam                       1 (0.1%)
   Diego Rondini                     1 (0.1%)
   Daniel Golle                      1 (0.1%)
   Peter Cai                         1 (0.1%)
   Alexandre Besnard                 1 (0.1%)
   Elmar Albert                      1 (0.1%)
   Arjan Minzinga Zijlstra           1 (0.1%)
   Oleksii Bidnichenko               1 (0.1%)
   Ji Luo                            1 (0.1%)
   Clark Wang                        1 (0.1%)
   Clément Péron                     1 (0.1%)
   Andy Shevchenko                   1 (0.1%)
   Hajo Noerenberg                   1 (0.1%)
   Ville Baillie                     1 (0.1%)
   Paul HENRYS                       1 (0.1%)
   Jérôme Carretero                  1 (0.1%)
   Dhananjay Phadke                  1 (0.1%)
   Ivan Vozvakhov                    1 (0.1%)
   Tom Saeger                        1 (0.1%)
   Adarsh Babu Kalepalli             1 (0.1%)
   He Yong                           1 (0.1%)
   Samuel Dionne-Riel                1 (0.1%)
   Felix Vietmeyer                   1 (0.1%)
   Yi Liu                            1 (0.1%)
   Angelo Dureghello                 1 (0.1%)
   Baltazár Radics                   1 (0.1%)
   Alexander Graf                    1 (0.1%)
   Mihai Sain                        1 (0.1%)
   Sai Krishna Potthuri              1 (0.1%)
   weichangzheng                     1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Aaron Williams                    31473 (16.9%)
   Tom Rini                          25599 (13.7%)
   Simon Glass                       17972 (9.7%)
   Marek Vasut                       14707 (7.9%)
   Tim Harvey                        11858 (6.4%)
   Sean Anderson                     10323 (5.5%)
   Samuel Holland                    8705 (4.7%)
   Stefan Roese                      4394 (2.4%)
   Johan Jonker                      3712 (2.0%)
   Jim Liu                           3650 (2.0%)
   Ariel D'Alessandro                3358 (1.8%)
   Huang Jianan                      3272 (1.8%)
   Philippe Reynes                   2587 (1.4%)
   Philip Oberfichtner               2400 (1.3%)
   Peng Fan                          2365 (1.3%)
   Pali Rohár                        2277 (1.2%)
   Paweł Jarosz                      2092 (1.1%)
   AKASHI Takahiro                   1700 (0.9%)
   Eugen Hristev                     1532 (0.8%)
   Gaurav Jain                       1522 (0.8%)
   Humberto Naves                    1498 (0.8%)
   Marek Behún                       1353 (0.7%)
   Andre Przywara                    1318 (0.7%)
   Paul Barker                       1308 (0.7%)
   Patrick Delaunay                  1200 (0.6%)
   Paweł Anikiel                     1162 (0.6%)
   Michal Simek                      1065 (0.6%)
   Patrice Chotard                   1038 (0.6%)
   Ashok Reddy Soma                  1000 (0.5%)
   Sughosh Ganu                      954 (0.5%)
   Denys Drozdov                     942 (0.5%)
   Neal Frager                       894 (0.5%)
   Angus Ainslie                     804 (0.4%)
   Heinrich Schuchardt               692 (0.4%)
   weichangzheng                     686 (0.4%)
   Etienne Carriere                  652 (0.4%)
   Janne Grunau                      648 (0.3%)
   Marcel Ziswiler                   636 (0.3%)
   Andrew Scull                      606 (0.3%)
   Neil Armstrong                    598 (0.3%)
   Masahisa Kojima                   567 (0.3%)
   Adam Ford                         524 (0.3%)
   Billy Tsai                        497 (0.3%)
   Alper Nebi Yasak                  440 (0.2%)
   Fabio Estevam                     420 (0.2%)
   Michael Trimarchi                 393 (0.2%)
   Durai Manickam KR                 378 (0.2%)
   Vincent Stehlé                    369 (0.2%)
   Andrew Jeffery                    359 (0.2%)
   T Karthik Reddy                   322 (0.2%)
   Francesco Dolcini                 306 (0.2%)
   Ye Li                             303 (0.2%)
   Nate Drude                        275 (0.1%)
   Dave Gerlach                      263 (0.1%)
   Sergiu Moga                       260 (0.1%)
   Tony Dinh                         256 (0.1%)
   Sam Shih                          252 (0.1%)
   Ivan Vozvakhov                    252 (0.1%)
   Dzmitry Sankouski                 244 (0.1%)
   Tommaso Merciai                   242 (0.1%)
   Yannick Fertre                    217 (0.1%)
   Clément Léger                     208 (0.1%)
   Eddie James                       202 (0.1%)
   Ilias Apalodimas                  190 (0.1%)
   Philippe Schenker                 189 (0.1%)
   Adarsh Babu Kalepalli             174 (0.1%)
   Igor Opaniuk                      160 (0.1%)
   Michael Walle                     159 (0.1%)
   Lukasz Majewski                   157 (0.1%)
   Josua Mayer                       137 (0.1%)
   Vyacheslav Bocharov               131 (0.1%)
   Stanley Chu                       131 (0.1%)
   Gireesh Hiremath                  127 (0.1%)
   Hari Nagalla                      126 (0.1%)
   Leo Yu-Chi Liang                  116 (0.1%)
   Luca Ellero                       107 (0.1%)
   Chris Morgan                      100 (0.1%)
   Peter Hoyes                       100 (0.1%)
   Ji Luo                            100 (0.1%)
   George Hilliard                   82 (0.0%)
   Mark Kettenis                     79 (0.0%)
   Frieder Schrempf                  78 (0.0%)
   Heiko Thiery                      72 (0.0%)
   Icenowy Zheng                     69 (0.0%)
   Joel Stanley                      66 (0.0%)
   Diego Rondini                     64 (0.0%)
   Robert Marko                      63 (0.0%)
   Dinesh Maniyam                    59 (0.0%)
   Andrejs Cainikovs                 49 (0.0%)
   Samuel Dionne-Riel                48 (0.0%)
   Mihai Sain                        45 (0.0%)
   Bin Meng                          41 (0.0%)
   Loic Poulain                      40 (0.0%)
   SESA644425                        40 (0.0%)
   Masami Hiramatsu                  39 (0.0%)
   Clement Faure                     39 (0.0%)
   He Yong                           39 (0.0%)
   Rasmus Villemoes                  38 (0.0%)
   Jernej Skrabec                    37 (0.0%)
   Jerome Forissier                  35 (0.0%)
   Paul HENRYS                       31 (0.0%)
   Jérôme Carretero                  30 (0.0%)
   Paul Barbieri                     28 (0.0%)
   Aswath Govindraju                 27 (0.0%)
   Jan Kiszka                        26 (0.0%)
   Jesse Taube                       26 (0.0%)
   Nicolas Heemeryck                 23 (0.0%)
   Ville Baillie                     23 (0.0%)
   Andrew Davis                      22 (0.0%)
   Kyle Evans                        22 (0.0%)
   Peter Robinson                    21 (0.0%)
   Romain Naour                      21 (0.0%)
   Peter Cai                         21 (0.0%)
   Hou Zhiqiang                      20 (0.0%)
   Clark Wang                        20 (0.0%)
   Sai Pavan Boddu                   18 (0.0%)
   Amit Kumar Mahapatra              18 (0.0%)
   Elmar Albert                      18 (0.0%)
   Tudor Ambarus                     16 (0.0%)
   Oleksandr Suvorov                 16 (0.0%)
   Chris Packham                     15 (0.0%)
   Vagrant Cascadian                 15 (0.0%)
   Dominic Rath                      13 (0.0%)
   Andrea Scian                      13 (0.0%)
   Christoph Fritz                   13 (0.0%)
   Nicolas Iooss                     12 (0.0%)
   Miquel Raynal                     11 (0.0%)
   Vishal Patel                      11 (0.0%)
   Georgi Vlaev                      9 (0.0%)
   Dario Binacchi                    8 (0.0%)
   Teik Heng Chong                   8 (0.0%)
   Piyush Mehta                      8 (0.0%)
   Ovidiu Panait                     8 (0.0%)
   John Keeping                      8 (0.0%)
   Dhananjay Phadke                  8 (0.0%)
   Tom Saeger                        8 (0.0%)
   Tien Fong Chee                    7 (0.0%)
   Stephen Carlson                   7 (0.0%)
   Lyle Franklin                     7 (0.0%)
   Felix Vietmeyer                   7 (0.0%)
   Alexander Graf                    7 (0.0%)
   Andrey Zhizhikin                  6 (0.0%)
   Vignesh Raghavendra               6 (0.0%)
   Christian Gmeiner                 6 (0.0%)
   Haolin Li                         6 (0.0%)
   Daniel Golle                      6 (0.0%)
   Rick Chen                         5 (0.0%)
   Ying-Chun Liu (PaulLiu)           5 (0.0%)
   Rogier Stam                       5 (0.0%)
   Alexandre Besnard                 5 (0.0%)
   Angelo Dureghello                 5 (0.0%)
   Christoph Niedermaier             4 (0.0%)
   Hannes Schmelzer                  4 (0.0%)
   Chunfeng Yun                      4 (0.0%)
   Kshitiz Varshney                  4 (0.0%)
   Yi Liu                            4 (0.0%)
   Baltazár Radics                   4 (0.0%)
   Christophe Leroy                  3 (0.0%)
   Wasim Khan                        3 (0.0%)
   Andrea zi0Black Cappa             3 (0.0%)
   Sean Nyekjaer                     3 (0.0%)
   Andy Shevchenko                   3 (0.0%)
   Du Huanpeng                       2 (0.0%)
   Vladimir Oltean                   2 (0.0%)
   Camelia Groza                     2 (0.0%)
   Sergei Antonov                    2 (0.0%)
   Oliver Graute                     2 (0.0%)
   Yuantian Tang                     2 (0.0%)
   Oleksii Titov                     2 (0.0%)
   Arjan Minzinga Zijlstra           2 (0.0%)
   Oleksii Bidnichenko               2 (0.0%)
   Clément Péron                     2 (0.0%)
   Hajo Noerenberg                   2 (0.0%)
   Sai Krishna Potthuri              2 (0.0%)
   Emmanuel Vadot                    1 (0.0%)
   qianfan Zhao                      1 (0.0%)
   Yau Wai Gan                       1 (0.0%)
   Corentin LABBE                    1 (0.0%)
   Jorge Ramirez-Ortiz               1 (0.0%)
   Ralph Siemsen                     1 (0.0%)
   Josef Schlehofer                  1 (0.0%)
   Andrew Abbott                     1 (0.0%)
   Ian Ray                           1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          19724 (34.9%)
   Denys Drozdov                     941 (1.7%)
   Marcel Ziswiler                   430 (0.8%)
   Stefan Roese                      331 (0.6%)
   Marek Behún                       309 (0.5%)
   Adam Ford                         247 (0.4%)
   Tony Dinh                         187 (0.3%)
   Igor Opaniuk                      134 (0.2%)
   Leo Yu-Chi Liang                  116 (0.2%)
   Etienne Carriere                  97 (0.2%)
   Francesco Dolcini                 30 (0.1%)
   Rasmus Villemoes                  19 (0.0%)
   Hou Zhiqiang                      16 (0.0%)
   Frieder Schrempf                  14 (0.0%)
   John Keeping                      8 (0.0%)
   Romain Naour                      5 (0.0%)
   Ying-Chun Liu (PaulLiu)           5 (0.0%)
   Ovidiu Panait                     3 (0.0%)
   Vignesh Raghavendra               3 (0.0%)
   Andrea zi0Black Cappa             2 (0.0%)
   Andy Shevchenko                   2 (0.0%)
   Peter Robinson                    1 (0.0%)
   Josef Schlehofer                  1 (0.0%)
   Ian Ray                           1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Andre Przywara                    50 (18.8%)
   Michal Simek                      43 (16.2%)
   Stefan Roese                      41 (15.4%)
   Patrice Chotard                   23 (8.6%)
   Peng Fan                          17 (6.4%)
   Marcel Ziswiler                   16 (6.0%)
   Neil Armstrong                    9 (3.4%)
   Priyanka Jain                     7 (2.6%)
   Michael Trimarchi                 6 (2.3%)
   Johan Jonker                      5 (1.9%)
   Tom Rini                          4 (1.5%)
   Tom Warren                        4 (1.5%)
   T Karthik Reddy                   4 (1.5%)
   Stanley Chu                       4 (1.5%)
   Samuel Holland                    4 (1.5%)
   Yau Wai Gan                       2 (0.8%)
   Jagan Teki                        2 (0.8%)
   Biwen Li                          2 (0.8%)
   Ye Li                             2 (0.8%)
   Ilias Apalodimas                  2 (0.8%)
   Heinrich Schuchardt               2 (0.8%)
   Ariel D'Alessandro                2 (0.8%)
   Amit Kumar Mahapatra              1 (0.4%)
   Wolfgang Wallner                  1 (0.4%)
   Alexandru M Stan                  1 (0.4%)
   Kever Yang                        1 (0.4%)
   Chee Hong Ang                     1 (0.4%)
   Yifan Gu                          1 (0.4%)
   Horia Geantă                      1 (0.4%)
   Richard Weinberger                1 (0.4%)
   Anatolij Gustschin                1 (0.4%)
   Gabriel Fernandez                 1 (0.4%)
   Christian Gmeiner                 1 (0.4%)
   Sai Krishna Potthuri              1 (0.4%)
   Josua Mayer                       1 (0.4%)
   Masahisa Kojima                   1 (0.4%)
   Ashok Reddy Soma                  1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       100 (11.5%)
   Fabio Estevam                     69 (7.9%)
   Stefan Roese                      67 (7.7%)
   Ramon Fried                       65 (7.5%)
   Kever Yang                        63 (7.2%)
   Priyanka Jain                     53 (6.1%)
   Patrice Chotard                   38 (4.4%)
   Patrick Delaunay                  38 (4.4%)
   Heinrich Schuchardt               35 (4.0%)
   Andre Przywara                    31 (3.6%)
   Peng Fan                          26 (3.0%)
   Bin Meng                          25 (2.9%)
   Alper Nebi Yasak                  23 (2.6%)
   Tom Rini                          21 (2.4%)
   Marek Behún                       21 (2.4%)
   Jaehoon Chung                     19 (2.2%)
   Ye Li                             13 (1.5%)
   Marek Vasut                       12 (1.4%)
   Heiko Schocher                    9 (1.0%)
   Tien Fong Chee                    9 (1.0%)
   Sean Anderson                     9 (1.0%)
   Vladimir Oltean                   8 (0.9%)
   Ilias Apalodimas                  7 (0.8%)
   Leo Yu-Chi Liang                  6 (0.7%)
   Mark Kettenis                     6 (0.7%)
   Neil Armstrong                    5 (0.6%)
   Samuel Holland                    5 (0.6%)
   Jagan Teki                        5 (0.6%)
   Masami Hiramatsu                  5 (0.6%)
   Gaurav Jain                       5 (0.6%)
   Christian Gmeiner                 4 (0.5%)
   Chia-Wei Wang                     4 (0.5%)
   Claudiu Beznea                    4 (0.5%)
   Pali Rohár                        4 (0.5%)
   Ashok Reddy Soma                  3 (0.3%)
   Francesco Dolcini                 3 (0.3%)
   Nishanth Menon                    3 (0.3%)
   Stefano Babic                     3 (0.3%)
   Holger Brunck                     3 (0.3%)
   Miquel Raynal                     3 (0.3%)
   Michael Walle                     3 (0.3%)
   Michal Simek                      2 (0.2%)
   Michael Trimarchi                 2 (0.2%)
   Tony Dinh                         2 (0.2%)
   Frieder Schrempf                  2 (0.2%)
   Minkyu Kang                       2 (0.2%)
   Rick Chen                         2 (0.2%)
   Tudor Ambarus                     2 (0.2%)
   Joel Stanley                      2 (0.2%)
   Tim Harvey                        2 (0.2%)
   Marcel Ziswiler                   1 (0.1%)
   John Keeping                      1 (0.1%)
   Peter Robinson                    1 (0.1%)
   Peter Collingbourne               1 (0.1%)
   Pankaj Gupta                      1 (0.1%)
   Han Xu                            1 (0.1%)
   Radhey Shyam Pandey               1 (0.1%)
   Philipp Tomsich                   1 (0.1%)
   Thomas Chou                       1 (0.1%)
   Kristian Amlie                    1 (0.1%)
   Qu Wenruo                         1 (0.1%)
   Jacky Bai                         1 (0.1%)
   Ley Foon Tan                      1 (0.1%)
   Dylan Hung                        1 (0.1%)
   Andrey Zhizhikin                  1 (0.1%)
   Kshitiz Varshney                  1 (0.1%)
   Andrew Scull                      1 (0.1%)
   Janne Grunau                      1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tim Harvey                        15 (22.7%)
   Patrice Chotard                   5 (7.6%)
   Mark Kettenis                     4 (6.1%)
   Adam Ford                         4 (6.1%)
   Fabio Estevam                     3 (4.5%)
   Marek Vasut                       3 (4.5%)
   Marcel Ziswiler                   3 (4.5%)
   Derald D. Woods                   3 (4.5%)
   Pali Rohár                        2 (3.0%)
   Ariel D'Alessandro                2 (3.0%)
   Heiko Thiery                      2 (3.0%)
   Andre Przywara                    1 (1.5%)
   Chia-Wei Wang                     1 (1.5%)
   Stefano Babic                     1 (1.5%)
   Frieder Schrempf                  1 (1.5%)
   John Keeping                      1 (1.5%)
   Peter Robinson                    1 (1.5%)
   Peter Collingbourne               1 (1.5%)
   Kshitiz Varshney                  1 (1.5%)
   Janne Grunau                      1 (1.5%)
   Josua Mayer                       1 (1.5%)
   Ying-Chun Liu (PaulLiu)           1 (1.5%)
   Peter Griffin                     1 (1.5%)
   Tatsuhiko Yasumatsu               1 (1.5%)
   Jincheng Wang                     1 (1.5%)
   Gabriel Hojda                     1 (1.5%)
   Arti Zirk                         1 (1.5%)
   Merlijn Wajer                     1 (1.5%)
   Soeren Moch                       1 (1.5%)
   Raffaele RECALCATI                1 (1.5%)
   Angus Ainslie                     1 (1.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Marek Vasut                       14 (20.9%)
   Fabio Estevam                     6 (9.0%)
   Michael Trimarchi                 6 (9.0%)
   Heiko Thiery                      4 (6.0%)
   Adam Ford                         3 (4.5%)
   Heinrich Schuchardt               3 (4.5%)
   Tom Rini                          3 (4.5%)
   Pali Rohár                        2 (3.0%)
   Andre Przywara                    2 (3.0%)
   Frieder Schrempf                  2 (3.0%)
   Janne Grunau                      2 (3.0%)
   Miquel Raynal                     2 (3.0%)
   Masahisa Kojima                   2 (3.0%)
   Tim Harvey                        1 (1.5%)
   Mark Kettenis                     1 (1.5%)
   Angus Ainslie                     1 (1.5%)
   Simon Glass                       1 (1.5%)
   Peng Fan                          1 (1.5%)
   Marek Behún                       1 (1.5%)
   Ye Li                             1 (1.5%)
   Gaurav Jain                       1 (1.5%)
   Joel Stanley                      1 (1.5%)
   Rasmus Villemoes                  1 (1.5%)
   Christoph Niedermaier             1 (1.5%)
   Peter Cai                         1 (1.5%)
   Jerome Forissier                  1 (1.5%)
   Andrejs Cainikovs                 1 (1.5%)
   Nate Drude                        1 (1.5%)
   AKASHI Takahiro                   1 (1.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          2 (10.5%)
   Patrick Delaunay                  2 (10.5%)
   Fabio Estevam                     1 (5.3%)
   Tim Harvey                        1 (5.3%)
   Tatsuhiko Yasumatsu               1 (5.3%)
   Jincheng Wang                     1 (5.3%)
   Gabriel Hojda                     1 (5.3%)
   Nishanth Menon                    1 (5.3%)
   Milan P. Stanić                   1 (5.3%)
   Yun-Chien Yu                      1 (5.3%)
   Nicolas Bidron                    1 (5.3%)
   Balaji Anandapadmanaban           1 (5.3%)
   David Mosberger-Tang              1 (5.3%)
   Jesse Villarreal                  1 (5.3%)
   Suman Anna                        1 (5.3%)
   Vagrant Cascadian                 1 (5.3%)
   Chris Morgan                      1 (5.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       5 (26.3%)
   Andre Przywara                    3 (15.8%)
   Heinrich Schuchardt               2 (10.5%)
   Miquel Raynal                     2 (10.5%)
   Aswath Govindraju                 2 (10.5%)
   Tom Rini                          1 (5.3%)
   Fabio Estevam                     1 (5.3%)
   Samuel Holland                    1 (5.3%)
   Tudor Ambarus                     1 (5.3%)
   Chunfeng Yun                      1 (5.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         669 (39.4%)
   Google, Inc.                      168 (9.9%)
   Konsulko Group                    164 (9.7%)
   DENX Software Engineering         147 (8.7%)
   NXP                               112 (6.6%)
   Linaro                            80 (4.7%)
   ST Microelectronics               53 (3.1%)
   AMD                               51 (3.0%)
   Marvell                           40 (2.4%)
   Xilinx                            39 (2.3%)
   ARM                               34 (2.0%)
   Toradex                           33 (1.9%)
   Texas Instruments                 27 (1.6%)
   Amarula Solutions                 24 (1.4%)
   Intel                             12 (0.7%)
   Semihalf Embedded Systems         11 (0.6%)
   Bootlin                           7 (0.4%)
   BayLibre SAS                      5 (0.3%)
   Collabora Ltd.                    5 (0.3%)
   Siemens                           4 (0.2%)
   Debian.org                        3 (0.2%)
   IBM                               3 (0.2%)
   Wind River                        1 (0.1%)
   Dave S.r.l.                       1 (0.1%)
   General Electric                  1 (0.1%)
   Oracle                            1 (0.1%)
   Rockchip                          1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         63402 (34.0%)
   Marvell                           31473 (16.9%)
   Konsulko Group                    25599 (13.7%)
   DENX Software Engineering         22078 (11.9%)
   Google, Inc.                      18578 (10.0%)
   NXP                               4382 (2.4%)
   Linaro                            4183 (2.2%)
   Collabora Ltd.                    3358 (1.8%)
   ST Microelectronics               2455 (1.3%)
   Xilinx                            2277 (1.2%)
   Toradex                           2140 (1.1%)
   ARM                               1787 (1.0%)
   Semihalf Embedded Systems         1162 (0.6%)
   AMD                               1061 (0.6%)
   Amarula Solutions                 643 (0.3%)
   BayLibre SAS                      599 (0.3%)
   Texas Instruments                 453 (0.2%)
   Bootlin                           219 (0.1%)
   IBM                               202 (0.1%)
   Intel                             78 (0.0%)
   Siemens                           26 (0.0%)
   Debian.org                        15 (0.0%)
   Dave S.r.l.                       13 (0.0%)
   Wind River                        8 (0.0%)
   Oracle                            8 (0.0%)
   Rockchip                          4 (0.0%)
   General Electric                  1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   ARM                               50 (18.8%)
   DENX Software Engineering         42 (15.8%)
   Xilinx                            39 (14.7%)
   NXP                               29 (10.9%)
   ST Microelectronics               24 (9.0%)
   (Unknown)                         21 (7.9%)
   Toradex                           16 (6.0%)
   AMD                               11 (4.1%)
   BayLibre SAS                      9 (3.4%)
   Amarula Solutions                 8 (3.0%)
   Konsulko Group                    4 (1.5%)
   NVidia                            4 (1.5%)
   Linaro                            3 (1.1%)
   Intel                             3 (1.1%)
   Collabora Ltd.                    2 (0.8%)
   Rockchip                          1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         102 (55.1%)
   NXP                               12 (6.5%)
   Linaro                            10 (5.4%)
   Xilinx                            9 (4.9%)
   Toradex                           7 (3.8%)
   Texas Instruments                 6 (3.2%)
   DENX Software Engineering         5 (2.7%)
   Intel                             5 (2.7%)
   ARM                               3 (1.6%)
   ST Microelectronics               3 (1.6%)
   Amarula Solutions                 3 (1.6%)
   AMD                               2 (1.1%)
   BayLibre SAS                      2 (1.1%)
   Google, Inc.                      2 (1.1%)
   Bootlin                           2 (1.1%)
   Konsulko Group                    1 (0.5%)
   Collabora Ltd.                    1 (0.5%)
   Rockchip                          1 (0.5%)
   Marvell                           1 (0.5%)
   Semihalf Embedded Systems         1 (0.5%)
   IBM                               1 (0.5%)
   Siemens                           1 (0.5%)
   Debian.org                        1 (0.5%)
   Dave S.r.l.                       1 (0.5%)
   Wind River                        1 (0.5%)
   Oracle                            1 (0.5%)
   General Electric                  1 (0.5%)
   ================================  =====
