:orphan:

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

* Processed 2047 csets 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%)
   ================================  =====
