:orphan:

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

* Processed 2048 changesets from 227 developers

* 31 employers found

* A total of 166886 lines added, 60806 removed (delta 106080)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       352 (17.2%)
   Heinrich Schuchardt               153 (7.5%)
   Marek Vasut                       112 (5.5%)
   Patrick Delaunay                  103 (5.0%)
   Tom Rini                          80 (3.9%)
   Jagan Teki                        74 (3.6%)
   Michal Simek                      48 (2.3%)
   Masahiro Yamada                   39 (1.9%)
   AKASHI Takahiro                   36 (1.8%)
   Stefan Roese                      34 (1.7%)
   Peng Fan                          34 (1.7%)
   Bin Meng                          27 (1.3%)
   Michael Walle                     25 (1.2%)
   Rayagonda Kokatanur               25 (1.2%)
   Walter Lozano                     24 (1.2%)
   Igor Opaniuk                      23 (1.1%)
   Suneel Garapati                   22 (1.1%)
   Ovidiu Panait                     22 (1.1%)
   Sean Anderson                     20 (1.0%)
   Vignesh Raghavendra               20 (1.0%)
   Rasmus Villemoes                  19 (0.9%)
   Andy Shevchenko                   19 (0.9%)
   Dave Gerlach                      19 (0.9%)
   Lokesh Vutla                      18 (0.9%)
   Adam Ford                         17 (0.8%)
   Anatolij Gustschin                17 (0.8%)
   Pali Rohár                        16 (0.8%)
   Frank Wunderlich                  16 (0.8%)
   Faiz Abbas                        16 (0.8%)
   Daniel Schwierzeck                14 (0.7%)
   Joao Marcos Costa                 14 (0.7%)
   Ye Li                             14 (0.7%)
   Stefan Bosch                      14 (0.7%)
   Heiko Stuebner                    13 (0.6%)
   Anastasiia Lukianenko             12 (0.6%)
   Dario Binacchi                    12 (0.6%)
   Kever Yang                        11 (0.5%)
   Christophe Kerello                11 (0.5%)
   Philippe Reynes                   11 (0.5%)
   Pragnesh Patel                    9 (0.4%)
   Marek Szyprowski                  9 (0.4%)
   Sagar Shrikant Kadam              9 (0.4%)
   Niel Fourie                       9 (0.4%)
   Xiaowei Bao                       9 (0.4%)
   Amit Singh Tomar                  9 (0.4%)
   Marcel Ziswiler                   9 (0.4%)
   T Karthik Reddy                   8 (0.4%)
   Lukasz Majewski                   8 (0.4%)
   Ibai Erkiaga                      8 (0.4%)
   Oleksandr Andrushchenko           8 (0.4%)
   Tero Kristo                       8 (0.4%)
   Fabio Estevam                     7 (0.3%)
   John Robertson                    7 (0.3%)
   Wolfgang Wallner                  7 (0.3%)
   Andre Przywara                    7 (0.3%)
   Dan Murphy                        7 (0.3%)
   Patrice Chotard                   6 (0.3%)
   Kuldeep Singh                     6 (0.3%)
   Chuanjia Liu                      6 (0.3%)
   Chia-Wei, Wang                    6 (0.3%)
   Patrick Oppenlander               6 (0.3%)
   Ilias Apalodimas                  6 (0.3%)
   Zhao Qiang                        6 (0.3%)
   Biwen Li                          6 (0.3%)
   Johannes Krottmayer               6 (0.3%)
   Shivamurthy Shastri               6 (0.3%)
   Nicolas Saenz Julienne            6 (0.3%)
   Denis 'GNUtoo' Carikli            6 (0.3%)
   Baruch Siach                      5 (0.2%)
   Chris Packham                     5 (0.2%)
   Ashok Reddy Soma                  5 (0.2%)
   Luka Kovacic                      5 (0.2%)
   David Woodhouse                   5 (0.2%)
   Ard Biesheuvel                    5 (0.2%)
   Sylwester Nawrocki                5 (0.2%)
   Simon Guinot                      5 (0.2%)
   Andre Heider                      4 (0.2%)
   Heiko Schocher                    4 (0.2%)
   Peter Robinson                    4 (0.2%)
   Hou Zhiqiang                      4 (0.2%)
   Hayes Wang                        4 (0.2%)
   Wig Cheng                         4 (0.2%)
   Andrew F. Davis                   4 (0.2%)
   Suman Anna                        4 (0.2%)
   Jan Kiszka                        4 (0.2%)
   Robert Marko                      4 (0.2%)
   Yangbo Lu                         4 (0.2%)
   Nicolas Boichat                   4 (0.2%)
   Suniel Mahesh                     4 (0.2%)
   Soeren Moch                       3 (0.1%)
   Neil Armstrong                    3 (0.1%)
   Wasim Khan                        3 (0.1%)
   Chaitanya Sakinam                 3 (0.1%)
   hui.song                          3 (0.1%)
   Anand Moon                        3 (0.1%)
   Jason Wessel                      3 (0.1%)
   Sherry Sun                        3 (0.1%)
   Roman Kovalivskyi                 3 (0.1%)
   Stephen Warren                    3 (0.1%)
   Bharat Gooty                      3 (0.1%)
   Jian Li                           3 (0.1%)
   Mike Looijmans                    3 (0.1%)
   Lad Prabhakar                     2 (0.1%)
   Madalin Bucur                     2 (0.1%)
   Meenakshi Aggarwal                2 (0.1%)
   Martin Kaistra                    2 (0.1%)
   Vladimir Vid                      2 (0.1%)
   Maxim Uvarov                      2 (0.1%)
   Philippe Schenker                 2 (0.1%)
   Konstantin Porotchkin             2 (0.1%)
   Reuben Dowle                      2 (0.1%)
   Ley Foon Tan                      2 (0.1%)
   John Chau                         2 (0.1%)
   Usama Arif                        2 (0.1%)
   Andrii Anisov                     2 (0.1%)
   Jway Lin                          2 (0.1%)
   Bernhard Messerklinger            2 (0.1%)
   Pramod Kumar                      2 (0.1%)
   MarkLee                           2 (0.1%)
   Jacky Bai                         2 (0.1%)
   Johannes Holland                  2 (0.1%)
   Yash Shah                         2 (0.1%)
   Christian Hewitt                  2 (0.1%)
   Luca Ceresoli                     2 (0.1%)
   Gregory CLEMENT                   2 (0.1%)
   Eugen Hristev                     2 (0.1%)
   Peter Ujfalusi                    2 (0.1%)
   Ravik Hasija                      2 (0.1%)
   Etienne Carriere                  1 (0.0%)
   Naoki Hayama                      1 (0.0%)
   Rick Chen                         1 (0.0%)
   Grigore Popescu                   1 (0.0%)
   Thirupathaiah Annapureddy         1 (0.0%)
   Ran Wang                          1 (0.0%)
   Dennis Gilmore                    1 (0.0%)
   Vladimir Oltean                   1 (0.0%)
   Mian Yousaf Kaukab                1 (0.0%)
   Mauro Condarelli                  1 (0.0%)
   Ralph Siemsen                     1 (0.0%)
   Thomas Fitzsimmons                1 (0.0%)
   Haibo Chen                        1 (0.0%)
   Denis Pynkin                      1 (0.0%)
   Miquel Raynal                     1 (0.0%)
   Thomas Petazzoni                  1 (0.0%)
   Marek Behún                       1 (0.0%)
   Manivannan Sadhasivam             1 (0.0%)
   Ramon Fried                       1 (0.0%)
   Robert Reither                    1 (0.0%)
   Mingming Lee                      1 (0.0%)
   Pedro Aguilar                     1 (0.0%)
   Matthias Brugger                  1 (0.0%)
   zachary                           1 (0.0%)
   Chee Hong Ang                     1 (0.0%)
   Gary Bisson                       1 (0.0%)
   yurii.pidhornyi                   1 (0.0%)
   Frank Li                          1 (0.0%)
   Jassi Brar                        1 (0.0%)
   Filip Brozovic                    1 (0.0%)
   Wilson Ding                       1 (0.0%)
   Evan Wang                         1 (0.0%)
   Ruben Di Battista                 1 (0.0%)
   Grygorii Tertychnyi               1 (0.0%)
   Aaron Williams                    1 (0.0%)
   Trommel, Kees (Contractor)        1 (0.0%)
   Chunfeng Yun                      1 (0.0%)
   Igor Lantsman                     1 (0.0%)
   Matthias Schiffer                 1 (0.0%)
   Stefano Babic                     1 (0.0%)
   Srinath Mannam                    1 (0.0%)
   Leo Liang                         1 (0.0%)
   Kishon Vijay Abraham I            1 (0.0%)
   Jean-Jacques Hiblot               1 (0.0%)
   Derald D. Woods                   1 (0.0%)
   Alex Nemirovsky                   1 (0.0%)
   Icenowy Zheng                     1 (0.0%)
   Brian Moyer                       1 (0.0%)
   Yan Liu                           1 (0.0%)
   Jonas Smedegaard                  1 (0.0%)
   Yann Gautier                      1 (0.0%)
   Doyle, Patrick                    1 (0.0%)
   Parthiban Nallathambi             1 (0.0%)
   Ivan Mikhaylov                    1 (0.0%)
   Vikas Gupta                       1 (0.0%)
   Abhishek Shah                     1 (0.0%)
   chenshuo                          1 (0.0%)
   Marcin Sloniewski                 1 (0.0%)
   Jakob Riepler                     1 (0.0%)
   Manish Tomar                      1 (0.0%)
   Yuantian Tang                     1 (0.0%)
   Udit Agarwal                      1 (0.0%)
   Era Tiwari                        1 (0.0%)
   Alex Bee                          1 (0.0%)
   Stefan Sørensen                   1 (0.0%)
   Holger Brunck                     1 (0.0%)
   Mylène Josserand                  1 (0.0%)
   Chin Liang See                    1 (0.0%)
   Thomas Schaefer                   1 (0.0%)
   Ilko Iliev                        1 (0.0%)
   Mo, Yuezhang                      1 (0.0%)
   Sébastien Szymanski               1 (0.0%)
   Oliver Chen                       1 (0.0%)
   Seung-Woo Kim                     1 (0.0%)
   Bhargav Shah                      1 (0.0%)
   Sven Auhagen                      1 (0.0%)
   Arthur Li                         1 (0.0%)
   Dhananjay Phadke                  1 (0.0%)
   Bruno Thomsen                     1 (0.0%)
   Pascal Vizeli                     1 (0.0%)
   Volodymyr Babchuk                 1 (0.0%)
   Fabrice Gasnier                   1 (0.0%)
   Christian Gmeiner                 1 (0.0%)
   Hugh Cole-Baker                   1 (0.0%)
   Marcin Juszkiewicz                1 (0.0%)
   Patrick van Gelder                1 (0.0%)
   Saeed Nowshadi                    1 (0.0%)
   Siva Durga Prasad Paladugu        1 (0.0%)
   Rajan Vaja                        1 (0.0%)
   Troy Kisky                        1 (0.0%)
   Chuanhua Han                      1 (0.0%)
   Harald Seiler                     1 (0.0%)
   Bin Liu                           1 (0.0%)
   Florin Chiculita                  1 (0.0%)
   Tom Warren                        1 (0.0%)
   Bryan O'Donoghue                  1 (0.0%)
   Krebs, Olaf                       1 (0.0%)
   Pratyush Yadav                    1 (0.0%)
   Marcus Comstedt                   1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Suneel Garapati                   36718 (17.7%)
   Jagan Teki                        34103 (16.4%)
   Stefan Bosch                      17981 (8.7%)
   Simon Glass                       16554 (8.0%)
   Tero Kristo                       12230 (5.9%)
   Tom Rini                          8307 (4.0%)
   Adam Ford                         5638 (2.7%)
   Oleksandr Andrushchenko           4905 (2.4%)
   Heinrich Schuchardt               4360 (2.1%)
   Marek Vasut                       4331 (2.1%)
   Dave Gerlach                      3826 (1.8%)
   Sean Anderson                     3710 (1.8%)
   Joao Marcos Costa                 2936 (1.4%)
   Patrick Delaunay                  2843 (1.4%)
   AKASHI Takahiro                   2396 (1.2%)
   Masahiro Yamada                   2348 (1.1%)
   Peng Fan                          1515 (0.7%)
   Vignesh Raghavendra               1474 (0.7%)
   Lokesh Vutla                      1458 (0.7%)
   Daniel Schwierzeck                1455 (0.7%)
   Andrii Anisov                     1442 (0.7%)
   Christophe Kerello                1428 (0.7%)
   Niel Fourie                       1404 (0.7%)
   Srinath Mannam                    1295 (0.6%)
   Anastasiia Lukianenko             1186 (0.6%)
   Rayagonda Kokatanur               1166 (0.6%)
   Mike Looijmans                    1165 (0.6%)
   Heiko Stuebner                    1095 (0.5%)
   Walter Lozano                     993 (0.5%)
   Xiaowei Bao                       987 (0.5%)
   Jassi Brar                        890 (0.4%)
   Parthiban Nallathambi             840 (0.4%)
   Igor Opaniuk                      814 (0.4%)
   Stefan Roese                      811 (0.4%)
   Bharat Gooty                      803 (0.4%)
   Michael Walle                     756 (0.4%)
   Peter Ujfalusi                    752 (0.4%)
   Frank Wunderlich                  734 (0.4%)
   Luka Kovacic                      719 (0.3%)
   Marcin Sloniewski                 709 (0.3%)
   Christian Hewitt                  708 (0.3%)
   Sylwester Nawrocki                666 (0.3%)
   Rasmus Villemoes                  656 (0.3%)
   Chuanjia Liu                      640 (0.3%)
   Reuben Dowle                      637 (0.3%)
   Ye Li                             509 (0.2%)
   Faiz Abbas                        485 (0.2%)
   Michal Simek                      484 (0.2%)
   Philippe Reynes                   483 (0.2%)
   Robert Marko                      477 (0.2%)
   Hayes Wang                        471 (0.2%)
   Arthur Li                         465 (0.2%)
   David Woodhouse                   462 (0.2%)
   Ilias Apalodimas                  430 (0.2%)
   Marek Szyprowski                  356 (0.2%)
   Jway Lin                          341 (0.2%)
   Chuanhua Han                      337 (0.2%)
   Zhao Qiang                        331 (0.2%)
   Aaron Williams                    318 (0.2%)
   Usama Arif                        317 (0.2%)
   Anatolij Gustschin                281 (0.1%)
   Bin Meng                          277 (0.1%)
   Sagar Shrikant Kadam              265 (0.1%)
   Ovidiu Panait                     254 (0.1%)
   Dan Murphy                        253 (0.1%)
   Nicolas Saenz Julienne            247 (0.1%)
   Hou Zhiqiang                      240 (0.1%)
   Vikas Gupta                       238 (0.1%)
   Denis 'GNUtoo' Carikli            235 (0.1%)
   Pali Rohár                        222 (0.1%)
   Yash Shah                         210 (0.1%)
   Amit Singh Tomar                  200 (0.1%)
   Sherry Sun                        195 (0.1%)
   Marcel Ziswiler                   193 (0.1%)
   T Karthik Reddy                   184 (0.1%)
   Lukasz Majewski                   179 (0.1%)
   Oliver Chen                       177 (0.1%)
   Jan Kiszka                        175 (0.1%)
   Ibai Erkiaga                      169 (0.1%)
   Andy Shevchenko                   160 (0.1%)
   Roman Kovalivskyi                 152 (0.1%)
   Simon Guinot                      149 (0.1%)
   Dario Binacchi                    147 (0.1%)
   John Chau                         141 (0.1%)
   Shivamurthy Shastri               137 (0.1%)
   Bhargav Shah                      130 (0.1%)
   Yangbo Lu                         129 (0.1%)
   John Robertson                    116 (0.1%)
   Pramod Kumar                      108 (0.1%)
   Kuldeep Singh                     101 (0.0%)
   Biwen Li                          97 (0.0%)
   Heiko Schocher                    97 (0.0%)
   Dennis Gilmore                    93 (0.0%)
   Chia-Wei, Wang                    88 (0.0%)
   Ramon Fried                       86 (0.0%)
   Filip Brozovic                    85 (0.0%)
   Patrice Chotard                   84 (0.0%)
   Patrick Oppenlander               79 (0.0%)
   Evan Wang                         78 (0.0%)
   Derald D. Woods                   76 (0.0%)
   Andre Przywara                    74 (0.0%)
   Ard Biesheuvel                    74 (0.0%)
   Bernhard Messerklinger            73 (0.0%)
   Manish Tomar                      73 (0.0%)
   Johannes Krottmayer               65 (0.0%)
   Andre Heider                      65 (0.0%)
   Pascal Vizeli                     63 (0.0%)
   hui.song                          61 (0.0%)
   Ravik Hasija                      61 (0.0%)
   Nicolas Boichat                   60 (0.0%)
   Pragnesh Patel                    58 (0.0%)
   Wig Cheng                         58 (0.0%)
   Vladimir Oltean                   58 (0.0%)
   Dhananjay Phadke                  57 (0.0%)
   Kever Yang                        56 (0.0%)
   Suniel Mahesh                     48 (0.0%)
   Neil Armstrong                    47 (0.0%)
   Abhishek Shah                     45 (0.0%)
   Andrew F. Davis                   41 (0.0%)
   Johannes Holland                  39 (0.0%)
   Ran Wang                          37 (0.0%)
   Peter Robinson                    35 (0.0%)
   Chris Packham                     34 (0.0%)
   Sven Auhagen                      34 (0.0%)
   Wasim Khan                        32 (0.0%)
   Fabio Estevam                     30 (0.0%)
   Ralph Siemsen                     28 (0.0%)
   Bin Liu                           28 (0.0%)
   Baruch Siach                      25 (0.0%)
   Anand Moon                        24 (0.0%)
   Sébastien Szymanski               23 (0.0%)
   Wolfgang Wallner                  22 (0.0%)
   Wilson Ding                       21 (0.0%)
   Troy Kisky                        21 (0.0%)
   Chee Hong Ang                     20 (0.0%)
   Ashok Reddy Soma                  19 (0.0%)
   Ley Foon Tan                      19 (0.0%)
   zachary                           19 (0.0%)
   Ivan Mikhaylov                    19 (0.0%)
   Suman Anna                        17 (0.0%)
   Madalin Bucur                     17 (0.0%)
   Chaitanya Sakinam                 16 (0.0%)
   Florin Chiculita                  16 (0.0%)
   Tom Warren                        16 (0.0%)
   Bryan O'Donoghue                  16 (0.0%)
   Jason Wessel                      15 (0.0%)
   Lad Prabhakar                     15 (0.0%)
   Gregory CLEMENT                   15 (0.0%)
   Yuantian Tang                     15 (0.0%)
   Mian Yousaf Kaukab                14 (0.0%)
   Jonas Smedegaard                  14 (0.0%)
   Fabrice Gasnier                   14 (0.0%)
   Igor Lantsman                     13 (0.0%)
   chenshuo                          13 (0.0%)
   Mo, Yuezhang                      13 (0.0%)
   Philippe Schenker                 12 (0.0%)
   Eugen Hristev                     12 (0.0%)
   Jakob Riepler                     12 (0.0%)
   MarkLee                           11 (0.0%)
   Mylène Josserand                  11 (0.0%)
   Chin Liang See                    11 (0.0%)
   Siva Durga Prasad Paladugu        11 (0.0%)
   Stephen Warren                    10 (0.0%)
   Meenakshi Aggarwal                10 (0.0%)
   Yan Liu                           10 (0.0%)
   Krebs, Olaf                       10 (0.0%)
   Grygorii Tertychnyi               9 (0.0%)
   Soeren Moch                       8 (0.0%)
   Etienne Carriere                  8 (0.0%)
   Stefan Sørensen                   8 (0.0%)
   Volodymyr Babchuk                 8 (0.0%)
   Luca Ceresoli                     7 (0.0%)
   Jean-Jacques Hiblot               7 (0.0%)
   Rajan Vaja                        7 (0.0%)
   Haibo Chen                        6 (0.0%)
   Ruben Di Battista                 6 (0.0%)
   Vladimir Vid                      5 (0.0%)
   Mauro Condarelli                  5 (0.0%)
   Pedro Aguilar                     5 (0.0%)
   Brian Moyer                       5 (0.0%)
   Udit Agarwal                      5 (0.0%)
   Holger Brunck                     5 (0.0%)
   Saeed Nowshadi                    5 (0.0%)
   Marek Behún                       4 (0.0%)
   Manivannan Sadhasivam             4 (0.0%)
   Kishon Vijay Abraham I            4 (0.0%)
   Icenowy Zheng                     4 (0.0%)
   Yann Gautier                      4 (0.0%)
   Alex Bee                          4 (0.0%)
   Pratyush Yadav                    4 (0.0%)
   Jian Li                           3 (0.0%)
   Maxim Uvarov                      3 (0.0%)
   Robert Reither                    3 (0.0%)
   Mingming Lee                      3 (0.0%)
   Chunfeng Yun                      3 (0.0%)
   Stefano Babic                     3 (0.0%)
   Alex Nemirovsky                   3 (0.0%)
   Bruno Thomsen                     3 (0.0%)
   Christian Gmeiner                 3 (0.0%)
   Marcus Comstedt                   3 (0.0%)
   Martin Kaistra                    2 (0.0%)
   Konstantin Porotchkin             2 (0.0%)
   Jacky Bai                         2 (0.0%)
   Rick Chen                         2 (0.0%)
   Grigore Popescu                   2 (0.0%)
   Thomas Fitzsimmons                2 (0.0%)
   Gary Bisson                       2 (0.0%)
   yurii.pidhornyi                   2 (0.0%)
   Frank Li                          2 (0.0%)
   Trommel, Kees (Contractor)        2 (0.0%)
   Leo Liang                         2 (0.0%)
   Marcin Juszkiewicz                2 (0.0%)
   Patrick van Gelder                2 (0.0%)
   Harald Seiler                     2 (0.0%)
   Naoki Hayama                      1 (0.0%)
   Thirupathaiah Annapureddy         1 (0.0%)
   Denis Pynkin                      1 (0.0%)
   Miquel Raynal                     1 (0.0%)
   Thomas Petazzoni                  1 (0.0%)
   Matthias Brugger                  1 (0.0%)
   Matthias Schiffer                 1 (0.0%)
   Doyle, Patrick                    1 (0.0%)
   Era Tiwari                        1 (0.0%)
   Thomas Schaefer                   1 (0.0%)
   Ilko Iliev                        1 (0.0%)
   Seung-Woo Kim                     1 (0.0%)
   Hugh Cole-Baker                   1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jagan Teki                        30007 (49.3%)
   Tom Rini                          2437 (4.0%)
   Andy Shevchenko                   114 (0.2%)
   Bhargav Shah                      111 (0.2%)
   Wig Cheng                         47 (0.1%)
   Derald D. Woods                   33 (0.1%)
   Ibai Erkiaga                      24 (0.0%)
   Sébastien Szymanski               20 (0.0%)
   Mian Yousaf Kaukab                14 (0.0%)
   Lad Prabhakar                     13 (0.0%)
   Gregory CLEMENT                   13 (0.0%)
   Jonas Smedegaard                  13 (0.0%)
   Jakob Riepler                     12 (0.0%)
   Ashok Reddy Soma                  7 (0.0%)
   Yangbo Lu                         6 (0.0%)
   Rajan Vaja                        6 (0.0%)
   Fabio Estevam                     5 (0.0%)
   zachary                           5 (0.0%)
   Grygorii Tertychnyi               5 (0.0%)
   Chaitanya Sakinam                 4 (0.0%)
   Chin Liang See                    3 (0.0%)
   Masahiro Yamada                   2 (0.0%)
   Alex Bee                          2 (0.0%)
   Christian Gmeiner                 2 (0.0%)
   Harald Seiler                     2 (0.0%)
   Baruch Siach                      1 (0.0%)
   Soeren Moch                       1 (0.0%)
   Marcus Comstedt                   1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Michal Simek                      30 (11.9%)
   Peng Fan                          19 (7.5%)
   Matthias Brugger                  16 (6.3%)
   Tom Rini                          15 (6.0%)
   Hou Zhiqiang                      13 (5.2%)
   Bin Meng                          11 (4.4%)
   Anastasiia Lukianenko             11 (4.4%)
   Priyanka Jain                     10 (4.0%)
   Oleksandr Andrushchenko           9 (3.6%)
   Rayagonda Kokatanur               8 (3.2%)
   Heinrich Schuchardt               7 (2.8%)
   Jagan Teki                        5 (2.0%)
   Henry Yen                         5 (2.0%)
   Neil Armstrong                    5 (2.0%)
   Stefan Roese                      5 (2.0%)
   Simon Glass                       5 (2.0%)
   Aaron Williams                    4 (1.6%)
   Sylwester Nawrocki                4 (1.6%)
   Bharat Gooty                      4 (1.6%)
   Alex Nemirovsky                   3 (1.2%)
   Siva Durga Prasad Paladugu        3 (1.2%)
   Kever Yang                        3 (1.2%)
   Andre Heider                      3 (1.2%)
   Ye Li                             3 (1.2%)
   Lokesh Vutla                      3 (1.2%)
   Patrick Delaunay                  3 (1.2%)
   Masahiro Yamada                   2 (0.8%)
   Rajesh Ravi                       2 (0.8%)
   Radu Bacrau                       2 (0.8%)
   Suman Anna                        2 (0.8%)
   Pali Rohár                        2 (0.8%)
   Vignesh Raghavendra               2 (0.8%)
   Tero Kristo                       2 (0.8%)
   Ashok Reddy Soma                  1 (0.4%)
   Jacky Bai                         1 (0.4%)
   Thirupathaiah Annapureddy         1 (0.4%)
   Ioana Ciornei                     1 (0.4%)
   Heiko Thiery                      1 (0.4%)
   Ken Ma                            1 (0.4%)
   Roman Stratiienko                 1 (0.4%)
   Vishal Mahaveer                   1 (0.4%)
   Sheetal Tigadoli                  1 (0.4%)
   Vladimir Olovyannikov             1 (0.4%)
   Ashish Kumar                      1 (0.4%)
   Anji J                            1 (0.4%)
   Mark Adler                        1 (0.4%)
   Silvano di Ninno                  1 (0.4%)
   Roger Quadros                     1 (0.4%)
   Konstantin Porotchkin             1 (0.4%)
   Jean-Jacques Hiblot               1 (0.4%)
   Biwen Li                          1 (0.4%)
   Ley Foon Tan                      1 (0.4%)
   Andrew F. Davis                   1 (0.4%)
   Suniel Mahesh                     1 (0.4%)
   Patrice Chotard                   1 (0.4%)
   Pramod Kumar                      1 (0.4%)
   Vikas Gupta                       1 (0.4%)
   Nicolas Saenz Julienne            1 (0.4%)
   Marek Szyprowski                  1 (0.4%)
   Xiaowei Bao                       1 (0.4%)
   Faiz Abbas                        1 (0.4%)
   Daniel Schwierzeck                1 (0.4%)
   Andrii Anisov                     1 (0.4%)
   Dave Gerlach                      1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          276 (21.7%)
   Simon Glass                       262 (20.6%)
   Wolfgang Wallner                  92 (7.2%)
   Patrice Chotard                   85 (6.7%)
   Priyanka Jain                     80 (6.3%)
   Stefan Roese                      63 (5.0%)
   Kever Yang                        56 (4.4%)
   Tom Rini                          32 (2.5%)
   Heiko Schocher                    28 (2.2%)
   Pragnesh Patel                    25 (2.0%)
   Anatolij Gustschin                23 (1.8%)
   Rick Chen                         22 (1.7%)
   Heinrich Schuchardt               20 (1.6%)
   Peng Fan                          10 (0.8%)
   Suman Anna                        10 (0.8%)
   Ye Li                             9 (0.7%)
   Fabio Estevam                     9 (0.7%)
   Sean Anderson                     9 (0.7%)
   Patrick Delaunay                  8 (0.6%)
   Konstantin Porotchkin             7 (0.6%)
   Linus Walleij                     7 (0.6%)
   Ramon Fried                       7 (0.6%)
   Nicolas Saenz Julienne            6 (0.5%)
   Daniel Schwierzeck                6 (0.5%)
   Stefano Babic                     6 (0.5%)
   Jagan Teki                        5 (0.4%)
   Grygorii Strashko                 5 (0.4%)
   Leo Liang                         5 (0.4%)
   Igor Opaniuk                      5 (0.4%)
   Chunfeng Yun                      4 (0.3%)
   Horia Geantă                      4 (0.3%)
   Andre Przywara                    4 (0.3%)
   Lukasz Majewski                   4 (0.3%)
   Philippe Reynes                   4 (0.3%)
   Marek Vasut                       4 (0.3%)
   Michal Simek                      3 (0.2%)
   Lokesh Vutla                      3 (0.2%)
   Soeren Moch                       3 (0.2%)
   Jaehoon Chung                     3 (0.2%)
   Igal Liberman                     3 (0.2%)
   Michael Trimarchi                 3 (0.2%)
   Philipp Tomsich                   3 (0.2%)
   Neil Armstrong                    2 (0.2%)
   Andre Heider                      2 (0.2%)
   Ashish Kumar                      2 (0.2%)
   Andy Shevchenko                   2 (0.2%)
   Aiden Park                        2 (0.2%)
   Atish Patra                       2 (0.2%)
   Luca Ceresoli                     2 (0.2%)
   Manivannan Sadhasivam             2 (0.2%)
   Kuldeep Singh                     2 (0.2%)
   Rayagonda Kokatanur               1 (0.1%)
   Sylwester Nawrocki                1 (0.1%)
   Pali Rohár                        1 (0.1%)
   Jacky Bai                         1 (0.1%)
   Ley Foon Tan                      1 (0.1%)
   Faiz Abbas                        1 (0.1%)
   Biju Das                          1 (0.1%)
   Sughosh Ganu                      1 (0.1%)
   Grzegorz Jaszczyk                 1 (0.1%)
   Stefan Chulski                    1 (0.1%)
   Jun Li                            1 (0.1%)
   Hua Jing                          1 (0.1%)
   Marcin Niestroj                   1 (0.1%)
   Eric Nelson                       1 (0.1%)
   Richard Weinberger                1 (0.1%)
   Frieder Schrempf                  1 (0.1%)
   Kurt Kanzenbach                   1 (0.1%)
   Julius Werner                     1 (0.1%)
   Andy.Wu                           1 (0.1%)
   Julien Grall                      1 (0.1%)
   Yegor Yefremov                    1 (0.1%)
   Alex Marginean                    1 (0.1%)
   Jian Li                           1 (0.1%)
   Stephen Warren                    1 (0.1%)
   Chris Packham                     1 (0.1%)
   Madalin Bucur                     1 (0.1%)
   Vladimir Oltean                   1 (0.1%)
   Ilias Apalodimas                  1 (0.1%)
   Walter Lozano                     1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          36 (27.7%)
   Andre Heider                      13 (10.0%)
   Stefan Roese                      8 (6.2%)
   Pragnesh Patel                    8 (6.2%)
   Wolfgang Wallner                  4 (3.1%)
   Angelo Dureghello                 4 (3.1%)
   Anand Moon                        4 (3.1%)
   Heinrich Schuchardt               3 (2.3%)
   Soeren Moch                       3 (2.3%)
   Masahiro Yamada                   3 (2.3%)
   iSoC Platform CI                  3 (2.3%)
   Tom Rini                          2 (1.5%)
   Leo Liang                         2 (1.5%)
   Philippe Reynes                   2 (1.5%)
   Michal Simek                      2 (1.5%)
   Pali Rohár                        2 (1.5%)
   Suniel Mahesh                     2 (1.5%)
   Petr Tesarik                      2 (1.5%)
   Frank Wunderlich                  2 (1.5%)
   Adam Ford                         2 (1.5%)
   Anatolij Gustschin                1 (0.8%)
   Rick Chen                         1 (0.8%)
   Sean Anderson                     1 (0.8%)
   Andre Przywara                    1 (0.8%)
   Igal Liberman                     1 (0.8%)
   Faiz Abbas                        1 (0.8%)
   Biju Das                          1 (0.8%)
   Hua Jing                          1 (0.8%)
   Alex Marginean                    1 (0.8%)
   Walter Lozano                     1 (0.8%)
   Heiko Thiery                      1 (0.8%)
   Silvano di Ninno                  1 (0.8%)
   Derald D. Woods                   1 (0.8%)
   Baruch Siach                      1 (0.8%)
   Marek Behún                       1 (0.8%)
   Scott K Logan                     1 (0.8%)
   Dmitry N. Kolesnikov              1 (0.8%)
   Ji Luo                            1 (0.8%)
   Aníbal Limón                      1 (0.8%)
   Matt Porter                       1 (0.8%)
   Vagrant Cascadian                 1 (0.8%)
   Guillaume La Roque                1 (0.8%)
   Bartosz Golaszewski               1 (0.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       26 (20.0%)
   Pali Rohár                        10 (7.7%)
   Heinrich Schuchardt               9 (6.9%)
   Daniel Schwierzeck                8 (6.2%)
   Bin Meng                          7 (5.4%)
   Pragnesh Patel                    6 (4.6%)
   Jagan Teki                        6 (4.6%)
   Stefan Roese                      4 (3.1%)
   Michael Walle                     4 (3.1%)
   Tom Rini                          3 (2.3%)
   Anatolij Gustschin                3 (2.3%)
   Neil Armstrong                    3 (2.3%)
   Faiz Abbas                        2 (1.5%)
   Marek Behún                       2 (1.5%)
   Konstantin Porotchkin             2 (1.5%)
   Ley Foon Tan                      2 (1.5%)
   zachary                           2 (1.5%)
   Jason Wessel                      2 (1.5%)
   Wilson Ding                       2 (1.5%)
   Ovidiu Panait                     2 (1.5%)
   Evan Wang                         2 (1.5%)
   Sagar Shrikant Kadam              2 (1.5%)
   Christian Hewitt                  2 (1.5%)
   Andre Heider                      1 (0.8%)
   Wolfgang Wallner                  1 (0.8%)
   Rick Chen                         1 (0.8%)
   Walter Lozano                     1 (0.8%)
   Peng Fan                          1 (0.8%)
   Fabio Estevam                     1 (0.8%)
   Lukasz Majewski                   1 (0.8%)
   Marek Vasut                       1 (0.8%)
   Manivannan Sadhasivam             1 (0.8%)
   Chris Packham                     1 (0.8%)
   Andrew F. Davis                   1 (0.8%)
   Troy Kisky                        1 (0.8%)
   Hugh Cole-Baker                   1 (0.8%)
   Haibo Chen                        1 (0.8%)
   Volodymyr Babchuk                 1 (0.8%)
   Pascal Vizeli                     1 (0.8%)
   David Woodhouse                   1 (0.8%)
   Chuanjia Liu                      1 (0.8%)
   AKASHI Takahiro                   1 (0.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Stefan Bosch                      5 (20.0%)
   Tom Rini                          4 (16.0%)
   Heinrich Schuchardt               2 (8.0%)
   Scott K Logan                     2 (8.0%)
   Pali Rohár                        1 (4.0%)
   Andre Heider                      1 (4.0%)
   Soeren Moch                       1 (4.0%)
   Sean Anderson                     1 (4.0%)
   Dmitry N. Kolesnikov              1 (4.0%)
   Matt Porter                       1 (4.0%)
   Vagrant Cascadian                 1 (4.0%)
   Oleksandr Andrushchenko           1 (4.0%)
   Tian Yuanhao                      1 (4.0%)
   Goran Marinkovic                  1 (4.0%)
   Igor Lantsman                     1 (4.0%)
   Dennis Gilmore                    1 (4.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       5 (20.0%)
   Heinrich Schuchardt               4 (16.0%)
   Fabio Estevam                     3 (12.0%)
   Tom Rini                          2 (8.0%)
   Andre Heider                      2 (8.0%)
   Igor Lantsman                     1 (4.0%)
   Anatolij Gustschin                1 (4.0%)
   Neil Armstrong                    1 (4.0%)
   Volodymyr Babchuk                 1 (4.0%)
   AKASHI Takahiro                   1 (4.0%)
   Michal Simek                      1 (4.0%)
   Baruch Siach                      1 (4.0%)
   Kever Yang                        1 (4.0%)
   Robert Reither                    1 (4.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         641 (31.3%)
   Google, Inc.                      352 (17.2%)
   DENX Software Engineering         187 (9.1%)
   ST Microelectronics               122 (6.0%)
   NXP                               116 (5.7%)
   Texas Instruments                 103 (5.0%)
   Konsulko Group                    80 (3.9%)
   Amarula Solutions                 78 (3.8%)
   AMD                               48 (2.3%)
   Linaro                            48 (2.3%)
   Socionext Inc.                    39 (1.9%)
   Broadcom                          33 (1.6%)
   Marvell                           28 (1.4%)
   Collabora Ltd.                    26 (1.3%)
   Wind River                        25 (1.2%)
   Xilinx                            24 (1.2%)
   Intel                             23 (1.1%)
   Bootlin                           17 (0.8%)
   Samsung                           15 (0.7%)
   Rockchip                          11 (0.5%)
   ARM                               9 (0.4%)
   NVidia                            4 (0.2%)
   Siemens                           4 (0.2%)
   BayLibre SAS                      3 (0.1%)
   Boundary Devices                  2 (0.1%)
   linutronix                        2 (0.1%)
   Renesas Electronics               2 (0.1%)
   SUSE                              2 (0.1%)
   Toradex                           2 (0.1%)
   Sony                              1 (0.0%)
   Ronetix                           1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         57323 (27.6%)
   Marvell                           37156 (17.9%)
   Amarula Solutions                 34151 (16.5%)
   Texas Instruments                 20589 (9.9%)
   Google, Inc.                      16554 (8.0%)
   Konsulko Group                    8307 (4.0%)
   DENX Software Engineering         7124 (3.4%)
   NXP                               4974 (2.4%)
   ST Microelectronics               4373 (2.1%)
   Linaro                            3759 (1.8%)
   Broadcom                          3655 (1.8%)
   Bootlin                           2935 (1.4%)
   Socionext Inc.                    2348 (1.1%)
   Samsung                           1023 (0.5%)
   Collabora Ltd.                    1005 (0.5%)
   AMD                               484 (0.2%)
   Xilinx                            395 (0.2%)
   ARM                               391 (0.2%)
   Wind River                        269 (0.1%)
   Intel                             210 (0.1%)
   Siemens                           175 (0.1%)
   Rockchip                          56 (0.0%)
   BayLibre SAS                      47 (0.0%)
   NVidia                            26 (0.0%)
   Boundary Devices                  23 (0.0%)
   Renesas Electronics               15 (0.0%)
   SUSE                              15 (0.0%)
   Sony                              13 (0.0%)
   Toradex                           12 (0.0%)
   linutronix                        2 (0.0%)
   Ronetix                           1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         57 (22.6%)
   NXP                               53 (21.0%)
   Xilinx                            34 (13.5%)
   Broadcom                          17 (6.7%)
   SUSE                              17 (6.7%)
   Texas Instruments                 15 (6.0%)
   Konsulko Group                    15 (6.0%)
   Marvell                           6 (2.4%)
   Amarula Solutions                 6 (2.4%)
   Google, Inc.                      5 (2.0%)
   DENX Software Engineering         5 (2.0%)
   Samsung                           5 (2.0%)
   BayLibre SAS                      5 (2.0%)
   ST Microelectronics               4 (1.6%)
   Intel                             3 (1.2%)
   Rockchip                          3 (1.2%)
   Socionext Inc.                    2 (0.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         109 (47.8%)
   NXP                               28 (12.3%)
   Texas Instruments                 14 (6.1%)
   DENX Software Engineering         9 (3.9%)
   Linaro                            7 (3.1%)
   Xilinx                            6 (2.6%)
   Broadcom                          6 (2.6%)
   Marvell                           6 (2.6%)
   ST Microelectronics               5 (2.2%)
   Intel                             4 (1.8%)
   Bootlin                           4 (1.8%)
   Samsung                           3 (1.3%)
   Collabora Ltd.                    3 (1.3%)
   SUSE                              2 (0.9%)
   Amarula Solutions                 2 (0.9%)
   ARM                               2 (0.9%)
   Wind River                        2 (0.9%)
   NVidia                            2 (0.9%)
   Boundary Devices                  2 (0.9%)
   Konsulko Group                    1 (0.4%)
   Google, Inc.                      1 (0.4%)
   BayLibre SAS                      1 (0.4%)
   Rockchip                          1 (0.4%)
   Socionext Inc.                    1 (0.4%)
   AMD                               1 (0.4%)
   Siemens                           1 (0.4%)
   Renesas Electronics               1 (0.4%)
   Sony                              1 (0.4%)
   Toradex                           1 (0.4%)
   linutronix                        1 (0.4%)
   Ronetix                           1 (0.4%)
   ================================  =====
