:orphan:

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

* Processed 2047 changesets from 215 developers

* 29 employers found

* A total of 169802 lines added, 64752 removed (delta 105050)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Heinrich Schuchardt               166 (8.1%)
   Marek Vasut                       138 (6.7%)
   Mario Six                         103 (5.0%)
   Patrick Delaunay                  90 (4.4%)
   Simon Glass                       74 (3.6%)
   Jagan Teki                        69 (3.4%)
   Marcel Ziswiler                   69 (3.4%)
   Patrice Chotard                   60 (2.9%)
   Kever Yang                        52 (2.5%)
   Stefan Roese                      49 (2.4%)
   Thierry Reding                    49 (2.4%)
   Philippe Reynes                   43 (2.1%)
   Lukasz Majewski                   42 (2.1%)
   Simon Goldschmidt                 40 (2.0%)
   AKASHI Takahiro                   31 (1.5%)
   Chris Packham                     29 (1.4%)
   Neil Armstrong                    26 (1.3%)
   Peng Fan                          26 (1.3%)
   Igor Opaniuk                      23 (1.1%)
   Adam Ford                         23 (1.1%)
   Marek Behún                       23 (1.1%)
   Horatiu Vultur                    23 (1.1%)
   Anatolij Gustschin                22 (1.1%)
   Tom Rini                          21 (1.0%)
   Fabio Estevam                     20 (1.0%)
   Faiz Abbas                        18 (0.9%)
   Hou Zhiqiang                      16 (0.8%)
   Bartosz Golaszewski               16 (0.8%)
   Eugeniu Rosca                     16 (0.8%)
   Tien Fong Chee                    15 (0.7%)
   Ley Foon Tan                      14 (0.7%)
   Stefan Agner                      14 (0.7%)
   Angelo Dureghello                 13 (0.6%)
   Jean-Jacques Hiblot               12 (0.6%)
   Lukas Auer                        12 (0.6%)
   Rick Chen                         12 (0.6%)
   Heiko Schocher                    11 (0.5%)
   Philipp Tomsich                   11 (0.5%)
   Max Krummenacher                  11 (0.5%)
   Bin Meng                          10 (0.5%)
   Michal Simek                      10 (0.5%)
   David Wu                          10 (0.5%)
   Baruch Siach                      10 (0.5%)
   Andre Przywara                    10 (0.5%)
   Soeren Moch                       10 (0.5%)
   Ian Ray                           10 (0.5%)
   Masahiro Yamada                   9 (0.4%)
   Yinbo Zhu                         9 (0.4%)
   Peng Ma                           9 (0.4%)
   Hannes Schmelzer                  9 (0.4%)
   Andrew F. Davis                   9 (0.4%)
   Siva Durga Prasad Paladugu        9 (0.4%)
   Murali Karicheri                  9 (0.4%)
   Sjoerd Simons                     8 (0.4%)
   Eugen Hristev                     8 (0.4%)
   Jun Nie                           8 (0.4%)
   Fabien Parent                     8 (0.4%)
   Lokesh Vutla                      8 (0.4%)
   Trent Piepho                      7 (0.3%)
   Christoph Muellner                7 (0.3%)
   Vignesh Raghavendra               7 (0.3%)
   Shawn Guo                         6 (0.3%)
   Andy Shevchenko                   6 (0.3%)
   Alex Kiernan                      6 (0.3%)
   Steffen Dirkwinkel                6 (0.3%)
   Vagrant Cascadian                 6 (0.3%)
   Brad Griffis                      6 (0.3%)
   Dinh Nguyen                       6 (0.3%)
   Pierre Bourdon                    6 (0.3%)
   Michael Walle                     6 (0.3%)
   Rosy Song                         6 (0.3%)
   Weijie Gao                        5 (0.2%)
   Ye Li                             5 (0.2%)
   Mohammad Rasim                    5 (0.2%)
   Guillaume La Roque                5 (0.2%)
   Christophe Roullier               5 (0.2%)
   Grygorii Strashko                 5 (0.2%)
   Trevor Woerner                    5 (0.2%)
   Andreas Dannenberg                5 (0.2%)
   Joris Offouga                     5 (0.2%)
   Gerard Salvatella                 5 (0.2%)
   Jerome Brunet                     5 (0.2%)
   Pierre-Jean Texier                4 (0.2%)
   Breno Matheus Lima                4 (0.2%)
   Mian Yousaf Kaukab                4 (0.2%)
   Yuantian Tang                     4 (0.2%)
   Christian Gmeiner                 4 (0.2%)
   Christophe Kerello                4 (0.2%)
   Carlo Caione                      4 (0.2%)
   Ang, Chee Hong                    4 (0.2%)
   Ismael Luceno Cortes              4 (0.2%)
   Luca Ceresoli                     4 (0.2%)
   Bhuvanchandra DV                  4 (0.2%)
   Claudiu Beznea                    4 (0.2%)
   Matwey V. Kornilov                3 (0.1%)
   Pankit Garg                       3 (0.1%)
   Wasim Khan                        3 (0.1%)
   Maciej Pijanowski                 3 (0.1%)
   Sam Protsenko                     3 (0.1%)
   Parthiban Nallathambi             3 (0.1%)
   Manivannan Sadhasivam             3 (0.1%)
   Qiang Zhao                        3 (0.1%)
   Clément Péron                     3 (0.1%)
   Ibai Erkiaga                      3 (0.1%)
   Krzysztof Kozlowski               3 (0.1%)
   James Byrne                       3 (0.1%)
   Robert P. J. Day                  3 (0.1%)
   Paul Kocialkowski                 3 (0.1%)
   Gregory CLEMENT                   3 (0.1%)
   Eugeniy Paltsev                   3 (0.1%)
   Mark Kettenis                     2 (0.1%)
   Frieder Schrempf                  2 (0.1%)
   Stephen Warren                    2 (0.1%)
   Udit Agarwal                      2 (0.1%)
   Alex Marginean                    2 (0.1%)
   Ashish Kumar                      2 (0.1%)
   Yangbo Lu                         2 (0.1%)
   Pankaj Bansal                     2 (0.1%)
   Ramon Fried                       2 (0.1%)
   Maxime Jourdan                    2 (0.1%)
   Christoph Fritz                   2 (0.1%)
   Stefano Babic                     2 (0.1%)
   Sébastien Szymanski               2 (0.1%)
   Sekhar Nori                       2 (0.1%)
   Nicolas Le Bayon                  2 (0.1%)
   Rajat Srivastava                  2 (0.1%)
   Keerthy                           2 (0.1%)
   Stefan Mavrodiev                  2 (0.1%)
   Dirk Eibach                       2 (0.1%)
   Jonas Smedegaard                  2 (0.1%)
   Leo Ruan                          2 (0.1%)
   Fabrice Fontaine                  2 (0.1%)
   David Abdurachmanov               2 (0.1%)
   Chen-Yu Tsai                      2 (0.1%)
   Chris Brandt                      2 (0.1%)
   Peter Ujfalusi                    2 (0.1%)
   Urja Rannikko                     2 (0.1%)
   Miquel Raynal                     2 (0.1%)
   Ludwig Zenz                       2 (0.1%)
   Razvan Stefanescu                 2 (0.1%)
   T Karthik Reddy                   2 (0.1%)
   Sanchayan Maity                   2 (0.1%)
   Joonas Aijala                     2 (0.1%)
   Franklin S Cooper Jr              2 (0.1%)
   Eran Matityahu                    2 (0.1%)
   Marc Dietrich                     1 (0.0%)
   Andy Yan                          1 (0.0%)
   Kunihiko Hayashi                  1 (0.0%)
   Philippe Schenker                 1 (0.0%)
   Felix Brack                       1 (0.0%)
   Joshua Watt                       1 (0.0%)
   Prabhakar Kushwaha                1 (0.0%)
   Robert Hancock                    1 (0.0%)
   Moses Christopher                 1 (0.0%)
   Oleksandr Zhadan                  1 (0.0%)
   Patrick Doyle                     1 (0.0%)
   Shannon Barber                    1 (0.0%)
   Joel Stanley                      1 (0.0%)
   Vabhav Sharma                     1 (0.0%)
   Meenakshi Aggarwal                1 (0.0%)
   Xiaowei Bao                       1 (0.0%)
   Ran Wang                          1 (0.0%)
   Berkus Decker                     1 (0.0%)
   akaher                            1 (0.0%)
   Ezequiel Garcia                   1 (0.0%)
   Matti Vaittinen                   1 (0.0%)
   Holger Brunck                     1 (0.0%)
   David Lechner                     1 (0.0%)
   Padmarao Begari                   1 (0.0%)
   Karsten Merker                    1 (0.0%)
   Dennis Gilmore                    1 (0.0%)
   Vladimir Oltean                   1 (0.0%)
   Thomas Fitzsimmons                1 (0.0%)
   Tudor Ambarus                     1 (0.0%)
   Vinitha V Pillai                  1 (0.0%)
   Florin Chiculita                  1 (0.0%)
   Chuanhua Han                      1 (0.0%)
   Kuldeep Singh                     1 (0.0%)
   Emmanuel Vadot                    1 (0.0%)
   Tomas Melin                       1 (0.0%)
   Alex Deymo                        1 (0.0%)
   Luca Boccassi                     1 (0.0%)
   Wolfgang Grandegger               1 (0.0%)
   Atish Patra                       1 (0.0%)
   Anup Patel                        1 (0.0%)
   Luka Kovacic                      1 (0.0%)
   Valentin-catalin Neacsu           1 (0.0%)
   Philip Molloy                     1 (0.0%)
   Paul Barker                       1 (0.0%)
   Young Xiao                        1 (0.0%)
   Björn Stenberg                    1 (0.0%)
   Filip Brozovic                    1 (0.0%)
   Lars Povlsen                      1 (0.0%)
   Boris Brezillon                   1 (0.0%)
   Marc Gonzalez                     1 (0.0%)
   Brian Norris                      1 (0.0%)
   Fabrice Gasnier                   1 (0.0%)
   Ondrej Jirman                     1 (0.0%)
   Uri Mashiach                      1 (0.0%)
   Dominik Sliwa                     1 (0.0%)
   Ilias Apalodimas                  1 (0.0%)
   Patrick Wildt                     1 (0.0%)
   Álvaro Fernández Rojas            1 (0.0%)
   Martyn Welch                      1 (0.0%)
   Jared Bents                       1 (0.0%)
   Bernhard Messerklinger            1 (0.0%)
   Leigh Brown                       1 (0.0%)
   Jordan Hand                       1 (0.0%)
   Julien Masson                     1 (0.0%)
   Michael Trimarchi                 1 (0.0%)
   Benjamin Lim                      1 (0.0%)
   Anssi Hannula                     1 (0.0%)
   Gero Schumacher                   1 (0.0%)
   Ilko Iliev                        1 (0.0%)
   Alexander Dahl                    1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Mario Six                         29373 (14.4%)
   Marek Vasut                       28712 (14.1%)
   Marek Behún                       8774 (4.3%)
   Bartosz Golaszewski               8476 (4.2%)
   Patrick Delaunay                  7620 (3.7%)
   Patrice Chotard                   7290 (3.6%)
   Heinrich Schuchardt               7036 (3.5%)
   Jagan Teki                        6832 (3.4%)
   Marcel Ziswiler                   5887 (2.9%)
   Peng Fan                          4631 (2.3%)
   Horatiu Vultur                    4529 (2.2%)
   Tom Rini                          4492 (2.2%)
   Philippe Reynes                   4413 (2.2%)
   Grygorii Strashko                 4063 (2.0%)
   Simon Glass                       4046 (2.0%)
   Neil Armstrong                    3705 (1.8%)
   Angelo Dureghello                 2716 (1.3%)
   Vignesh Raghavendra               2321 (1.1%)
   Chris Packham                     2317 (1.1%)
   Jerome Brunet                     2192 (1.1%)
   Hou Zhiqiang                      2090 (1.0%)
   Thierry Reding                    2002 (1.0%)
   Rosy Song                         1984 (1.0%)
   Yuantian Tang                     1935 (1.0%)
   Kever Yang                        1789 (0.9%)
   Fabien Parent                     1784 (0.9%)
   Uri Mashiach                      1685 (0.8%)
   Stefan Roese                      1660 (0.8%)
   Wolfgang Grandegger               1632 (0.8%)
   Lukasz Majewski                   1631 (0.8%)
   Christophe Kerello                1601 (0.8%)
   Parthiban Nallathambi             1427 (0.7%)
   Chris Brandt                      1384 (0.7%)
   Simon Goldschmidt                 1374 (0.7%)
   Peng Ma                           1170 (0.6%)
   Sjoerd Simons                     1161 (0.6%)
   David Wu                          955 (0.5%)
   Igor Opaniuk                      924 (0.5%)
   Boris Brezillon                   883 (0.4%)
   Joris Offouga                     852 (0.4%)
   AKASHI Takahiro                   822 (0.4%)
   Anatolij Gustschin                796 (0.4%)
   Tien Fong Chee                    769 (0.4%)
   Shawn Guo                         740 (0.4%)
   Mohammad Rasim                    735 (0.4%)
   Andrew F. Davis                   732 (0.4%)
   Vabhav Sharma                     730 (0.4%)
   Faiz Abbas                        675 (0.3%)
   Adam Ford                         669 (0.3%)
   Soeren Moch                       655 (0.3%)
   Manivannan Sadhasivam             639 (0.3%)
   Eugen Hristev                     569 (0.3%)
   Dirk Eibach                       566 (0.3%)
   Lukas Auer                        510 (0.3%)
   Lokesh Vutla                      503 (0.2%)
   Fabio Estevam                     487 (0.2%)
   Christophe Roullier               481 (0.2%)
   Hannes Schmelzer                  479 (0.2%)
   Jean-Jacques Hiblot               474 (0.2%)
   Matwey V. Kornilov                455 (0.2%)
   Ley Foon Tan                      453 (0.2%)
   Rick Chen                         433 (0.2%)
   Oleksandr Zhadan                  379 (0.2%)
   Vagrant Cascadian                 373 (0.2%)
   Luka Kovacic                      364 (0.2%)
   Dinh Nguyen                       356 (0.2%)
   Trevor Woerner                    346 (0.2%)
   Jonas Smedegaard                  342 (0.2%)
   Ian Ray                           333 (0.2%)
   Eugeniy Paltsev                   315 (0.2%)
   Heiko Schocher                    300 (0.1%)
   Gerard Salvatella                 292 (0.1%)
   Guillaume La Roque                291 (0.1%)
   Steffen Dirkwinkel                271 (0.1%)
   Masahiro Yamada                   264 (0.1%)
   Alex Deymo                        246 (0.1%)
   Carlo Caione                      234 (0.1%)
   Clément Péron                     215 (0.1%)
   Michael Walle                     214 (0.1%)
   Jun Nie                           213 (0.1%)
   Bin Meng                          193 (0.1%)
   Julien Masson                     176 (0.1%)
   Philipp Tomsich                   173 (0.1%)
   Stephen Warren                    165 (0.1%)
   Christoph Muellner                163 (0.1%)
   Matti Vaittinen                   159 (0.1%)
   Stefan Agner                      154 (0.1%)
   Andre Przywara                    153 (0.1%)
   Qiang Zhao                        147 (0.1%)
   Padmarao Begari                   145 (0.1%)
   Ye Li                             141 (0.1%)
   Murali Karicheri                  135 (0.1%)
   Ilko Iliev                        135 (0.1%)
   James Byrne                       132 (0.1%)
   Eugeniu Rosca                     130 (0.1%)
   Trent Piepho                      126 (0.1%)
   Pierre Bourdon                    124 (0.1%)
   Alex Kiernan                      114 (0.1%)
   Max Krummenacher                  111 (0.1%)
   Franklin S Cooper Jr              100 (0.0%)
   Baruch Siach                      98 (0.0%)
   Michal Simek                      88 (0.0%)
   Thomas Fitzsimmons                84 (0.0%)
   Claudiu Beznea                    83 (0.0%)
   Ang, Chee Hong                    82 (0.0%)
   Kunihiko Hayashi                  76 (0.0%)
   Andy Shevchenko                   75 (0.0%)
   Yinbo Zhu                         68 (0.0%)
   Frieder Schrempf                  64 (0.0%)
   Atish Patra                       63 (0.0%)
   Weijie Gao                        61 (0.0%)
   Brad Griffis                      59 (0.0%)
   Sam Protsenko                     53 (0.0%)
   Andreas Dannenberg                51 (0.0%)
   Wasim Khan                        50 (0.0%)
   Ismael Luceno Cortes              49 (0.0%)
   Leo Ruan                          48 (0.0%)
   Bhuvanchandra DV                  44 (0.0%)
   Paul Kocialkowski                 44 (0.0%)
   Razvan Stefanescu                 39 (0.0%)
   Ashish Kumar                      38 (0.0%)
   Ludwig Zenz                       38 (0.0%)
   Peter Ujfalusi                    36 (0.0%)
   Mark Kettenis                     35 (0.0%)
   Anssi Hannula                     34 (0.0%)
   Yangbo Lu                         33 (0.0%)
   Stefan Mavrodiev                  33 (0.0%)
   Siva Durga Prasad Paladugu        31 (0.0%)
   Pankaj Bansal                     31 (0.0%)
   akaher                            31 (0.0%)
   Maxime Jourdan                    29 (0.0%)
   Joonas Aijala                     29 (0.0%)
   Breno Matheus Lima                27 (0.0%)
   Christian Gmeiner                 27 (0.0%)
   Dominik Sliwa                     26 (0.0%)
   Jared Bents                       26 (0.0%)
   Keerthy                           25 (0.0%)
   Xiaowei Bao                       25 (0.0%)
   Meenakshi Aggarwal                22 (0.0%)
   Shannon Barber                    21 (0.0%)
   Robert P. J. Day                  20 (0.0%)
   Kuldeep Singh                     20 (0.0%)
   Alex Marginean                    19 (0.0%)
   Rajat Srivastava                  18 (0.0%)
   T Karthik Reddy                   18 (0.0%)
   Luca Boccassi                     18 (0.0%)
   Luca Ceresoli                     17 (0.0%)
   Pankit Garg                       17 (0.0%)
   Fabrice Gasnier                   17 (0.0%)
   Pierre-Jean Texier                16 (0.0%)
   Ibai Erkiaga                      15 (0.0%)
   Urja Rannikko                     15 (0.0%)
   Joshua Watt                       15 (0.0%)
   Vinitha V Pillai                  15 (0.0%)
   Jordan Hand                       15 (0.0%)
   Benjamin Lim                      15 (0.0%)
   Mian Yousaf Kaukab                14 (0.0%)
   Ondrej Jirman                     14 (0.0%)
   Eran Matityahu                    13 (0.0%)
   Gregory CLEMENT                   12 (0.0%)
   Brian Norris                      12 (0.0%)
   Krzysztof Kozlowski               10 (0.0%)
   Udit Agarwal                      10 (0.0%)
   David Abdurachmanov               10 (0.0%)
   Philippe Schenker                 10 (0.0%)
   Florin Chiculita                  9 (0.0%)
   Christoph Fritz                   8 (0.0%)
   Stefano Babic                     8 (0.0%)
   Fabrice Fontaine                  7 (0.0%)
   Ran Wang                          7 (0.0%)
   Vladimir Oltean                   7 (0.0%)
   Lars Povlsen                      7 (0.0%)
   Marc Gonzalez                     7 (0.0%)
   Maciej Pijanowski                 6 (0.0%)
   Sekhar Nori                       6 (0.0%)
   Sanchayan Maity                   6 (0.0%)
   Prabhakar Kushwaha                6 (0.0%)
   Joel Stanley                      6 (0.0%)
   Valentin-catalin Neacsu           6 (0.0%)
   Álvaro Fernández Rojas            6 (0.0%)
   Gero Schumacher                   6 (0.0%)
   Sébastien Szymanski               5 (0.0%)
   Nicolas Le Bayon                  5 (0.0%)
   Chen-Yu Tsai                      5 (0.0%)
   Alexander Dahl                    5 (0.0%)
   Miquel Raynal                     4 (0.0%)
   Robert Hancock                    4 (0.0%)
   Ezequiel Garcia                   4 (0.0%)
   Dennis Gilmore                    4 (0.0%)
   Tomas Melin                       4 (0.0%)
   Ramon Fried                       3 (0.0%)
   Marc Dietrich                     3 (0.0%)
   Holger Brunck                     3 (0.0%)
   Moses Christopher                 2 (0.0%)
   Tudor Ambarus                     2 (0.0%)
   Emmanuel Vadot                    2 (0.0%)
   Anup Patel                        2 (0.0%)
   Filip Brozovic                    2 (0.0%)
   Ilias Apalodimas                  2 (0.0%)
   Andy Yan                          1 (0.0%)
   Felix Brack                       1 (0.0%)
   Patrick Doyle                     1 (0.0%)
   Berkus Decker                     1 (0.0%)
   David Lechner                     1 (0.0%)
   Karsten Merker                    1 (0.0%)
   Chuanhua Han                      1 (0.0%)
   Philip Molloy                     1 (0.0%)
   Paul Barker                       1 (0.0%)
   Young Xiao                        1 (0.0%)
   Björn Stenberg                    1 (0.0%)
   Patrick Wildt                     1 (0.0%)
   Martyn Welch                      1 (0.0%)
   Bernhard Messerklinger            1 (0.0%)
   Leigh Brown                       1 (0.0%)
   Michael Trimarchi                 1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bartosz Golaszewski               8441 (13.0%)
   Uri Mashiach                      1685 (2.6%)
   Tom Rini                          704 (1.1%)
   Michal Simek                      39 (0.1%)
   Paul Kocialkowski                 29 (0.0%)
   Thomas Fitzsimmons                26 (0.0%)
   Mark Kettenis                     26 (0.0%)
   Weijie Gao                        25 (0.0%)
   Christoph Muellner                20 (0.0%)
   Robert P. J. Day                  20 (0.0%)
   Eugeniu Rosca                     19 (0.0%)
   Alex Kiernan                      19 (0.0%)
   Ismael Luceno Cortes              16 (0.0%)
   Andreas Dannenberg                14 (0.0%)
   Meenakshi Aggarwal                14 (0.0%)
   Breno Matheus Lima                11 (0.0%)
   Christian Gmeiner                 10 (0.0%)
   Urja Rannikko                     9 (0.0%)
   Krzysztof Kozlowski               9 (0.0%)
   Udit Agarwal                      7 (0.0%)
   Mian Yousaf Kaukab                5 (0.0%)
   Peter Ujfalusi                    3 (0.0%)
   Ian Ray                           2 (0.0%)
   Ezequiel Garcia                   2 (0.0%)
   Lars Povlsen                      1 (0.0%)
   Sekhar Nori                       1 (0.0%)
   Sébastien Szymanski               1 (0.0%)
   Robert Hancock                    1 (0.0%)
   Paul Barker                       1 (0.0%)
   Leigh Brown                       1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Stefan Roese                      60 (19.7%)
   Tom Warren                        33 (10.8%)
   Neil Armstrong                    17 (5.6%)
   Michal Simek                      16 (5.2%)
   Kever Yang                        12 (3.9%)
   Tom Rini                          11 (3.6%)
   Patrick Delaunay                  10 (3.3%)
   Patrice Chotard                   9 (3.0%)
   Heinrich Schuchardt               7 (2.3%)
   Keerthy                           6 (2.0%)
   Vignesh Raghavendra               6 (2.0%)
   Jagan Teki                        5 (1.6%)
   Rajesh Bhagat                     4 (1.3%)
   Matthias Brugger                  4 (1.3%)
   Prabhakar Kushwaha                4 (1.3%)
   Siva Durga Prasad Paladugu        4 (1.3%)
   Sudhanshu Gupta                   3 (1.0%)
   Rai Harninder                     3 (1.0%)
   Bhaskar Upadhaya                  3 (1.0%)
   Minkyu Kang                       3 (1.0%)
   Alexey Brodkin                    3 (1.0%)
   Dalon Westergreen                 3 (1.0%)
   Yinbo Zhu                         3 (1.0%)
   Bin Meng                          3 (1.0%)
   Matwey V. Kornilov                3 (1.0%)
   Peng Fan                          3 (1.0%)
   Philippe Reynes                   3 (1.0%)
   Peter Ujfalusi                    2 (0.7%)
   Ian Ray                           2 (0.7%)
   Martyn Welch                      2 (0.7%)
   Akash Gajjar                      2 (0.7%)
   Mark Jonas                        2 (0.7%)
   Max Krummenacher                  2 (0.7%)
   Masahiro Yamada                   2 (0.7%)
   Faiz Abbas                        2 (0.7%)
   Philipp Tomsich                   2 (0.7%)
   Fabio Estevam                     2 (0.7%)
   Joris Offouga                     2 (0.7%)
   Christophe Kerello                2 (0.7%)
   Marek Vasut                       2 (0.7%)
   Mario Six                         2 (0.7%)
   Bartosz Golaszewski               1 (0.3%)
   Andreas Dannenberg                1 (0.3%)
   Udit Agarwal                      1 (0.3%)
   Miquel Raynal                     1 (0.3%)
   Michael Durrant                   1 (0.3%)
   Camelia Groza                     1 (0.3%)
   Madalin Bucur                     1 (0.3%)
   Pramod Kumar                      1 (0.3%)
   Udit Kumar                        1 (0.3%)
   Alexander Graf                    1 (0.3%)
   Shyam Saini                       1 (0.3%)
   Rob Clark                         1 (0.3%)
   Dave Gerlach                      1 (0.3%)
   Carlos Santos                     1 (0.3%)
   Ricardo Martincoski               1 (0.3%)
   Jörg Krause                       1 (0.3%)
   Icenowy Zheng                     1 (0.3%)
   Haibo Chen                        1 (0.3%)
   Alexandre Torgue                  1 (0.3%)
   Vladimir Oltean                   1 (0.3%)
   Ran Wang                          1 (0.3%)
   Bhuvanchandra DV                  1 (0.3%)
   Pankit Garg                       1 (0.3%)
   Rajat Srivastava                  1 (0.3%)
   Xiaowei Bao                       1 (0.3%)
   Sam Protsenko                     1 (0.3%)
   Stefan Agner                      1 (0.3%)
   Ang, Chee Hong                    1 (0.3%)
   Ye Li                             1 (0.3%)
   Clément Péron                     1 (0.3%)
   Christophe Roullier               1 (0.3%)
   Dirk Eibach                       1 (0.3%)
   Anatolij Gustschin                1 (0.3%)
   Boris Brezillon                   1 (0.3%)
   Sjoerd Simons                     1 (0.3%)
   Grygorii Strashko                 1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       106 (13.2%)
   Bin Meng                          98 (12.2%)
   Stefan Roese                      68 (8.5%)
   Prabhakar Kushwaha                68 (8.5%)
   Igor Opaniuk                      46 (5.7%)
   Kever Yang                        45 (5.6%)
   Tom Rini                          35 (4.4%)
   Heinrich Schuchardt               34 (4.2%)
   Heiko Schocher                    31 (3.9%)
   Jagan Teki                        28 (3.5%)
   Philipp Tomsich                   24 (3.0%)
   Lukas Auer                        23 (2.9%)
   Fabio Estevam                     20 (2.5%)
   Lukasz Majewski                   18 (2.2%)
   Lokesh Vutla                      14 (1.7%)
   Anup Patel                        13 (1.6%)
   Peng Fan                          11 (1.4%)
   Marek Vasut                       11 (1.4%)
   Daniel Schwierzeck                11 (1.4%)
   Chris Packham                     10 (1.2%)
   Patrick Delaunay                  7 (0.9%)
   Andreas Dannenberg                7 (0.9%)
   Max Krummenacher                  6 (0.7%)
   Simon Goldschmidt                 5 (0.6%)
   Stefan Agner                      4 (0.5%)
   Rick Chen                         4 (0.5%)
   Michal Simek                      3 (0.4%)
   Patrice Chotard                   3 (0.4%)
   Anatolij Gustschin                3 (0.4%)
   Grygorii Strashko                 3 (0.4%)
   Paul Kocialkowski                 3 (0.4%)
   Stefano Babic                     3 (0.4%)
   Atish Patra                       3 (0.4%)
   Alexander Graf                    2 (0.2%)
   Sam Protsenko                     2 (0.2%)
   Ryder Lee                         2 (0.2%)
   Philippe Schenker                 2 (0.2%)
   Hannes Schmelzer                  2 (0.2%)
   Marcel Ziswiler                   2 (0.2%)
   Marek Behún                       2 (0.2%)
   Neil Armstrong                    1 (0.1%)
   Keerthy                           1 (0.1%)
   Matthias Brugger                  1 (0.1%)
   Peter Ujfalusi                    1 (0.1%)
   Masahiro Yamada                   1 (0.1%)
   Bartosz Golaszewski               1 (0.1%)
   Miquel Raynal                     1 (0.1%)
   Ye Li                             1 (0.1%)
   Boris Brezillon                   1 (0.1%)
   Eugeniu Rosca                     1 (0.1%)
   Sekhar Nori                       1 (0.1%)
   Tomas Melin                       1 (0.1%)
   Felix Brack                       1 (0.1%)
   Bernhard Messerklinger            1 (0.1%)
   Klaus Goger                       1 (0.1%)
   Evgeniy Paltsev                   1 (0.1%)
   Alex Marginean                    1 (0.1%)
   Andy Shevchenko                   1 (0.1%)
   Stephen Warren                    1 (0.1%)
   David Wu                          1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          8 (10.4%)
   Heiko Schocher                    7 (9.1%)
   Lukas Auer                        5 (6.5%)
   Marcel Ziswiler                   5 (6.5%)
   Andy Yan                          5 (6.5%)
   Heinrich Schuchardt               3 (3.9%)
   Neil Armstrong                    3 (3.9%)
   Fabio Estevam                     2 (2.6%)
   Patrick Delaunay                  2 (2.6%)
   Michal Simek                      2 (2.6%)
   Shyam Saini                       2 (2.6%)
   Karsten Merker                    2 (2.6%)
   Andreas Färber                    2 (2.6%)
   Peter Howard                      2 (2.6%)
   Adam Ford                         2 (2.6%)
   Mohammad Rasim                    2 (2.6%)
   Lukasz Majewski                   1 (1.3%)
   Rick Chen                         1 (1.3%)
   Hannes Schmelzer                  1 (1.3%)
   Bernhard Messerklinger            1 (1.3%)
   Alex Kiernan                      1 (1.3%)
   Sébastien Szymanski               1 (1.3%)
   Leigh Brown                       1 (1.3%)
   Frank Wunderlich                  1 (1.3%)
   Suniel Mahesh                     1 (1.3%)
   Bryan O'Donoghue                  1 (1.3%)
   Daniel Gröber                     1 (1.3%)
   Alejandro Hernandez               1 (1.3%)
   Anson Huang                       1 (1.3%)
   Pablo Sebastián Greco             1 (1.3%)
   Pierre-Jean Texier                1 (1.3%)
   Maxime Jourdan                    1 (1.3%)
   Baruch Siach                      1 (1.3%)
   Ashish Kumar                      1 (1.3%)
   Pierre Bourdon                    1 (1.3%)
   Michael Walle                     1 (1.3%)
   Jonas Smedegaard                  1 (1.3%)
   Vagrant Cascadian                 1 (1.3%)
   Eugen Hristev                     1 (1.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Stefan Roese                      10 (13.0%)
   Lukas Auer                        9 (11.7%)
   Bin Meng                          5 (6.5%)
   Kever Yang                        5 (6.5%)
   Sekhar Nori                       4 (5.2%)
   Fabio Estevam                     3 (3.9%)
   Lukasz Majewski                   3 (3.9%)
   Jagan Teki                        3 (3.9%)
   Weijie Gao                        3 (3.9%)
   Guillaume La Roque                3 (3.9%)
   AKASHI Takahiro                   3 (3.9%)
   Alex Kiernan                      2 (2.6%)
   Maxime Jourdan                    2 (2.6%)
   Igor Opaniuk                      2 (2.6%)
   Chris Packham                     2 (2.6%)
   Christophe Kerello                2 (2.6%)
   Jordan Hand                       2 (2.6%)
   Frieder Schrempf                  2 (2.6%)
   Neil Armstrong                    1 (1.3%)
   Jonas Smedegaard                  1 (1.3%)
   Tom Rini                          1 (1.3%)
   Anup Patel                        1 (1.3%)
   Marek Vasut                       1 (1.3%)
   Atish Patra                       1 (1.3%)
   Ye Li                             1 (1.3%)
   Mian Yousaf Kaukab                1 (1.3%)
   Gregory CLEMENT                   1 (1.3%)
   Anssi Hannula                     1 (1.3%)
   Andrew F. Davis                   1 (1.3%)
   Shawn Guo                         1 (1.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Robert P. J. Day                  5 (17.2%)
   Heinrich Schuchardt               2 (6.9%)
   Mohammad Rasim                    2 (6.9%)
   Stefano Babic                     2 (6.9%)
   Fabio Estevam                     1 (3.4%)
   AKASHI Takahiro                   1 (3.4%)
   Tom Rini                          1 (3.4%)
   Heiko Schocher                    1 (3.4%)
   Andreas Färber                    1 (3.4%)
   Adam Ford                         1 (3.4%)
   Pierre-Jean Texier                1 (3.4%)
   Lokesh Vutla                      1 (3.4%)
   Keerthy                           1 (3.4%)
   Klaus Goger                       1 (3.4%)
   Alex Marginean                    1 (3.4%)
   Christian Gmeiner                 1 (3.4%)
   Frank Zhang                       1 (3.4%)
   Levin Du                          1 (3.4%)
   Jakob Unterwurzacher              1 (3.4%)
   Roman Stratiienko                 1 (3.4%)
   rafael mello                      1 (3.4%)
   Sreeja Vadakattu                  1 (3.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Chris Packham                     5 (17.2%)
   Fabio Estevam                     3 (10.3%)
   Simon Goldschmidt                 3 (10.3%)
   Maxime Jourdan                    2 (6.9%)
   AKASHI Takahiro                   1 (3.4%)
   Tom Rini                          1 (3.4%)
   Stefan Roese                      1 (3.4%)
   Igor Opaniuk                      1 (3.4%)
   Neil Armstrong                    1 (3.4%)
   Marek Vasut                       1 (3.4%)
   Shawn Guo                         1 (3.4%)
   Marcel Ziswiler                   1 (3.4%)
   Michal Simek                      1 (3.4%)
   Philipp Tomsich                   1 (3.4%)
   Patrice Chotard                   1 (3.4%)
   Eugeniu Rosca                     1 (3.4%)
   Vladimir Oltean                   1 (3.4%)
   Mark Kettenis                     1 (3.4%)
   Christoph Muellner                1 (3.4%)
   Breno Matheus Lima                1 (3.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         658 (32.1%)
   DENX Software Engineering         264 (12.9%)
   ST Microelectronics               162 (7.9%)
   Guntermann & Drunck               105 (5.1%)
   Toradex                           104 (5.1%)
   NXP                               102 (5.0%)
   Texas Instruments                 87 (4.3%)
   Google, Inc.                      75 (3.7%)
   Amarula Solutions                 70 (3.4%)
   BayLibre SAS                      67 (3.3%)
   Rockchip                          63 (3.1%)
   Linaro                            52 (2.5%)
   NVidia                            51 (2.5%)
   Pepperl+Fuchs                     40 (2.0%)
   Intel                             39 (1.9%)
   Konsulko Group                    21 (1.0%)
   Xilinx                            14 (0.7%)
   General Electric                  12 (0.6%)
   AMD                               10 (0.5%)
   ARM                               10 (0.5%)
   Collabora Ltd.                    10 (0.5%)
   Socionext Inc.                    10 (0.5%)
   Bootlin                           8 (0.4%)
   Debian.org                        4 (0.2%)
   SUSE                              4 (0.2%)
   Renesas Electronics               2 (0.1%)
   CompuLab                          1 (0.0%)
   Ronetix                           1 (0.0%)
   VMWare                            1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         47898 (23.6%)
   DENX Software Engineering         33107 (16.3%)
   Guntermann & Drunck               29939 (14.7%)
   ST Microelectronics               17014 (8.4%)
   BayLibre SAS                      16887 (8.3%)
   NXP                               11247 (5.5%)
   Texas Instruments                 9180 (4.5%)
   Amarula Solutions                 6833 (3.4%)
   Toradex                           6507 (3.2%)
   Konsulko Group                    4492 (2.2%)
   Google, Inc.                      4292 (2.1%)
   Rockchip                          2745 (1.3%)
   Linaro                            2469 (1.2%)
   NVidia                            2167 (1.1%)
   CompuLab                          1685 (0.8%)
   Renesas Electronics               1384 (0.7%)
   Intel                             1379 (0.7%)
   Pepperl+Fuchs                     1374 (0.7%)
   Collabora Ltd.                    1166 (0.6%)
   Debian.org                        368 (0.2%)
   General Electric                  362 (0.2%)
   Socionext Inc.                    340 (0.2%)
   ARM                               153 (0.1%)
   Ronetix                           135 (0.1%)
   AMD                               88 (0.0%)
   Xilinx                            64 (0.0%)
   Bootlin                           60 (0.0%)
   VMWare                            31 (0.0%)
   SUSE                              14 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         61 (20.0%)
   (Unknown)                         35 (11.5%)
   NXP                               35 (11.5%)
   NVidia                            33 (10.8%)
   ST Microelectronics               23 (7.5%)
   Xilinx                            20 (6.6%)
   Texas Instruments                 19 (6.2%)
   BayLibre SAS                      18 (5.9%)
   Rockchip                          12 (3.9%)
   Konsulko Group                    11 (3.6%)
   Amarula Solutions                 6 (2.0%)
   Toradex                           4 (1.3%)
   Intel                             4 (1.3%)
   SUSE                              4 (1.3%)
   Guntermann & Drunck               3 (1.0%)
   Collabora Ltd.                    3 (1.0%)
   Samsung                           3 (1.0%)
   General Electric                  2 (0.7%)
   Socionext Inc.                    2 (0.7%)
   Bootlin                           2 (0.7%)
   Bosch                             2 (0.7%)
   Openedev                          2 (0.7%)
   Linaro                            1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         106 (48.8%)
   NXP                               25 (11.5%)
   Texas Instruments                 13 (6.0%)
   BayLibre SAS                      8 (3.7%)
   Toradex                           8 (3.7%)
   DENX Software Engineering         6 (2.8%)
   ST Microelectronics               6 (2.8%)
   Linaro                            6 (2.8%)
   Intel                             4 (1.8%)
   Xilinx                            3 (1.4%)
   Rockchip                          3 (1.4%)
   Collabora Ltd.                    3 (1.4%)
   Bootlin                           3 (1.4%)
   NVidia                            2 (0.9%)
   Amarula Solutions                 2 (0.9%)
   Guntermann & Drunck               2 (0.9%)
   General Electric                  2 (0.9%)
   Socionext Inc.                    2 (0.9%)
   Google, Inc.                      2 (0.9%)
   Debian.org                        2 (0.9%)
   Konsulko Group                    1 (0.5%)
   SUSE                              1 (0.5%)
   CompuLab                          1 (0.5%)
   Renesas Electronics               1 (0.5%)
   Pepperl+Fuchs                     1 (0.5%)
   ARM                               1 (0.5%)
   Ronetix                           1 (0.5%)
   AMD                               1 (0.5%)
   VMWare                            1 (0.5%)
   ================================  =====
