:orphan:

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

* Processed 2007 changesets from 190 developers

* 32 employers found

* A total of 111008 lines added, 38325 removed (delta 72683)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       252 (12.6%)
   Kever Yang                        142 (7.1%)
   Heinrich Schuchardt               115 (5.7%)
   Patrick Delaunay                  112 (5.6%)
   Jagan Teki                        89 (4.4%)
   Bin Meng                          70 (3.5%)
   Hou Zhiqiang                      66 (3.3%)
   Adam Ford                         55 (2.7%)
   Lukasz Majewski                   46 (2.3%)
   Peng Fan                          45 (2.2%)
   Marek Vasut                       39 (1.9%)
   Chuanhua Han                      35 (1.7%)
   Andreas Dannenberg                34 (1.7%)
   Tom Rini                          30 (1.5%)
   Alex Marginean                    29 (1.4%)
   Masahiro Yamada                   25 (1.2%)
   Lokesh Vutla                      24 (1.2%)
   Faiz Abbas                        24 (1.2%)
   Igor Opaniuk                      23 (1.1%)
   Heiko Schocher                    22 (1.1%)
   Neil Armstrong                    18 (0.9%)
   Sam Protsenko                     17 (0.8%)
   Ramon Fried                       17 (0.8%)
   Baruch Siach                      16 (0.8%)
   Jean-Jacques Hiblot               15 (0.7%)
   Anatolij Gustschin                15 (0.7%)
   Patrice Chotard                   15 (0.7%)
   Anup Patel                        15 (0.7%)
   Bartosz Golaszewski               14 (0.7%)
   Simon Goldschmidt                 13 (0.6%)
   Park, Aiden                       13 (0.6%)
   Pascal Linder                     13 (0.6%)
   Andre Przywara                    13 (0.6%)
   Andy Shevchenko                   12 (0.6%)
   Suniel Mahesh                     12 (0.6%)
   Weijie Gao                        12 (0.6%)
   Miquel Raynal                     12 (0.6%)
   Marek Behún                       11 (0.5%)
   Lukas Auer                        11 (0.5%)
   Ye Li                             11 (0.5%)
   Bryan O'Donoghue                  11 (0.5%)
   Eugeniu Rosca                     10 (0.5%)
   Rick Chen                         10 (0.5%)
   Fabien Dessenne                   10 (0.5%)
   AKASHI Takahiro                   9 (0.4%)
   Andrew F. Davis                   8 (0.4%)
   Yinbo Zhu                         8 (0.4%)
   Matwey V. Kornilov                8 (0.4%)
   Urja Rannikko                     8 (0.4%)
   Sekhar Nori                       8 (0.4%)
   Marcel Ziswiler                   8 (0.4%)
   Tudor Ambarus                     7 (0.3%)
   Stefan Roese                      7 (0.3%)
   Suman Anna                        7 (0.3%)
   Manivannan Sadhasivam             7 (0.3%)
   Luca Ceresoli                     7 (0.3%)
   Vladimir Oltean                   7 (0.3%)
   Ruslan Trofymenko                 7 (0.3%)
   Markus Klotzbuecher               7 (0.3%)
   Ley Foon Tan                      6 (0.3%)
   Michal Simek                      6 (0.3%)
   Mark Kettenis                     6 (0.3%)
   Andrei Gherzan                    6 (0.3%)
   T Karthik Reddy                   6 (0.3%)
   Hannes Schmelzer                  6 (0.3%)
   Shyam Saini                       6 (0.3%)
   Ludwig Zenz                       6 (0.3%)
   Peter Robinson                    6 (0.3%)
   Michal Suchanek                   5 (0.2%)
   liucheng (G)                      5 (0.2%)
   Laurentiu Tudor                   5 (0.2%)
   Trent Piepho                      5 (0.2%)
   Alexander Dahl                    5 (0.2%)
   Robert Hancock                    5 (0.2%)
   Keerthy                           5 (0.2%)
   Paul Emge                         5 (0.2%)
   Yangbo Lu                         5 (0.2%)
   Pierre-Jean Texier                4 (0.2%)
   Vignesh Raghavendra               4 (0.2%)
   Pankaj Bansal                     4 (0.2%)
   Thomas Schaefer                   4 (0.2%)
   Eddie James                       4 (0.2%)
   Marcus Comstedt                   4 (0.2%)
   Fabien Parent                     4 (0.2%)
   Julius Werner                     4 (0.2%)
   Chris Webb                        4 (0.2%)
   Joel Stanley                      4 (0.2%)
   Eugeniy Paltsev                   3 (0.1%)
   Matthias Brugger                  3 (0.1%)
   Grygorii Strashko                 3 (0.1%)
   Andy Yan                          3 (0.1%)
   Joe Hershberger                   3 (0.1%)
   Alexey Brodkin                    3 (0.1%)
   Rohan Garg                        3 (0.1%)
   Ashish Kumar                      3 (0.1%)
   Marek Szyprowski                  3 (0.1%)
   Ryder Lee                         3 (0.1%)
   Nick Xie                          3 (0.1%)
   Bhargav Shah                      3 (0.1%)
   Sven Schwermer                    3 (0.1%)
   Derald D. Woods                   3 (0.1%)
   Roman Stratiienko                 2 (0.1%)
   Stephen Warren                    2 (0.1%)
   Heiko Stuebner                    2 (0.1%)
   Christophe Kerello                2 (0.1%)
   Meenakshi Aggarwal                2 (0.1%)
   Florin Chiculita                  2 (0.1%)
   Fabian Vogt                       2 (0.1%)
   Michael Walle                     2 (0.1%)
   Ralph Siemsen                     2 (0.1%)
   Sagar Shrikant Kadam              2 (0.1%)
   Kunihiko Hayashi                  2 (0.1%)
   Sudeep Holla                      2 (0.1%)
   Chris Packham                     2 (0.1%)
   Yuantian Tang                     2 (0.1%)
   Uwe Kleine-König                  2 (0.1%)
   Yegor Yefremov                    2 (0.1%)
   Dalon Westergreen                 2 (0.1%)
   Holger Brunck                     2 (0.1%)
   Dominik Sliwa                     2 (0.1%)
   Frank Wunderlich                  2 (0.1%)
   Robert P. J. Day                  2 (0.1%)
   Niklas Schulze                    2 (0.1%)
   David Abdurachmanov               2 (0.1%)
   Mickaël Tansorier                 2 (0.1%)
   Radu Pirea                        2 (0.1%)
   Horatiu Vultur                    2 (0.1%)
   Ezequiel Garcia                   2 (0.1%)
   Ilko Iliev                        2 (0.1%)
   Cyrille Pitchen                   2 (0.1%)
   Melin Tomas                       2 (0.1%)
   Hamish Guthrie                    2 (0.1%)
   Maxime Ripard                     1 (0.0%)
   Ovidiu Panait                     1 (0.0%)
   Andrius Štikonas                  1 (0.0%)
   Joris Offouga                     1 (0.0%)
   Biwen Li                          1 (0.0%)
   Michael Trimarchi                 1 (0.0%)
   Hugh Cole-Baker                   1 (0.0%)
   Priyanka Jain                     1 (0.0%)
   Bonnans, Laurent                  1 (0.0%)
   Raul Benet                        1 (0.0%)
   Guillaume GARDET                  1 (0.0%)
   Matt Pelland                      1 (0.0%)
   Florinel Iordache                 1 (0.0%)
   Alistair Francis                  1 (0.0%)
   Rasmus Villemoes                  1 (0.0%)
   Ryan Harkin                       1 (0.0%)
   Samuel Egli                       1 (0.0%)
   Ricardo Ribalda Delgado           1 (0.0%)
   Aaron Williams                    1 (0.0%)
   Martin Vystrčil                   1 (0.0%)
   Vikas Manocha                     1 (0.0%)
   Nuno Gonçalves                    1 (0.0%)
   Max Kellermann                    1 (0.0%)
   Alison Wang                       1 (0.0%)
   Levin Du                          1 (0.0%)
   Nishanth Menon                    1 (0.0%)
   Anselm Busse                      1 (0.0%)
   Jerome Brunet                     1 (0.0%)
   Stefan Agner                      1 (0.0%)
   Bernhard Messerklinger            1 (0.0%)
   Joshua Watt                       1 (0.0%)
   Eugen Hristev                     1 (0.0%)
   Alex Deymo                        1 (0.0%)
   Anton Gerasimov                   1 (0.0%)
   Eric Perie                        1 (0.0%)
   Andrej Rosano                     1 (0.0%)
   titron                            1 (0.0%)
   Emmanuel Vadot                    1 (0.0%)
   Jianchao Wang                     1 (0.0%)
   Jonathan Corbet                   1 (0.0%)
   Leon Yu                           1 (0.0%)
   Breno Matheus Lima                1 (0.0%)
   Sébastien Szymanski               1 (0.0%)
   Matti Vaittinen                   1 (0.0%)
   Oleksandr Zhadan                  1 (0.0%)
   Vesa Jääskeläinen                 1 (0.0%)
   Jernej Skrabec                    1 (0.0%)
   Marcus Cooper                     1 (0.0%)
   Akio Hirayama                     1 (0.0%)
   Niel Fourie                       1 (0.0%)
   David Lechner                     1 (0.0%)
   Leo Ruan                          1 (0.0%)
   Roman Kapl                        1 (0.0%)
   Luka Kovacic                      1 (0.0%)
   Thierry Reding                    1 (0.0%)
   Vabhav Sharma                     1 (0.0%)
   Jun Chen                          1 (0.0%)
   Andreas Färber                    1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       15674 (12.4%)
   Jagan Teki                        7394 (5.8%)
   Kever Yang                        7177 (5.7%)
   Marek Vasut                       6504 (5.1%)
   Bin Meng                          5608 (4.4%)
   Heinrich Schuchardt               5109 (4.0%)
   Lukasz Majewski                   4813 (3.8%)
   Patrick Delaunay                  3764 (3.0%)
   Manivannan Sadhasivam             3703 (2.9%)
   Neil Armstrong                    3599 (2.8%)
   Yangbo Lu                         3043 (2.4%)
   Alex Marginean                    3007 (2.4%)
   Ramon Fried                       2610 (2.1%)
   Peng Fan                          2450 (1.9%)
   Uwe Kleine-König                  2338 (1.8%)
   Hou Zhiqiang                      2293 (1.8%)
   Tom Rini                          2261 (1.8%)
   Eugeniu Rosca                     2112 (1.7%)
   Lokesh Vutla                      1912 (1.5%)
   Andreas Dannenberg                1831 (1.4%)
   Luca Ceresoli                     1477 (1.2%)
   Adam Ford                         1476 (1.2%)
   Park, Aiden                       1421 (1.1%)
   Sekhar Nori                       1420 (1.1%)
   Chuanhua Han                      1307 (1.0%)
   Hannes Schmelzer                  1272 (1.0%)
   Niel Fourie                       1260 (1.0%)
   Nick Xie                          1096 (0.9%)
   Anup Patel                        1054 (0.8%)
   Simon Goldschmidt                 1008 (0.8%)
   Fabien Dessenne                   940 (0.7%)
   Jianchao Wang                     921 (0.7%)
   Heiko Schocher                    885 (0.7%)
   Keerthy                           855 (0.7%)
   Masahiro Yamada                   830 (0.7%)
   Holger Brunck                     821 (0.6%)
   Tudor Ambarus                     797 (0.6%)
   Weijie Gao                        775 (0.6%)
   Levin Du                          766 (0.6%)
   Faiz Abbas                        743 (0.6%)
   Patrice Chotard                   714 (0.6%)
   Ruslan Trofymenko                 713 (0.6%)
   Bhargav Shah                      705 (0.6%)
   Lukas Auer                        694 (0.5%)
   Andre Przywara                    664 (0.5%)
   Pascal Linder                     609 (0.5%)
   Matti Vaittinen                   607 (0.5%)
   Suniel Mahesh                     587 (0.5%)
   Shyam Saini                       575 (0.5%)
   Horatiu Vultur                    518 (0.4%)
   Igor Opaniuk                      486 (0.4%)
   Bartosz Golaszewski               425 (0.3%)
   Kunihiko Hayashi                  425 (0.3%)
   Robert Hancock                    420 (0.3%)
   Peter Robinson                    381 (0.3%)
   Julius Werner                     376 (0.3%)
   Jerome Brunet                     373 (0.3%)
   Markus Klotzbuecher               366 (0.3%)
   Jean-Jacques Hiblot               364 (0.3%)
   Rick Chen                         350 (0.3%)
   Anatolij Gustschin                323 (0.3%)
   Ludwig Zenz                       306 (0.2%)
   Fabien Parent                     288 (0.2%)
   Anton Gerasimov                   281 (0.2%)
   Hamish Guthrie                    266 (0.2%)
   Rohan Garg                        245 (0.2%)
   Marcus Cooper                     239 (0.2%)
   Laurentiu Tudor                   216 (0.2%)
   Urja Rannikko                     207 (0.2%)
   Ilko Iliev                        198 (0.2%)
   AKASHI Takahiro                   194 (0.2%)
   Eugeniy Paltsev                   193 (0.2%)
   Andy Shevchenko                   190 (0.1%)
   Stefan Roese                      181 (0.1%)
   Michael Walle                     181 (0.1%)
   Grygorii Strashko                 178 (0.1%)
   Eddie James                       174 (0.1%)
   Bernhard Messerklinger            172 (0.1%)
   Andrei Gherzan                    162 (0.1%)
   Baruch Siach                      155 (0.1%)
   Marcel Ziswiler                   152 (0.1%)
   Sven Schwermer                    146 (0.1%)
   Trent Piepho                      136 (0.1%)
   Sam Protsenko                     135 (0.1%)
   Yinbo Zhu                         127 (0.1%)
   Frank Wunderlich                  126 (0.1%)
   Leo Ruan                          121 (0.1%)
   Alexey Brodkin                    115 (0.1%)
   T Karthik Reddy                   114 (0.1%)
   David Lechner                     102 (0.1%)
   Ye Li                             101 (0.1%)
   Marcus Comstedt                   98 (0.1%)
   Pankaj Bansal                     97 (0.1%)
   Meenakshi Aggarwal                97 (0.1%)
   Miquel Raynal                     96 (0.1%)
   Matwey V. Kornilov                93 (0.1%)
   Dominik Sliwa                     90 (0.1%)
   Alex Deymo                        90 (0.1%)
   Suman Anna                        83 (0.1%)
   Andrew F. Davis                   78 (0.1%)
   Michal Suchanek                   75 (0.1%)
   Alexander Dahl                    74 (0.1%)
   Ryan Harkin                       70 (0.1%)
   Ryder Lee                         68 (0.1%)
   Ley Foon Tan                      60 (0.0%)
   Oleksandr Zhadan                  60 (0.0%)
   Bryan O'Donoghue                  59 (0.0%)
   Jonathan Corbet                   59 (0.0%)
   Derald D. Woods                   58 (0.0%)
   Chris Webb                        56 (0.0%)
   Vesa Jääskeläinen                 52 (0.0%)
   Joshua Watt                       44 (0.0%)
   Paul Emge                         41 (0.0%)
   Matthias Brugger                  41 (0.0%)
   Vladimir Oltean                   40 (0.0%)
   Mark Kettenis                     38 (0.0%)
   Yuantian Tang                     35 (0.0%)
   Sagar Shrikant Kadam              30 (0.0%)
   Thomas Schaefer                   29 (0.0%)
   Marek Behún                       27 (0.0%)
   Cyrille Pitchen                   27 (0.0%)
   Ezequiel Garcia                   26 (0.0%)
   Florinel Iordache                 26 (0.0%)
   Anselm Busse                      26 (0.0%)
   Niklas Schulze                    24 (0.0%)
   Michael Trimarchi                 24 (0.0%)
   David Abdurachmanov               22 (0.0%)
   Pierre-Jean Texier                21 (0.0%)
   Emmanuel Vadot                    21 (0.0%)
   Sébastien Szymanski               21 (0.0%)
   Stephen Warren                    20 (0.0%)
   Aaron Williams                    19 (0.0%)
   Michal Simek                      18 (0.0%)
   Roman Stratiienko                 18 (0.0%)
   Priyanka Jain                     17 (0.0%)
   Vikas Manocha                     17 (0.0%)
   Jernej Skrabec                    17 (0.0%)
   liucheng (G)                      16 (0.0%)
   Vignesh Raghavendra               16 (0.0%)
   Marek Szyprowski                  14 (0.0%)
   Melin Tomas                       13 (0.0%)
   Joris Offouga                     13 (0.0%)
   Joe Hershberger                   12 (0.0%)
   Joel Stanley                      11 (0.0%)
   Fabian Vogt                       11 (0.0%)
   Eugen Hristev                     11 (0.0%)
   Andy Yan                          10 (0.0%)
   Ashish Kumar                      10 (0.0%)
   Roman Kapl                        10 (0.0%)
   Chris Packham                     9 (0.0%)
   Matt Pelland                      8 (0.0%)
   Yegor Yefremov                    7 (0.0%)
   Raul Benet                        7 (0.0%)
   Breno Matheus Lima                7 (0.0%)
   Jun Chen                          7 (0.0%)
   Dalon Westergreen                 6 (0.0%)
   Eric Perie                        6 (0.0%)
   Christophe Kerello                5 (0.0%)
   Mickaël Tansorier                 5 (0.0%)
   Radu Pirea                        5 (0.0%)
   Ovidiu Panait                     5 (0.0%)
   Leon Yu                           5 (0.0%)
   Florin Chiculita                  4 (0.0%)
   Sudeep Holla                      4 (0.0%)
   Robert P. J. Day                  4 (0.0%)
   Maxime Ripard                     4 (0.0%)
   Bonnans, Laurent                  4 (0.0%)
   Martin Vystrčil                   4 (0.0%)
   Nishanth Menon                    4 (0.0%)
   Stefan Agner                      4 (0.0%)
   Vabhav Sharma                     4 (0.0%)
   Heiko Stuebner                    3 (0.0%)
   Hugh Cole-Baker                   3 (0.0%)
   Samuel Egli                       3 (0.0%)
   Alison Wang                       3 (0.0%)
   Ralph Siemsen                     2 (0.0%)
   Biwen Li                          2 (0.0%)
   Ricardo Ribalda Delgado           2 (0.0%)
   Andrej Rosano                     2 (0.0%)
   titron                            2 (0.0%)
   Akio Hirayama                     2 (0.0%)
   Luka Kovacic                      2 (0.0%)
   Thierry Reding                    2 (0.0%)
   Andrius Štikonas                  1 (0.0%)
   Guillaume GARDET                  1 (0.0%)
   Alistair Francis                  1 (0.0%)
   Rasmus Villemoes                  1 (0.0%)
   Nuno Gonçalves                    1 (0.0%)
   Max Kellermann                    1 (0.0%)
   Andreas Färber                    1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Uwe Kleine-König                  2338 (6.1%)
   Heinrich Schuchardt               1027 (2.7%)
   Horatiu Vultur                    455 (1.2%)
   Holger Brunck                     431 (1.1%)
   Tom Rini                          418 (1.1%)
   Patrice Chotard                   211 (0.6%)
   Bartosz Golaszewski               193 (0.5%)
   Ilko Iliev                        192 (0.5%)
   Bernhard Messerklinger            77 (0.2%)
   Ryan Harkin                       67 (0.2%)
   Oleksandr Zhadan                  60 (0.2%)
   Ludwig Zenz                       46 (0.1%)
   Sébastien Szymanski               21 (0.1%)
   Chris Webb                        19 (0.0%)
   Derald D. Woods                   16 (0.0%)
   Ye Li                             12 (0.0%)
   Weijie Gao                        9 (0.0%)
   Joe Hershberger                   8 (0.0%)
   Joris Offouga                     7 (0.0%)
   Vladimir Oltean                   5 (0.0%)
   Martin Vystrčil                   4 (0.0%)
   Robert P. J. Day                  3 (0.0%)
   Sudeep Holla                      1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   YouMin Chen                       55 (16.4%)
   Stefan Roese                      36 (10.7%)
   Patrice Chotard                   23 (6.9%)
   Michal Simek                      20 (6.0%)
   Tom Warren                        16 (4.8%)
   Tom Rini                          14 (4.2%)
   Holger Brunck                     13 (3.9%)
   Igor Opaniuk                      12 (3.6%)
   Matthias Brugger                  10 (3.0%)
   Bin Meng                          8 (2.4%)
   Priyanka Jain                     7 (2.1%)
   Loic Pallardy                     7 (2.1%)
   Kever Yang                        7 (2.1%)
   Lokesh Vutla                      7 (2.1%)
   Andreas Dannenberg                7 (2.1%)
   Jagan Teki                        6 (1.8%)
   Matwey V. Kornilov                5 (1.5%)
   Christophe Kerello                4 (1.2%)
   Neil Armstrong                    4 (1.2%)
   Heinrich Schuchardt               3 (0.9%)
   Benjamin Gaignard                 3 (0.9%)
   Anup Patel                        3 (0.9%)
   Vignesh Raghavendra               3 (0.9%)
   Sam Protsenko                     3 (0.9%)
   Grygorii Strashko                 3 (0.9%)
   Tudor Ambarus                     3 (0.9%)
   Keerthy                           3 (0.9%)
   Peng Fan                          3 (0.9%)
   Patrick Delaunay                  3 (0.9%)
   Vladimir Oltean                   2 (0.6%)
   Zhao Qiang                        2 (0.6%)
   Valentin Longchamp                2 (0.6%)
   Biwen Li                          2 (0.6%)
   Dominik Sliwa                     2 (0.6%)
   Andrei Gherzan                    2 (0.6%)
   Markus Klotzbuecher               2 (0.6%)
   Nishanth Menon                    1 (0.3%)
   Minkyu Kang                       1 (0.3%)
   Ken Ma                            1 (0.3%)
   Bossen WU                         1 (0.3%)
   Nicolas Le Bayon                  1 (0.3%)
   Kevin Hilman                      1 (0.3%)
   Guillaume La Roque                1 (0.3%)
   Bhuvanchandra DV                  1 (0.3%)
   Max Krummenacher                  1 (0.3%)
   Xiaoliang Yang                    1 (0.3%)
   Mingkai Hu                        1 (0.3%)
   Changming Huang                   1 (0.3%)
   Catalin Horghidan                 1 (0.3%)
   Kuldeep Singh                     1 (0.3%)
   Sergey Kubushyn                   1 (0.3%)
   Michael Durrant                   1 (0.3%)
   Parthiban Nallathambi             1 (0.3%)
   Mark Jonas                        1 (0.3%)
   Stefan Agner                      1 (0.3%)
   Ashish Kumar                      1 (0.3%)
   Suman Anna                        1 (0.3%)
   Marcel Ziswiler                   1 (0.3%)
   Andre Przywara                    1 (0.3%)
   Jean-Jacques Hiblot               1 (0.3%)
   Masahiro Yamada                   1 (0.3%)
   Faiz Abbas                        1 (0.3%)
   Fabien Dessenne                   1 (0.3%)
   Eugeniu Rosca                     1 (0.3%)
   Lukasz Majewski                   1 (0.3%)
   Marek Vasut                       1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          185 (20.4%)
   Kever Yang                        130 (14.3%)
   Prabhakar Kushwaha                108 (11.9%)
   Simon Glass                       53 (5.8%)
   Peng Fan                          40 (4.4%)
   Jagan Teki                        35 (3.9%)
   Lokesh Vutla                      32 (3.5%)
   Oleksandr Suvorov                 31 (3.4%)
   Stefan Roese                      26 (2.9%)
   Anup Patel                        21 (2.3%)
   Tom Rini                          19 (2.1%)
   Heinrich Schuchardt               17 (1.9%)
   Simon Goldschmidt                 17 (1.9%)
   Igor Opaniuk                      15 (1.7%)
   Sam Protsenko                     15 (1.7%)
   Priyanka Jain                     11 (1.2%)
   Marek Vasut                       10 (1.1%)
   Heiko Schocher                    10 (1.1%)
   Lukasz Majewski                   9 (1.0%)
   Chris Packham                     8 (0.9%)
   Andy Shevchenko                   8 (0.9%)
   Alex Marginean                    8 (0.9%)
   Patrice Chotard                   7 (0.8%)
   Patrick Delaunay                  6 (0.7%)
   Alistair Strachan                 6 (0.7%)
   Rick Chen                         6 (0.7%)
   Ramon Fried                       6 (0.7%)
   Manivannan Sadhasivam             6 (0.7%)
   Martyn Welch                      5 (0.6%)
   Jernej Skrabec                    5 (0.6%)
   Lukas Auer                        5 (0.6%)
   Fabio Estevam                     4 (0.4%)
   Cédric Le Goater                  4 (0.4%)
   Horia Geantă                      4 (0.4%)
   Park, Aiden                       4 (0.4%)
   Eugeniu Rosca                     3 (0.3%)
   Alexander Graf                    3 (0.3%)
   Jean-Jacques Hiblot               2 (0.2%)
   Joe Hershberger                   2 (0.2%)
   Philipp Tomsich                   2 (0.2%)
   Philippe Schenker                 2 (0.2%)
   Daniel Schwierzeck                2 (0.2%)
   Matthias Brugger                  1 (0.1%)
   Grygorii Strashko                 1 (0.1%)
   Vladimir Oltean                   1 (0.1%)
   Nishanth Menon                    1 (0.1%)
   Andre Przywara                    1 (0.1%)
   Ryan Harkin                       1 (0.1%)
   Frieder Schrempf                  1 (0.1%)
   Linus Walleij                     1 (0.1%)
   Padmarao Begari                   1 (0.1%)
   Jun Nie                           1 (0.1%)
   Stefano Babic                     1 (0.1%)
   Andy Yan                          1 (0.1%)
   Alistair Francis                  1 (0.1%)
   Stephen Warren                    1 (0.1%)
   David Abdurachmanov               1 (0.1%)
   Andrew F. Davis                   1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          43 (35.5%)
   Anup Patel                        7 (5.8%)
   Heiko Schocher                    6 (5.0%)
   Jernej Skrabec                    5 (4.1%)
   Corentin Labbe                    5 (4.1%)
   Steffen Dirkwinkel                5 (4.1%)
   Adam Ford                         5 (4.1%)
   Mark Kettenis                     4 (3.3%)
   Heinrich Schuchardt               3 (2.5%)
   Joris Offouga                     3 (2.5%)
   Felix Brack                       3 (2.5%)
   Pierre-Jean Texier                3 (2.5%)
   Igor Opaniuk                      2 (1.7%)
   Chris Packham                     2 (1.7%)
   Alex Marginean                    2 (1.7%)
   Patrick Delaunay                  2 (1.7%)
   Michal Simek                      2 (1.7%)
   Chris Webb                        2 (1.7%)
   Frank Wunderlich                  2 (1.7%)
   Marek Vasut                       1 (0.8%)
   Fabio Estevam                     1 (0.8%)
   Eugeniu Rosca                     1 (0.8%)
   Vladimir Oltean                   1 (0.8%)
   Andre Przywara                    1 (0.8%)
   Frieder Schrempf                  1 (0.8%)
   Padmarao Begari                   1 (0.8%)
   Stephen Warren                    1 (0.8%)
   David Abdurachmanov               1 (0.8%)
   Matwey V. Kornilov                1 (0.8%)
   Ludwig Zenz                       1 (0.8%)
   Fancy Fang                        1 (0.8%)
   Sagar Shrikant Kadam              1 (0.8%)
   Eugen Hristev                     1 (0.8%)
   Suniel Mahesh                     1 (0.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Park, Aiden                       12 (9.9%)
   Lukas Auer                        11 (9.1%)
   Andre Przywara                    10 (8.3%)
   Simon Glass                       8 (6.6%)
   Ramon Fried                       7 (5.8%)
   Pierre-Jean Texier                6 (5.0%)
   Yangbo Lu                         5 (4.1%)
   Anup Patel                        4 (3.3%)
   Marek Vasut                       4 (3.3%)
   Neil Armstrong                    4 (3.3%)
   Heinrich Schuchardt               3 (2.5%)
   Patrick Delaunay                  3 (2.5%)
   Sagar Shrikant Kadam              3 (2.5%)
   Jagan Teki                        3 (2.5%)
   Bhargav Shah                      3 (2.5%)
   Heiko Schocher                    2 (1.7%)
   Alex Marginean                    2 (1.7%)
   Peng Fan                          2 (1.7%)
   Stefan Roese                      2 (1.7%)
   Sam Protsenko                     2 (1.7%)
   Bartosz Golaszewski               2 (1.7%)
   Weijie Gao                        2 (1.7%)
   Ryder Lee                         2 (1.7%)
   AKASHI Takahiro                   2 (1.7%)
   Nick Xie                          2 (1.7%)
   Adam Ford                         1 (0.8%)
   Matwey V. Kornilov                1 (0.8%)
   Kever Yang                        1 (0.8%)
   Simon Goldschmidt                 1 (0.8%)
   Marcel Ziswiler                   1 (0.8%)
   Bernhard Messerklinger            1 (0.8%)
   Ye Li                             1 (0.8%)
   Marek Behún                       1 (0.8%)
   Fabian Vogt                       1 (0.8%)
   Urja Rannikko                     1 (0.8%)
   Baruch Siach                      1 (0.8%)
   Anatolij Gustschin                1 (0.8%)
   Julius Werner                     1 (0.8%)
   Chuanhua Han                      1 (0.8%)
   Niel Fourie                       1 (0.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Fermín Serna                      5 (17.9%)
   Ramon Fried                       4 (14.3%)
   Simon Glass                       2 (7.1%)
   Heinrich Schuchardt               2 (7.1%)
   Jagan Teki                        2 (7.1%)
   Sam Protsenko                     2 (7.1%)
   Fabio Estevam                     2 (7.1%)
   Marek Vasut                       1 (3.6%)
   Kever Yang                        1 (3.6%)
   Michal Simek                      1 (3.6%)
   Tom Rini                          1 (3.6%)
   Pontus Fuchs                      1 (3.6%)
   Andre Heider                      1 (3.6%)
   Wolfgang Grandegger               1 (3.6%)
   Ard Biesheuvel                    1 (3.6%)
   Michael Trimarchi                 1 (3.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Heinrich Schuchardt               7 (25.0%)
   liucheng (G)                      5 (17.9%)
   Jagan Teki                        3 (10.7%)
   Eugeniu Rosca                     3 (10.7%)
   Anatolij Gustschin                2 (7.1%)
   Bin Meng                          2 (7.1%)
   Tom Rini                          1 (3.6%)
   Simon Goldschmidt                 1 (3.6%)
   Suniel Mahesh                     1 (3.6%)
   Thierry Reding                    1 (3.6%)
   Roman Stratiienko                 1 (3.6%)
   Luca Ceresoli                     1 (3.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         607 (30.2%)
   Google, Inc.                      253 (12.6%)
   NXP                               216 (10.8%)
   Rockchip                          144 (7.2%)
   ST Microelectronics               140 (7.0%)
   Texas Instruments                 133 (6.6%)
   DENX Software Engineering         130 (6.5%)
   Amarula Solutions                 96 (4.8%)
   Linaro                            53 (2.6%)
   BayLibre SAS                      37 (1.8%)
   Intel                             33 (1.6%)
   Konsulko Group                    30 (1.5%)
   Socionext Inc.                    28 (1.4%)
   ARM                               16 (0.8%)
   Pepperl+Fuchs                     13 (0.6%)
   Bootlin                           12 (0.6%)
   SUSE                              11 (0.5%)
   Toradex                           11 (0.5%)
   AMD                               6 (0.3%)
   Xilinx                            6 (0.3%)
   Collabora Ltd.                    5 (0.2%)
   Huawei Technologies               5 (0.2%)
   IBM                               4 (0.2%)
   NVidia                            4 (0.2%)
   National Instruments              3 (0.1%)
   Samsung                           3 (0.1%)
   Pengutronix                       2 (0.1%)
   Ronetix                           2 (0.1%)
   LWN.net                           1 (0.0%)
   Marvell                           1 (0.0%)
   Renesas Electronics               1 (0.0%)
   Siemens                           1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         35820 (28.2%)
   Google, Inc.                      15764 (12.4%)
   DENX Software Engineering         13966 (11.0%)
   NXP                               13113 (10.3%)
   Amarula Solutions                 7993 (6.3%)
   Texas Instruments                 7484 (5.9%)
   Rockchip                          7183 (5.7%)
   ST Microelectronics               5440 (4.3%)
   Linaro                            4849 (3.8%)
   BayLibre SAS                      4685 (3.7%)
   Pengutronix                       2338 (1.8%)
   Konsulko Group                    2261 (1.8%)
   Intel                             1677 (1.3%)
   Socionext Inc.                    1257 (1.0%)
   Pepperl+Fuchs                     1008 (0.8%)
   ARM                               669 (0.5%)
   Collabora Ltd.                    271 (0.2%)
   Toradex                           246 (0.2%)
   Ronetix                           198 (0.2%)
   IBM                               174 (0.1%)
   SUSE                              128 (0.1%)
   Xilinx                            114 (0.1%)
   Bootlin                           96 (0.1%)
   LWN.net                           59 (0.0%)
   NVidia                            27 (0.0%)
   Marvell                           19 (0.0%)
   AMD                               18 (0.0%)
   Huawei Technologies               16 (0.0%)
   Samsung                           14 (0.0%)
   National Instruments              12 (0.0%)
   Siemens                           3 (0.0%)
   Renesas Electronics               2 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Rockchip                          62 (18.5%)
   (Unknown)                         53 (15.8%)
   ST Microelectronics               43 (12.8%)
   DENX Software Engineering         38 (11.3%)
   Texas Instruments                 27 (8.1%)
   NXP                               20 (6.0%)
   Xilinx                            20 (6.0%)
   NVidia                            16 (4.8%)
   Konsulko Group                    14 (4.2%)
   Toradex                           11 (3.3%)
   SUSE                              10 (3.0%)
   Amarula Solutions                 6 (1.8%)
   BayLibre SAS                      6 (1.8%)
   Linaro                            3 (0.9%)
   Socionext Inc.                    1 (0.3%)
   ARM                               1 (0.3%)
   Marvell                           1 (0.3%)
   Samsung                           1 (0.3%)
   Bosch                             1 (0.3%)
   Sergey Kubushyn                   1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         96 (49.7%)
   NXP                               20 (10.4%)
   Texas Instruments                 11 (5.7%)
   Linaro                            7 (3.6%)
   DENX Software Engineering         6 (3.1%)
   ST Microelectronics               5 (2.6%)
   SUSE                              4 (2.1%)
   BayLibre SAS                      4 (2.1%)
   Intel                             4 (2.1%)
   NVidia                            3 (1.6%)
   Toradex                           3 (1.6%)
   Amarula Solutions                 3 (1.6%)
   Socionext Inc.                    3 (1.6%)
   ARM                               3 (1.6%)
   Rockchip                          2 (1.0%)
   Google, Inc.                      2 (1.0%)
   Collabora Ltd.                    2 (1.0%)
   Xilinx                            1 (0.5%)
   Konsulko Group                    1 (0.5%)
   Marvell                           1 (0.5%)
   Samsung                           1 (0.5%)
   Pengutronix                       1 (0.5%)
   Pepperl+Fuchs                     1 (0.5%)
   Ronetix                           1 (0.5%)
   IBM                               1 (0.5%)
   Bootlin                           1 (0.5%)
   LWN.net                           1 (0.5%)
   AMD                               1 (0.5%)
   Huawei Technologies               1 (0.5%)
   National Instruments              1 (0.5%)
   Siemens                           1 (0.5%)
   Renesas Electronics               1 (0.5%)
   ================================  =====
