:orphan:

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

* Processed 1826 csets from 192 developers

* 30 employers found

* A total of 180486 lines added, 41174 removed (delta 139312)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       235 (12.9%)
   Peng Fan                          124 (6.8%)
   Michal Simek                      95 (5.2%)
   Tom Rini                          70 (3.8%)
   Heinrich Schuchardt               49 (2.7%)
   Lokesh Vutla                      44 (2.4%)
   Kever Yang                        42 (2.3%)
   Lukasz Majewski                   41 (2.2%)
   Fabio Estevam                     40 (2.2%)
   Marek Vasut                       39 (2.1%)
   AKASHI Takahiro                   30 (1.6%)
   Vignesh Raghavendra               29 (1.6%)
   Patrick Delaunay                  29 (1.6%)
   Siva Durga Prasad Paladugu        28 (1.5%)
   Weijie Gao                        28 (1.5%)
   Jean-Jacques Hiblot               26 (1.4%)
   Jagan Teki                        23 (1.3%)
   Eugen Hristev                     23 (1.3%)
   Miquel Raynal                     22 (1.2%)
   Alex Marginean                    21 (1.2%)
   Adam Ford                         20 (1.1%)
   Igor Opaniuk                      20 (1.1%)
   Yinbo Zhu                         20 (1.1%)
   Bin Meng                          19 (1.0%)
   Grygorii Strashko                 18 (1.0%)
   Heiko Stuebner                    18 (1.0%)
   Ye Li                             18 (1.0%)
   Matthias Brugger                  17 (0.9%)
   Anatolij Gustschin                16 (0.9%)
   Patrice Chotard                   16 (0.9%)
   Faiz Abbas                        16 (0.9%)
   Neil Armstrong                    16 (0.9%)
   Andy Yan                          15 (0.8%)
   Ibai Erkiaga                      15 (0.8%)
   Yangbo Lu                         14 (0.8%)
   Heiko Schocher                    14 (0.8%)
   T Karthik Reddy                   14 (0.8%)
   Yannick Fertré                    14 (0.8%)
   Suman Anna                        12 (0.7%)
   Keerthy                           12 (0.7%)
   Thomas Hebb                       11 (0.6%)
   Simon Goldschmidt                 11 (0.6%)
   Rick Chen                         11 (0.6%)
   Patrick Wildt                     11 (0.6%)
   Philippe Reynes                   11 (0.6%)
   Tero Kristo                       11 (0.6%)
   Álvaro Fernández Rojas            10 (0.5%)
   Peng Ma                           8 (0.4%)
   YouMin Chen                       8 (0.4%)
   Troy Kisky                        7 (0.4%)
   David Wu                          7 (0.4%)
   Parthiban Nallathambi             7 (0.4%)
   Marek Szyprowski                  7 (0.4%)
   Tudor Ambarus                     7 (0.4%)
   Kursad Oney                       7 (0.4%)
   Andreas Dannenberg                7 (0.4%)
   Michael Walle                     6 (0.3%)
   Stefan Roese                      6 (0.3%)
   Laurentiu Tudor                   6 (0.3%)
   Sam Protsenko                     6 (0.3%)
   Ryder Lee                         6 (0.3%)
   Breno Matheus Lima                6 (0.3%)
   Stefano Babic                     5 (0.3%)
   Rasmus Villemoes                  5 (0.3%)
   Peter Robinson                    5 (0.3%)
   Lukas Auer                        5 (0.3%)
   Nicolas Ferre                     5 (0.3%)
   Joris Offouga                     5 (0.3%)
   Frieder Schrempf                  5 (0.3%)
   Bartosz Golaszewski               5 (0.3%)
   mingming lee                      5 (0.3%)
   Soeren Moch                       5 (0.3%)
   Simon South                       5 (0.3%)
   Claudius Heine                    5 (0.3%)
   Otavio Salvador                   5 (0.3%)
   Jacky Bai                         5 (0.3%)
   Sandeep Sheriker Mallikarjun      5 (0.3%)
   Robert Beckett                    4 (0.2%)
   Roger Quadros                     4 (0.2%)
   Joe Hershberger                   4 (0.2%)
   Michael Trimarchi                 4 (0.2%)
   Biwen Li                          4 (0.2%)
   Vasily Khoruzhick                 4 (0.2%)
   Elaine Zhang                      4 (0.2%)
   Joseph Chen                       4 (0.2%)
   Andreas Färber                    4 (0.2%)
   Ricardo Salveti                   4 (0.2%)
   Dario Binacchi                    3 (0.2%)
   Jeffy Chen                        3 (0.2%)
   Ben Wolsieffer                    3 (0.2%)
   Nevo Hed                          3 (0.2%)
   Paul Kocialkowski                 3 (0.2%)
   Giulio Benetti                    3 (0.2%)
   James Byrne                       3 (0.2%)
   Pankaj Bansal                     3 (0.2%)
   Baruch Siach                      3 (0.2%)
   Yuantian Tang                     3 (0.2%)
   Ley Foon Tan                      3 (0.2%)
   Udit Agarwal                      3 (0.2%)
   Sébastien Szymanski               3 (0.2%)
   Robert Hancock                    3 (0.2%)
   Alexey Brodkin                    3 (0.2%)
   Eugeniy Paltsev                   3 (0.2%)
   James Doublesin                   3 (0.2%)
   Ashok Reddy Soma                  3 (0.2%)
   Kuldeep Singh                     3 (0.2%)
   Sjoerd Simons                     3 (0.2%)
   Krunal Bhargav                    3 (0.2%)
   Sergei Trofimovich                2 (0.1%)
   Jorge Ramirez-Ortiz               2 (0.1%)
   Ramon Fried                       2 (0.1%)
   Hannes Schmelzer                  2 (0.1%)
   Josef Holzmayr                    2 (0.1%)
   Priyanka Jain                     2 (0.1%)
   Masahiro Yamada                   2 (0.1%)
   Ooi, Joyce                        2 (0.1%)
   Finley Xiao                       2 (0.1%)
   Mathew McBride                    2 (0.1%)
   Andrew F. Davis                   2 (0.1%)
   Alexander Dahl                    2 (0.1%)
   Ralph Siemsen                     2 (0.1%)
   Rajan Vaja                        2 (0.1%)
   Harini Katakam                    2 (0.1%)
   Nishant Mittal                    2 (0.1%)
   Guillaume La Roque                2 (0.1%)
   Sagar Shrikant Kadam              2 (0.1%)
   Thomas Fitzsimmons                2 (0.1%)
   Jun Nie                           2 (0.1%)
   Shawn Guo                         2 (0.1%)
   Mans Rullgard                     2 (0.1%)
   Moses Christopher                 2 (0.1%)
   Oleksandr Rybalko                 2 (0.1%)
   Yann Gautier                      2 (0.1%)
   Kevin Scholz                      1 (0.1%)
   Stephen Warren                    1 (0.1%)
   Robert P. J. Day                  1 (0.1%)
   Patrik Dahlström                  1 (0.1%)
   Jack Mitchell                     1 (0.1%)
   Andy Shevchenko                   1 (0.1%)
   Diego Rondini                     1 (0.1%)
   Michael Auchter                   1 (0.1%)
   Swapna Gurumani                   1 (0.1%)
   Cédric Le Goater                  1 (0.1%)
   Andre Przywara                    1 (0.1%)
   Florin Laurentiu Chiculita        1 (0.1%)
   Chris Packham                     1 (0.1%)
   Thierry Reding                    1 (0.1%)
   Grzegorz Jaszczyk                 1 (0.1%)
   Stefan Chulski                    1 (0.1%)
   Abhishek Shah                     1 (0.1%)
   Lihua Zhao                        1 (0.1%)
   Daniel Schwierzeck                1 (0.1%)
   Wen He                            1 (0.1%)
   Levin Du                          1 (0.1%)
   Cristian Ciocaltea                1 (0.1%)
   Vignesh Rajendran                 1 (0.1%)
   Emmanuel Vadot                    1 (0.1%)
   Xiaowei Bao                       1 (0.1%)
   Chunfeng Yun                      1 (0.1%)
   liu hao                           1 (0.1%)
   Sherry Sun                        1 (0.1%)
   Oliver Graute                     1 (0.1%)
   Manivannan Sadhasivam             1 (0.1%)
   Michal Sojka                      1 (0.1%)
   Roman Kapl                        1 (0.1%)
   Walter Lozano                     1 (0.1%)
   Dmitry Torokhov                   1 (0.1%)
   William Zhang                     1 (0.1%)
   Icenowy Zheng                     1 (0.1%)
   Clément Péron                     1 (0.1%)
   Stefan Mavrodiev                  1 (0.1%)
   Sunil Mohan Adapa                 1 (0.1%)
   Jernej Skrabec                    1 (0.1%)
   Naga Sureshkumar Relli            1 (0.1%)
   Venkatesh Yadav Abbarapu          1 (0.1%)
   Shubhrajyoti Datta                1 (0.1%)
   Wasim Khan                        1 (0.1%)
   Ran Wang                          1 (0.1%)
   Daniel Drake                      1 (0.1%)
   Atish Patra                       1 (0.1%)
   Quentin Schulz                    1 (0.1%)
   Douglas Anderson                  1 (0.1%)
   Daniele Alessandrelli             1 (0.1%)
   Kayla Theil                       1 (0.1%)
   Shyam Saini                       1 (0.1%)
   Jarkko Nikula                     1 (0.1%)
   Kedar Chitnis                     1 (0.1%)
   Arun Parameswaran                 1 (0.1%)
   Saravanan Sekar                   1 (0.1%)
   Fabio Berton                      1 (0.1%)
   Vipul Kumar                       1 (0.1%)
   Mian Yousaf Kaukab                1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Kevin Scholz                      32102 (16.6%)
   Peng Fan                          18461 (9.5%)
   Tom Rini                          13903 (7.2%)
   Lokesh Vutla                      8837 (4.6%)
   Simon Glass                       7574 (3.9%)
   AKASHI Takahiro                   7491 (3.9%)
   Vignesh Raghavendra               7427 (3.8%)
   Michal Simek                      7352 (3.8%)
   Kever Yang                        5101 (2.6%)
   Daniel Schwierzeck                4671 (2.4%)
   Andy Yan                          4421 (2.3%)
   Heiko Stuebner                    4193 (2.2%)
   Yannick Fertré                    3941 (2.0%)
   Faiz Abbas                        3748 (1.9%)
   Andreas Färber                    3705 (1.9%)
   Neil Armstrong                    3053 (1.6%)
   YouMin Chen                       3013 (1.6%)
   Fabio Estevam                     3001 (1.5%)
   mingming lee                      2890 (1.5%)
   Patrick Wildt                     2540 (1.3%)
   Lukasz Majewski                   2442 (1.3%)
   Patrick Delaunay                  2228 (1.1%)
   Weijie Gao                        2006 (1.0%)
   Miquel Raynal                     1830 (0.9%)
   Patrice Chotard                   1701 (0.9%)
   Finley Xiao                       1646 (0.8%)
   Heinrich Schuchardt               1510 (0.8%)
   Siva Durga Prasad Paladugu        1425 (0.7%)
   Igor Opaniuk                      1292 (0.7%)
   Hannes Schmelzer                  1125 (0.6%)
   Oliver Graute                     1107 (0.6%)
   David Wu                          1100 (0.6%)
   Ryder Lee                         1066 (0.5%)
   Elaine Zhang                      1056 (0.5%)
   Tero Kristo                       964 (0.5%)
   Jean-Jacques Hiblot               950 (0.5%)
   Heiko Schocher                    927 (0.5%)
   Marek Vasut                       909 (0.5%)
   Eugen Hristev                     870 (0.4%)
   Sandeep Sheriker Mallikarjun      856 (0.4%)
   Troy Kisky                        822 (0.4%)
   Sam Protsenko                     771 (0.4%)
   Shawn Guo                         721 (0.4%)
   Keerthy                           656 (0.3%)
   Peng Ma                           640 (0.3%)
   Bin Meng                          627 (0.3%)
   Rick Chen                         627 (0.3%)
   Ibai Erkiaga                      626 (0.3%)
   Joseph Chen                       622 (0.3%)
   Jagan Teki                        597 (0.3%)
   liu hao                           556 (0.3%)
   Anatolij Gustschin                484 (0.2%)
   Nicolas Ferre                     480 (0.2%)
   Grygorii Strashko                 475 (0.2%)
   Alex Marginean                    457 (0.2%)
   Yangbo Lu                         451 (0.2%)
   Suman Anna                        418 (0.2%)
   Tudor Ambarus                     365 (0.2%)
   Jacky Bai                         341 (0.2%)
   James Doublesin                   316 (0.2%)
   Manivannan Sadhasivam             299 (0.2%)
   Matthias Brugger                  294 (0.2%)
   Álvaro Fernández Rojas            288 (0.1%)
   Ye Li                             286 (0.1%)
   T Karthik Reddy                   275 (0.1%)
   Arun Parameswaran                 271 (0.1%)
   Roger Quadros                     247 (0.1%)
   Jeffy Chen                        243 (0.1%)
   Adam Ford                         235 (0.1%)
   Sagar Shrikant Kadam              229 (0.1%)
   Otavio Salvador                   226 (0.1%)
   Philippe Reynes                   219 (0.1%)
   Joris Offouga                     212 (0.1%)
   Michael Trimarchi                 206 (0.1%)
   Nevo Hed                          197 (0.1%)
   Vasily Khoruzhick                 177 (0.1%)
   Guillaume La Roque                172 (0.1%)
   Diego Rondini                     165 (0.1%)
   Soeren Moch                       158 (0.1%)
   William Zhang                     156 (0.1%)
   Rajan Vaja                        154 (0.1%)
   Eugeniy Paltsev                   150 (0.1%)
   Moses Christopher                 145 (0.1%)
   Rasmus Villemoes                  136 (0.1%)
   Udit Agarwal                      134 (0.1%)
   Clément Péron                     131 (0.1%)
   Andreas Dannenberg                129 (0.1%)
   Laurentiu Tudor                   127 (0.1%)
   Sébastien Szymanski               119 (0.1%)
   Yinbo Zhu                         109 (0.1%)
   Breno Matheus Lima                109 (0.1%)
   Paul Kocialkowski                 109 (0.1%)
   Parthiban Nallathambi             106 (0.1%)
   Lukas Auer                        102 (0.1%)
   Simon Goldschmidt                 94 (0.0%)
   Stefan Roese                      92 (0.0%)
   Douglas Anderson                  85 (0.0%)
   Bartosz Golaszewski               83 (0.0%)
   Kursad Oney                       71 (0.0%)
   Peter Robinson                    71 (0.0%)
   Robert Hancock                    65 (0.0%)
   Stefano Babic                     64 (0.0%)
   Alexey Brodkin                    63 (0.0%)
   Cristian Ciocaltea                63 (0.0%)
   Quentin Schulz                    61 (0.0%)
   Naga Sureshkumar Relli            59 (0.0%)
   Thomas Hebb                       57 (0.0%)
   Joe Hershberger                   57 (0.0%)
   Yuantian Tang                     57 (0.0%)
   Jernej Skrabec                    54 (0.0%)
   Frieder Schrempf                  53 (0.0%)
   Yann Gautier                      53 (0.0%)
   Lihua Zhao                        53 (0.0%)
   Sunil Mohan Adapa                 46 (0.0%)
   Daniel Drake                      37 (0.0%)
   Marek Szyprowski                  36 (0.0%)
   Claudius Heine                    36 (0.0%)
   James Byrne                       35 (0.0%)
   Sjoerd Simons                     34 (0.0%)
   Michael Walle                     31 (0.0%)
   Mans Rullgard                     30 (0.0%)
   Krunal Bhargav                    29 (0.0%)
   Ramon Fried                       27 (0.0%)
   Jun Nie                           27 (0.0%)
   Robert P. J. Day                  26 (0.0%)
   Simon South                       25 (0.0%)
   Josef Holzmayr                    25 (0.0%)
   Sherry Sun                        25 (0.0%)
   Grzegorz Jaszczyk                 23 (0.0%)
   Jorge Ramirez-Ortiz               21 (0.0%)
   Ashok Reddy Soma                  20 (0.0%)
   Shubhrajyoti Datta                19 (0.0%)
   Ley Foon Tan                      18 (0.0%)
   Biwen Li                          16 (0.0%)
   Ricardo Salveti                   15 (0.0%)
   Florin Laurentiu Chiculita        15 (0.0%)
   Ran Wang                          15 (0.0%)
   Stefan Chulski                    14 (0.0%)
   Mian Yousaf Kaukab                14 (0.0%)
   Alexander Dahl                    12 (0.0%)
   Icenowy Zheng                     12 (0.0%)
   Roman Kapl                        11 (0.0%)
   Kuldeep Singh                     10 (0.0%)
   Chris Packham                     10 (0.0%)
   Levin Du                          10 (0.0%)
   Pankaj Bansal                     9 (0.0%)
   Harini Katakam                    9 (0.0%)
   Thomas Fitzsimmons                9 (0.0%)
   Giulio Benetti                    8 (0.0%)
   Masahiro Yamada                   8 (0.0%)
   Oleksandr Rybalko                 8 (0.0%)
   Swapna Gurumani                   8 (0.0%)
   Cédric Le Goater                  8 (0.0%)
   Baruch Siach                      6 (0.0%)
   Mathew McBride                    6 (0.0%)
   Atish Patra                       6 (0.0%)
   Robert Beckett                    5 (0.0%)
   Priyanka Jain                     5 (0.0%)
   Nishant Mittal                    5 (0.0%)
   Emmanuel Vadot                    5 (0.0%)
   Dmitry Torokhov                   5 (0.0%)
   Ben Wolsieffer                    4 (0.0%)
   Wasim Khan                        4 (0.0%)
   Shyam Saini                       4 (0.0%)
   Kedar Chitnis                     4 (0.0%)
   Dario Binacchi                    3 (0.0%)
   Sergei Trofimovich                3 (0.0%)
   Andrew F. Davis                   3 (0.0%)
   Andy Shevchenko                   3 (0.0%)
   Vignesh Rajendran                 3 (0.0%)
   Michal Sojka                      3 (0.0%)
   Ooi, Joyce                        2 (0.0%)
   Ralph Siemsen                     2 (0.0%)
   Wen He                            2 (0.0%)
   Daniele Alessandrelli             2 (0.0%)
   Kayla Theil                       2 (0.0%)
   Saravanan Sekar                   2 (0.0%)
   Stephen Warren                    1 (0.0%)
   Patrik Dahlström                  1 (0.0%)
   Jack Mitchell                     1 (0.0%)
   Michael Auchter                   1 (0.0%)
   Andre Przywara                    1 (0.0%)
   Thierry Reding                    1 (0.0%)
   Abhishek Shah                     1 (0.0%)
   Xiaowei Bao                       1 (0.0%)
   Chunfeng Yun                      1 (0.0%)
   Walter Lozano                     1 (0.0%)
   Stefan Mavrodiev                  1 (0.0%)
   Venkatesh Yadav Abbarapu          1 (0.0%)
   Jarkko Nikula                     1 (0.0%)
   Fabio Berton                      1 (0.0%)
   Vipul Kumar                       1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Daniel Schwierzeck                4671 (11.3%)
   Yangbo Lu                         289 (0.7%)
   Nevo Hed                          139 (0.3%)
   Jacky Bai                         109 (0.3%)
   Sébastien Szymanski               90 (0.2%)
   William Zhang                     52 (0.1%)
   Soeren Moch                       49 (0.1%)
   Rasmus Villemoes                  48 (0.1%)
   Bartosz Golaszewski               17 (0.0%)
   Jun Nie                           14 (0.0%)
   Mian Yousaf Kaukab                14 (0.0%)
   Alexey Brodkin                    12 (0.0%)
   Chris Packham                     10 (0.0%)
   Stefano Babic                     5 (0.0%)
   Josef Holzmayr                    5 (0.0%)
   Masahiro Yamada                   4 (0.0%)
   Frieder Schrempf                  3 (0.0%)
   Andrew F. Davis                   2 (0.0%)
   Daniele Alessandrelli             1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Michal Simek                      68 (21.1%)
   Bin Meng                          32 (9.9%)
   Priyanka Jain                     26 (8.1%)
   Lokesh Vutla                      18 (5.6%)
   Peng Fan                          14 (4.3%)
   Otavio Salvador                   13 (4.0%)
   YouMin Chen                       13 (4.0%)
   Tom Rini                          10 (3.1%)
   Kever Yang                        10 (3.1%)
   Siva Durga Prasad Paladugu        9 (2.8%)
   Frank Wunderlich                  8 (2.5%)
   Jean-Jacques Hiblot               7 (2.2%)
   Keerthy                           7 (2.2%)
   Neil Armstrong                    7 (2.2%)
   Suman Anna                        6 (1.9%)
   Heiko Stuebner                    5 (1.6%)
   Tudor Ambarus                     4 (1.2%)
   Jagan Teki                        4 (1.2%)
   Simon Glass                       4 (1.2%)
   Alexey Brodkin                    3 (0.9%)
   Fabio Berton                      3 (0.9%)
   Heinrich Schuchardt               3 (0.9%)
   Elaine Zhang                      3 (0.9%)
   Stefano Babic                     2 (0.6%)
   Stefan Agner                      2 (0.6%)
   Vladimir Olovyannikov             2 (0.6%)
   Ashish Kumar                      2 (0.6%)
   Claudiu Beznea                    2 (0.6%)
   Stefan Roese                      2 (0.6%)
   Ye Li                             2 (0.6%)
   Anatolij Gustschin                2 (0.6%)
   Nicolas Ferre                     2 (0.6%)
   Lukasz Majewski                   2 (0.6%)
   Kevin Scholz                      2 (0.6%)
   Nevo Hed                          1 (0.3%)
   Razvan Ionut Cirjan               1 (0.3%)
   Sanchayan Maity                   1 (0.3%)
   Philipp Tomsich                   1 (0.3%)
   Chee Hong Ang                     1 (0.3%)
   Veeraiyan Chidambaram             1 (0.3%)
   Steven Hao                        1 (0.3%)
   Anti Sullin                       1 (0.3%)
   Christophe Kerello                1 (0.3%)
   Corneliu Doban                    1 (0.3%)
   Pramod Kumar                      1 (0.3%)
   Pavithra Ravi                     1 (0.3%)
   Bharat Kumar Reddy Gooty          1 (0.3%)
   Prasanthi Chellakumar             1 (0.3%)
   Harini Katakam                    1 (0.3%)
   Florin Laurentiu Chiculita        1 (0.3%)
   Ashok Reddy Soma                  1 (0.3%)
   Ibai Erkiaga                      1 (0.3%)
   Eugen Hristev                     1 (0.3%)
   Tero Kristo                       1 (0.3%)
   Fabio Estevam                     1 (0.3%)
   Andy Yan                          1 (0.3%)
   Vignesh Raghavendra               1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          144 (20.3%)
   Kever Yang                        92 (13.0%)
   Tom Rini                          54 (7.6%)
   Simon Glass                       53 (7.5%)
   Priyanka Jain                     52 (7.3%)
   Peng Fan                          27 (3.8%)
   Fabio Estevam                     24 (3.4%)
   Stefan Roese                      22 (3.1%)
   Jagan Teki                        16 (2.3%)
   Oleksandr Suvorov                 16 (2.3%)
   Boris Brezillon                   13 (1.8%)
   Heinrich Schuchardt               10 (1.4%)
   Anatolij Gustschin                10 (1.4%)
   Ye Li                             9 (1.3%)
   Ley Foon Tan                      9 (1.3%)
   Simon Goldschmidt                 9 (1.3%)
   Daniel Schwierzeck                8 (1.1%)
   Philippe Reynes                   8 (1.1%)
   Lukasz Majewski                   7 (1.0%)
   Stephen Warren                    7 (1.0%)
   Grygorii Strashko                 7 (1.0%)
   Frieder Schrempf                  6 (0.8%)
   Luca Ceresoli                     6 (0.8%)
   Ramon Fried                       6 (0.8%)
   Patrice Chotard                   6 (0.8%)
   Rick Chen                         6 (0.8%)
   Lokesh Vutla                      5 (0.7%)
   Bartosz Golaszewski               5 (0.7%)
   Chris Packham                     5 (0.7%)
   Anup Patel                        5 (0.7%)
   Horia Geanta                      5 (0.7%)
   Heiko Schocher                    5 (0.7%)
   Philipp Tomsich                   4 (0.6%)
   Fabien Dessenne                   4 (0.6%)
   Tudor Ambarus                     3 (0.4%)
   Kursad Oney                       3 (0.4%)
   Alex Marginean                    3 (0.4%)
   Igor Opaniuk                      3 (0.4%)
   Otavio Salvador                   2 (0.3%)
   Neil Armstrong                    2 (0.3%)
   Heiko Stuebner                    2 (0.3%)
   Igal Liberman                     2 (0.3%)
   Jens Wiklander                    2 (0.3%)
   Patrick Wildt                     2 (0.3%)
   Patrick Delaunay                  2 (0.3%)
   Michal Simek                      1 (0.1%)
   Jean-Jacques Hiblot               1 (0.1%)
   Stefano Babic                     1 (0.1%)
   Eugen Hristev                     1 (0.1%)
   Ralph Siemsen                     1 (0.1%)
   Andre Przywara                    1 (0.1%)
   Joel Stanley                      1 (0.1%)
   Eric Nelson                       1 (0.1%)
   Wolfgang Grandegger               1 (0.1%)
   Hou Zhiqiang                      1 (0.1%)
   Aiden Park                        1 (0.1%)
   Eugeniu Rosca                     1 (0.1%)
   Maxime Ripard                     1 (0.1%)
   Joe Hershberger                   1 (0.1%)
   Peter Robinson                    1 (0.1%)
   Michael Trimarchi                 1 (0.1%)
   Roger Quadros                     1 (0.1%)
   Marek Vasut                       1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          41 (28.7%)
   Stephen Warren                    14 (9.8%)
   Simon Glass                       11 (7.7%)
   Levin Du                          8 (5.6%)
   Frank Wunderlich                  6 (4.2%)
   Frieder Schrempf                  5 (3.5%)
   Bartosz Golaszewski               5 (3.5%)
   Max Krummenacher                  5 (3.5%)
   Chris Packham                     4 (2.8%)
   Jagan Teki                        3 (2.1%)
   Rick Chen                         3 (2.1%)
   Joris Offouga                     3 (2.1%)
   Tom Rini                          2 (1.4%)
   Heinrich Schuchardt               2 (1.4%)
   Simon Goldschmidt                 2 (1.4%)
   Patrice Chotard                   2 (1.4%)
   Igal Liberman                     2 (1.4%)
   Eugen Hristev                     2 (1.4%)
   Peter Robinson                    2 (1.4%)
   Steffen Dirkwinkel                2 (1.4%)
   Adam Ford                         2 (1.4%)
   Fabio Estevam                     1 (0.7%)
   Fabien Dessenne                   1 (0.7%)
   Alex Marginean                    1 (0.7%)
   Patrick Wildt                     1 (0.7%)
   Aiden Park                        1 (0.7%)
   Suman Anna                        1 (0.7%)
   Aurelien Jarno                    1 (0.7%)
   David Abdurachmanov               1 (0.7%)
   Pierre-Jean Texier                1 (0.7%)
   Anand Moon                        1 (0.7%)
   Guillaume Gardet                  1 (0.7%)
   thomas graichen                   1 (0.7%)
   Robby Cai                         1 (0.7%)
   Michael Walle                     1 (0.7%)
   Cristian Ciocaltea                1 (0.7%)
   Eugeniy Paltsev                   1 (0.7%)
   Manivannan Sadhasivam             1 (0.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       37 (25.9%)
   Tom Rini                          24 (16.8%)
   Anatolij Gustschin                10 (7.0%)
   Jagan Teki                        9 (6.3%)
   Peng Fan                          7 (4.9%)
   Adam Ford                         5 (3.5%)
   Igor Opaniuk                      5 (3.5%)
   Lukas Auer                        5 (3.5%)
   Ryder Lee                         4 (2.8%)
   Heinrich Schuchardt               3 (2.1%)
   Vignesh Raghavendra               3 (2.1%)
   Bin Meng                          2 (1.4%)
   Fabio Estevam                     2 (1.4%)
   Patrick Wildt                     2 (1.4%)
   Lokesh Vutla                      2 (1.4%)
   Marek Vasut                       2 (1.4%)
   Masahiro Yamada                   2 (1.4%)
   Oleksandr Rybalko                 2 (1.4%)
   Matthias Brugger                  2 (1.4%)
   Peter Robinson                    1 (0.7%)
   Michael Walle                     1 (0.7%)
   Jean-Jacques Hiblot               1 (0.7%)
   Jacky Bai                         1 (0.7%)
   Jun Nie                           1 (0.7%)
   Stefan Chulski                    1 (0.7%)
   Emmanuel Vadot                    1 (0.7%)
   Pankaj Bansal                     1 (0.7%)
   Grzegorz Jaszczyk                 1 (0.7%)
   Jernej Skrabec                    1 (0.7%)
   Robert Hancock                    1 (0.7%)
   Vasily Khoruzhick                 1 (0.7%)
   Sagar Shrikant Kadam              1 (0.7%)
   T Karthik Reddy                   1 (0.7%)
   Shawn Guo                         1 (0.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          2 (7.4%)
   Anatolij Gustschin                2 (7.4%)
   Heinrich Schuchardt               2 (7.4%)
   Rick Chen                         2 (7.4%)
   Luca Ceresoli                     2 (7.4%)
   Faiz Abbas                        2 (7.4%)
   Jagan Teki                        1 (3.7%)
   Peter Robinson                    1 (3.7%)
   Joris Offouga                     1 (3.7%)
   Aurelien Jarno                    1 (3.7%)
   Cristian Ciocaltea                1 (3.7%)
   Eugeniy Paltsev                   1 (3.7%)
   Tero Kristo                       1 (3.7%)
   Andrew F. Davis                   1 (3.7%)
   Dan Murphy                        1 (3.7%)
   Ondrej Jirman                     1 (3.7%)
   Gray Remlin                       1 (3.7%)
   Christophe Priouzeau              1 (3.7%)
   Richard Woodruff                  1 (3.7%)
   Andy Shevchenko                   1 (3.7%)
   Sam Protsenko                     1 (3.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Lokesh Vutla                      4 (14.8%)
   Lukas Auer                        3 (11.1%)
   Vignesh Raghavendra               3 (11.1%)
   Matthias Brugger                  3 (11.1%)
   Heinrich Schuchardt               2 (7.4%)
   Fabio Estevam                     2 (7.4%)
   Michal Simek                      2 (7.4%)
   Tom Rini                          1 (3.7%)
   Anatolij Gustschin                1 (3.7%)
   Jagan Teki                        1 (3.7%)
   Peng Fan                          1 (3.7%)
   Patrice Chotard                   1 (3.7%)
   Joe Hershberger                   1 (3.7%)
   Keerthy                           1 (3.7%)
   Breno Matheus Lima                1 (3.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         429 (23.5%)
   NXP                               247 (13.5%)
   Google, Inc.                      236 (12.9%)
   Texas Instruments                 189 (10.4%)
   DENX Software Engineering         133 (7.3%)
   AMD                               95 (5.2%)
   Rockchip                          84 (4.6%)
   Konsulko Group                    70 (3.8%)
   Xilinx                            70 (3.8%)
   ST Microelectronics               61 (3.3%)
   Linaro                            43 (2.4%)
   Amarula Solutions                 28 (1.5%)
   Bootlin                           26 (1.4%)
   BayLibre SAS                      23 (1.3%)
   SUSE                              22 (1.2%)
   Pepperl+Fuchs                     11 (0.6%)
   Broadcom                          10 (0.5%)
   Collabora Ltd.                    8 (0.4%)
   Boundary Devices                  7 (0.4%)
   Samsung                           7 (0.4%)
   Intel                             6 (0.3%)
   O.S. Systems                      6 (0.3%)
   National Instruments              5 (0.3%)
   Gentoo                            2 (0.1%)
   NVidia                            2 (0.1%)
   Socionext Inc.                    2 (0.1%)
   ARM                               1 (0.1%)
   Wind River                        1 (0.1%)
   Marvell                           1 (0.1%)
   Semihalf Embedded Systems         1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Texas Instruments                 56305 (29.0%)
   (Unknown)                         34059 (17.6%)
   NXP                               21275 (11.0%)
   Rockchip                          16479 (8.5%)
   Konsulko Group                    13903 (7.2%)
   Linaro                            9311 (4.8%)
   ST Microelectronics               7923 (4.1%)
   Google, Inc.                      7659 (3.9%)
   AMD                               7352 (3.8%)
   DENX Software Engineering         5060 (2.6%)
   SUSE                              4013 (2.1%)
   BayLibre SAS                      3308 (1.7%)
   Xilinx                            2594 (1.3%)
   Bootlin                           2000 (1.0%)
   Boundary Devices                  822 (0.4%)
   Amarula Solutions                 807 (0.4%)
   Broadcom                          499 (0.3%)
   O.S. Systems                      227 (0.1%)
   Pepperl+Fuchs                     94 (0.0%)
   National Instruments              58 (0.0%)
   Wind River                        53 (0.0%)
   Collabora Ltd.                    40 (0.0%)
   Samsung                           36 (0.0%)
   Intel                             23 (0.0%)
   Semihalf Embedded Systems         23 (0.0%)
   Marvell                           14 (0.0%)
   Socionext Inc.                    8 (0.0%)
   Gentoo                            3 (0.0%)
   NVidia                            2 (0.0%)
   ARM                               1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Xilinx                            80 (24.8%)
   (Unknown)                         66 (20.5%)
   NXP                               46 (14.3%)
   Texas Instruments                 42 (13.0%)
   Rockchip                          27 (8.4%)
   O.S. Systems                      16 (5.0%)
   Konsulko Group                    10 (3.1%)
   DENX Software Engineering         8 (2.5%)
   BayLibre SAS                      7 (2.2%)
   Broadcom                          6 (1.9%)
   Google, Inc.                      4 (1.2%)
   Amarula Solutions                 4 (1.2%)
   Toradex                           3 (0.9%)
   ST Microelectronics               1 (0.3%)
   Intel                             1 (0.3%)
   Artec Design                      1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         79 (40.7%)
   NXP                               22 (11.3%)
   Texas Instruments                 15 (7.7%)
   Xilinx                            11 (5.7%)
   Rockchip                          8 (4.1%)
   DENX Software Engineering         8 (4.1%)
   Linaro                            6 (3.1%)
   Broadcom                          4 (2.1%)
   ST Microelectronics               4 (2.1%)
   BayLibre SAS                      3 (1.5%)
   Amarula Solutions                 3 (1.5%)
   Intel                             3 (1.5%)
   SUSE                              3 (1.5%)
   Bootlin                           3 (1.5%)
   Collabora Ltd.                    3 (1.5%)
   O.S. Systems                      2 (1.0%)
   Google, Inc.                      2 (1.0%)
   National Instruments              2 (1.0%)
   NVidia                            2 (1.0%)
   Konsulko Group                    1 (0.5%)
   AMD                               1 (0.5%)
   Boundary Devices                  1 (0.5%)
   Pepperl+Fuchs                     1 (0.5%)
   Wind River                        1 (0.5%)
   Samsung                           1 (0.5%)
   Semihalf Embedded Systems         1 (0.5%)
   Marvell                           1 (0.5%)
   Socionext Inc.                    1 (0.5%)
   Gentoo                            1 (0.5%)
   ARM                               1 (0.5%)
   ================================  =====
