:orphan:

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

* Processed 1193 changesets from 182 developers

* 28 employers found

* A total of 76038 lines added, 22237 removed (delta 53801)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Heinrich Schuchardt               94 (7.9%)
   Simon Glass                       90 (7.5%)
   Michal Simek                      64 (5.4%)
   Marek Vasut                       55 (4.6%)
   Jagan Teki                        45 (3.8%)
   Simon Goldschmidt                 32 (2.7%)
   Chris Packham                     29 (2.4%)
   Adam Ford                         26 (2.2%)
   Horatiu Vultur                    26 (2.2%)
   Fabio Estevam                     24 (2.0%)
   Vignesh R                         23 (1.9%)
   Abel Vesa                         21 (1.8%)
   Tom Rini                          18 (1.5%)
   Patrick Delaunay                  18 (1.5%)
   AKASHI Takahiro                   18 (1.5%)
   Krzysztof Kozlowski               17 (1.4%)
   Tim Harvey                        17 (1.4%)
   Philippe Reynes                   16 (1.3%)
   Stefan Roese                      14 (1.2%)
   Andrew F. Davis                   14 (1.2%)
   Siva Durga Prasad Paladugu        14 (1.2%)
   Mian Yousaf Kaukab                13 (1.1%)
   Lars Povlsen                      13 (1.1%)
   Baruch Siach                      12 (1.0%)
   Peng Fan                          12 (1.0%)
   Stefan Agner                      12 (1.0%)
   David Wu                          10 (0.8%)
   Rajesh Bhagat                     10 (0.8%)
   Anup Patel                        10 (0.8%)
   Marek Behún                       10 (0.8%)
   Jean-Jacques Hiblot               9 (0.8%)
   Martyn Welch                      9 (0.8%)
   Hiroyuki Yokoyama                 9 (0.8%)
   Weijie Gao                        9 (0.8%)
   Lukasz Majewski                   8 (0.7%)
   Philipp Tomsich                   8 (0.7%)
   Masahiro Yamada                   8 (0.7%)
   Bryan O'Donoghue                  8 (0.7%)
   Andy Shevchenko                   8 (0.7%)
   Peng Ma                           8 (0.7%)
   Ramon Fried                       8 (0.7%)
   Neil Armstrong                    7 (0.6%)
   Alexander Graf                    7 (0.6%)
   Daniel Schwierzeck                7 (0.6%)
   Bin Meng                          7 (0.6%)
   Ismael Luceno Cortes              7 (0.6%)
   Lukas Auer                        7 (0.6%)
   Tien Fong Chee                    7 (0.6%)
   Breno Matheus Lima                7 (0.6%)
   Boris Brezillon                   7 (0.6%)
   Enric Balletbo i Serra            7 (0.6%)
   Hannes Schmelzer                  6 (0.5%)
   Alexey Brodkin                    6 (0.5%)
   Andre Przywara                    6 (0.5%)
   Peter Robinson                    6 (0.5%)
   Priyanka Jain                     6 (0.5%)
   Shawn Guo                         6 (0.5%)
   Maxime Jourdan                    6 (0.5%)
   Heiko Schocher                    5 (0.4%)
   Pankaj Bansal                     5 (0.4%)
   Atish Patra                       5 (0.4%)
   Ye Li                             5 (0.4%)
   Rick Chen                         5 (0.4%)
   Lokesh Vutla                      4 (0.3%)
   Faiz Abbas                        4 (0.3%)
   Meenakshi Aggarwal                4 (0.3%)
   Marcin Niestroj                   4 (0.3%)
   Laurentiu Tudor                   4 (0.3%)
   Manivannan Sadhasivam             4 (0.3%)
   Priit Laes                        4 (0.3%)
   Gregory CLEMENT                   4 (0.3%)
   Eugen Hristev                     3 (0.3%)
   Shyam Saini                       3 (0.3%)
   Ley Foon Tan                      3 (0.3%)
   Eugeniu Rosca                     3 (0.3%)
   York Sun                          3 (0.3%)
   Felix Brack                       3 (0.3%)
   Tristan Bastian                   3 (0.3%)
   Marcel Ziswiler                   3 (0.3%)
   Pankit Garg                       3 (0.3%)
   Chen-Yu Tsai                      3 (0.3%)
   Patrick Bruenn                    3 (0.3%)
   Xiaowei Bao                       3 (0.3%)
   Andrejs Cainikovs                 2 (0.2%)
   Matthias Brugger                  2 (0.2%)
   Keerthy                           2 (0.2%)
   Minkyu Kang                       2 (0.2%)
   Vagrant Cascadian                 2 (0.2%)
   Stephen Warren                    2 (0.2%)
   Derald D. Woods                   2 (0.2%)
   Igor Opaniuk                      2 (0.2%)
   Roman Kapl                        2 (0.2%)
   Max Krummenacher                  2 (0.2%)
   Luis Araneda                      2 (0.2%)
   Olaf Mandel                       2 (0.2%)
   Sam Protsenko                     2 (0.2%)
   Fabien Parent                     2 (0.2%)
   Stefan Theil                      2 (0.2%)
   Valentin-catalin Neacsu           2 (0.2%)
   Mike Looijmans                    2 (0.2%)
   Joakim Tjernlund                  2 (0.2%)
   Hou Zhiqiang                      2 (0.2%)
   Ezequiel Garcia                   2 (0.2%)
   Thomas Petazzoni                  1 (0.1%)
   默默                                1 (0.1%)
   Chris Spencer                     1 (0.1%)
   Michael Trimarchi                 1 (0.1%)
   Kever Yang                        1 (0.1%)
   BOUGH CHEN                        1 (0.1%)
   Jernej Skrabec                    1 (0.1%)
   Eugeniy Paltsev                   1 (0.1%)
   Sébastien Szymanski               1 (0.1%)
   Dalon Westergreen                 1 (0.1%)
   Sean Nyekjaer                     1 (0.1%)
   Alison Wang                       1 (0.1%)
   Prabhakar Kushwaha                1 (0.1%)
   Pramod Kumar                      1 (0.1%)
   Ioana Ciocoi Radulescu            1 (0.1%)
   Soeren Moch                       1 (0.1%)
   Anand Moon                        1 (0.1%)
   Dinh Nguyen                       1 (0.1%)
   Jordan Hand                       1 (0.1%)
   Ondrej Jirman                     1 (0.1%)
   Stefan Mavrodiev                  1 (0.1%)
   Alexander Dahl                    1 (0.1%)
   Yunfeng Ding                      1 (0.1%)
   David Rivshin                     1 (0.1%)
   Julien Béraud                     1 (0.1%)
   Jan Kiszka                        1 (0.1%)
   Gerard Salvatella                 1 (0.1%)
   Jonathan Hunter                   1 (0.1%)
   Gervais, Francois                 1 (0.1%)
   Bin Liu                           1 (0.1%)
   Kurban Mallachiev                 1 (0.1%)
   Zhao Qiang                        1 (0.1%)
   Wen He                            1 (0.1%)
   Udit Agarwal                      1 (0.1%)
   Vabhav Sharma                     1 (0.1%)
   Yinbo Zhu                         1 (0.1%)
   Ang, Chee Hong                    1 (0.1%)
   Venkatesh Yadav Abbarapu          1 (0.1%)
   Shubhrajyoti Datta                1 (0.1%)
   Amit Kucheria                     1 (0.1%)
   Mounika Grace Akula               1 (0.1%)
   Jonathan Gray                     1 (0.1%)
   Adam Heinrich                     1 (0.1%)
   Leif Lindholm                     1 (0.1%)
   Tomas Novotny                     1 (0.1%)
   Bernhard Messerklinger            1 (0.1%)
   Hauke Mehrtens                    1 (0.1%)
   Andreas Dannenberg                1 (0.1%)
   Vladimir Vid                      1 (0.1%)
   Marty E. Plummer                  1 (0.1%)
   Mark Kettenis                     1 (0.1%)
   Jorge Ramire-Ortiz                1 (0.1%)
   Jorge Ramirez-Ortiz               1 (0.1%)
   Jerome Brunet                     1 (0.1%)
   Mario Six                         1 (0.1%)
   Greg Czerniak                     1 (0.1%)
   Angelo Dureghello                 1 (0.1%)
   Robert P. J. Day                  1 (0.1%)
   Sean Nyekjær                      1 (0.1%)
   Carlo Caione                      1 (0.1%)
   Aditya Prayoga                    1 (0.1%)
   Andreas Pretzsch                  1 (0.1%)
   Thomas RIENOESSL                  1 (0.1%)
   Anton Gerasimov                   1 (0.1%)
   Luca Ceresoli                     1 (0.1%)
   T Karthik Reddy                   1 (0.1%)
   Michael Tretter                   1 (0.1%)
   Quentin Schulz                    1 (0.1%)
   Aleksandr Aleksandrov             1 (0.1%)
   Frank Wunderlich                  1 (0.1%)
   Patrick Wildt                     1 (0.1%)
   Florinel Iordache                 1 (0.1%)
   Álvaro Fernández Rojas            1 (0.1%)
   Josef Lusticky                    1 (0.1%)
   Patrice Chotard                   1 (0.1%)
   Tomasz Gorochowik                 1 (0.1%)
   Sekhar Nori                       1 (0.1%)
   Christian GMEINER                 1 (0.1%)
   Yan Liu                           1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       10585 (11.8%)
   David Wu                          9172 (10.2%)
   Vignesh R                         6854 (7.7%)
   Neil Armstrong                    5440 (6.1%)
   Horatiu Vultur                    5136 (5.7%)
   Jagan Teki                        4056 (4.5%)
   AKASHI Takahiro                   3838 (4.3%)
   Abel Vesa                         2983 (3.3%)
   Heinrich Schuchardt               1925 (2.2%)
   Weijie Gao                        1757 (2.0%)
   Chris Packham                     1670 (1.9%)
   Enric Balletbo i Serra            1647 (1.8%)
   Pankaj Bansal                     1588 (1.8%)
   Anup Patel                        1477 (1.6%)
   Michal Simek                      1438 (1.6%)
   Simon Goldschmidt                 1408 (1.6%)
   Patrick Delaunay                  1337 (1.5%)
   Lars Povlsen                      1304 (1.5%)
   Adam Ford                         1260 (1.4%)
   Priyanka Jain                     1244 (1.4%)
   Leif Lindholm                     1183 (1.3%)
   Breno Matheus Lima                1047 (1.2%)
   Martyn Welch                      1039 (1.2%)
   Fabio Estevam                     943 (1.1%)
   Marek Vasut                       940 (1.0%)
   Gregory CLEMENT                   916 (1.0%)
   Heiko Schocher                    908 (1.0%)
   Siva Durga Prasad Paladugu        778 (0.9%)
   Rajesh Bhagat                     769 (0.9%)
   Marek Behún                       683 (0.8%)
   Stefan Roese                      681 (0.8%)
   Tim Harvey                        671 (0.7%)
   Pankit Garg                       650 (0.7%)
   Shawn Guo                         573 (0.6%)
   Boris Brezillon                   563 (0.6%)
   Bryan O'Donoghue                  538 (0.6%)
   Hannes Schmelzer                  501 (0.6%)
   Jorge Ramirez-Ortiz               480 (0.5%)
   Tom Rini                          479 (0.5%)
   Lukasz Majewski                   440 (0.5%)
   Peng Fan                          384 (0.4%)
   Philippe Reynes                   359 (0.4%)
   Atish Patra                       350 (0.4%)
   Stefan Agner                      321 (0.4%)
   Vladimir Vid                      313 (0.3%)
   Marty E. Plummer                  304 (0.3%)
   Tien Fong Chee                    299 (0.3%)
   Aleksandr Aleksandrov             299 (0.3%)
   Andrew F. Davis                   298 (0.3%)
   Chen-Yu Tsai                      286 (0.3%)
   Marcin Niestroj                   274 (0.3%)
   Peter Robinson                    253 (0.3%)
   Eugeniy Paltsev                   251 (0.3%)
   Krzysztof Kozlowski               217 (0.2%)
   Daniel Schwierzeck                212 (0.2%)
   Philipp Tomsich                   197 (0.2%)
   Peng Ma                           195 (0.2%)
   Masahiro Yamada                   158 (0.2%)
   Ramon Fried                       146 (0.2%)
   Faiz Abbas                        146 (0.2%)
   Roman Kapl                        140 (0.2%)
   Andre Przywara                    132 (0.1%)
   Andy Shevchenko                   130 (0.1%)
   Jerome Brunet                     123 (0.1%)
   Hiroyuki Yokoyama                 122 (0.1%)
   Manivannan Sadhasivam             121 (0.1%)
   Derald D. Woods                   119 (0.1%)
   Meenakshi Aggarwal                112 (0.1%)
   Jean-Jacques Hiblot               109 (0.1%)
   Eugeniu Rosca                     102 (0.1%)
   Mian Yousaf Kaukab                100 (0.1%)
   Alexander Graf                    95 (0.1%)
   Lukas Auer                        90 (0.1%)
   Baruch Siach                      87 (0.1%)
   Maxime Jourdan                    85 (0.1%)
   Patrick Bruenn                    74 (0.1%)
   Gerard Salvatella                 74 (0.1%)
   Udit Agarwal                      71 (0.1%)
   Ezequiel Garcia                   65 (0.1%)
   Jordan Hand                       65 (0.1%)
   Álvaro Fernández Rojas            62 (0.1%)
   Alison Wang                       58 (0.1%)
   Bernhard Messerklinger            55 (0.1%)
   Lokesh Vutla                      54 (0.1%)
   Ye Li                             53 (0.1%)
   Ismael Luceno Cortes              52 (0.1%)
   Bin Meng                          44 (0.0%)
   Angelo Dureghello                 43 (0.0%)
   Valentin-catalin Neacsu           39 (0.0%)
   Jernej Skrabec                    37 (0.0%)
   Xiaowei Bao                       36 (0.0%)
   Matthias Brugger                  36 (0.0%)
   Alexey Brodkin                    31 (0.0%)
   Priit Laes                        31 (0.0%)
   Ley Foon Tan                      30 (0.0%)
   Carlo Caione                      29 (0.0%)
   Eugen Hristev                     28 (0.0%)
   Jonathan Hunter                   28 (0.0%)
   Mike Looijmans                    27 (0.0%)
   Laurentiu Tudor                   26 (0.0%)
   Florinel Iordache                 25 (0.0%)
   Max Krummenacher                  24 (0.0%)
   Shyam Saini                       23 (0.0%)
   Frank Wunderlich                  23 (0.0%)
   York Sun                          22 (0.0%)
   Sam Protsenko                     21 (0.0%)
   T Karthik Reddy                   20 (0.0%)
   Felix Brack                       19 (0.0%)
   Andreas Dannenberg                18 (0.0%)
   Rick Chen                         15 (0.0%)
   默默                                15 (0.0%)
   Stefan Mavrodiev                  15 (0.0%)
   Shubhrajyoti Datta                15 (0.0%)
   Aditya Prayoga                    15 (0.0%)
   Jorge Ramire-Ortiz                14 (0.0%)
   Marcel Ziswiler                   13 (0.0%)
   Andrejs Cainikovs                 13 (0.0%)
   Fabien Parent                     13 (0.0%)
   Keerthy                           12 (0.0%)
   Michael Tretter                   12 (0.0%)
   Christian GMEINER                 12 (0.0%)
   Luis Araneda                      11 (0.0%)
   Bin Liu                           11 (0.0%)
   Ang, Chee Hong                    11 (0.0%)
   Igor Opaniuk                      9 (0.0%)
   Joakim Tjernlund                  8 (0.0%)
   Wen He                            8 (0.0%)
   Tomasz Gorochowik                 8 (0.0%)
   Stefan Theil                      7 (0.0%)
   Sébastien Szymanski               7 (0.0%)
   Hou Zhiqiang                      6 (0.0%)
   Soeren Moch                       6 (0.0%)
   Yunfeng Ding                      5 (0.0%)
   Jonathan Gray                     5 (0.0%)
   Patrice Chotard                   5 (0.0%)
   Kurban Mallachiev                 4 (0.0%)
   Tristan Bastian                   3 (0.0%)
   Minkyu Kang                       3 (0.0%)
   Stephen Warren                    3 (0.0%)
   Dalon Westergreen                 3 (0.0%)
   Ioana Ciocoi Radulescu            3 (0.0%)
   Mario Six                         3 (0.0%)
   Sean Nyekjær                      3 (0.0%)
   Quentin Schulz                    3 (0.0%)
   Vagrant Cascadian                 2 (0.0%)
   Olaf Mandel                       2 (0.0%)
   Thomas Petazzoni                  2 (0.0%)
   Michael Trimarchi                 2 (0.0%)
   BOUGH CHEN                        2 (0.0%)
   Sean Nyekjaer                     2 (0.0%)
   Pramod Kumar                      2 (0.0%)
   Dinh Nguyen                       2 (0.0%)
   Gervais, Francois                 2 (0.0%)
   Vabhav Sharma                     2 (0.0%)
   Mounika Grace Akula               2 (0.0%)
   Hauke Mehrtens                    2 (0.0%)
   Andreas Pretzsch                  2 (0.0%)
   Thomas RIENOESSL                  2 (0.0%)
   Sekhar Nori                       2 (0.0%)
   Chris Spencer                     1 (0.0%)
   Kever Yang                        1 (0.0%)
   Prabhakar Kushwaha                1 (0.0%)
   Anand Moon                        1 (0.0%)
   Ondrej Jirman                     1 (0.0%)
   Alexander Dahl                    1 (0.0%)
   David Rivshin                     1 (0.0%)
   Julien Béraud                     1 (0.0%)
   Jan Kiszka                        1 (0.0%)
   Zhao Qiang                        1 (0.0%)
   Yinbo Zhu                         1 (0.0%)
   Venkatesh Yadav Abbarapu          1 (0.0%)
   Amit Kucheria                     1 (0.0%)
   Adam Heinrich                     1 (0.0%)
   Tomas Novotny                     1 (0.0%)
   Mark Kettenis                     1 (0.0%)
   Greg Czerniak                     1 (0.0%)
   Robert P. J. Day                  1 (0.0%)
   Anton Gerasimov                   1 (0.0%)
   Luca Ceresoli                     1 (0.0%)
   Patrick Wildt                     1 (0.0%)
   Josef Lusticky                    1 (0.0%)
   Yan Liu                           1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   David Wu                          4036 (18.1%)
   Michal Simek                      461 (2.1%)
   Eugeniy Paltsev                   251 (1.1%)
   Peter Robinson                    187 (0.8%)
   Tom Rini                          148 (0.7%)
   Eugeniu Rosca                     100 (0.4%)
   Tien Fong Chee                    39 (0.2%)
   Shubhrajyoti Datta                15 (0.1%)
   Baruch Siach                      14 (0.1%)
   Derald D. Woods                   13 (0.1%)
   Jean-Jacques Hiblot               11 (0.0%)
   Alexey Brodkin                    10 (0.0%)
   Keerthy                           10 (0.0%)
   Eugen Hristev                     9 (0.0%)
   Daniel Schwierzeck                8 (0.0%)
   Andreas Dannenberg                8 (0.0%)
   Lukas Auer                        7 (0.0%)
   Ang, Chee Hong                    5 (0.0%)
   Patrice Chotard                   5 (0.0%)
   Minkyu Kang                       2 (0.0%)
   Vabhav Sharma                     2 (0.0%)
   Quentin Schulz                    1 (0.0%)
   BOUGH CHEN                        1 (0.0%)
   Hauke Mehrtens                    1 (0.0%)
   Yinbo Zhu                         1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Alexander Graf                    49 (19.4%)
   Stefan Roese                      29 (11.5%)
   Michal Simek                      28 (11.1%)
   Minkyu Kang                       16 (6.3%)
   Tom Warren                        11 (4.4%)
   Tom Rini                          9 (3.6%)
   Marek Vasut                       9 (3.6%)
   Neil Armstrong                    9 (3.6%)
   Prabhakar Kushwaha                7 (2.8%)
   Jagan Teki                        7 (2.8%)
   Mark Lee                          5 (2.0%)
   Atish Patra                       5 (2.0%)
   Pankit Garg                       5 (2.0%)
   Anup Patel                        5 (2.0%)
   Sriram Dash                       4 (1.6%)
   Maxime Jourdan                    4 (1.6%)
   Otavio Salvador                   3 (1.2%)
   Andre Przywara                    3 (1.2%)
   Rajesh Bhagat                     3 (1.2%)
   Wasim Khan                        2 (0.8%)
   Wolfram Sang                      2 (0.8%)
   Ruchika Gupta                     2 (0.8%)
   Bin Meng                          2 (0.8%)
   Matthias Brugger                  2 (0.8%)
   Jorge Ramire-Ortiz                2 (0.8%)
   Peng Ma                           2 (0.8%)
   Alexey Brodkin                    1 (0.4%)
   Vabhav Sharma                     1 (0.4%)
   Yinbo Zhu                         1 (0.4%)
   Shengzhou Liu                     1 (0.4%)
   Paul Walmsley                     1 (0.4%)
   Philippe Schenker                 1 (0.4%)
   Yogesh Gaur                       1 (0.4%)
   Chuanhua Han                      1 (0.4%)
   Udit Kumar                        1 (0.4%)
   Olof Johansson                    1 (0.4%)
   Rob Clark                         1 (0.4%)
   Lionel Debieve                    1 (0.4%)
   Kevin Hilman                      1 (0.4%)
   Nitin Garg                        1 (0.4%)
   Wojciech Tatarski                 1 (0.4%)
   Ryder Lee                         1 (0.4%)
   Michael Trimarchi                 1 (0.4%)
   Marcel Ziswiler                   1 (0.4%)
   Álvaro Fernández Rojas            1 (0.4%)
   Stefan Agner                      1 (0.4%)
   Udit Agarwal                      1 (0.4%)
   Meenakshi Aggarwal                1 (0.4%)
   Siva Durga Prasad Paladugu        1 (0.4%)
   Heinrich Schuchardt               1 (0.4%)
   Vignesh R                         1 (0.4%)
   AKASHI Takahiro                   1 (0.4%)
   Simon Glass                       1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       87 (14.1%)
   Bin Meng                          58 (9.4%)
   Tom Rini                          42 (6.8%)
   Philipp Tomsich                   42 (6.8%)
   Prabhakar Kushwaha                41 (6.7%)
   Jagan Teki                        34 (5.5%)
   Lukasz Majewski                   27 (4.4%)
   Heiko Schocher                    25 (4.1%)
   Stefan Roese                      23 (3.7%)
   Fabio Estevam                     23 (3.7%)
   York Sun                          21 (3.4%)
   Peng Fan                          20 (3.2%)
   Alexander Graf                    17 (2.8%)
   Daniel Schwierzeck                16 (2.6%)
   Heinrich Schuchardt               15 (2.4%)
   Anatolij Gustschin                15 (2.4%)
   Andre Przywara                    13 (2.1%)
   Kever Yang                        13 (2.1%)
   Lukas Auer                        10 (1.6%)
   Lokesh Vutla                      10 (1.6%)
   Marek Vasut                       9 (1.5%)
   Andy Shevchenko                   6 (1.0%)
   Simon Goldschmidt                 6 (1.0%)
   Minkyu Kang                       5 (0.8%)
   Stefano Babic                     3 (0.5%)
   Horia Geanta                      3 (0.5%)
   Bharat Bhushan                    3 (0.5%)
   Otavio Salvador                   2 (0.3%)
   Stefan Agner                      2 (0.3%)
   Ashish Kumar                      2 (0.3%)
   Utkarsh Gupta                     2 (0.3%)
   Miquel Raynal                     2 (0.3%)
   Stephen Warren                    2 (0.3%)
   Ye Li                             2 (0.3%)
   Masahiro Yamada                   2 (0.3%)
   Bryan O'Donoghue                  2 (0.3%)
   Chris Packham                     2 (0.3%)
   Michal Simek                      1 (0.2%)
   Matthias Brugger                  1 (0.2%)
   Marcel Ziswiler                   1 (0.2%)
   AKASHI Takahiro                   1 (0.2%)
   Mario Six                         1 (0.2%)
   Dinh Nguyen                       1 (0.2%)
   Fugang Duan                       1 (0.2%)
   Christian Gmeiner                 1 (0.2%)
   Liviu Dudau                       1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jagan Teki                        17 (15.3%)
   Stefan Roese                      13 (11.7%)
   Simon Goldschmidt                 13 (11.7%)
   Horatiu Vultur                    12 (10.8%)
   Anand Moon                        9 (8.1%)
   Bin Meng                          5 (4.5%)
   Fabio Estevam                     4 (3.6%)
   Simon Glass                       3 (2.7%)
   Michal Simek                      3 (2.7%)
   Heinrich Schuchardt               2 (1.8%)
   Vignesh R                         2 (1.8%)
   Derald D. Woods                   2 (1.8%)
   Jörg Krause                       2 (1.8%)
   Ezequiel Garcia                   2 (1.8%)
   Shyam Saini                       2 (1.8%)
   Tim Harvey                        2 (1.8%)
   Lukasz Majewski                   1 (0.9%)
   Daniel Schwierzeck                1 (0.9%)
   Stephen Warren                    1 (0.9%)
   Mario Six                         1 (0.9%)
   Vagrant Cascadian                 1 (0.9%)
   Fabio Berton                      1 (0.9%)
   Leigh Brown                       1 (0.9%)
   Marcelo Macedo                    1 (0.9%)
   Martin Fuzzey                     1 (0.9%)
   Ferry Toth                        1 (0.9%)
   Vasily Khoruzhick                 1 (0.9%)
   Dennis Gilmore                    1 (0.9%)
   Chris Spencer                     1 (0.9%)
   Andrejs Cainikovs                 1 (0.9%)
   Stefan Mavrodiev                  1 (0.9%)
   Frank Wunderlich                  1 (0.9%)
   Breno Matheus Lima                1 (0.9%)
   Adam Ford                         1 (0.9%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Vignesh R                         55 (49.5%)
   Krzysztof Kozlowski               9 (8.1%)
   Adam Ford                         6 (5.4%)
   Fabio Estevam                     4 (3.6%)
   Lukas Auer                        4 (3.6%)
   Jagan Teki                        3 (2.7%)
   Simon Goldschmidt                 3 (2.7%)
   Tom Rini                          3 (2.7%)
   Baruch Siach                      3 (2.7%)
   Daniel Schwierzeck                2 (1.8%)
   David Wu                          2 (1.8%)
   Jean-Jacques Hiblot               2 (1.8%)
   Hannes Schmelzer                  2 (1.8%)
   Abel Vesa                         2 (1.8%)
   Stefan Roese                      1 (0.9%)
   Bin Meng                          1 (0.9%)
   Simon Glass                       1 (0.9%)
   Alexander Graf                    1 (0.9%)
   Andy Shevchenko                   1 (0.9%)
   Chris Packham                     1 (0.9%)
   Michael Trimarchi                 1 (0.9%)
   Joakim Tjernlund                  1 (0.9%)
   Aditya Prayoga                    1 (0.9%)
   Martyn Welch                      1 (0.9%)
   Weijie Gao                        1 (0.9%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Alexander Graf                    3 (14.3%)
   Leigh Brown                       2 (9.5%)
   Lukas Auer                        1 (4.8%)
   Michal Simek                      1 (4.8%)
   Heinrich Schuchardt               1 (4.8%)
   Stephen Warren                    1 (4.8%)
   Vagrant Cascadian                 1 (4.8%)
   Frank Wunderlich                  1 (4.8%)
   Breno Matheus Lima                1 (4.8%)
   Kever Yang                        1 (4.8%)
   Otavio Salvador                   1 (4.8%)
   Siva Durga Prasad Paladugu        1 (4.8%)
   Pablo Sebastián Greco             1 (4.8%)
   Влад Мао                          1 (4.8%)
   Ofer Heifetz                      1 (4.8%)
   Sven Auhagen                      1 (4.8%)
   Daniel Evans                      1 (4.8%)
   Richard Purdie                    1 (4.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Alexander Graf                    3 (14.3%)
   Chris Packham                     3 (14.3%)
   Heinrich Schuchardt               2 (9.5%)
   Fabio Estevam                     2 (9.5%)
   Simon Goldschmidt                 2 (9.5%)
   Baruch Siach                      2 (9.5%)
   Masahiro Yamada                   2 (9.5%)
   Jagan Teki                        1 (4.8%)
   Bin Meng                          1 (4.8%)
   Martyn Welch                      1 (4.8%)
   Derald D. Woods                   1 (4.8%)
   Bryan O'Donoghue                  1 (4.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         477 (40.0%)
   NXP                               107 (9.0%)
   Google, Inc.                      90 (7.5%)
   DENX Software Engineering         82 (6.9%)
   AMD                               64 (5.4%)
   Texas Instruments                 60 (5.0%)
   Amarula Solutions                 49 (4.1%)
   Linaro                            40 (3.4%)
   Pepperl+Fuchs                     32 (2.7%)
   Intel                             20 (1.7%)
   ST Microelectronics               19 (1.6%)
   BayLibre SAS                      18 (1.5%)
   Konsulko Group                    18 (1.5%)
   Toradex                           18 (1.5%)
   Xilinx                            18 (1.5%)
   Collabora Ltd.                    16 (1.3%)
   SUSE                              15 (1.3%)
   Rockchip                          11 (0.9%)
   Renesas Electronics               9 (0.8%)
   Socionext Inc.                    8 (0.7%)
   ARM                               6 (0.5%)
   Bootlin                           6 (0.5%)
   NVidia                            3 (0.3%)
   Debian.org                        2 (0.2%)
   Samsung                           2 (0.2%)
   Guntermann & Drunck               1 (0.1%)
   Pengutronix                       1 (0.1%)
   Siemens                           1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         24100 (26.9%)
   Google, Inc.                      10585 (11.8%)
   NXP                               9333 (10.4%)
   Rockchip                          9173 (10.2%)
   Texas Instruments                 7505 (8.4%)
   Linaro                            6275 (7.0%)
   BayLibre SAS                      5704 (6.4%)
   Amarula Solutions                 4081 (4.6%)
   DENX Software Engineering         2969 (3.3%)
   Collabora Ltd.                    1891 (2.1%)
   AMD                               1438 (1.6%)
   Pepperl+Fuchs                     1408 (1.6%)
   ST Microelectronics               1342 (1.5%)
   Bootlin                           921 (1.0%)
   Xilinx                            816 (0.9%)
   Konsulko Group                    479 (0.5%)
   Intel                             473 (0.5%)
   Toradex                           432 (0.5%)
   Socionext Inc.                    158 (0.2%)
   SUSE                              136 (0.2%)
   ARM                               132 (0.1%)
   Renesas Electronics               122 (0.1%)
   NVidia                            31 (0.0%)
   Pengutronix                       12 (0.0%)
   Samsung                           3 (0.0%)
   Guntermann & Drunck               3 (0.0%)
   Debian.org                        2 (0.0%)
   Siemens                           1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   SUSE                              51 (20.2%)
   (Unknown)                         35 (13.9%)
   NXP                               34 (13.5%)
   DENX Software Engineering         29 (11.5%)
   Xilinx                            29 (11.5%)
   BayLibre SAS                      16 (6.3%)
   Samsung                           16 (6.3%)
   NVidia                            11 (4.4%)
   Konsulko Group                    9 (3.6%)
   Amarula Solutions                 8 (3.2%)
   Toradex                           3 (1.2%)
   ARM                               3 (1.2%)
   O.S. Systems                      3 (1.2%)
   Google, Inc.                      1 (0.4%)
   Texas Instruments                 1 (0.4%)
   Linaro                            1 (0.4%)
   ST Microelectronics               1 (0.4%)
   IBM                               1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         86 (47.0%)
   NXP                               27 (14.8%)
   Texas Instruments                 10 (5.5%)
   Linaro                            7 (3.8%)
   BayLibre SAS                      6 (3.3%)
   Xilinx                            5 (2.7%)
   Intel                             5 (2.7%)
   DENX Software Engineering         4 (2.2%)
   Toradex                           4 (2.2%)
   Amarula Solutions                 3 (1.6%)
   Collabora Ltd.                    3 (1.6%)
   Bootlin                           3 (1.6%)
   SUSE                              2 (1.1%)
   NVidia                            2 (1.1%)
   ST Microelectronics               2 (1.1%)
   Rockchip                          2 (1.1%)
   Samsung                           1 (0.5%)
   Konsulko Group                    1 (0.5%)
   ARM                               1 (0.5%)
   Google, Inc.                      1 (0.5%)
   AMD                               1 (0.5%)
   Pepperl+Fuchs                     1 (0.5%)
   Socionext Inc.                    1 (0.5%)
   Renesas Electronics               1 (0.5%)
   Pengutronix                       1 (0.5%)
   Guntermann & Drunck               1 (0.5%)
   Debian.org                        1 (0.5%)
   Siemens                           1 (0.5%)
   ================================  =====
