:orphan:

Release Statistics for U-Boot v2018.03
======================================

* Processed 1193 csets from 151 developers

* 30 employers found

* A total of 101060 lines added, 25747 removed (delta 75313)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Marek Vasut                       89 (7.5%)
   Heinrich Schuchardt               86 (7.2%)
   Mario Six                         72 (6.0%)
   Jean-Jacques Hiblot               60 (5.0%)
   Peng Fan                          47 (3.9%)
   Tom Rini                          44 (3.7%)
   Patrice Chotard                   33 (2.8%)
   Tuomas Tynkkynen                  32 (2.7%)
   Bryan O'Donoghue                  30 (2.5%)
   Michal Simek                      30 (2.5%)
   Maxime Ripard                     28 (2.3%)
   Masahiro Yamada                   27 (2.3%)
   Adam Ford                         25 (2.1%)
   Alexander Graf                    24 (2.0%)
   Álvaro Fernández Rojas            24 (2.0%)
   Kishon Vijay Abraham I            23 (1.9%)
   David Wu                          20 (1.7%)
   Simon Glass                       19 (1.6%)
   Lokesh Vutla                      16 (1.3%)
   Philipp Tomsich                   15 (1.3%)
   Vipul Kumar                       14 (1.2%)
   Alex Kiernan                      14 (1.2%)
   Goldschmidt Simon                 14 (1.2%)
   Stephen Warren                    14 (1.2%)
   Jorge Ramirez-Ortiz               13 (1.1%)
   Rick Chen                         13 (1.1%)
   Fabio Estevam                     12 (1.0%)
   Jagan Teki                        12 (1.0%)
   Faiz Abbas                        12 (1.0%)
   Eugeniy Paltsev                   12 (1.0%)
   Lukasz Majewski                   12 (1.0%)
   Rajesh Bhagat                     11 (0.9%)
   York Sun                          10 (0.8%)
   Andre Heider                      8 (0.7%)
   Derald D. Woods                   8 (0.7%)
   Siva Durga Prasad Paladugu        7 (0.6%)
   Jaehoon Chung                     7 (0.6%)
   Andre Przywara                    7 (0.6%)
   Ashish Kumar                      7 (0.6%)
   Stefan Agner                      6 (0.5%)
   Hannes Schmelzer                  6 (0.5%)
   Alexey Brodkin                    6 (0.5%)
   Chris Packham                     6 (0.5%)
   Breno Lima                        5 (0.4%)
   Nobuhiro Iwamatsu                 5 (0.4%)
   Ian Ray                           5 (0.4%)
   Andrew F. Davis                   5 (0.4%)
   Daniel Schwierzeck                5 (0.4%)
   Bin Meng                          5 (0.4%)
   Vignesh R                         5 (0.4%)
   Hannu Lounento                    5 (0.4%)
   Eddie Cai                         5 (0.4%)
   Kever Yang                        4 (0.3%)
   Max Filippov                      4 (0.3%)
   Sumit Garg                        4 (0.3%)
   Ulf Magnusson                     4 (0.3%)
   Eran Matityahu                    4 (0.3%)
   Patrick Bruenn                    4 (0.3%)
   Andy Shevchenko                   4 (0.3%)
   Chris Brandt                      4 (0.3%)
   Jason Rush                        4 (0.3%)
   Rob Clark                         4 (0.3%)
   Florian Fainelli                  4 (0.3%)
   Jeremy Boone                      3 (0.3%)
   Bernhard Messerklinger            3 (0.3%)
   Utkarsh Gupta                     3 (0.3%)
   Eric Nelson                       3 (0.3%)
   Martyn Welch                      3 (0.3%)
   Anson Huang                       3 (0.3%)
   Ezequiel Garcia                   3 (0.3%)
   Joe Hershberger                   3 (0.3%)
   Felix Brack                       3 (0.3%)
   Yuantian Tang                     3 (0.3%)
   Miquel Raynal                     3 (0.3%)
   Ran Wang                          3 (0.3%)
   Marek Behún                       2 (0.2%)
   Masaru Nagai                      2 (0.2%)
   Klaus Goger                       2 (0.2%)
   Thierry Reding                    2 (0.2%)
   Stefano Babic                     2 (0.2%)
   Bin Chen                          2 (0.2%)
   Zhao Qiang                        2 (0.2%)
   Sriram Dash                       2 (0.2%)
   Nandor Han                        2 (0.2%)
   Andreas Färber                    2 (0.2%)
   Priyanka Jain                     2 (0.2%)
   Bhaskar Upadhaya                  2 (0.2%)
   Christopher Spinrath              2 (0.2%)
   Suniel Mahesh                     2 (0.2%)
   Ahmed Mansour                     2 (0.2%)
   Chen-Yu Tsai                      2 (0.2%)
   Elaine Zhang                      2 (0.2%)
   Stefan Theil                      1 (0.1%)
   Yasushi SHOJI                     1 (0.1%)
   Ed Bartosh                        1 (0.1%)
   Paul Kocialkowski                 1 (0.1%)
   Chin Liang See                    1 (0.1%)
   Arno Steffens                     1 (0.1%)
   Jonathan Gray                     1 (0.1%)
   Anatolij Gustschin                1 (0.1%)
   Karl Beldan                       1 (0.1%)
   Alexander Kochetkov               1 (0.1%)
   Maxim Yu. Osipov                  1 (0.1%)
   Patrick Delaunay                  1 (0.1%)
   Linus Walleij                     1 (0.1%)
   Sam Protsenko                     1 (0.1%)
   Sekhar Nori                       1 (0.1%)
   Richard Weinberger                1 (0.1%)
   Heiko Schocher                    1 (0.1%)
   Stefan Mavrodiev                  1 (0.1%)
   Lukas Auer                        1 (0.1%)
   Vinitha Pillai-B57223             1 (0.1%)
   Rajat Srivastava                  1 (0.1%)
   Hou Zhiqiang                      1 (0.1%)
   Martin Townsend                   1 (0.1%)
   Justin Hibbits                    1 (0.1%)
   Soeren Moch                       1 (0.1%)
   Michael Trimarchi                 1 (0.1%)
   Benoît Thébaudeau                 1 (0.1%)
   Ye Li                             1 (0.1%)
   Yogesh Gaur                       1 (0.1%)
   Anders Hedlund                    1 (0.1%)
   Андрей Мозжухин                   1 (0.1%)
   Konstantin Porotchkin             1 (0.1%)
   Alberto Sánchez Molero            1 (0.1%)
   Jelle van der Waa                 1 (0.1%)
   Bradley Bolen                     1 (0.1%)
   Martin Etnestad                   1 (0.1%)
   Chris Blake                       1 (0.1%)
   Gustavo A. R. Silva               1 (0.1%)
   Paul Burton                       1 (0.1%)
   Jun Nie                           1 (0.1%)
   Angelo Dureghello                 1 (0.1%)
   Pankaj Bansal                     1 (0.1%)
   Giulio Benetti                    1 (0.1%)
   Stefan Brüns                      1 (0.1%)
   Madan Srinivas                    1 (0.1%)
   Drew Moseley                      1 (0.1%)
   Tero Kristo                       1 (0.1%)
   Tomi Valkeinen                    1 (0.1%)
   Rex Chang                         1 (0.1%)
   Alison Wang                       1 (0.1%)
   Zhang Ying-22455                  1 (0.1%)
   Jason Brown                       1 (0.1%)
   Wilson Lee                        1 (0.1%)
   Koen Vandeputte                   1 (0.1%)
   Bao Xiaowei                       1 (0.1%)
   Henry Zhang                       1 (0.1%)
   Siarhei Siamashka                 1 (0.1%)
   Florian Klink                     1 (0.1%)
   Andrey Zhizhikin                  1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Marek Vasut                       40903 (36.5%)
   Peng Fan                          8010 (7.1%)
   Michal Simek                      7210 (6.4%)
   Tom Rini                          4695 (4.2%)
   Heinrich Schuchardt               4594 (4.1%)
   Patrice Chotard                   4319 (3.8%)
   Masahiro Yamada                   3510 (3.1%)
   Rick Chen                         3470 (3.1%)
   Álvaro Fernández Rojas            2382 (2.1%)
   David Wu                          2274 (2.0%)
   Jean-Jacques Hiblot               2259 (2.0%)
   Mario Six                         2117 (1.9%)
   Adam Ford                         1930 (1.7%)
   Jorge Ramirez-Ortiz               1645 (1.5%)
   Alexander Graf                    1583 (1.4%)
   Felix Brack                       1362 (1.2%)
   Tuomas Tynkkynen                  1292 (1.2%)
   Kishon Vijay Abraham I            1175 (1.0%)
   Derald D. Woods                   1175 (1.0%)
   Eddie Cai                         1101 (1.0%)
   Lokesh Vutla                      889 (0.8%)
   Florian Fainelli                  798 (0.7%)
   Rajesh Bhagat                     757 (0.7%)
   Jaehoon Chung                     708 (0.6%)
   Stephen Warren                    677 (0.6%)
   Stefano Babic                     603 (0.5%)
   Siva Durga Prasad Paladugu        544 (0.5%)
   Bryan O'Donoghue                  482 (0.4%)
   Ahmed Mansour                     479 (0.4%)
   Lukasz Majewski                   456 (0.4%)
   Philipp Tomsich                   445 (0.4%)
   Andre Przywara                    403 (0.4%)
   Simon Glass                       396 (0.4%)
   Jagan Teki                        395 (0.4%)
   Nandor Han                        394 (0.4%)
   Eugeniy Paltsev                   390 (0.3%)
   Maxime Ripard                     342 (0.3%)
   Hannu Lounento                    314 (0.3%)
   York Sun                          312 (0.3%)
   Bhaskar Upadhaya                  296 (0.3%)
   Michael Trimarchi                 290 (0.3%)
   Goldschmidt Simon                 260 (0.2%)
   Breno Lima                        224 (0.2%)
   Elaine Zhang                      223 (0.2%)
   Vipul Kumar                       214 (0.2%)
   Chen-Yu Tsai                      211 (0.2%)
   Ian Ray                           167 (0.1%)
   Stefan Agner                      162 (0.1%)
   Nobuhiro Iwamatsu                 137 (0.1%)
   Chris Packham                     135 (0.1%)
   Patrick Bruenn                    135 (0.1%)
   Sumit Garg                        127 (0.1%)
   Alex Kiernan                      121 (0.1%)
   Jason Rush                        121 (0.1%)
   Bin Chen                          121 (0.1%)
   Utkarsh Gupta                     119 (0.1%)
   Konstantin Porotchkin             119 (0.1%)
   Soeren Moch                       116 (0.1%)
   Vignesh R                         113 (0.1%)
   Rex Chang                         106 (0.1%)
   Fabio Estevam                     95 (0.1%)
   Faiz Abbas                        95 (0.1%)
   Wilson Lee                        87 (0.1%)
   Bin Meng                          86 (0.1%)
   Ashish Kumar                      84 (0.1%)
   Hannes Schmelzer                  82 (0.1%)
   Chris Brandt                      64 (0.1%)
   Lukas Auer                        60 (0.1%)
   Andre Heider                      55 (0.0%)
   Rob Clark                         52 (0.0%)
   Ran Wang                          51 (0.0%)
   Martyn Welch                      50 (0.0%)
   Tero Kristo                       50 (0.0%)
   Yuantian Tang                     49 (0.0%)
   Anson Huang                       48 (0.0%)
   Alexey Brodkin                    43 (0.0%)
   Ye Li                             43 (0.0%)
   Андрей Мозжухин                   43 (0.0%)
   Angelo Dureghello                 41 (0.0%)
   Richard Weinberger                40 (0.0%)
   Pankaj Bansal                     39 (0.0%)
   Kever Yang                        35 (0.0%)
   Andy Shevchenko                   30 (0.0%)
   Christopher Spinrath              30 (0.0%)
   Alison Wang                       29 (0.0%)
   Andrew F. Davis                   24 (0.0%)
   Vinitha Pillai-B57223             24 (0.0%)
   Max Filippov                      21 (0.0%)
   Jeremy Boone                      21 (0.0%)
   Sriram Dash                       21 (0.0%)
   Daniel Schwierzeck                20 (0.0%)
   Eric Nelson                       20 (0.0%)
   Siarhei Siamashka                 20 (0.0%)
   Bernhard Messerklinger            19 (0.0%)
   Miquel Raynal                     19 (0.0%)
   Joe Hershberger                   18 (0.0%)
   Florian Klink                     17 (0.0%)
   Patrick Delaunay                  16 (0.0%)
   Thierry Reding                    14 (0.0%)
   Andrey Zhizhikin                  12 (0.0%)
   Arno Steffens                     11 (0.0%)
   Koen Vandeputte                   11 (0.0%)
   Eran Matityahu                    9 (0.0%)
   Anatolij Gustschin                9 (0.0%)
   Jun Nie                           9 (0.0%)
   Sam Protsenko                     8 (0.0%)
   Karl Beldan                       7 (0.0%)
   Hou Zhiqiang                      7 (0.0%)
   Drew Moseley                      7 (0.0%)
   Masaru Nagai                      6 (0.0%)
   Linus Walleij                     6 (0.0%)
   Sekhar Nori                       6 (0.0%)
   Benoît Thébaudeau                 6 (0.0%)
   Yogesh Gaur                       6 (0.0%)
   Anders Hedlund                    6 (0.0%)
   Ezequiel Garcia                   5 (0.0%)
   Marek Behún                       5 (0.0%)
   Suniel Mahesh                     5 (0.0%)
   Martin Townsend                   5 (0.0%)
   Alberto Sánchez Molero            5 (0.0%)
   Jason Brown                       5 (0.0%)
   Ulf Magnusson                     4 (0.0%)
   Zhao Qiang                        4 (0.0%)
   Andreas Färber                    4 (0.0%)
   Stefan Mavrodiev                  4 (0.0%)
   Rajat Srivastava                  4 (0.0%)
   Paul Burton                       4 (0.0%)
   Stefan Theil                      3 (0.0%)
   Chin Liang See                    3 (0.0%)
   Jonathan Gray                     3 (0.0%)
   Justin Hibbits                    3 (0.0%)
   Klaus Goger                       2 (0.0%)
   Priyanka Jain                     2 (0.0%)
   Yasushi SHOJI                     2 (0.0%)
   Maxim Yu. Osipov                  2 (0.0%)
   Jelle van der Waa                 2 (0.0%)
   Bradley Bolen                     2 (0.0%)
   Giulio Benetti                    2 (0.0%)
   Stefan Brüns                      2 (0.0%)
   Zhang Ying-22455                  2 (0.0%)
   Bao Xiaowei                       2 (0.0%)
   Ed Bartosh                        1 (0.0%)
   Paul Kocialkowski                 1 (0.0%)
   Alexander Kochetkov               1 (0.0%)
   Heiko Schocher                    1 (0.0%)
   Martin Etnestad                   1 (0.0%)
   Chris Blake                       1 (0.0%)
   Gustavo A. R. Silva               1 (0.0%)
   Madan Srinivas                    1 (0.0%)
   Tomi Valkeinen                    1 (0.0%)
   Henry Zhang                       1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          2451 (9.5%)
   Masahiro Yamada                   2220 (8.6%)
   Tuomas Tynkkynen                  805 (3.1%)
   Adam Ford                         206 (0.8%)
   Lukasz Majewski                   171 (0.7%)
   Goldschmidt Simon                 86 (0.3%)
   Patrick Bruenn                    67 (0.3%)
   Breno Lima                        64 (0.2%)
   Chris Brandt                      54 (0.2%)
   Bin Meng                          45 (0.2%)
   Ran Wang                          31 (0.1%)
   Alexey Brodkin                    26 (0.1%)
   Ian Ray                           19 (0.1%)
   Pankaj Bansal                     14 (0.1%)
   Yuantian Tang                     9 (0.0%)
   Siarhei Siamashka                 8 (0.0%)
   Martin Townsend                   5 (0.0%)
   Linus Walleij                     4 (0.0%)
   Ulf Magnusson                     2 (0.0%)
   Maxim Yu. Osipov                  2 (0.0%)
   Jelle van der Waa                 2 (0.0%)
   Karl Beldan                       1 (0.0%)
   Zhao Qiang                        1 (0.0%)
   Bao Xiaowei                       1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Alexander Graf                    66 (21.2%)
   Stefan Roese                      41 (13.1%)
   Michal Simek                      25 (8.0%)
   Jean-Jacques Hiblot               23 (7.4%)
   Sebastian Reichel                 15 (4.8%)
   Tom Warren                        14 (4.5%)
   Greentime Hu                      13 (4.2%)
   Martyn Welch                      12 (3.8%)
   Siva Durga Prasad Paladugu        11 (3.5%)
   Tom Rini                          10 (3.2%)
   Ashish Kumar                      10 (3.2%)
   Alexey Brodkin                    9 (2.9%)
   Kishon Vijay Abraham I            9 (2.9%)
   Breno Lima                        3 (1.0%)
   Ian Ray                           3 (1.0%)
   Vignesh R                         3 (1.0%)
   Marek Vasut                       3 (1.0%)
   Christophe Priouzeau              2 (0.6%)
   Krunal Bhargav                    2 (0.6%)
   Chih-Mao Chen                     2 (0.6%)
   Ye Li                             2 (0.6%)
   Kever Yang                        2 (0.6%)
   Philipp Tomsich                   2 (0.6%)
   Lokesh Vutla                      2 (0.6%)
   Goldschmidt Simon                 1 (0.3%)
   Bin Meng                          1 (0.3%)
   Heiko Schocher                    1 (0.3%)
   Hiroyuki Yokoyama                 1 (0.3%)
   Theo Buehler                      1 (0.3%)
   Stuart Henderson                  1 (0.3%)
   Pankit Garg                       1 (0.3%)
   Raghav Dogra                      1 (0.3%)
   Amrita Kumari                     1 (0.3%)
   Dan Murphy                        1 (0.3%)
   Franklin S Cooper Jr              1 (0.3%)
   Raghu Bharadwaj                   1 (0.3%)
   Karthik Tummala                   1 (0.3%)
   Udit Agarwal                      1 (0.3%)
   Andrea Merello                    1 (0.3%)
   Alexandre Torgue                  1 (0.3%)
   Andrew F. Davis                   1 (0.3%)
   Sekhar Nori                       1 (0.3%)
   Alex Kiernan                      1 (0.3%)
   Faiz Abbas                        1 (0.3%)
   Nobuhiro Iwamatsu                 1 (0.3%)
   Sumit Garg                        1 (0.3%)
   Maxime Ripard                     1 (0.3%)
   Jagan Teki                        1 (0.3%)
   Hannu Lounento                    1 (0.3%)
   Simon Glass                       1 (0.3%)
   Jaehoon Chung                     1 (0.3%)
   Peng Fan                          1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       106 (19.9%)
   Fabio Estevam                     66 (12.4%)
   Jagan Teki                        52 (9.8%)
   York Sun                          48 (9.0%)
   Tom Rini                          35 (6.6%)
   Philipp Tomsich                   32 (6.0%)
   Stefano Babic                     28 (5.3%)
   Daniel Schwierzeck                25 (4.7%)
   Lukasz Majewski                   22 (4.1%)
   Andre Przywara                    14 (2.6%)
   Anatolij Gustschin                12 (2.3%)
   Jaehoon Chung                     11 (2.1%)
   Bin Meng                          10 (1.9%)
   Lokesh Vutla                      9 (1.7%)
   Stefan Roese                      8 (1.5%)
   Konstantin Porotchkin             6 (1.1%)
   Marek Vasut                       5 (0.9%)
   Vikas Manocha                     5 (0.9%)
   Heiko Schocher                    4 (0.8%)
   Hannes Schmelzer                  4 (0.8%)
   Jason Rush                        3 (0.6%)
   Joe Hershberger                   3 (0.6%)
   Ian Ray                           2 (0.4%)
   Sam Protsenko                     2 (0.4%)
   Andy Shevchenko                   2 (0.4%)
   Bin Chen                          2 (0.4%)
   Michal Simek                      1 (0.2%)
   Jean-Jacques Hiblot               1 (0.2%)
   Breno Lima                        1 (0.2%)
   Kever Yang                        1 (0.2%)
   Alex Kiernan                      1 (0.2%)
   Peng Fan                          1 (0.2%)
   Zhao Qiang                        1 (0.2%)
   Paul Kocialkowski                 1 (0.2%)
   Mark Kettenis                     1 (0.2%)
   David Lechner                     1 (0.2%)
   Peter Howard                      1 (0.2%)
   Marek Behún                       1 (0.2%)
   Benoît Thébaudeau                 1 (0.2%)
   Stefan Agner                      1 (0.2%)
   Alison Wang                       1 (0.2%)
   Patrice Chotard                   1 (0.2%)
   Heinrich Schuchardt               1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Breno Lima                        26 (31.7%)
   Klaus Goger                       7 (8.5%)
   Anand Moon                        5 (6.1%)
   David Wu                          5 (6.1%)
   Vignesh R                         4 (4.9%)
   Goldschmidt Simon                 4 (4.9%)
   Adam Ford                         4 (4.9%)
   Alex Kiernan                      3 (3.7%)
   Bin Meng                          2 (2.4%)
   Tuomas Tynkkynen                  2 (2.4%)
   Peter Robinson                    2 (2.4%)
   Robert Nelson                     2 (2.4%)
   Shawn Guo                         2 (2.4%)
   Guillaume GARDET                  2 (2.4%)
   Jonathan Gray                     2 (2.4%)
   Lukas Auer                        2 (2.4%)
   Stephen Warren                    2 (2.4%)
   Lukasz Majewski                   1 (1.2%)
   Michal Simek                      1 (1.2%)
   Alison Wang                       1 (1.2%)
   Vagrant Cascadian                 1 (1.2%)
   Max Krummenacher                  1 (1.2%)
   Bryan O'Donoghue                  1 (1.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bryan O'Donoghue                  27 (32.9%)
   Philipp Tomsich                   12 (14.6%)
   Jaehoon Chung                     8 (9.8%)
   Jason Rush                        8 (9.8%)
   Jean-Jacques Hiblot               5 (6.1%)
   Alexander Graf                    4 (4.9%)
   Lukasz Majewski                   3 (3.7%)
   Fabio Estevam                     3 (3.7%)
   Tom Rini                          3 (3.7%)
   Heinrich Schuchardt               3 (3.7%)
   Alex Kiernan                      1 (1.2%)
   Lukas Auer                        1 (1.2%)
   Anatolij Gustschin                1 (1.2%)
   Kever Yang                        1 (1.2%)
   Alberto Sánchez Molero            1 (1.2%)
   Mario Six                         1 (1.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jonathan Gray                     3 (14.3%)
   Peter Robinson                    2 (9.5%)
   Göran Lundberg                    2 (9.5%)
   Thomas Petazzoni                  2 (9.5%)
   Heinrich Schuchardt               1 (4.8%)
   Anatolij Gustschin                1 (4.8%)
   Breno Lima                        1 (4.8%)
   Michal Simek                      1 (4.8%)
   Andre Przywara                    1 (4.8%)
   Lokesh Vutla                      1 (4.8%)
   eil Eilmsteiner Heribert          1 (4.8%)
   Julia Cartwright                  1 (4.8%)
   Ferry Toth                        1 (4.8%)
   Steve Kipisz                      1 (4.8%)
   Denys Dmytriyenko                 1 (4.8%)
   Derald D. Woods                   1 (4.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Alexander Graf                    6 (28.6%)
   Fabio Estevam                     3 (14.3%)
   Heinrich Schuchardt               2 (9.5%)
   Lokesh Vutla                      2 (9.5%)
   Jean-Jacques Hiblot               2 (9.5%)
   Breno Lima                        1 (4.8%)
   Michal Simek                      1 (4.8%)
   Philipp Tomsich                   1 (4.8%)
   Goldschmidt Simon                 1 (4.8%)
   Andy Shevchenko                   1 (4.8%)
   Masahiro Yamada                   1 (4.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         388 (32.5%)
   NXP                               127 (10.6%)
   Texas Instruments                 126 (10.6%)
   DENX Software Engineering         105 (8.8%)
   Guntermann & Drunck               72 (6.0%)
   Linaro                            47 (3.9%)
   Konsulko Group                    44 (3.7%)
   ST Microelectronics               34 (2.8%)
   Bootlin                           31 (2.6%)
   AMD                               30 (2.5%)
   Socionext Inc.                    27 (2.3%)
   Rockchip                          26 (2.2%)
   Xilinx                            21 (1.8%)
   Google, Inc.                      19 (1.6%)
   NVidia                            16 (1.3%)
   Pepperl+Fuchs                     14 (1.2%)
   General Electric                  12 (1.0%)
   ARM                               7 (0.6%)
   Samsung                           7 (0.6%)
   Intel                             6 (0.5%)
   Renesas Electronics               6 (0.5%)
   Toradex                           6 (0.5%)
   Amarula Solutions                 5 (0.4%)
   Nobuhiro Iwamatsu                 5 (0.4%)
   National Instruments              4 (0.3%)
   Collabora Ltd.                    3 (0.3%)
   SUSE                              2 (0.2%)
   BayLibre SAS                      1 (0.1%)
   Marvell                           1 (0.1%)
   MIPS                              1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         41972 (37.4%)
   (Unknown)                         22427 (20.0%)
   NXP                               10834 (9.7%)
   AMD                               7210 (6.4%)
   Texas Instruments                 4719 (4.2%)
   Konsulko Group                    4695 (4.2%)
   ST Microelectronics               4335 (3.9%)
   Socionext Inc.                    3510 (3.1%)
   Rockchip                          2532 (2.3%)
   Linaro                            2269 (2.0%)
   Guntermann & Drunck               2117 (1.9%)
   General Electric                  875 (0.8%)
   Xilinx                            758 (0.7%)
   Samsung                           708 (0.6%)
   NVidia                            691 (0.6%)
   Amarula Solutions                 425 (0.4%)
   ARM                               403 (0.4%)
   Google, Inc.                      396 (0.4%)
   Bootlin                           361 (0.3%)
   Pepperl+Fuchs                     260 (0.2%)
   Toradex                           162 (0.1%)
   Nobuhiro Iwamatsu                 137 (0.1%)
   Marvell                           119 (0.1%)
   National Instruments              105 (0.1%)
   Renesas Electronics               70 (0.1%)
   Collabora Ltd.                    50 (0.0%)
   Intel                             34 (0.0%)
   SUSE                              4 (0.0%)
   MIPS                              4 (0.0%)
   BayLibre SAS                      2 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   SUSE                              66 (21.2%)
   Texas Instruments                 44 (14.1%)
   DENX Software Engineering         43 (13.8%)
   Xilinx                            36 (11.5%)
   (Unknown)                         35 (11.2%)
   Collabora Ltd.                    27 (8.7%)
   NXP                               21 (6.7%)
   NVidia                            14 (4.5%)
   Konsulko Group                    10 (3.2%)
   General Electric                  4 (1.3%)
   ST Microelectronics               3 (1.0%)
   Rockchip                          2 (0.6%)
   Samsung                           1 (0.3%)
   Amarula Solutions                 1 (0.3%)
   Google, Inc.                      1 (0.3%)
   Bootlin                           1 (0.3%)
   Pepperl+Fuchs                     1 (0.3%)
   Nobuhiro Iwamatsu                 1 (0.3%)
   Renesas Electronics               1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         68 (44.4%)
   NXP                               25 (16.3%)
   Texas Instruments                 11 (7.2%)
   Linaro                            6 (3.9%)
   DENX Software Engineering         5 (3.3%)
   General Electric                  3 (2.0%)
   Rockchip                          3 (2.0%)
   Intel                             3 (2.0%)
   Xilinx                            2 (1.3%)
   NVidia                            2 (1.3%)
   ST Microelectronics               2 (1.3%)
   Amarula Solutions                 2 (1.3%)
   Bootlin                           2 (1.3%)
   Renesas Electronics               2 (1.3%)
   National Instruments              2 (1.3%)
   SUSE                              1 (0.7%)
   Collabora Ltd.                    1 (0.7%)
   Konsulko Group                    1 (0.7%)
   Samsung                           1 (0.7%)
   Google, Inc.                      1 (0.7%)
   Pepperl+Fuchs                     1 (0.7%)
   Nobuhiro Iwamatsu                 1 (0.7%)
   AMD                               1 (0.7%)
   Socionext Inc.                    1 (0.7%)
   Guntermann & Drunck               1 (0.7%)
   ARM                               1 (0.7%)
   Toradex                           1 (0.7%)
   Marvell                           1 (0.7%)
   MIPS                              1 (0.7%)
   BayLibre SAS                      1 (0.7%)
   ================================  =====
