:orphan:

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

* Processed 1918 csets from 203 developers

* 32 employers found

* A total of 122895 lines added, 44517 removed (delta 78378)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       190 (9.9%)
   Marek Vasut                       132 (6.9%)
   Heinrich Schuchardt               127 (6.6%)
   Patrick Delaunay                  124 (6.5%)
   Jagan Teki                        77 (4.0%)
   Tom Rini                          59 (3.1%)
   Michal Simek                      54 (2.8%)
   Peng Fan                          53 (2.8%)
   Ye Li                             43 (2.2%)
   AKASHI Takahiro                   37 (1.9%)
   Fabio Estevam                     35 (1.8%)
   Madalin Bucur                     34 (1.8%)
   Bin Meng                          33 (1.7%)
   Biwen Li                          32 (1.7%)
   Eugeniy Paltsev                   31 (1.6%)
   Giulio Benetti                    30 (1.6%)
   Masahiro Yamada                   28 (1.5%)
   Neil Armstrong                    26 (1.4%)
   Ioana Ciornei                     26 (1.4%)
   Joel Johnson                      22 (1.1%)
   Rasmus Villemoes                  22 (1.1%)
   Pragnesh Patel                    21 (1.1%)
   Kever Yang                        19 (1.0%)
   Kuldeep Singh                     19 (1.0%)
   Weijie Gao                        19 (1.0%)
   Dario Binacchi                    18 (0.9%)
   Chunfeng Yun                      16 (0.8%)
   Igor Opaniuk                      15 (0.8%)
   Hou Zhiqiang                      15 (0.8%)
   Vignesh Raghavendra               15 (0.8%)
   Stefan Roese                      14 (0.7%)
   Atish Patra                       13 (0.7%)
   Amit Singh Tomar                  13 (0.7%)
   Marek Behún                       13 (0.7%)
   Michael Walle                     12 (0.6%)
   Heiko Stuebner                    12 (0.6%)
   Ovidiu Panait                     12 (0.6%)
   Keerthy                           12 (0.6%)
   Pali Rohár                        11 (0.6%)
   Harald Seiler                     10 (0.5%)
   Ley Foon Tan                      9 (0.5%)
   Chen-Yu Tsai                      9 (0.5%)
   Anatolij Gustschin                8 (0.4%)
   Frank Wang                        8 (0.4%)
   Lokesh Vutla                      8 (0.4%)
   Trevor Woerner                    8 (0.4%)
   Tero Kristo                       8 (0.4%)
   Walter Lozano                     7 (0.4%)
   Sean Anderson                     7 (0.4%)
   Marcin Juszkiewicz                7 (0.4%)
   Andy Shevchenko                   7 (0.4%)
   Han Xu                            7 (0.4%)
   Suman Anna                        7 (0.4%)
   Andre Przywara                    7 (0.4%)
   Philippe Schenker                 7 (0.4%)
   Patrice Chotard                   6 (0.3%)
   Peter Robinson                    6 (0.3%)
   Matthias Brugger                  6 (0.3%)
   Jerome Brunet                     6 (0.3%)
   Jan Kiszka                        6 (0.3%)
   Ilias Apalodimas                  6 (0.3%)
   Michael Krummsdorf                6 (0.3%)
   Heiko Schocher                    5 (0.3%)
   Patrick Wildt                     5 (0.3%)
   Yannick Fertre                    5 (0.3%)
   Vladimir Oltean                   5 (0.3%)
   Mark Kettenis                     5 (0.3%)
   Samuel Holland                    5 (0.3%)
   Alice Guo                         5 (0.3%)
   Yuantian Tang                     5 (0.3%)
   Lin Jinhan                        5 (0.3%)
   T Karthik Reddy                   5 (0.3%)
   Rayagonda Kokatanur               5 (0.3%)
   Moses Christopher                 5 (0.3%)
   Adam Ford                         4 (0.2%)
   Lukasz Majewski                   4 (0.2%)
   Bernhard Messerklinger            4 (0.2%)
   Urja Rannikko                     4 (0.2%)
   Ashok Reddy Soma                  4 (0.2%)
   Claudius Heine                    4 (0.2%)
   Florinel Iordache                 4 (0.2%)
   Jun Chen                          4 (0.2%)
   Suniel Mahesh                     3 (0.2%)
   Haibo Chen                        3 (0.2%)
   Jaehoon Chung                     3 (0.2%)
   Max Krummenacher                  3 (0.2%)
   Etienne Carriere                  3 (0.2%)
   Hayes Wang                        3 (0.2%)
   Christian Gmeiner                 3 (0.2%)
   Laurentiu Tudor                   3 (0.2%)
   Chris Packham                     3 (0.2%)
   Andrew F. Davis                   3 (0.2%)
   Fugang Duan                       3 (0.2%)
   Frank Li                          3 (0.2%)
   Philippe Reynes                   3 (0.2%)
   Qu Wenruo                         3 (0.2%)
   Sam Protsenko                     3 (0.2%)
   Alexander Kochetkov               2 (0.1%)
   Vagrant Cascadian                 2 (0.1%)
   Otavio Salvador                   2 (0.1%)
   Stefan Agner                      2 (0.1%)
   Tom Warren                        2 (0.1%)
   Jon Hunter                        2 (0.1%)
   Yangbo Lu                         2 (0.1%)
   b.l.huang                         2 (0.1%)
   Frédéric Danis                    2 (0.1%)
   Yoshio Furuyama                   2 (0.1%)
   Robert Marko                      2 (0.1%)
   Jakov Petrina                     2 (0.1%)
   Ezra Buehler                      2 (0.1%)
   Deepak Das                        2 (0.1%)
   Sughosh Ganu                      2 (0.1%)
   Petr Borsodi                      2 (0.1%)
   Christophe Roullier               2 (0.1%)
   Kyle Evans                        2 (0.1%)
   Beniamino Galvani                 2 (0.1%)
   Sven Roederer                     2 (0.1%)
   Breno Lima                        2 (0.1%)
   Álvaro Fernández Rojas            2 (0.1%)
   Bharat Kumar Reddy Gooty          2 (0.1%)
   Sam Shih                          2 (0.1%)
   Nicolas Heemeryck                 2 (0.1%)
   Oliver Graute                     1 (0.1%)
   Martyn Welch                      1 (0.1%)
   Oleksandr Suvorov                 1 (0.1%)
   Marcel Ziswiler                   1 (0.1%)
   Alex Nemirovsky                   1 (0.1%)
   Arthur Li                         1 (0.1%)
   Stefano Babic                     1 (0.1%)
   Sébastien Szymanski               1 (0.1%)
   Jaiprakash Singh                  1 (0.1%)
   Joakim Tjernlund                  1 (0.1%)
   Roman Stratiienko                 1 (0.1%)
   Corentin Labbe                    1 (0.1%)
   Eugen Hristev                     1 (0.1%)
   Raul E Rangel                     1 (0.1%)
   Luka Kovacic                      1 (0.1%)
   Romain Naour                      1 (0.1%)
   Kurt Miller                       1 (0.1%)
   Andrius Štikonas                  1 (0.1%)
   Gary Bisson                       1 (0.1%)
   Andreas Dannenberg                1 (0.1%)
   Praneeth Bajjuri                  1 (0.1%)
   Pramod Kumar                      1 (0.1%)
   Razvan Ionut Cirjan               1 (0.1%)
   Pankit Garg                       1 (0.1%)
   Ashish Kumar                      1 (0.1%)
   Tiaki Rice                        1 (0.1%)
   Jan Luebbe                        1 (0.1%)
   Christophe Leroy                  1 (0.1%)
   Jonathan Gray                     1 (0.1%)
   Lionel Debieve                    1 (0.1%)
   Marek Szyprowski                  1 (0.1%)
   Nicolas Saenz Julienne            1 (0.1%)
   Siva Durga Prasad Paladugu        1 (0.1%)
   Leonard Crestez                   1 (0.1%)
   Murali Karicheri                  1 (0.1%)
   Thirupathaiah Annapureddy         1 (0.1%)
   Josef Lusticky                    1 (0.1%)
   Daniel Schwierzeck                1 (0.1%)
   Sherry Sun                        1 (0.1%)
   Marek Bykowski                    1 (0.1%)
   Alifer Moraes                     1 (0.1%)
   Franck LENORMAND                  1 (0.1%)
   Seb Fagard                        1 (0.1%)
   Tudor Ambarus                     1 (0.1%)
   Bacem Daassi                      1 (0.1%)
   Pratyush Yadav                    1 (0.1%)
   Meenakshi Aggarwal                1 (0.1%)
   Alison Wang                       1 (0.1%)
   Arnaud Ferraris                   1 (0.1%)
   Mauro Condarelli                  1 (0.1%)
   Patrick van Gelder                1 (0.1%)
   Saeed Nowshadi                    1 (0.1%)
   Benedikt Grassl                   1 (0.1%)
   Baruch Siach                      1 (0.1%)
   Lihua Zhao                        1 (0.1%)
   Peter Collingbourne               1 (0.1%)
   Jonathan Corbet                   1 (0.1%)
   Landen Chao                       1 (0.1%)
   Charles Frey                      1 (0.1%)
   Lukas Auer                        1 (0.1%)
   Hiroyuki Yokoyama                 1 (0.1%)
   Yinbo Zhu                         1 (0.1%)
   Markus Niebel                     1 (0.1%)
   Thomas Hebb                       1 (0.1%)
   Yusuke Ashiduka                   1 (0.1%)
   Francois Gervais                  1 (0.1%)
   Karl Palsson                      1 (0.1%)
   Josua Mayer                       1 (0.1%)
   Josip Kelecic                     1 (0.1%)
   Varalaxmi Bingi                   1 (0.1%)
   Amit Kumar Mahapatra              1 (0.1%)
   Manish Narani                     1 (0.1%)
   Nava kishore Manne                1 (0.1%)
   Sudeep Holla                      1 (0.1%)
   Quanyang Wang                     1 (0.1%)
   Alain Volmat                      1 (0.1%)
   Ludovic Barre                     1 (0.1%)
   Rob Herring                       1 (0.1%)
   Michael Auchter                   1 (0.1%)
   Eugeniu Rosca                     1 (0.1%)
   Yegor Yefremov                    1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Marek Vasut                       15726 (11.5%)
   Simon Glass                       13123 (9.6%)
   Patrick Delaunay                  11073 (8.1%)
   Jagan Teki                        8289 (6.1%)
   Tom Rini                          6578 (4.8%)
   AKASHI Takahiro                   5076 (3.7%)
   Madalin Bucur                     4333 (3.2%)
   Michal Simek                      3939 (2.9%)
   Adam Ford                         3602 (2.6%)
   Bernhard Messerklinger            3306 (2.4%)
   Pragnesh Patel                    3121 (2.3%)
   Neil Armstrong                    2955 (2.2%)
   Masahiro Yamada                   2858 (2.1%)
   Jerome Brunet                     2857 (2.1%)
   Heinrich Schuchardt               2791 (2.0%)
   Alifer Moraes                     2771 (2.0%)
   Ioana Ciornei                     2600 (1.9%)
   Peng Fan                          2524 (1.9%)
   Giulio Benetti                    2044 (1.5%)
   Weijie Gao                        2014 (1.5%)
   Chen-Yu Tsai                      1856 (1.4%)
   Kuldeep Singh                     1439 (1.1%)
   Peter Robinson                    1377 (1.0%)
   Amit Singh Tomar                  1349 (1.0%)
   Biwen Li                          1310 (1.0%)
   Chunfeng Yun                      1271 (0.9%)
   Rayagonda Kokatanur               1185 (0.9%)
   Eugeniy Paltsev                   1092 (0.8%)
   Han Xu                            1050 (0.8%)
   Franck LENORMAND                  1030 (0.8%)
   Dario Binacchi                    1027 (0.8%)
   Michael Krummsdorf                1024 (0.8%)
   Ashok Reddy Soma                  1008 (0.7%)
   Ilias Apalodimas                  847 (0.6%)
   Ye Li                             839 (0.6%)
   Marek Behún                       710 (0.5%)
   Vignesh Raghavendra               616 (0.5%)
   Landen Chao                       577 (0.4%)
   Bin Meng                          541 (0.4%)
   Heiko Stuebner                    520 (0.4%)
   Keerthy                           519 (0.4%)
   Heiko Schocher                    472 (0.3%)
   Michael Walle                     453 (0.3%)
   Pali Rohár                        453 (0.3%)
   Hou Zhiqiang                      445 (0.3%)
   Fabio Estevam                     420 (0.3%)
   b.l.huang                         414 (0.3%)
   Breno Lima                        404 (0.3%)
   Kever Yang                        386 (0.3%)
   Atish Patra                       378 (0.3%)
   Joel Johnson                      357 (0.3%)
   Frank Wang                        357 (0.3%)
   Alice Guo                         338 (0.2%)
   Ley Foon Tan                      313 (0.2%)
   Hayes Wang                        279 (0.2%)
   Mauro Condarelli                  279 (0.2%)
   Sean Anderson                     269 (0.2%)
   Tero Kristo                       268 (0.2%)
   Stefan Roese                      262 (0.2%)
   Beniamino Galvani                 259 (0.2%)
   Lin Jinhan                        257 (0.2%)
   Sam Shih                          248 (0.2%)
   Walter Lozano                     242 (0.2%)
   Philippe Schenker                 237 (0.2%)
   Fugang Duan                       234 (0.2%)
   Yuantian Tang                     227 (0.2%)
   Sughosh Ganu                      225 (0.2%)
   Lokesh Vutla                      208 (0.2%)
   Rob Herring                       206 (0.2%)
   Robert Marko                      204 (0.1%)
   Luka Kovacic                      165 (0.1%)
   Harald Seiler                     164 (0.1%)
   Igor Opaniuk                      161 (0.1%)
   Rasmus Villemoes                  158 (0.1%)
   Trevor Woerner                    151 (0.1%)
   Deepak Das                        148 (0.1%)
   Andre Przywara                    142 (0.1%)
   Ovidiu Panait                     133 (0.1%)
   Suman Anna                        133 (0.1%)
   Yoshio Furuyama                   130 (0.1%)
   Petr Borsodi                      128 (0.1%)
   Jaiprakash Singh                  111 (0.1%)
   Laurentiu Tudor                   102 (0.1%)
   Suniel Mahesh                     100 (0.1%)
   Frédéric Danis                    87 (0.1%)
   Moses Christopher                 84 (0.1%)
   Florinel Iordache                 81 (0.1%)
   Philippe Reynes                   81 (0.1%)
   Martyn Welch                      72 (0.1%)
   Vladimir Oltean                   71 (0.1%)
   Michael Auchter                   69 (0.1%)
   Andy Shevchenko                   68 (0.0%)
   Chris Packham                     67 (0.0%)
   Alain Volmat                      59 (0.0%)
   Yangbo Lu                         58 (0.0%)
   Christophe Roullier               55 (0.0%)
   Andrew F. Davis                   53 (0.0%)
   Yusuke Ashiduka                   53 (0.0%)
   Marek Bykowski                    52 (0.0%)
   Jan Kiszka                        50 (0.0%)
   Yannick Fertre                    48 (0.0%)
   Andreas Dannenberg                47 (0.0%)
   Claudius Heine                    45 (0.0%)
   Yinbo Zhu                         45 (0.0%)
   Anatolij Gustschin                42 (0.0%)
   Etienne Carriere                  42 (0.0%)
   Thirupathaiah Annapureddy         41 (0.0%)
   Lukas Auer                        40 (0.0%)
   Qu Wenruo                         39 (0.0%)
   Mark Kettenis                     38 (0.0%)
   T Karthik Reddy                   38 (0.0%)
   Christian Gmeiner                 36 (0.0%)
   Samuel Holland                    31 (0.0%)
   Matthias Brugger                  30 (0.0%)
   Marcin Juszkiewicz                29 (0.0%)
   Manish Narani                     29 (0.0%)
   Patrick Wildt                     28 (0.0%)
   Kurt Miller                       27 (0.0%)
   Patrice Chotard                   26 (0.0%)
   Jun Chen                          25 (0.0%)
   Daniel Schwierzeck                23 (0.0%)
   Haibo Chen                        22 (0.0%)
   Álvaro Fernández Rojas            22 (0.0%)
   Arthur Li                         22 (0.0%)
   Peter Collingbourne               22 (0.0%)
   Ludovic Barre                     22 (0.0%)
   Max Krummenacher                  21 (0.0%)
   Alexander Kochetkov               21 (0.0%)
   Nicolas Heemeryck                 21 (0.0%)
   Jan Luebbe                        21 (0.0%)
   Urja Rannikko                     19 (0.0%)
   Raul E Rangel                     17 (0.0%)
   Pratyush Yadav                    17 (0.0%)
   Lukasz Majewski                   15 (0.0%)
   Ashish Kumar                      15 (0.0%)
   Jakov Petrina                     14 (0.0%)
   Kyle Evans                        14 (0.0%)
   Praneeth Bajjuri                  14 (0.0%)
   Razvan Ionut Cirjan               14 (0.0%)
   Lihua Zhao                        14 (0.0%)
   Jon Hunter                        13 (0.0%)
   Meenakshi Aggarwal                13 (0.0%)
   Otavio Salvador                   12 (0.0%)
   Ezra Buehler                      12 (0.0%)
   Andrius Štikonas                  12 (0.0%)
   Benedikt Grassl                   12 (0.0%)
   Frank Li                          11 (0.0%)
   Oliver Graute                     11 (0.0%)
   Joakim Tjernlund                  11 (0.0%)
   Nava kishore Manne                11 (0.0%)
   Jaehoon Chung                     10 (0.0%)
   Leonard Crestez                   10 (0.0%)
   Josip Kelecic                     10 (0.0%)
   Pramod Kumar                      9 (0.0%)
   Charles Frey                      9 (0.0%)
   Sam Protsenko                     8 (0.0%)
   Pankit Garg                       8 (0.0%)
   Tiaki Rice                        8 (0.0%)
   Eugen Hristev                     7 (0.0%)
   Josua Mayer                       7 (0.0%)
   Bharat Kumar Reddy Gooty          6 (0.0%)
   Stefano Babic                     6 (0.0%)
   Sébastien Szymanski               6 (0.0%)
   Josef Lusticky                    6 (0.0%)
   Quanyang Wang                     6 (0.0%)
   Sven Roederer                     5 (0.0%)
   Hiroyuki Yokoyama                 5 (0.0%)
   Stefan Agner                      4 (0.0%)
   Oleksandr Suvorov                 4 (0.0%)
   Roman Stratiienko                 4 (0.0%)
   Lionel Debieve                    4 (0.0%)
   Nicolas Saenz Julienne            4 (0.0%)
   Murali Karicheri                  4 (0.0%)
   Seb Fagard                        4 (0.0%)
   Alison Wang                       4 (0.0%)
   Markus Niebel                     4 (0.0%)
   Vagrant Cascadian                 3 (0.0%)
   Alex Nemirovsky                   3 (0.0%)
   Gary Bisson                       3 (0.0%)
   Tudor Ambarus                     3 (0.0%)
   Arnaud Ferraris                   3 (0.0%)
   Saeed Nowshadi                    3 (0.0%)
   Tom Warren                        2 (0.0%)
   Corentin Labbe                    2 (0.0%)
   Sherry Sun                        2 (0.0%)
   Francois Gervais                  2 (0.0%)
   Karl Palsson                      2 (0.0%)
   Varalaxmi Bingi                   2 (0.0%)
   Amit Kumar Mahapatra              2 (0.0%)
   Eugeniu Rosca                     2 (0.0%)
   Yegor Yefremov                    2 (0.0%)
   Marcel Ziswiler                   1 (0.0%)
   Romain Naour                      1 (0.0%)
   Christophe Leroy                  1 (0.0%)
   Jonathan Gray                     1 (0.0%)
   Marek Szyprowski                  1 (0.0%)
   Siva Durga Prasad Paladugu        1 (0.0%)
   Bacem Daassi                      1 (0.0%)
   Patrick van Gelder                1 (0.0%)
   Baruch Siach                      1 (0.0%)
   Jonathan Corbet                   1 (0.0%)
   Thomas Hebb                       1 (0.0%)
   Sudeep Holla                      1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   1021 (2.3%)
   Kuldeep Singh                     682 (1.5%)
   Ashok Reddy Soma                  179 (0.4%)
   Frank Wang                        94 (0.2%)
   Kever Yang                        89 (0.2%)
   Heiko Schocher                    85 (0.2%)
   Igor Opaniuk                      79 (0.2%)
   Martyn Welch                      69 (0.2%)
   Walter Lozano                     54 (0.1%)
   Claudius Heine                    42 (0.1%)
   Lukas Auer                        40 (0.1%)
   Fabio Estevam                     29 (0.1%)
   Lokesh Vutla                      28 (0.1%)
   Max Krummenacher                  15 (0.0%)
   Arthur Li                         10 (0.0%)
   Rasmus Villemoes                  9 (0.0%)
   Jakov Petrina                     6 (0.0%)
   Michael Auchter                   5 (0.0%)
   Benedikt Grassl                   5 (0.0%)
   Sébastien Szymanski               5 (0.0%)
   Trevor Woerner                    3 (0.0%)
   Yannick Fertre                    3 (0.0%)
   Alex Nemirovsky                   2 (0.0%)
   Karl Palsson                      2 (0.0%)
   Leonard Crestez                   1 (0.0%)
   Seb Fagard                        1 (0.0%)
   Romain Naour                      1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Peng Fan                          59 (20.7%)
   Alexey Brodkin                    30 (10.5%)
   Michal Simek                      16 (5.6%)
   Priyanka Jain                     15 (5.3%)
   Frank Wunderlich                  14 (4.9%)
   Neil Armstrong                    11 (3.9%)
   Patrick Delaunay                  11 (3.9%)
   Matthias Brugger                  10 (3.5%)
   Tom Rini                          8 (2.8%)
   Ye Li                             7 (2.5%)
   Bin Meng                          6 (2.1%)
   Fabio Estevam                     5 (1.8%)
   Simon Glass                       5 (1.8%)
   Lokesh Vutla                      4 (1.4%)
   Ashish Kumar                      4 (1.4%)
   Frieder Schrempf                  4 (1.4%)
   Vabhav Sharma                     4 (1.4%)
   Bharat Kumar Reddy Gooty          4 (1.4%)
   Jagan Teki                        4 (1.4%)
   Miquel Raynal                     3 (1.1%)
   Harald Seiler                     3 (1.1%)
   Frank Wang                        2 (0.7%)
   Wolfgang Wallner                  2 (0.7%)
   Vladimir Vid                      2 (0.7%)
   Vladimir Olovyannikov             2 (0.7%)
   Vladimir Oltean                   2 (0.7%)
   Andreas Dannenberg                2 (0.7%)
   Suniel Mahesh                     2 (0.7%)
   Robert Marko                      2 (0.7%)
   Vignesh Raghavendra               2 (0.7%)
   Han Xu                            2 (0.7%)
   Rayagonda Kokatanur               2 (0.7%)
   Masahiro Yamada                   1 (0.4%)
   Kuldeep Singh                     1 (0.4%)
   Ashok Reddy Soma                  1 (0.4%)
   Kever Yang                        1 (0.4%)
   Michael Auchter                   1 (0.4%)
   Alex Nemirovsky                   1 (0.4%)
   Christophe Leroy                  1 (0.4%)
   Michael Trimarchi                 1 (0.4%)
   Adrian Alonso                     1 (0.4%)
   Russell King                      1 (0.4%)
   Shawn Guo                         1 (0.4%)
   Oleksij Rempel                    1 (0.4%)
   David S. Miller                   1 (0.4%)
   Holger Brunck                     1 (0.4%)
   Faiz Abbas                        1 (0.4%)
   Pipat Methavanitpong              1 (0.4%)
   Bastian Krause                    1 (0.4%)
   Catia Han                         1 (0.4%)
   Florin Laurentiu Chiculita        1 (0.4%)
   Shengzhou Liu                     1 (0.4%)
   Xiaowei Bao                       1 (0.4%)
   Arjun Jyothi                      1 (0.4%)
   Sheetal Tigadoli                  1 (0.4%)
   Filip Brozovic                    1 (0.4%)
   Shiril Tichkule                   1 (0.4%)
   Anatolij Gustschin                1 (0.4%)
   Patrick Wildt                     1 (0.4%)
   Yangbo Lu                         1 (0.4%)
   Christophe Roullier               1 (0.4%)
   Stefan Roese                      1 (0.4%)
   Sean Anderson                     1 (0.4%)
   Sughosh Ganu                      1 (0.4%)
   Michael Walle                     1 (0.4%)
   Michael Krummsdorf                1 (0.4%)
   Ilias Apalodimas                  1 (0.4%)
   Marek Vasut                       1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       158 (14.1%)
   Priyanka Jain                     130 (11.6%)
   Bin Meng                          102 (9.1%)
   Kever Yang                        91 (8.1%)
   Stefan Roese                      66 (5.9%)
   Patrice Chotard                   56 (5.0%)
   Tom Rini                          49 (4.4%)
   Jagan Teki                        42 (3.8%)
   Patrick Delaunay                  41 (3.7%)
   Fabio Estevam                     33 (3.0%)
   Heinrich Schuchardt               28 (2.5%)
   Peng Fan                          26 (2.3%)
   Wolfgang Wallner                  21 (1.9%)
   Anatolij Gustschin                18 (1.6%)
   Daniel Schwierzeck                17 (1.5%)
   Weijie Gao                        17 (1.5%)
   Heiko Schocher                    12 (1.1%)
   Jaehoon Chung                     11 (1.0%)
   Atish Patra                       11 (1.0%)
   Philipp Tomsich                   10 (0.9%)
   Manivannan Sadhasivam             10 (0.9%)
   Masahiro Yamada                   9 (0.8%)
   Oleksandr Suvorov                 9 (0.8%)
   Lukasz Majewski                   9 (0.8%)
   Wasim Khan                        8 (0.7%)
   Punit Agrawal                     8 (0.7%)
   Andre Przywara                    8 (0.7%)
   Marek Vasut                       7 (0.6%)
   Rick Chen                         7 (0.6%)
   Ye Li                             6 (0.5%)
   Razvan Ionut Cirjan               6 (0.5%)
   Andy Shevchenko                   6 (0.5%)
   Pragnesh Patel                    6 (0.5%)
   Lokesh Vutla                      5 (0.4%)
   Linus Walleij                     5 (0.4%)
   Neil Armstrong                    4 (0.4%)
   Frieder Schrempf                  3 (0.3%)
   Sagar Kadam                       3 (0.3%)
   Minkyu Kang                       3 (0.3%)
   Simon Goldschmidt                 3 (0.3%)
   Marek Behún                       3 (0.3%)
   Vladimir Oltean                   2 (0.2%)
   Michael Walle                     2 (0.2%)
   Enric Balletbo i Serra            2 (0.2%)
   Luca Ceresoli                     2 (0.2%)
   Anup Patel                        2 (0.2%)
   Ramon Fried                       2 (0.2%)
   Stefano Babic                     2 (0.2%)
   Chris Packham                     2 (0.2%)
   Fugang Duan                       2 (0.2%)
   Michal Simek                      1 (0.1%)
   Vignesh Raghavendra               1 (0.1%)
   Michael Trimarchi                 1 (0.1%)
   Russell King                      1 (0.1%)
   Sughosh Ganu                      1 (0.1%)
   Igor Opaniuk                      1 (0.1%)
   Philippe Cornu                    1 (0.1%)
   Eric Nelson                       1 (0.1%)
   Wolfgang Denk                     1 (0.1%)
   Furquan Shaikh                    1 (0.1%)
   Palmer Dabbelt                    1 (0.1%)
   Diana Craciun                     1 (0.1%)
   George McCollister                1 (0.1%)
   Florian Fainelli                  1 (0.1%)
   Anson Huang                       1 (0.1%)
   Bai Ping                          1 (0.1%)
   Grygorii Strashko                 1 (0.1%)
   Stephen Warren                    1 (0.1%)
   Ryan Harkin                       1 (0.1%)
   Vikas MANOCHA                     1 (0.1%)
   Anand Moon                        1 (0.1%)
   Magnus Lilja                      1 (0.1%)
   Felix Brack                       1 (0.1%)
   Eugeniu Rosca                     1 (0.1%)
   Eugen Hristev                     1 (0.1%)
   T Karthik Reddy                   1 (0.1%)
   Luka Kovacic                      1 (0.1%)
   Ley Foon Tan                      1 (0.1%)
   Amit Singh Tomar                  1 (0.1%)
   Ioana Ciornei                     1 (0.1%)
   Adam Ford                         1 (0.1%)
   AKASHI Takahiro                   1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          33 (25.0%)
   Jagan Teki                        18 (13.6%)
   Suniel Mahesh                     9 (6.8%)
   Heiko Schocher                    6 (4.5%)
   Sagar Kadam                       6 (4.5%)
   Tom Rini                          5 (3.8%)
   Peter Robinson                    5 (3.8%)
   Loic Devulder                     4 (3.0%)
   Peter Geis                        4 (3.0%)
   Simon Glass                       3 (2.3%)
   Heinrich Schuchardt               3 (2.3%)
   Igor Opaniuk                      3 (2.3%)
   Adam Ford                         3 (2.3%)
   Vladimir Oltean                   2 (1.5%)
   Luka Kovacic                      2 (1.5%)
   Vagrant Cascadian                 2 (1.5%)
   Dario Binacchi                    2 (1.5%)
   Stefan Roese                      1 (0.8%)
   Patrice Chotard                   1 (0.8%)
   Patrick Delaunay                  1 (0.8%)
   Wolfgang Wallner                  1 (0.8%)
   Marek Vasut                       1 (0.8%)
   Michal Simek                      1 (0.8%)
   Russell King                      1 (0.8%)
   Anand Moon                        1 (0.8%)
   Ley Foon Tan                      1 (0.8%)
   Frank Wunderlich                  1 (0.8%)
   Walter Lozano                     1 (0.8%)
   Sébastien Szymanski               1 (0.8%)
   Soeren Moch                       1 (0.8%)
   Troy Kisky                        1 (0.8%)
   Marco Franchi                     1 (0.8%)
   Derek Atkins                      1 (0.8%)
   Jorge Ramirez-Ortiz               1 (0.8%)
   Marcin Juszkiewicz                1 (0.8%)
   Mark Kettenis                     1 (0.8%)
   Jan Kiszka                        1 (0.8%)
   Pali Rohár                        1 (0.8%)
   Jerome Brunet                     1 (0.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Pragnesh Patel                    25 (18.9%)
   Jagan Teki                        15 (11.4%)
   Fabio Estevam                     15 (11.4%)
   Simon Glass                       13 (9.8%)
   Chen-Yu Tsai                      8 (6.1%)
   Atish Patra                       6 (4.5%)
   Andy Shevchenko                   4 (3.0%)
   Ye Li                             3 (2.3%)
   Frank Wang                        3 (2.3%)
   Bernhard Messerklinger            3 (2.3%)
   Peter Robinson                    2 (1.5%)
   Dario Binacchi                    2 (1.5%)
   Patrick Delaunay                  2 (1.5%)
   Michal Simek                      2 (1.5%)
   Mark Kettenis                     2 (1.5%)
   Robert Marko                      2 (1.5%)
   Jon Hunter                        2 (1.5%)
   Philippe Schenker                 2 (1.5%)
   Lin Jinhan                        2 (1.5%)
   Hou Zhiqiang                      2 (1.5%)
   Bin Meng                          1 (0.8%)
   Heiko Schocher                    1 (0.8%)
   Tom Rini                          1 (0.8%)
   Heinrich Schuchardt               1 (0.8%)
   Patrice Chotard                   1 (0.8%)
   Jan Kiszka                        1 (0.8%)
   Jerome Brunet                     1 (0.8%)
   Anatolij Gustschin                1 (0.8%)
   Masahiro Yamada                   1 (0.8%)
   Neil Armstrong                    1 (0.8%)
   Eugeniu Rosca                     1 (0.8%)
   Kuldeep Singh                     1 (0.8%)
   Patrick Wildt                     1 (0.8%)
   Martyn Welch                      1 (0.8%)
   Andrius Štikonas                  1 (0.8%)
   Landen Chao                       1 (0.8%)
   Alifer Moraes                     1 (0.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          4 (10.5%)
   Tom Rini                          4 (10.5%)
   Ard Biesheuvel                    3 (7.9%)
   Fabio Estevam                     2 (5.3%)
   Heinrich Schuchardt               2 (5.3%)
   Jerome Brunet                     2 (5.3%)
   Suniel Mahesh                     2 (5.3%)
   Grygorii Strashko                 2 (5.3%)
   Dario                             2 (5.3%)
   Simon Glass                       1 (2.6%)
   Michal Simek                      1 (2.6%)
   Heiko Schocher                    1 (2.6%)
   Adam Ford                         1 (2.6%)
   Russell King                      1 (2.6%)
   Soeren Moch                       1 (2.6%)
   Derek Atkins                      1 (2.6%)
   Jorge Ramirez-Ortiz               1 (2.6%)
   Rick Chen                         1 (2.6%)
   Michael Walle                     1 (2.6%)
   Stefano Babic                     1 (2.6%)
   Nicolas Carrier                   1 (2.6%)
   Alex Kiernan                      1 (2.6%)
   Chee Hong Ang                     1 (2.6%)
   Sicris Rey Embay                  1 (2.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Fabio Estevam                     7 (18.4%)
   Heinrich Schuchardt               6 (15.8%)
   Tom Rini                          4 (10.5%)
   Andy Shevchenko                   4 (10.5%)
   Simon Glass                       3 (7.9%)
   Jagan Teki                        2 (5.3%)
   Neil Armstrong                    2 (5.3%)
   Lokesh Vutla                      2 (5.3%)
   Bin Meng                          1 (2.6%)
   Masahiro Yamada                   1 (2.6%)
   Eugeniu Rosca                     1 (2.6%)
   Ley Foon Tan                      1 (2.6%)
   Peng Fan                          1 (2.6%)
   AKASHI Takahiro                   1 (2.6%)
   Romain Naour                      1 (2.6%)
   Andrew F. Davis                   1 (2.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         630 (32.8%)
   NXP                               276 (14.4%)
   Google, Inc.                      191 (10.0%)
   DENX Software Engineering         178 (9.3%)
   ST Microelectronics               140 (7.3%)
   Amarula Solutions                 80 (4.2%)
   Konsulko Group                    59 (3.1%)
   Texas Instruments                 57 (3.0%)
   AMD                               54 (2.8%)
   Linaro                            48 (2.5%)
   BayLibre SAS                      33 (1.7%)
   Rockchip                          32 (1.7%)
   Socionext Inc.                    28 (1.5%)
   Intel                             16 (0.8%)
   Xilinx                            15 (0.8%)
   Toradex                           14 (0.7%)
   Collabora Ltd.                    11 (0.6%)
   SUSE                              9 (0.5%)
   ARM                               8 (0.4%)
   Wind River                        8 (0.4%)
   Broadcom                          7 (0.4%)
   Siemens                           6 (0.3%)
   NVidia                            4 (0.2%)
   Samsung                           4 (0.2%)
   Debian.org                        2 (0.1%)
   O.S. Systems                      2 (0.1%)
   Boundary Devices                  1 (0.1%)
   Fujitsu                           1 (0.1%)
   LWN.net                           1 (0.1%)
   National Instruments              1 (0.1%)
   Pengutronix                       1 (0.1%)
   Renesas Electronics               1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         37254 (27.3%)
   NXP                               17353 (12.7%)
   DENX Software Engineering         16732 (12.3%)
   Google, Inc.                      13145 (9.6%)
   ST Microelectronics               11287 (8.3%)
   Amarula Solutions                 8389 (6.2%)
   Konsulko Group                    6578 (4.8%)
   Linaro                            6190 (4.5%)
   BayLibre SAS                      5814 (4.3%)
   AMD                               3939 (2.9%)
   Socionext Inc.                    2858 (2.1%)
   Texas Instruments                 1879 (1.4%)
   Broadcom                          1191 (0.9%)
   Xilinx                            1094 (0.8%)
   Rockchip                          1000 (0.7%)
   Collabora Ltd.                    404 (0.3%)
   Intel                             381 (0.3%)
   Toradex                           267 (0.2%)
   ARM                               143 (0.1%)
   SUSE                              69 (0.1%)
   National Instruments              69 (0.1%)
   Wind River                        61 (0.0%)
   Fujitsu                           53 (0.0%)
   Siemens                           50 (0.0%)
   Pengutronix                       21 (0.0%)
   NVidia                            15 (0.0%)
   O.S. Systems                      12 (0.0%)
   Samsung                           11 (0.0%)
   Renesas Electronics               5 (0.0%)
   Debian.org                        3 (0.0%)
   Boundary Devices                  3 (0.0%)
   LWN.net                           1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   NXP                               100 (35.1%)
   (Unknown)                         79 (27.7%)
   Xilinx                            17 (6.0%)
   ST Microelectronics               12 (4.2%)
   BayLibre SAS                      11 (3.9%)
   Broadcom                          10 (3.5%)
   SUSE                              10 (3.5%)
   Texas Instruments                 9 (3.2%)
   Konsulko Group                    8 (2.8%)
   Amarula Solutions                 7 (2.5%)
   DENX Software Engineering         5 (1.8%)
   Google, Inc.                      5 (1.8%)
   Rockchip                          3 (1.1%)
   Bootlin                           3 (1.1%)
   Linaro                            2 (0.7%)
   Pengutronix                       2 (0.7%)
   National Instruments              1 (0.4%)
   Wind River                        1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         91 (44.6%)
   NXP                               30 (14.7%)
   Texas Instruments                 10 (4.9%)
   Xilinx                            8 (3.9%)
   DENX Software Engineering         8 (3.9%)
   ST Microelectronics               7 (3.4%)
   Toradex                           5 (2.5%)
   Linaro                            4 (2.0%)
   Collabora Ltd.                    4 (2.0%)
   BayLibre SAS                      3 (1.5%)
   Rockchip                          3 (1.5%)
   Wind River                        3 (1.5%)
   Broadcom                          2 (1.0%)
   SUSE                              2 (1.0%)
   Amarula Solutions                 2 (1.0%)
   Google, Inc.                      2 (1.0%)
   Intel                             2 (1.0%)
   ARM                               2 (1.0%)
   NVidia                            2 (1.0%)
   Samsung                           2 (1.0%)
   Konsulko Group                    1 (0.5%)
   Pengutronix                       1 (0.5%)
   National Instruments              1 (0.5%)
   AMD                               1 (0.5%)
   Socionext Inc.                    1 (0.5%)
   Fujitsu                           1 (0.5%)
   Siemens                           1 (0.5%)
   O.S. Systems                      1 (0.5%)
   Renesas Electronics               1 (0.5%)
   Debian.org                        1 (0.5%)
   Boundary Devices                  1 (0.5%)
   LWN.net                           1 (0.5%)
   ================================  =====
