:orphan:

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

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