:orphan:

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

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