:orphan:

Release Statistics for U-Boot v2021.01
======================================

* Processed 1694 changesets from 163 developers

* 27 employers found

* A total of 152587 lines added, 32307 removed (delta 120280)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       298 (17.6%)
   Sean Anderson                     140 (8.3%)
   Heinrich Schuchardt               107 (6.3%)
   Michal Simek                      88 (5.2%)
   Patrick Delaunay                  50 (3.0%)
   Stefan Roese                      37 (2.2%)
   Claudiu Beznea                    33 (1.9%)
   Qu Wenruo                         32 (1.9%)
   Xiaowei Bao                       29 (1.7%)
   Richard Genoud                    28 (1.7%)
   Neil Armstrong                    25 (1.5%)
   Andre Przywara                    25 (1.5%)
   Biju Das                          23 (1.4%)
   Eugen Hristev                     23 (1.4%)
   Tom Rini                          22 (1.3%)
   Hou Zhiqiang                      21 (1.2%)
   Sebastian Reichel                 20 (1.2%)
   Chee Hong Ang                     19 (1.1%)
   Samuel Holland                    18 (1.1%)
   Chunfeng Yun                      18 (1.1%)
   Marek Vasut                       16 (0.9%)
   Pali Rohár                        16 (0.9%)
   Alper Nebi Yasak                  16 (0.9%)
   T Karthik Reddy                   16 (0.9%)
   Robert Marko                      15 (0.9%)
   Yangbo Lu                         15 (0.9%)
   Heiko Schocher                    15 (0.9%)
   Peng Fan                          14 (0.8%)
   Michael Walle                     14 (0.8%)
   Jagan Teki                        14 (0.8%)
   Suman Anna                        14 (0.8%)
   Wasim Khan                        13 (0.8%)
   AKASHI Takahiro                   13 (0.8%)
   Ashok Reddy Soma                  13 (0.8%)
   Anatolij Gustschin                13 (0.8%)
   Naoki Hayama                      13 (0.8%)
   Aaron Williams                    13 (0.8%)
   Igor Opaniuk                      11 (0.6%)
   Priyanka Jain                     11 (0.6%)
   Etienne Carriere                  11 (0.6%)
   Jean-Jacques Hiblot               11 (0.6%)
   Vignesh Raghavendra               11 (0.6%)
   Ley Foon Tan                      10 (0.6%)
   Marcel Ziswiler                   9 (0.5%)
   Pratyush Yadav                    9 (0.5%)
   Patrice Chotard                   8 (0.5%)
   Philippe Reynes                   8 (0.5%)
   Ilias Apalodimas                  8 (0.5%)
   Andy Shevchenko                   8 (0.5%)
   Lad Prabhakar                     8 (0.5%)
   Jaehoon Chung                     8 (0.5%)
   Oliver Graute                     7 (0.4%)
   Andre Heider                      7 (0.4%)
   Lukasz Majewski                   6 (0.4%)
   Bin Meng                          6 (0.4%)
   Holger Brunck                     6 (0.4%)
   Icenowy Zheng                     6 (0.4%)
   Dario Binacchi                    6 (0.4%)
   Ovidiu Panait                     6 (0.4%)
   Adam Ford                         5 (0.3%)
   Max Krummenacher                  5 (0.3%)
   Haibo Chen                        5 (0.3%)
   Thirupathaiah Annapureddy         5 (0.3%)
   Faiz Abbas                        5 (0.3%)
   Marc Ferland                      4 (0.2%)
   Fabio Estevam                     4 (0.2%)
   Biwen Li                          4 (0.2%)
   Baruch Siach                      4 (0.2%)
   Peter Robinson                    4 (0.2%)
   Pragnesh Patel                    4 (0.2%)
   Nishanth Menon                    4 (0.2%)
   Laurentiu Tudor                   4 (0.2%)
   Suneel Garapati                   4 (0.2%)
   Stefan Agner                      3 (0.2%)
   Andrey Zhizhikin                  3 (0.2%)
   Frieder Schrempf                  3 (0.2%)
   Priyanka Singh                    3 (0.2%)
   Ruchika Gupta                     3 (0.2%)
   Meenakshi Aggarwal                3 (0.2%)
   Luka Kovacic                      3 (0.2%)
   Tim Harvey                        3 (0.2%)
   Ian Ray                           3 (0.2%)
   Christian Gmeiner                 3 (0.2%)
   Siva Durga Prasad Paladugu        3 (0.2%)
   Heiko Stuebner                    3 (0.2%)
   Shmuel Hazan                      3 (0.2%)
   Ryan Chen                         3 (0.2%)
   Jonas Smedegaard                  3 (0.2%)
   Frédéric Danis                    3 (0.2%)
   Chuanhua Han                      3 (0.2%)
   Edgar E. Iglesias                 3 (0.2%)
   Hugh Cole-Baker                   2 (0.1%)
   Paulo Alcantara                   2 (0.1%)
   Marek Szyprowski                  2 (0.1%)
   Hayes Wang                        2 (0.1%)
   Ran Wang                          2 (0.1%)
   Leo Yu-Chi Liang                  2 (0.1%)
   Hui Song                          2 (0.1%)
   Aleksandar Gerasimovski           2 (0.1%)
   Manish Tomar                      2 (0.1%)
   Madalin Bucur                     2 (0.1%)
   Vladimir Oltean                   2 (0.1%)
   Nicolas Ferre                     2 (0.1%)
   Jack Mitchell                     2 (0.1%)
   Grzegorz Jaszczyk                 2 (0.1%)
   Chia-Wei, Wang                    2 (0.1%)
   Chance.Yang                       2 (0.1%)
   Rasmus Villemoes                  2 (0.1%)
   Alexandru Gagniuc                 2 (0.1%)
   Patrick Wildt                     2 (0.1%)
   Otavio Salvador                   2 (0.1%)
   David Woodhouse                   2 (0.1%)
   Dalon Westergreen                 2 (0.1%)
   Chin Liang See                    2 (0.1%)
   Dylan Hung                        2 (0.1%)
   Rayagonda Kokatanur               2 (0.1%)
   Saeed Nowshadi                    2 (0.1%)
   Matwey V. Kornilov                2 (0.1%)
   Clément Péron                     1 (0.1%)
   Sughosh Ganu                      1 (0.1%)
   Hongwei Zhang                     1 (0.1%)
   Pengpeng Chen                     1 (0.1%)
   Mikhail Kshevetskiy               1 (0.1%)
   Atish Patra                       1 (0.1%)
   Brad Kim                          1 (0.1%)
   Chris Packham                     1 (0.1%)
   Alban Bedel                       1 (0.1%)
   Ioana Ciornei                     1 (0.1%)
   Zhao Qiang                        1 (0.1%)
   Manuel Reis                       1 (0.1%)
   Joshua Scott                      1 (0.1%)
   Gerard Koskamp                    1 (0.1%)
   Steven Lawrance                   1 (0.1%)
   Matteo Ghidoni                    1 (0.1%)
   Tyler Hicks                       1 (0.1%)
   Arnaud Aujon Chevallier           1 (0.1%)
   Hoyeonjiki Kim                    1 (0.1%)
   Ivaylo Dimitrov                   1 (0.1%)
   Roger Quadros                     1 (0.1%)
   Parthiban Nallathambi             1 (0.1%)
   Kever Yang                        1 (0.1%)
   Amit Singh Tomar                  1 (0.1%)
   Teresa Remmet                     1 (0.1%)
   Jorge Ramirez-Ortiz               1 (0.1%)
   Michael Trimarchi                 1 (0.1%)
   Guillaume La Roque                1 (0.1%)
   Igal Liberman                     1 (0.1%)
   Alexandre GRIVEAUX                1 (0.1%)
   Razvan Ionut Cirjan               1 (0.1%)
   Fabien Parent                     1 (0.1%)
   Ralph Siemsen                     1 (0.1%)
   George Hilliard                   1 (0.1%)
   Matthieu CASTET                   1 (0.1%)
   Moses Christopher                 1 (0.1%)
   Srinath Mannam                    1 (0.1%)
   Ibai Erkiaga                      1 (0.1%)
   Harini Katakam                    1 (0.1%)
   Walter Lozano                     1 (0.1%)
   Chuanjia Liu                      1 (0.1%)
   Vladimir Olovyannikov             1 (0.1%)
   Bharat Kumar Reddy Gooty          1 (0.1%)
   Vikas Gupta                       1 (0.1%)
   Trac Hoang                        1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Aaron Williams                    24898 (15.0%)
   Simon Glass                       19251 (11.6%)
   Suneel Garapati                   14230 (8.6%)
   Qu Wenruo                         10501 (6.3%)
   Heiko Schocher                    9806 (5.9%)
   Claudiu Beznea                    6942 (4.2%)
   Biju Das                          6394 (3.9%)
   Sean Anderson                     5551 (3.4%)
   Chunfeng Yun                      4928 (3.0%)
   Priyanka Jain                     4504 (2.7%)
   Tom Rini                          3126 (1.9%)
   Heinrich Schuchardt               2991 (1.8%)
   Sebastian Reichel                 2789 (1.7%)
   Samuel Holland                    2669 (1.6%)
   Neil Armstrong                    2661 (1.6%)
   Teresa Remmet                     2658 (1.6%)
   Lad Prabhakar                     2446 (1.5%)
   Jean-Jacques Hiblot               2162 (1.3%)
   Etienne Carriere                  2139 (1.3%)
   Meenakshi Aggarwal                2124 (1.3%)
   Stefan Roese                      2087 (1.3%)
   Robert Marko                      1855 (1.1%)
   Michal Simek                      1671 (1.0%)
   Michael Walle                     1604 (1.0%)
   Patrick Delaunay                  1236 (0.7%)
   Grzegorz Jaszczyk                 1166 (0.7%)
   Eugen Hristev                     1099 (0.7%)
   Igor Opaniuk                      1014 (0.6%)
   Peng Fan                          851 (0.5%)
   Ilias Apalodimas                  845 (0.5%)
   Icenowy Zheng                     824 (0.5%)
   Hou Zhiqiang                      800 (0.5%)
   Frédéric Danis                    793 (0.5%)
   Alper Nebi Yasak                  656 (0.4%)
   Pragnesh Patel                    650 (0.4%)
   Pengpeng Chen                     587 (0.4%)
   Ashok Reddy Soma                  561 (0.3%)
   Luka Kovacic                      507 (0.3%)
   Siva Durga Prasad Paladugu        497 (0.3%)
   Laurentiu Tudor                   489 (0.3%)
   Dalon Westergreen                 479 (0.3%)
   Jagan Teki                        476 (0.3%)
   Pratyush Yadav                    476 (0.3%)
   Ley Foon Tan                      451 (0.3%)
   Alexandre GRIVEAUX                413 (0.2%)
   Marek Vasut                       404 (0.2%)
   T Karthik Reddy                   387 (0.2%)
   Paulo Alcantara                   382 (0.2%)
   Chee Hong Ang                     380 (0.2%)
   Patrice Chotard                   379 (0.2%)
   Andre Przywara                    376 (0.2%)
   Xiaowei Bao                       365 (0.2%)
   Parthiban Nallathambi             352 (0.2%)
   Yangbo Lu                         341 (0.2%)
   Pali Rohár                        334 (0.2%)
   AKASHI Takahiro                   325 (0.2%)
   Richard Genoud                    303 (0.2%)
   Andre Heider                      297 (0.2%)
   Ruchika Gupta                     291 (0.2%)
   Suman Anna                        280 (0.2%)
   Philippe Reynes                   278 (0.2%)
   Wasim Khan                        274 (0.2%)
   Faiz Abbas                        268 (0.2%)
   Bin Meng                          249 (0.2%)
   Michael Trimarchi                 232 (0.1%)
   Biwen Li                          205 (0.1%)
   Marcel Ziswiler                   187 (0.1%)
   Christian Gmeiner                 186 (0.1%)
   Srinath Mannam                    185 (0.1%)
   Adam Ford                         177 (0.1%)
   Max Krummenacher                  177 (0.1%)
   Ibai Erkiaga                      165 (0.1%)
   Ovidiu Panait                     151 (0.1%)
   Heiko Stuebner                    134 (0.1%)
   Vikas Gupta                       126 (0.1%)
   Andy Shevchenko                   123 (0.1%)
   Shmuel Hazan                      123 (0.1%)
   Marc Ferland                      122 (0.1%)
   Oliver Graute                     115 (0.1%)
   Vignesh Raghavendra               112 (0.1%)
   Chia-Wei, Wang                    99 (0.1%)
   Thirupathaiah Annapureddy         92 (0.1%)
   Hui Song                          90 (0.1%)
   Haibo Chen                        81 (0.0%)
   Anatolij Gustschin                76 (0.0%)
   Naoki Hayama                      75 (0.0%)
   Ryan Chen                         73 (0.0%)
   Patrick Wildt                     73 (0.0%)
   Holger Brunck                     68 (0.0%)
   Andrey Zhizhikin                  64 (0.0%)
   Ran Wang                          63 (0.0%)
   Lukasz Majewski                   60 (0.0%)
   Madalin Bucur                     59 (0.0%)
   Chuanhua Han                      55 (0.0%)
   Trac Hoang                        47 (0.0%)
   Harini Katakam                    40 (0.0%)
   Bharat Kumar Reddy Gooty          40 (0.0%)
   Dario Binacchi                    37 (0.0%)
   George Hilliard                   35 (0.0%)
   Peter Robinson                    32 (0.0%)
   David Woodhouse                   32 (0.0%)
   Edgar E. Iglesias                 30 (0.0%)
   Saeed Nowshadi                    29 (0.0%)
   Hayes Wang                        27 (0.0%)
   Baruch Siach                      26 (0.0%)
   Leo Yu-Chi Liang                  24 (0.0%)
   Alban Bedel                       23 (0.0%)
   Ian Ray                           22 (0.0%)
   Ivaylo Dimitrov                   22 (0.0%)
   Jack Mitchell                     21 (0.0%)
   Rayagonda Kokatanur               21 (0.0%)
   Jaehoon Chung                     20 (0.0%)
   Stefan Agner                      19 (0.0%)
   Frieder Schrempf                  17 (0.0%)
   Rasmus Villemoes                  17 (0.0%)
   Alexandru Gagniuc                 17 (0.0%)
   Dylan Hung                        17 (0.0%)
   Nicolas Ferre                     16 (0.0%)
   Chance.Yang                       14 (0.0%)
   Nishanth Menon                    13 (0.0%)
   Tyler Hicks                       13 (0.0%)
   Chuanjia Liu                      13 (0.0%)
   Matteo Ghidoni                    12 (0.0%)
   Fabio Estevam                     11 (0.0%)
   Vladimir Oltean                   11 (0.0%)
   Manuel Reis                       11 (0.0%)
   Razvan Ionut Cirjan               11 (0.0%)
   Chin Liang See                    10 (0.0%)
   Ioana Ciornei                     10 (0.0%)
   Mikhail Kshevetskiy               9 (0.0%)
   Joshua Scott                      9 (0.0%)
   Vladimir Olovyannikov             9 (0.0%)
   Priyanka Singh                    8 (0.0%)
   Hugh Cole-Baker                   8 (0.0%)
   Matwey V. Kornilov                8 (0.0%)
   Marek Szyprowski                  7 (0.0%)
   Guillaume La Roque                7 (0.0%)
   Tim Harvey                        6 (0.0%)
   Aleksandar Gerasimovski           6 (0.0%)
   Atish Patra                       6 (0.0%)
   Sughosh Ganu                      5 (0.0%)
   Roger Quadros                     5 (0.0%)
   Igal Liberman                     5 (0.0%)
   Matthieu CASTET                   5 (0.0%)
   Jonas Smedegaard                  4 (0.0%)
   Otavio Salvador                   4 (0.0%)
   Steven Lawrance                   4 (0.0%)
   Jorge Ramirez-Ortiz               4 (0.0%)
   Manish Tomar                      3 (0.0%)
   Fabien Parent                     3 (0.0%)
   Clément Péron                     2 (0.0%)
   Chris Packham                     2 (0.0%)
   Gerard Koskamp                    2 (0.0%)
   Ralph Siemsen                     2 (0.0%)
   Hongwei Zhang                     1 (0.0%)
   Brad Kim                          1 (0.0%)
   Zhao Qiang                        1 (0.0%)
   Arnaud Aujon Chevallier           1 (0.0%)
   Hoyeonjiki Kim                    1 (0.0%)
   Kever Yang                        1 (0.0%)
   Amit Singh Tomar                  1 (0.0%)
   Moses Christopher                 1 (0.0%)
   Walter Lozano                     1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Priyanka Jain                     4493 (13.9%)
   Tom Rini                          1211 (3.7%)
   Grzegorz Jaszczyk                 1065 (3.3%)
   Andre Przywara                    42 (0.1%)
   Pali Rohár                        31 (0.1%)
   Ibai Erkiaga                      27 (0.1%)
   Dario Binacchi                    23 (0.1%)
   Alban Bedel                       19 (0.1%)
   Alexandru Gagniuc                 14 (0.0%)
   Holger Brunck                     13 (0.0%)
   Stefan Agner                      12 (0.0%)
   Ioana Ciornei                     10 (0.0%)
   Frieder Schrempf                  8 (0.0%)
   Tyler Hicks                       8 (0.0%)
   Fabio Estevam                     8 (0.0%)
   Nishanth Menon                    4 (0.0%)
   Hugh Cole-Baker                   4 (0.0%)
   Baruch Siach                      2 (0.0%)
   Rasmus Villemoes                  1 (0.0%)
   Arnaud Aujon Chevallier           1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Michal Simek                      39 (15.5%)
   Hou Zhiqiang                      35 (13.9%)
   Priyanka Jain                     30 (12.0%)
   Stefan Roese                      17 (6.8%)
   Pratyush Yadav                    11 (4.4%)
   Tom Warren                        8 (3.2%)
   Bin Meng                          8 (3.2%)
   Heinrich Schuchardt               8 (3.2%)
   Tom Rini                          6 (2.4%)
   Baruch Siach                      6 (2.4%)
   Neil Armstrong                    6 (2.4%)
   Minkyu Kang                       5 (2.0%)
   Rayagonda Kokatanur               5 (2.0%)
   Chee Hong Ang                     5 (2.0%)
   Ashok Reddy Soma                  5 (2.0%)
   Igor Opaniuk                      5 (2.0%)
   Andre Przywara                    4 (1.6%)
   Miquel Raynal                     3 (1.2%)
   Matthias Brugger                  3 (1.2%)
   Ley Foon Tan                      3 (1.2%)
   Xiaowei Bao                       3 (1.2%)
   Jagan Teki                        3 (1.2%)
   Sebastian Reichel                 3 (1.2%)
   Suniel Mahesh                     2 (0.8%)
   Vladimir Oltean                   2 (0.8%)
   Patrice Chotard                   2 (0.8%)
   Michael Trimarchi                 2 (0.8%)
   Siva Durga Prasad Paladugu        2 (0.8%)
   Holger Brunck                     1 (0.4%)
   Ioana Ciornei                     1 (0.4%)
   Manish Tomar                      1 (0.4%)
   Zhao Qiang                        1 (0.4%)
   Lokesh Vutla                      1 (0.4%)
   Alex Nemirovsky                   1 (0.4%)
   Gaurav Jain                       1 (0.4%)
   Vikas Singh                       1 (0.4%)
   Daniel Schwierzeck                1 (0.4%)
   Mattijs Korpershoek               1 (0.4%)
   Ken Ma                            1 (0.4%)
   Siew Chin Lim                     1 (0.4%)
   Jaehoon Chung                     1 (0.4%)
   Ran Wang                          1 (0.4%)
   Hui Song                          1 (0.4%)
   Luka Kovacic                      1 (0.4%)
   Alper Nebi Yasak                  1 (0.4%)
   Sean Anderson                     1 (0.4%)
   Simon Glass                       1 (0.4%)
   Aaron Williams                    1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       237 (24.5%)
   Bin Meng                          138 (14.3%)
   Priyanka Jain                     72 (7.4%)
   Jagan Teki                        63 (6.5%)
   Patrice Chotard                   35 (3.6%)
   Marek Behún                       33 (3.4%)
   Patrick Delaunay                  25 (2.6%)
   Stefan Roese                      24 (2.5%)
   Kever Yang                        24 (2.5%)
   Rick Chen                         22 (2.3%)
   Peng Fan                          21 (2.2%)
   Ley Foon Tan                      20 (2.1%)
   Heinrich Schuchardt               19 (2.0%)
   Tom Rini                          19 (2.0%)
   Jaehoon Chung                     19 (2.0%)
   Lad Prabhakar                     19 (2.0%)
   Wolfgang Wallner                  16 (1.7%)
   Joao Marcos Costa                 15 (1.6%)
   Vladimir Oltean                   9 (0.9%)
   Oleksandr Suvorov                 9 (0.9%)
   Andre Przywara                    8 (0.8%)
   Biju Das                          8 (0.8%)
   Stephen Warren                    7 (0.7%)
   Heiko Schocher                    7 (0.7%)
   Igor Opaniuk                      6 (0.6%)
   Fabio Estevam                     6 (0.6%)
   Ramon Fried                       5 (0.5%)
   Leo Yu-Chi Liang                  5 (0.5%)
   Daniel Schwierzeck                4 (0.4%)
   Pali Rohár                        4 (0.4%)
   Kevin Hilman                      4 (0.4%)
   Ovidiu Panait                     4 (0.4%)
   Ryan Chen                         4 (0.4%)
   Philippe Reynes                   4 (0.4%)
   Ilias Apalodimas                  4 (0.4%)
   Claudiu Beznea                    4 (0.4%)
   Boris Brezillon                   3 (0.3%)
   Philipp Tomsich                   3 (0.3%)
   Chia-Wei, Wang                    3 (0.3%)
   Andy Shevchenko                   3 (0.3%)
   Sean Anderson                     2 (0.2%)
   Nishanth Menon                    2 (0.2%)
   Yannick Fertré                    2 (0.2%)
   Cédric Le Goater                  2 (0.2%)
   Igal Liberman                     2 (0.2%)
   Pragnesh Patel                    2 (0.2%)
   Michal Simek                      1 (0.1%)
   Matthias Brugger                  1 (0.1%)
   Alper Nebi Yasak                  1 (0.1%)
   Grzegorz Jaszczyk                 1 (0.1%)
   Pavel Machek                      1 (0.1%)
   Lukas Auer                        1 (0.1%)
   Stefano Babic                     1 (0.1%)
   Peter Chubb                       1 (0.1%)
   Oleksandr Andrushchenko           1 (0.1%)
   Wolfgang Denk                     1 (0.1%)
   Joe Bloggs                        1 (0.1%)
   Fred Bloggs                       1 (0.1%)
   Horia Geanta                      1 (0.1%)
   Grygorii Strashko                 1 (0.1%)
   Mark Kettenis                     1 (0.1%)
   Andre Heider                      1 (0.1%)
   Atish Patra                       1 (0.1%)
   Christian Gmeiner                 1 (0.1%)
   Michael Walle                     1 (0.1%)
   Qu Wenruo                         1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Patrick Delaunay                  47 (51.6%)
   Amit Singh Tomar                  15 (16.5%)
   Kevin Hilman                      4 (4.4%)
   Heinrich Schuchardt               2 (2.2%)
   Michal Simek                      2 (2.2%)
   Dennis Gilmore                    2 (2.2%)
   Michael Opdenacker                2 (2.2%)
   Gérald Kerma                      2 (2.2%)
   Heiko Thiery                      2 (2.2%)
   Frank Wunderlich                  2 (2.2%)
   Simon Glass                       1 (1.1%)
   Wolfgang Wallner                  1 (1.1%)
   Joao Marcos Costa                 1 (1.1%)
   Vladimir Oltean                   1 (1.1%)
   Pali Rohár                        1 (1.1%)
   Michael Walle                     1 (1.1%)
   Ashok Reddy Soma                  1 (1.1%)
   Codrin Ciubotariu                 1 (1.1%)
   Anand Moon                        1 (1.1%)
   Lord Edmund Blackaddër            1 (1.1%)
   Andrey Zhizhikin                  1 (1.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Sean Anderson                     46 (50.5%)
   Andre Przywara                    15 (16.5%)
   Neil Armstrong                    5 (5.5%)
   Simon Glass                       3 (3.3%)
   Pali Rohár                        2 (2.2%)
   Michael Walle                     2 (2.2%)
   Stefan Roese                      2 (2.2%)
   Alper Nebi Yasak                  2 (2.2%)
   Edgar E. Iglesias                 2 (2.2%)
   Michal Simek                      1 (1.1%)
   Heiko Schocher                    1 (1.1%)
   Fabio Estevam                     1 (1.1%)
   Alexandru Gagniuc                 1 (1.1%)
   Arnaud Aujon Chevallier           1 (1.1%)
   Gerard Koskamp                    1 (1.1%)
   Chuanjia Liu                      1 (1.1%)
   Manuel Reis                       1 (1.1%)
   Ivaylo Dimitrov                   1 (1.1%)
   Biwen Li                          1 (1.1%)
   Eugen Hristev                     1 (1.1%)
   Chunfeng Yun                      1 (1.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Damien Le Moal                    3 (16.7%)
   Tom Rini                          2 (11.1%)
   Mihai Sain                        2 (11.1%)
   Simon Glass                       1 (5.6%)
   Michael Walle                     1 (5.6%)
   Patrick Delaunay                  1 (5.6%)
   Heinrich Schuchardt               1 (5.6%)
   Wolfgang Wallner                  1 (5.6%)
   Andrey Zhizhikin                  1 (5.6%)
   Anton Arapov                      1 (5.6%)
   Otto Meier                        1 (5.6%)
   Leo Krueger                       1 (5.6%)
   François Ozog                     1 (5.6%)
   Paulo Alcantara                   1 (5.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Heinrich Schuchardt               3 (16.7%)
   Sean Anderson                     3 (16.7%)
   Neil Armstrong                    2 (11.1%)
   Michal Simek                      2 (11.1%)
   Eugen Hristev                     2 (11.1%)
   Simon Glass                       1 (5.6%)
   Michael Walle                     1 (5.6%)
   Pali Rohár                        1 (5.6%)
   Alper Nebi Yasak                  1 (5.6%)
   Heiko Schocher                    1 (5.6%)
   Fabio Estevam                     1 (5.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         613 (36.2%)
   Google, Inc.                      298 (17.6%)
   NXP                               141 (8.3%)
   AMD                               88 (5.2%)
   DENX Software Engineering         87 (5.1%)
   ST Microelectronics               60 (3.5%)
   Texas Instruments                 55 (3.2%)
   Intel                             41 (2.4%)
   Xilinx                            39 (2.3%)
   Linaro                            32 (1.9%)
   SUSE                              32 (1.9%)
   Renesas Electronics               31 (1.8%)
   BayLibre SAS                      27 (1.6%)
   ARM                               25 (1.5%)
   Collabora Ltd.                    24 (1.4%)
   Konsulko Group                    22 (1.3%)
   Marvell                           18 (1.1%)
   Amarula Solutions                 15 (0.9%)
   Toradex                           14 (0.8%)
   Samsung                           10 (0.6%)
   Broadcom                          7 (0.4%)
   Wind River                        6 (0.4%)
   General Electric                  3 (0.2%)
   O.S. Systems                      2 (0.1%)
   Semihalf Embedded Systems         2 (0.1%)
   Phytec                            1 (0.1%)
   Rockchip                          1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Marvell                           39133 (23.6%)
   (Unknown)                         36423 (22.0%)
   Google, Inc.                      19251 (11.6%)
   DENX Software Engineering         12433 (7.5%)
   NXP                               10636 (6.4%)
   SUSE                              10501 (6.3%)
   Renesas Electronics               8840 (5.3%)
   Collabora Ltd.                    3583 (2.2%)
   Texas Instruments                 3316 (2.0%)
   Linaro                            3299 (2.0%)
   Konsulko Group                    3126 (1.9%)
   BayLibre SAS                      2671 (1.6%)
   Phytec                            2658 (1.6%)
   Xilinx                            1709 (1.0%)
   AMD                               1671 (1.0%)
   ST Microelectronics               1632 (1.0%)
   Intel                             1443 (0.9%)
   Semihalf Embedded Systems         1166 (0.7%)
   Amarula Solutions                 708 (0.4%)
   Broadcom                          428 (0.3%)
   ARM                               376 (0.2%)
   Toradex                           364 (0.2%)
   Wind River                        151 (0.1%)
   Samsung                           27 (0.0%)
   General Electric                  22 (0.0%)
   O.S. Systems                      4 (0.0%)
   Rockchip                          1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   NXP                               77 (30.7%)
   Xilinx                            46 (18.3%)
   (Unknown)                         28 (11.2%)
   DENX Software Engineering         17 (6.8%)
   Texas Instruments                 12 (4.8%)
   Intel                             9 (3.6%)
   NVidia                            8 (3.2%)
   BayLibre SAS                      7 (2.8%)
   Amarula Solutions                 7 (2.8%)
   Konsulko Group                    6 (2.4%)
   Samsung                           6 (2.4%)
   Broadcom                          5 (2.0%)
   Toradex                           5 (2.0%)
   ARM                               4 (1.6%)
   SUSE                              3 (1.2%)
   Collabora Ltd.                    3 (1.2%)
   Bootlin                           3 (1.2%)
   Marvell                           2 (0.8%)
   ST Microelectronics               2 (0.8%)
   Google, Inc.                      1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         77 (47.0%)
   NXP                               21 (12.8%)
   Xilinx                            7 (4.3%)
   Texas Instruments                 7 (4.3%)
   Broadcom                          6 (3.7%)
   DENX Software Engineering         5 (3.0%)
   Intel                             5 (3.0%)
   Linaro                            5 (3.0%)
   BayLibre SAS                      3 (1.8%)
   Collabora Ltd.                    3 (1.8%)
   Marvell                           3 (1.8%)
   ST Microelectronics               3 (1.8%)
   Amarula Solutions                 2 (1.2%)
   Samsung                           2 (1.2%)
   Toradex                           2 (1.2%)
   Renesas Electronics               2 (1.2%)
   Konsulko Group                    1 (0.6%)
   ARM                               1 (0.6%)
   SUSE                              1 (0.6%)
   Google, Inc.                      1 (0.6%)
   Phytec                            1 (0.6%)
   AMD                               1 (0.6%)
   Semihalf Embedded Systems         1 (0.6%)
   Wind River                        1 (0.6%)
   General Electric                  1 (0.6%)
   O.S. Systems                      1 (0.6%)
   Rockchip                          1 (0.6%)
   ================================  =====
