:orphan:

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

* Processed 1639 csets from 189 developers

* 30 employers found

* A total of 108344 lines added, 33382 removed (delta 74962)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       309 (18.9%)
   Heinrich Schuchardt               82 (5.0%)
   Marek Vasut                       54 (3.3%)
   Vignesh Raghavendra               49 (3.0%)
   Michal Simek                      45 (2.7%)
   Masahiro Yamada                   38 (2.3%)
   Igor Opaniuk                      36 (2.2%)
   Heiko Schocher                    32 (2.0%)
   Fabio Estevam                     31 (1.9%)
   Jagan Teki                        30 (1.8%)
   Ley Foon Tan                      29 (1.8%)
   Tom Rini                          28 (1.7%)
   Peng Fan                          28 (1.7%)
   Giulio Benetti                    27 (1.6%)
   Faiz Abbas                        27 (1.6%)
   Ran Wang                          23 (1.4%)
   Patrick Delaunay                  21 (1.3%)
   Baruch Siach                      21 (1.3%)
   Philippe Reynes                   20 (1.2%)
   Robert Beckett                    19 (1.2%)
   Rasmus Villemoes                  18 (1.1%)
   Holger Brunck                     17 (1.0%)
   Biwen Li                          16 (1.0%)
   Andre Przywara                    16 (1.0%)
   Wolfgang Wallner                  15 (0.9%)
   Anatolij Gustschin                15 (0.9%)
   Kuldeep Singh                     14 (0.9%)
   Alifer Moraes                     14 (0.9%)
   Marek Szyprowski                  14 (0.9%)
   mingming lee                      14 (0.9%)
   Sean Anderson                     13 (0.8%)
   Alex Marginean                    13 (0.8%)
   Wasim Khan                        13 (0.8%)
   Angelo Durgehello                 13 (0.8%)
   Sughosh Ganu                      13 (0.8%)
   Andrew F. Davis                   13 (0.8%)
   Sam Protsenko                     12 (0.7%)
   Jean-Jacques Hiblot               12 (0.7%)
   Andy Shevchenko                   11 (0.7%)
   Tom Warren                        11 (0.7%)
   Sam Shih                          11 (0.7%)
   Bin Meng                          10 (0.6%)
   Joris Offouga                     10 (0.6%)
   Ian Ray                           9 (0.5%)
   Yangbo Lu                         8 (0.5%)
   AKASHI Takahiro                   8 (0.5%)
   Priyanka Singh                    7 (0.4%)
   Lokesh Vutla                      7 (0.4%)
   Lukasz Majewski                   7 (0.4%)
   T Karthik Reddy                   7 (0.4%)
   Peng Ma                           7 (0.4%)
   Fabien Dessenne                   7 (0.4%)
   Chunfeng Yun                      7 (0.4%)
   Cristian Ciocaltea                7 (0.4%)
   Peter Robinson                    6 (0.4%)
   Kever Yang                        6 (0.4%)
   Tudor Ambarus                     6 (0.4%)
   Patrice Chotard                   6 (0.4%)
   Eugeniy Paltsev                   6 (0.4%)
   Yuantian Tang                     6 (0.4%)
   Pedro Jardim                      6 (0.4%)
   Michael Walle                     6 (0.4%)
   Ashok Reddy Soma                  6 (0.4%)
   Alex Nemirovsky                   5 (0.3%)
   Meenakshi Aggarwal                5 (0.3%)
   Michael Trimarchi                 5 (0.3%)
   Suniel Mahesh                     5 (0.3%)
   Andreas Dannenberg                5 (0.3%)
   Joel Johnson                      5 (0.3%)
   Flavio Suligoi                    5 (0.3%)
   Yinbo Zhu                         5 (0.3%)
   Stephan Gerhold                   5 (0.3%)
   Ovidiu Panait                     4 (0.2%)
   Alexey Brodkin                    4 (0.2%)
   Alison Wang                       4 (0.2%)
   Otavio Salvador                   4 (0.2%)
   Marcel Ziswiler                   4 (0.2%)
   Jason Li                          4 (0.2%)
   MarkLee                           4 (0.2%)
   Jorge Ramirez-Ortiz               4 (0.2%)
   Caleb Robey                       4 (0.2%)
   Steffen Dirkwinkel                4 (0.2%)
   Ye Li                             3 (0.2%)
   Jan Kiszka                        3 (0.2%)
   Klaus H. Sorensen                 3 (0.2%)
   Madalin Bucur                     3 (0.2%)
   Oliver Graute                     3 (0.2%)
   Frieder Schrempf                  3 (0.2%)
   Heiko Stuebner                    3 (0.2%)
   Dario Binacchi                    3 (0.2%)
   Amit Singh Tomar                  3 (0.2%)
   Martin Fuzzey                     3 (0.2%)
   Chen-Yu Tsai                      3 (0.2%)
   Pankaj Bansal                     3 (0.2%)
   Pramod Kumar                      3 (0.2%)
   Adam Ford                         3 (0.2%)
   Eugeniu Rosca                     3 (0.2%)
   Lars Povlsen                      2 (0.1%)
   Stephen Warren                    2 (0.1%)
   Kristian Amlie                    2 (0.1%)
   Simon Goldschmidt                 2 (0.1%)
   Frank Wunderlich                  2 (0.1%)
   Fabien Lehoussel                  2 (0.1%)
   Grygorii Strashko                 2 (0.1%)
   Samuel Mendoza-Jonas              2 (0.1%)
   Ilias Apalodimas                  2 (0.1%)
   Christophe Leroy                  2 (0.1%)
   Milan Obuch                       2 (0.1%)
   Markus Klotzbuecher               2 (0.1%)
   Bharat Kumar Reddy Gooty          2 (0.1%)
   Antonio Borneo                    2 (0.1%)
   Thirupathaiah Annapureddy         2 (0.1%)
   Park, Aiden                       2 (0.1%)
   YouMin Chen                       2 (0.1%)
   Thomas Hebb                       2 (0.1%)
   Udit Agarwal                      2 (0.1%)
   Hou Zhiqiang                      2 (0.1%)
   Anand Moon                        2 (0.1%)
   Christian Hewitt                  2 (0.1%)
   Thor Thayer                       2 (0.1%)
   Claudius Heine                    2 (0.1%)
   Denis Zalevskiy                   2 (0.1%)
   Stefan Roese                      1 (0.1%)
   Chee Hong Ang                     1 (0.1%)
   Jan-Christoph Tebbe               1 (0.1%)
   Jaehoon Chung                     1 (0.1%)
   Vishruth                          1 (0.1%)
   JC Kuo                            1 (0.1%)
   Lihua Zhao                        1 (0.1%)
   Vladimir Oltean                   1 (0.1%)
   Vikas Singh                       1 (0.1%)
   Petr Štetiar                      1 (0.1%)
   Atish Patra                       1 (0.1%)
   Marek Behún                       1 (0.1%)
   Harald Seiler                     1 (0.1%)
   Miquel Raynal                     1 (0.1%)
   Tomasz Duszynski                  1 (0.1%)
   Chris Packham                     1 (0.1%)
   Walter Lozano                     1 (0.1%)
   Alex Kiernan                      1 (0.1%)
   Clemens Gruber                    1 (0.1%)
   Matthias Brugger                  1 (0.1%)
   Pankit Garg                       1 (0.1%)
   Max Krummenacher                  1 (0.1%)
   Stefano Babic                     1 (0.1%)
   Arthur Li                         1 (0.1%)
   Samuel Mescoff                    1 (0.1%)
   Seung-Woo Kim                     1 (0.1%)
   Rajan Vaja                        1 (0.1%)
   Madan Srinivas                    1 (0.1%)
   Carl Gelfand                      1 (0.1%)
   Jared Baldridge                   1 (0.1%)
   Hugh Cole-Baker                   1 (0.1%)
   Tero Kristo                       1 (0.1%)
   Roger Quadros                     1 (0.1%)
   Marek Bykowski                    1 (0.1%)
   Sébastien Szymanski               1 (0.1%)
   Luka Kovacic                      1 (0.1%)
   Robert Marko                      1 (0.1%)
   Maxime Ripard                     1 (0.1%)
   Rob Herring                       1 (0.1%)
   Guillermo Rodríguez               1 (0.1%)
   Christoph Müllner                 1 (0.1%)
   Mark Kettenis                     1 (0.1%)
   Marcin Wojtas                     1 (0.1%)
   Jernej Skrabec                    1 (0.1%)
   Fabien Parent                     1 (0.1%)
   Eric Nelson                       1 (0.1%)
   Shawn Guo                         1 (0.1%)
   Patrik Dahlström                  1 (0.1%)
   Xiaowei Bao                       1 (0.1%)
   Dhananjay Phadke                  1 (0.1%)
   Rainer Boschung                   1 (0.1%)
   Matthias Schoepfer                1 (0.1%)
   Arkadiusz Karas                   1 (0.1%)
   Keerthy                           1 (0.1%)
   Jason Kridner                     1 (0.1%)
   Alexandre Besnard                 1 (0.1%)
   Zumeng Chen                       1 (0.1%)
   Sudeep Holla                      1 (0.1%)
   Raviteja Narayanam                1 (0.1%)
   Rajesh Ravi                       1 (0.1%)
   Han Nandor                        1 (0.1%)
   Parthiban Nallathambi             1 (0.1%)
   Wen He                            1 (0.1%)
   Vabhav Sharma                     1 (0.1%)
   Florinel Iordache                 1 (0.1%)
   Joakim Tjernlund                  1 (0.1%)
   Michael Auchter                   1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       23135 (18.7%)
   Peng Fan                          6869 (5.6%)
   Heiko Schocher                    6326 (5.1%)
   Michal Simek                      4952 (4.0%)
   Ley Foon Tan                      4752 (3.8%)
   Igor Opaniuk                      4700 (3.8%)
   Baruch Siach                      4567 (3.7%)
   Robert Beckett                    3815 (3.1%)
   Giulio Benetti                    3134 (2.5%)
   mingming lee                      2755 (2.2%)
   Marek Vasut                       2569 (2.1%)
   Sam Shih                          2530 (2.0%)
   Holger Brunck                     2393 (1.9%)
   Stephan Gerhold                   2290 (1.9%)
   Tom Rini                          2200 (1.8%)
   Philippe Reynes                   2105 (1.7%)
   Jagan Teki                        2086 (1.7%)
   Tom Warren                        1986 (1.6%)
   Anatolij Gustschin                1954 (1.6%)
   Chen-Yu Tsai                      1603 (1.3%)
   Angelo Durgehello                 1600 (1.3%)
   Vignesh Raghavendra               1593 (1.3%)
   Fabio Estevam                     1519 (1.2%)
   Heinrich Schuchardt               1510 (1.2%)
   Andre Przywara                    1492 (1.2%)
   Samuel Mendoza-Jonas              1384 (1.1%)
   Sam Protsenko                     1357 (1.1%)
   Peng Ma                           1188 (1.0%)
   Michael Walle                     1091 (0.9%)
   Lukasz Majewski                   1086 (0.9%)
   Biwen Li                          1061 (0.9%)
   Patrick Delaunay                  998 (0.8%)
   Martin Fuzzey                     884 (0.7%)
   Joris Offouga                     758 (0.6%)
   Amit Singh Tomar                  745 (0.6%)
   Parthiban Nallathambi             732 (0.6%)
   Arkadiusz Karas                   730 (0.6%)
   Stefano Babic                     691 (0.6%)
   Sughosh Ganu                      670 (0.5%)
   Cristian Ciocaltea                629 (0.5%)
   Florinel Iordache                 620 (0.5%)
   Masahiro Yamada                   613 (0.5%)
   Jason Kridner                     577 (0.5%)
   Faiz Abbas                        536 (0.4%)
   Alex Nemirovsky                   497 (0.4%)
   Ilias Apalodimas                  487 (0.4%)
   Andrew F. Davis                   469 (0.4%)
   Fabien Dessenne                   468 (0.4%)
   Jason Li                          442 (0.4%)
   Caleb Robey                       430 (0.3%)
   Bin Meng                          397 (0.3%)
   Alex Marginean                    373 (0.3%)
   Ashok Reddy Soma                  322 (0.3%)
   Andreas Dannenberg                317 (0.3%)
   Han Nandor                        298 (0.2%)
   Thirupathaiah Annapureddy         293 (0.2%)
   Tudor Ambarus                     291 (0.2%)
   Christian Hewitt                  291 (0.2%)
   Bharat Kumar Reddy Gooty          250 (0.2%)
   Jean-Jacques Hiblot               239 (0.2%)
   Wasim Khan                        234 (0.2%)
   Alexey Brodkin                    232 (0.2%)
   Ran Wang                          231 (0.2%)
   Rasmus Villemoes                  222 (0.2%)
   Ye Li                             220 (0.2%)
   YouMin Chen                       220 (0.2%)
   Grygorii Strashko                 210 (0.2%)
   Ian Ray                           206 (0.2%)
   Kuldeep Singh                     201 (0.2%)
   Arthur Li                         195 (0.2%)
   Eugeniu Rosca                     191 (0.2%)
   Klaus H. Sorensen                 185 (0.1%)
   Pedro Jardim                      183 (0.1%)
   Yangbo Lu                         181 (0.1%)
   Andy Shevchenko                   180 (0.1%)
   Heiko Stuebner                    173 (0.1%)
   Marek Szyprowski                  172 (0.1%)
   Suniel Mahesh                     157 (0.1%)
   Wolfgang Wallner                  135 (0.1%)
   Zumeng Chen                       135 (0.1%)
   Eugeniy Paltsev                   133 (0.1%)
   Chunfeng Yun                      130 (0.1%)
   Sean Anderson                     129 (0.1%)
   Yuantian Tang                     125 (0.1%)
   MarkLee                           124 (0.1%)
   Michael Trimarchi                 119 (0.1%)
   Steffen Dirkwinkel                114 (0.1%)
   Peter Robinson                    111 (0.1%)
   Alifer Moraes                     110 (0.1%)
   Adam Ford                         98 (0.1%)
   Priyanka Singh                    91 (0.1%)
   AKASHI Takahiro                   90 (0.1%)
   Patrice Chotard                   79 (0.1%)
   Denis Zalevskiy                   76 (0.1%)
   Marcel Ziswiler                   61 (0.0%)
   Joel Johnson                      60 (0.0%)
   JC Kuo                            59 (0.0%)
   T Karthik Reddy                   57 (0.0%)
   Clemens Gruber                    55 (0.0%)
   Maxime Ripard                     55 (0.0%)
   Meenakshi Aggarwal                52 (0.0%)
   Frieder Schrempf                  51 (0.0%)
   Frank Wunderlich                  50 (0.0%)
   Park, Aiden                       48 (0.0%)
   Alex Kiernan                      43 (0.0%)
   Alison Wang                       41 (0.0%)
   Pankaj Bansal                     36 (0.0%)
   Kever Yang                        35 (0.0%)
   Atish Patra                       34 (0.0%)
   Vladimir Oltean                   33 (0.0%)
   Pramod Kumar                      31 (0.0%)
   Udit Agarwal                      30 (0.0%)
   Lars Povlsen                      28 (0.0%)
   Thor Thayer                       27 (0.0%)
   Lokesh Vutla                      25 (0.0%)
   Stefan Roese                      24 (0.0%)
   Ovidiu Panait                     23 (0.0%)
   Chee Hong Ang                     22 (0.0%)
   Hugh Cole-Baker                   21 (0.0%)
   Rajesh Ravi                       21 (0.0%)
   Otavio Salvador                   20 (0.0%)
   Claudius Heine                    19 (0.0%)
   Luka Kovacic                      19 (0.0%)
   Simon Goldschmidt                 18 (0.0%)
   Yinbo Zhu                         16 (0.0%)
   Stephen Warren                    15 (0.0%)
   Wen He                            15 (0.0%)
   Roger Quadros                     13 (0.0%)
   Guillermo Rodríguez               13 (0.0%)
   Hou Zhiqiang                      12 (0.0%)
   Seung-Woo Kim                     12 (0.0%)
   Tomasz Duszynski                  11 (0.0%)
   Marcin Wojtas                     11 (0.0%)
   Madan Srinivas                    10 (0.0%)
   Thomas Hebb                       9 (0.0%)
   Madalin Bucur                     8 (0.0%)
   Robert Marko                      8 (0.0%)
   Xiaowei Bao                       8 (0.0%)
   Oliver Graute                     7 (0.0%)
   Christophe Leroy                  7 (0.0%)
   Antonio Borneo                    7 (0.0%)
   Marek Behún                       7 (0.0%)
   Patrik Dahlström                  7 (0.0%)
   Joakim Tjernlund                  7 (0.0%)
   Flavio Suligoi                    6 (0.0%)
   Dario Binacchi                    6 (0.0%)
   Kristian Amlie                    6 (0.0%)
   Rajan Vaja                        6 (0.0%)
   Jorge Ramirez-Ortiz               5 (0.0%)
   Pankit Garg                       5 (0.0%)
   Jan Kiszka                        4 (0.0%)
   Fabien Lehoussel                  4 (0.0%)
   Markus Klotzbuecher               4 (0.0%)
   Miquel Raynal                     4 (0.0%)
   Sébastien Szymanski               4 (0.0%)
   Rob Herring                       4 (0.0%)
   Rainer Boschung                   4 (0.0%)
   Sudeep Holla                      4 (0.0%)
   Milan Obuch                       3 (0.0%)
   Mark Kettenis                     3 (0.0%)
   Anand Moon                        2 (0.0%)
   Jaehoon Chung                     2 (0.0%)
   Vishruth                          2 (0.0%)
   Lihua Zhao                        2 (0.0%)
   Harald Seiler                     2 (0.0%)
   Chris Packham                     2 (0.0%)
   Walter Lozano                     2 (0.0%)
   Matthias Brugger                  2 (0.0%)
   Max Krummenacher                  2 (0.0%)
   Jared Baldridge                   2 (0.0%)
   Jernej Skrabec                    2 (0.0%)
   Dhananjay Phadke                  2 (0.0%)
   Keerthy                           2 (0.0%)
   Alexandre Besnard                 2 (0.0%)
   Vabhav Sharma                     2 (0.0%)
   Jan-Christoph Tebbe               1 (0.0%)
   Vikas Singh                       1 (0.0%)
   Petr Štetiar                      1 (0.0%)
   Samuel Mescoff                    1 (0.0%)
   Carl Gelfand                      1 (0.0%)
   Tero Kristo                       1 (0.0%)
   Marek Bykowski                    1 (0.0%)
   Christoph Müllner                 1 (0.0%)
   Fabien Parent                     1 (0.0%)
   Eric Nelson                       1 (0.0%)
   Shawn Guo                         1 (0.0%)
   Matthias Schoepfer                1 (0.0%)
   Raviteja Narayanam                1 (0.0%)
   Michael Auchter                   1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Michal Simek                      2438 (7.3%)
   Peng Ma                           971 (2.9%)
   Tom Warren                        727 (2.2%)
   Stefano Babic                     691 (2.1%)
   Andre Przywara                    558 (1.7%)
   Tom Rini                          376 (1.1%)
   Grygorii Strashko                 208 (0.6%)
   Pedro Jardim                      173 (0.5%)
   Yangbo Lu                         113 (0.3%)
   Alifer Moraes                     87 (0.3%)
   Denis Zalevskiy                   51 (0.2%)
   Clemens Gruber                    45 (0.1%)
   Steffen Dirkwinkel                39 (0.1%)
   Park, Aiden                       35 (0.1%)
   Hou Zhiqiang                      11 (0.0%)
   Madan Srinivas                    10 (0.0%)
   Thomas Hebb                       7 (0.0%)
   Tomasz Duszynski                  6 (0.0%)
   Chee Hong Ang                     4 (0.0%)
   Ian Ray                           3 (0.0%)
   Christophe Leroy                  3 (0.0%)
   Sébastien Szymanski               2 (0.0%)
   Max Krummenacher                  2 (0.0%)
   Joakim Tjernlund                  1 (0.0%)
   Rainer Boschung                   1 (0.0%)
   Walter Lozano                     1 (0.0%)
   Matthias Schoepfer                1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Lokesh Vutla                      102 (33.2%)
   Priyanka Jain                     35 (11.4%)
   Michal Simek                      20 (6.5%)
   Bin Meng                          11 (3.6%)
   Robert Beckett                    11 (3.6%)
   Minkyu Kang                       8 (2.6%)
   Heinrich Schuchardt               8 (2.6%)
   Jagan Teki                        8 (2.6%)
   Matthias Brugger                  7 (2.3%)
   Alexey Brodkin                    6 (2.0%)
   Neil Armstrong                    5 (1.6%)
   Alex Nemirovsky                   5 (1.6%)
   Andre Przywara                    4 (1.3%)
   Ian Ray                           4 (1.3%)
   Stefan Roese                      4 (1.3%)
   Jason Kridner                     4 (1.3%)
   Tom Warren                        3 (1.0%)
   Vladimir Olovyannikov             3 (1.0%)
   Rasmus Villemoes                  3 (1.0%)
   Marcel Ziswiler                   3 (1.0%)
   Patrick Delaunay                  3 (1.0%)
   Tom Rini                          2 (0.7%)
   Luis Araneda                      2 (0.7%)
   Ryder Lee                         2 (0.7%)
   Ashish Kumar                      2 (0.7%)
   Rajat Srivastava                  2 (0.7%)
   Kever Yang                        2 (0.7%)
   Masahiro Yamada                   2 (0.7%)
   Michael Trimarchi                 2 (0.7%)
   Alex Marginean                    2 (0.7%)
   Faiz Abbas                        2 (0.7%)
   Igor Opaniuk                      2 (0.7%)
   Peng Ma                           1 (0.3%)
   Alifer Moraes                     1 (0.3%)
   Chee Hong Ang                     1 (0.3%)
   Max Krummenacher                  1 (0.3%)
   Thierry Reding                    1 (0.3%)
   Manish Tomar                      1 (0.3%)
   Fabio Berton                      1 (0.3%)
   Florin Chiculita                  1 (0.3%)
   Shengzhou Liu                     1 (0.3%)
   Valentin Longchamp                1 (0.3%)
   Venkateswara Rao Mandela          1 (0.3%)
   Quanyang Wang                     1 (0.3%)
   Arnd Bergmann                     1 (0.3%)
   Robin Gong                        1 (0.3%)
   Tien Fong Chee                    1 (0.3%)
   Brad Campbell                     1 (0.3%)
   Stefan Agner                      1 (0.3%)
   Yogesh Gaur                       1 (0.3%)
   Sriram Dash                       1 (0.3%)
   Tero Kristo                       1 (0.3%)
   Andy Shevchenko                   1 (0.3%)
   YouMin Chen                       1 (0.3%)
   Jean-Jacques Hiblot               1 (0.3%)
   Andreas Dannenberg                1 (0.3%)
   Caleb Robey                       1 (0.3%)
   Andrew F. Davis                   1 (0.3%)
   Marek Vasut                       1 (0.3%)
   Peng Fan                          1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          167 (19.5%)
   Priyanka Jain                     107 (12.5%)
   Simon Glass                       85 (9.9%)
   Kever Yang                        45 (5.2%)
   Patrice Chotard                   36 (4.2%)
   Oleksandr Suvorov                 32 (3.7%)
   Simon Goldschmidt                 31 (3.6%)
   Jagan Teki                        30 (3.5%)
   Stefan Roese                      30 (3.5%)
   Heiko Schocher                    28 (3.3%)
   Fabio Estevam                     25 (2.9%)
   Patrick Delaunay                  22 (2.6%)
   Lokesh Vutla                      19 (2.2%)
   Heinrich Schuchardt               16 (1.9%)
   Ryder Lee                         15 (1.7%)
   Tom Rini                          14 (1.6%)
   Peng Fan                          13 (1.5%)
   Lukasz Majewski                   13 (1.5%)
   Grygorii Strashko                 11 (1.3%)
   Jaehoon Chung                     11 (1.3%)
   Anatolij Gustschin                7 (0.8%)
   Stefano Babic                     6 (0.7%)
   Rick Chen                         6 (0.7%)
   Eric Nelson                       5 (0.6%)
   Daniel Schwierzeck                5 (0.6%)
   Pragnesh Patel                    5 (0.6%)
   Linus Walleij                     5 (0.6%)
   Mario Six                         5 (0.6%)
   Anand Moon                        5 (0.6%)
   Ley Foon Tan                      5 (0.6%)
   Jun Chen                          4 (0.5%)
   Miquel Raynal                     4 (0.5%)
   Neil Armstrong                    3 (0.3%)
   Marek Vasut                       3 (0.3%)
   Stephen Warren                    3 (0.3%)
   Sam Protsenko                     3 (0.3%)
   Andre Przywara                    2 (0.2%)
   Alexandre Belloni                 2 (0.2%)
   Horatiu Vultur                    2 (0.2%)
   Lukas Auer                        2 (0.2%)
   Joel Stanley                      2 (0.2%)
   Ye Li                             2 (0.2%)
   Sughosh Ganu                      2 (0.2%)
   Masahiro Yamada                   1 (0.1%)
   Michael Trimarchi                 1 (0.1%)
   Alex Marginean                    1 (0.1%)
   Andy Shevchenko                   1 (0.1%)
   Yangbo Lu                         1 (0.1%)
   Park, Aiden                       1 (0.1%)
   Rob Herring                       1 (0.1%)
   Keerthy                           1 (0.1%)
   Mathieu Poirier                   1 (0.1%)
   Angelo Dureghello                 1 (0.1%)
   Cédric Le Goater                  1 (0.1%)
   Oliver Graute                     1 (0.1%)
   Frieder Schrempf                  1 (0.1%)
   Atish Patra                       1 (0.1%)
   Vladimir Oltean                   1 (0.1%)
   Wolfgang Wallner                  1 (0.1%)
   Heiko Stuebner                    1 (0.1%)
   Kuldeep Singh                     1 (0.1%)
   Vignesh Raghavendra               1 (0.1%)
   Philippe Reynes                   1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          13 (20.6%)
   Peter Robinson                    8 (12.7%)
   Jagan Teki                        5 (7.9%)
   Fabio Estevam                     4 (6.3%)
   Simon Goldschmidt                 3 (4.8%)
   Corentin Labbe                    3 (4.8%)
   Patrice Chotard                   2 (3.2%)
   Heinrich Schuchardt               2 (3.2%)
   Guillaume La Roque                2 (3.2%)
   Frank Wunderlich                  2 (3.2%)
   Patrick Delaunay                  1 (1.6%)
   Lokesh Vutla                      1 (1.6%)
   Tom Rini                          1 (1.6%)
   Marek Vasut                       1 (1.6%)
   Andy Shevchenko                   1 (1.6%)
   Park, Aiden                       1 (1.6%)
   Wolfgang Wallner                  1 (1.6%)
   Kuldeep Singh                     1 (1.6%)
   Matthias Brugger                  1 (1.6%)
   Alifer Moraes                     1 (1.6%)
   Andreas Dannenberg                1 (1.6%)
   Matt Porter                       1 (1.6%)
   Mauro Condarelli                  1 (1.6%)
   Álvaro Fernández Rojas            1 (1.6%)
   Ferry Toth                        1 (1.6%)
   Ard Biesheuvel                    1 (1.6%)
   Robert Marko                      1 (1.6%)
   Michael Walle                     1 (1.6%)
   Baruch Siach                      1 (1.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jagan Teki                        6 (9.5%)
   Anatolij Gustschin                4 (6.3%)
   Andre Przywara                    4 (6.3%)
   Igor Opaniuk                      4 (6.3%)
   Bin Meng                          3 (4.8%)
   Heinrich Schuchardt               3 (4.8%)
   Marek Vasut                       3 (4.8%)
   Masahiro Yamada                   3 (4.8%)
   Amit Singh Tomar                  3 (4.8%)
   Tom Rini                          2 (3.2%)
   Simon Glass                       2 (3.2%)
   Peng Fan                          2 (3.2%)
   Ye Li                             2 (3.2%)
   Vignesh Raghavendra               2 (3.2%)
   Sean Anderson                     2 (3.2%)
   Sam Shih                          2 (3.2%)
   Fabio Estevam                     1 (1.6%)
   Patrick Delaunay                  1 (1.6%)
   Andy Shevchenko                   1 (1.6%)
   Wolfgang Wallner                  1 (1.6%)
   Michael Walle                     1 (1.6%)
   Stefan Roese                      1 (1.6%)
   Lukasz Majewski                   1 (1.6%)
   Alex Marginean                    1 (1.6%)
   Keerthy                           1 (1.6%)
   Philippe Reynes                   1 (1.6%)
   Michal Simek                      1 (1.6%)
   Tom Warren                        1 (1.6%)
   Jean-Jacques Hiblot               1 (1.6%)
   Jan Kiszka                        1 (1.6%)
   Vishruth                          1 (1.6%)
   Luka Kovacic                      1 (1.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Igor Opaniuk                      3 (15.0%)
   Fabio Estevam                     3 (15.0%)
   Tom Rini                          1 (5.0%)
   Simon Glass                       1 (5.0%)
   Patrick Delaunay                  1 (5.0%)
   Andy Shevchenko                   1 (5.0%)
   Michal Simek                      1 (5.0%)
   Andreas Dannenberg                1 (5.0%)
   Matt Porter                       1 (5.0%)
   Oliver Graute                     1 (5.0%)
   Carl Gelfand                      1 (5.0%)
   Ramin Seyed-Moussavi              1 (5.0%)
   Praneeth Bajjuri                  1 (5.0%)
   Vagrant Cascadian                 1 (5.0%)
   Vishal Mahaveer                   1 (5.0%)
   Robert P. J. Day                  1 (5.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Anatolij Gustschin                6 (30.0%)
   Fabio Estevam                     3 (15.0%)
   Heinrich Schuchardt               2 (10.0%)
   Michal Simek                      1 (5.0%)
   Bin Meng                          1 (5.0%)
   Ye Li                             1 (5.0%)
   Vignesh Raghavendra               1 (5.0%)
   Philippe Reynes                   1 (5.0%)
   Lokesh Vutla                      1 (5.0%)
   Rob Herring                       1 (5.0%)
   Shawn Guo                         1 (5.0%)
   Lars Povlsen                      1 (5.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         540 (32.9%)
   Google, Inc.                      309 (18.9%)
   NXP                               172 (10.5%)
   Texas Instruments                 124 (7.6%)
   DENX Software Engineering         113 (6.9%)
   AMD                               45 (2.7%)
   Intel                             45 (2.7%)
   Socionext Inc.                    38 (2.3%)
   Amarula Solutions                 37 (2.3%)
   ST Microelectronics               36 (2.2%)
   Konsulko Group                    28 (1.7%)
   Linaro                            25 (1.5%)
   Collabora Ltd.                    20 (1.2%)
   ARM                               17 (1.0%)
   Samsung                           16 (1.0%)
   NVidia                            15 (0.9%)
   Xilinx                            15 (0.9%)
   General Electric                  11 (0.7%)
   Rockchip                          8 (0.5%)
   Toradex                           5 (0.3%)
   O.S. Systems                      4 (0.2%)
   Broadcom                          3 (0.2%)
   Siemens                           3 (0.2%)
   Bootlin                           2 (0.1%)
   Wind River                        2 (0.1%)
   Pepperl+Fuchs                     2 (0.1%)
   BayLibre SAS                      1 (0.1%)
   National Instruments              1 (0.1%)
   Semihalf Embedded Systems         1 (0.1%)
   SUSE                              1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         44534 (36.1%)
   Google, Inc.                      23135 (18.7%)
   DENX Software Engineering         12671 (10.3%)
   NXP                               11684 (9.5%)
   Intel                             5029 (4.1%)
   AMD                               4952 (4.0%)
   Texas Instruments                 4422 (3.6%)
   Collabora Ltd.                    3817 (3.1%)
   Amarula Solutions                 2346 (1.9%)
   Konsulko Group                    2200 (1.8%)
   NVidia                            2062 (1.7%)
   ST Microelectronics               1552 (1.3%)
   ARM                               1496 (1.2%)
   Linaro                            1249 (1.0%)
   Socionext Inc.                    613 (0.5%)
   Xilinx                            386 (0.3%)
   General Electric                  282 (0.2%)
   Broadcom                          271 (0.2%)
   Rockchip                          255 (0.2%)
   Samsung                           186 (0.2%)
   Wind River                        137 (0.1%)
   Toradex                           63 (0.1%)
   Bootlin                           59 (0.0%)
   O.S. Systems                      20 (0.0%)
   Pepperl+Fuchs                     18 (0.0%)
   Semihalf Embedded Systems         11 (0.0%)
   Siemens                           4 (0.0%)
   SUSE                              2 (0.0%)
   BayLibre SAS                      1 (0.0%)
   National Instruments              1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Texas Instruments                 114 (37.1%)
   NXP                               49 (16.0%)
   (Unknown)                         41 (13.4%)
   Xilinx                            20 (6.5%)
   Collabora Ltd.                    11 (3.6%)
   Amarula Solutions                 10 (3.3%)
   Samsung                           8 (2.6%)
   Toradex                           7 (2.3%)
   SUSE                              7 (2.3%)
   DENX Software Engineering         5 (1.6%)
   BayLibre SAS                      5 (1.6%)
   NVidia                            4 (1.3%)
   ARM                               4 (1.3%)
   General Electric                  4 (1.3%)
   Intel                             3 (1.0%)
   ST Microelectronics               3 (1.0%)
   Broadcom                          3 (1.0%)
   Rockchip                          3 (1.0%)
   Konsulko Group                    2 (0.7%)
   Socionext Inc.                    2 (0.7%)
   Wind River                        1 (0.3%)
   O.S. Systems                      1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         89 (46.6%)
   NXP                               26 (13.6%)
   Texas Instruments                 13 (6.8%)
   DENX Software Engineering         8 (4.2%)
   Intel                             5 (2.6%)
   Linaro                            5 (2.6%)
   Xilinx                            4 (2.1%)
   NVidia                            4 (2.1%)
   ST Microelectronics               4 (2.1%)
   Amarula Solutions                 3 (1.6%)
   Samsung                           3 (1.6%)
   Collabora Ltd.                    2 (1.0%)
   Toradex                           2 (1.0%)
   ARM                               2 (1.0%)
   General Electric                  2 (1.0%)
   Broadcom                          2 (1.0%)
   Rockchip                          2 (1.0%)
   Wind River                        2 (1.0%)
   Bootlin                           2 (1.0%)
   SUSE                              1 (0.5%)
   BayLibre SAS                      1 (0.5%)
   Konsulko Group                    1 (0.5%)
   Socionext Inc.                    1 (0.5%)
   O.S. Systems                      1 (0.5%)
   Google, Inc.                      1 (0.5%)
   AMD                               1 (0.5%)
   Pepperl+Fuchs                     1 (0.5%)
   Semihalf Embedded Systems         1 (0.5%)
   Siemens                           1 (0.5%)
   National Instruments              1 (0.5%)
   ================================  =====
