:orphan:

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

* Processed 1696 changesets 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%)
   ================================  =====
