:orphan:

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

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