:orphan:

Release Statistics for U-Boot v2016.01
======================================

* Processed 1513 csets from 149 developers

* 33 employers found

* A total of 94614 lines added, 32531 removed (delta 62083)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       137 (9.1%)
   Thomas Chou                       128 (8.5%)
   Bin Meng                          103 (6.8%)
   Marek Vasut                       94 (6.2%)
   Michal Simek                      75 (5.0%)
   Jagan Teki                        71 (4.7%)
   Peng Fan                          42 (2.8%)
   Fabio Estevam                     41 (2.7%)
   Stephen Warren                    34 (2.2%)
   Chin Liang See                    33 (2.2%)
   Tom Rini                          31 (2.0%)
   Hans de Goede                     31 (2.0%)
   Mugunthan V N                     27 (1.8%)
   Masahiro Yamada                   26 (1.7%)
   Stefan Roese                      26 (1.7%)
   huang lin                         23 (1.5%)
   Francois Retief                   23 (1.5%)
   Prabhakar Kushwaha                21 (1.4%)
   Maxime Ripard                     21 (1.4%)
   Dirk Eibach                       19 (1.3%)
   Przemyslaw Marczak                18 (1.2%)
   Nikita Kiryanov                   18 (1.2%)
   York Sun                          17 (1.1%)
   Stefan Brüns                      14 (0.9%)
   Lokesh Vutla                      14 (0.9%)
   Sjoerd Simons                     13 (0.9%)
   Gong Qianyu                       12 (0.8%)
   Shaohui Xie                       12 (0.8%)
   Wenyou Yang                       11 (0.7%)
   Vitaly Andrianov                  11 (0.7%)
   Heiko Schocher                    10 (0.7%)
   Aneesh Bansal                     10 (0.7%)
   Mingkai Hu                        10 (0.7%)
   Daniel Hellstrom                  10 (0.7%)
   Alison Wang                       10 (0.7%)
   Valentin Longchamp                10 (0.7%)
   Adrian Alonso                     10 (0.7%)
   Holger Brunck                     9 (0.6%)
   Otavio Salvador                   8 (0.5%)
   Alexey Brodkin                    8 (0.5%)
   Dinh Nguyen                       8 (0.5%)
   Nathan Rossi                      8 (0.5%)
   vishnupatekar                     8 (0.5%)
   Quentin Armitage                  7 (0.5%)
   Paul Kocialkowski                 7 (0.5%)
   Lukasz Majewski                   6 (0.4%)
   Yao Yuan                          6 (0.4%)
   Nishanth Menon                    6 (0.4%)
   Siva Durga Prasad Paladugu        6 (0.4%)
   Minkyu Kang                       6 (0.4%)
   Luka Perkov                       6 (0.4%)
   Vignesh R                         6 (0.4%)
   Ryan Harkin                       5 (0.3%)
   Vagrant Cascadian                 5 (0.3%)
   Jeffy Chen                        5 (0.3%)
   Albert Aribaud                    5 (0.3%)
   Yangbo Lu                         5 (0.3%)
   Andy Fleming                      4 (0.3%)
   Robert P. J. Day                  4 (0.3%)
   Måns Rullgård                     4 (0.3%)
   Shengzhou Liu                     4 (0.3%)
   Siarhei Siamashka                 4 (0.3%)
   Hou Zhiqiang                      4 (0.3%)
   Patrick Delaunay                  4 (0.3%)
   Daniel Schwierzeck                4 (0.3%)
   Kevin Smith                       4 (0.3%)
   Vadzim Dambrouski                 4 (0.3%)
   Christophe Ricard                 4 (0.3%)
   Stefano Babic                     3 (0.2%)
   Andre Przywara                    3 (0.2%)
   Miao Yan                          3 (0.2%)
   Eric Nelson                       3 (0.2%)
   Michael Heimpold                  3 (0.2%)
   shengjiangwu                      3 (0.2%)
   Tang Yuantian                     3 (0.2%)
   Jens Kuske                        3 (0.2%)
   Rajesh Bhagat                     3 (0.2%)
   Reinhard Pfau                     3 (0.2%)
   Alexandre Courbot                 3 (0.2%)
   Josh Wu                           3 (0.2%)
   George McCollister                3 (0.2%)
   Robert Nelson                     2 (0.1%)
   Ye.Li                             2 (0.1%)
   Karsten Merker                    2 (0.1%)
   Egli, Samuel                      2 (0.1%)
   Kamil Lulko                       2 (0.1%)
   Olliver Schinagl                  2 (0.1%)
   Felipe Balbi                      2 (0.1%)
   Wolfgang Denk                     2 (0.1%)
   Ariel D'Alessandro                2 (0.1%)
   Cooper Jr., Franklin              2 (0.1%)
   Edgar E. Iglesias                 2 (0.1%)
   Tobias Müller                     2 (0.1%)
   Hannes Petermaier                 2 (0.1%)
   Zhao Qiang                        2 (0.1%)
   Scott Wood                        2 (0.1%)
   Bernhard Nortmann                 2 (0.1%)
   David Müller (ELSOFT AG)          1 (0.1%)
   Rasmus Villemoes                  1 (0.1%)
   Joe Hershberger                   1 (0.1%)
   Andrey Skvortsov                  1 (0.1%)
   Ladislav Michl                    1 (0.1%)
   Michael Schanz                    1 (0.1%)
   Maximilian Schwerin               1 (0.1%)
   Aleksei Mamlin                    1 (0.1%)
   Stuart Yoder                      1 (0.1%)
   Alexander Stein                   1 (0.1%)
   Pratiyush Mohan Srivastava        1 (0.1%)
   Peter Robinson                    1 (0.1%)
   Angelo Dureghello                 1 (0.1%)
   Jeroen Hofstee                    1 (0.1%)
   Philippe De Swert                 1 (0.1%)
   Anatolij Gustschin                1 (0.1%)
   Andreas Bießmann                  1 (0.1%)
   Philipp Rosenberger               1 (0.1%)
   Gerald Kerma                      1 (0.1%)
   Sanchayan Maity                   1 (0.1%)
   Thomas Fitzsimmons                1 (0.1%)
   Marcel Ziswiler                   1 (0.1%)
   Jelle de Jong                     1 (0.1%)
   Stephane Ayotte                   1 (0.1%)
   Christoph Dietrich                1 (0.1%)
   Bagavathiannan Palanisamy         1 (0.1%)
   Dmitry Lifshitz                   1 (0.1%)
   Kipisz, Steven                    1 (0.1%)
   Vincent Stehlé                    1 (0.1%)
   Guillaume REMBERT                 1 (0.1%)
   Vincent BENOIT                    1 (0.1%)
   Matwey V. Kornilov                1 (0.1%)
   Cheng Gu                          1 (0.1%)
   Tom Warren                        1 (0.1%)
   Tzu-Jung Lee                      1 (0.1%)
   Zhenhua Luo                       1 (0.1%)
   Daniel Gorsulowski                1 (0.1%)
   Codrin Ciubotariu                 1 (0.1%)
   Joakim Tjernlund                  1 (0.1%)
   Damien Riegel                     1 (0.1%)
   Sylvain Rochet                    1 (0.1%)
   Jacob Stiffler                    1 (0.1%)
   Sylvain Lemieux                   1 (0.1%)
   Horia Geantă                      1 (0.1%)
   Albert ARIBAUD (3ADEV)            1 (0.1%)
   Roy Spliet                        1 (0.1%)
   Pierre Aubert                     1 (0.1%)
   Thomas Huth                       1 (0.1%)
   Guillaume GARDET                  1 (0.1%)
   Roger Quadros                     1 (0.1%)
   David Batzle                      1 (0.1%)
   Anthony Felice                    1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Nathan Rossi                      12429 (11.3%)
   Thomas Chou                       7155 (6.5%)
   Simon Glass                       5678 (5.2%)
   Stefan Roese                      5459 (5.0%)
   Mugunthan V N                     5433 (4.9%)
   Tom Rini                          5187 (4.7%)
   huang lin                         4015 (3.7%)
   Bin Meng                          3746 (3.4%)
   Marek Vasut                       3693 (3.4%)
   Mingkai Hu                        3316 (3.0%)
   Lokesh Vutla                      3249 (3.0%)
   Daniel Hellstrom                  3133 (2.8%)
   Hans de Goede                     2853 (2.6%)
   Prabhakar Kushwaha                2791 (2.5%)
   Dirk Eibach                       2590 (2.4%)
   Heiko Schocher                    2582 (2.3%)
   Shaohui Xie                       2048 (1.9%)
   Przemyslaw Marczak                1947 (1.8%)
   Jagan Teki                        1931 (1.8%)
   Andy Fleming                      1847 (1.7%)
   Michal Simek                      1817 (1.7%)
   Francois Retief                   1740 (1.6%)
   vishnupatekar                     1692 (1.5%)
   Masahiro Yamada                   1616 (1.5%)
   Stephen Warren                    1599 (1.5%)
   Nishanth Menon                    1508 (1.4%)
   Kevin Smith                       1455 (1.3%)
   Wenyou Yang                       1415 (1.3%)
   Maxime Ripard                     1151 (1.0%)
   Peng Fan                          1087 (1.0%)
   Fabio Estevam                     938 (0.9%)
   Gong Qianyu                       779 (0.7%)
   Vitaly Andrianov                  778 (0.7%)
   York Sun                          708 (0.6%)
   Albert Aribaud                    705 (0.6%)
   Nikita Kiryanov                   690 (0.6%)
   Jens Kuske                        685 (0.6%)
   Otavio Salvador                   655 (0.6%)
   Tom Warren                        425 (0.4%)
   Gerald Kerma                      376 (0.3%)
   Jelle de Jong                     319 (0.3%)
   Sjoerd Simons                     312 (0.3%)
   Wolfgang Denk                     310 (0.3%)
   Tang Yuantian                     265 (0.2%)
   Alexey Brodkin                    253 (0.2%)
   Stefan Brüns                      248 (0.2%)
   Lukasz Majewski                   248 (0.2%)
   Aneesh Bansal                     244 (0.2%)
   Edgar E. Iglesias                 231 (0.2%)
   Jeffy Chen                        221 (0.2%)
   Patrick Delaunay                  221 (0.2%)
   Quentin Armitage                  199 (0.2%)
   Angelo Dureghello                 176 (0.2%)
   Siva Durga Prasad Paladugu        174 (0.2%)
   Chin Liang See                    172 (0.2%)
   Christophe Ricard                 171 (0.2%)
   Paul Kocialkowski                 167 (0.2%)
   Måns Rullgård                     165 (0.2%)
   Kamil Lulko                       160 (0.1%)
   Vagrant Cascadian                 159 (0.1%)
   Yao Yuan                          158 (0.1%)
   Hou Zhiqiang                      157 (0.1%)
   Alison Wang                       140 (0.1%)
   Robert P. J. Day                  113 (0.1%)
   Daniel Schwierzeck                111 (0.1%)
   Valentin Longchamp                109 (0.1%)
   Ryan Harkin                       90 (0.1%)
   Vincent BENOIT                    90 (0.1%)
   George McCollister                87 (0.1%)
   Adrian Alonso                     81 (0.1%)
   Dinh Nguyen                       81 (0.1%)
   Michael Heimpold                  76 (0.1%)
   Holger Brunck                     73 (0.1%)
   Shengzhou Liu                     69 (0.1%)
   Bernhard Nortmann                 67 (0.1%)
   Stefano Babic                     64 (0.1%)
   Tobias Müller                     58 (0.1%)
   Yangbo Lu                         53 (0.0%)
   Siarhei Siamashka                 49 (0.0%)
   Alexandre Courbot                 49 (0.0%)
   Vignesh R                         43 (0.0%)
   Roger Quadros                     43 (0.0%)
   Christoph Dietrich                41 (0.0%)
   Reinhard Pfau                     37 (0.0%)
   Daniel Gorsulowski                36 (0.0%)
   Albert ARIBAUD (3ADEV)            36 (0.0%)
   Zhao Qiang                        35 (0.0%)
   Luka Perkov                       34 (0.0%)
   shengjiangwu                      34 (0.0%)
   Sanchayan Maity                   32 (0.0%)
   Minkyu Kang                       31 (0.0%)
   Sylvain Rochet                    29 (0.0%)
   Eric Nelson                       27 (0.0%)
   Andreas Bießmann                  27 (0.0%)
   Tzu-Jung Lee                      27 (0.0%)
   Hannes Petermaier                 24 (0.0%)
   Rajesh Bhagat                     20 (0.0%)
   Roy Spliet                        19 (0.0%)
   Philippe De Swert                 18 (0.0%)
   Robert Nelson                     17 (0.0%)
   Egli, Samuel                      15 (0.0%)
   Ye.Li                             14 (0.0%)
   Matwey V. Kornilov                14 (0.0%)
   Guillaume GARDET                  14 (0.0%)
   Stuart Yoder                      13 (0.0%)
   Anatolij Gustschin                13 (0.0%)
   Stephane Ayotte                   13 (0.0%)
   Kipisz, Steven                    13 (0.0%)
   Josh Wu                           11 (0.0%)
   Scott Wood                        11 (0.0%)
   Sylvain Lemieux                   11 (0.0%)
   Karsten Merker                    10 (0.0%)
   Ariel D'Alessandro                10 (0.0%)
   Vadzim Dambrouski                 9 (0.0%)
   Olliver Schinagl                  9 (0.0%)
   Dmitry Lifshitz                   9 (0.0%)
   Maximilian Schwerin               8 (0.0%)
   Cooper Jr., Franklin              6 (0.0%)
   Andre Przywara                    5 (0.0%)
   Miao Yan                          5 (0.0%)
   Joe Hershberger                   5 (0.0%)
   Alexander Stein                   5 (0.0%)
   Thomas Fitzsimmons                5 (0.0%)
   Thomas Huth                       5 (0.0%)
   Zhenhua Luo                       4 (0.0%)
   Horia Geantă                      4 (0.0%)
   Felipe Balbi                      3 (0.0%)
   Vincent Stehlé                    3 (0.0%)
   Codrin Ciubotariu                 3 (0.0%)
   Joakim Tjernlund                  3 (0.0%)
   Rasmus Villemoes                  2 (0.0%)
   Andrey Skvortsov                  2 (0.0%)
   Pratiyush Mohan Srivastava        2 (0.0%)
   Jeroen Hofstee                    2 (0.0%)
   Bagavathiannan Palanisamy         2 (0.0%)
   Guillaume REMBERT                 2 (0.0%)
   Cheng Gu                          2 (0.0%)
   Damien Riegel                     2 (0.0%)
   Jacob Stiffler                    2 (0.0%)
   Pierre Aubert                     2 (0.0%)
   David Batzle                      2 (0.0%)
   David Müller (ELSOFT AG)          1 (0.0%)
   Ladislav Michl                    1 (0.0%)
   Michael Schanz                    1 (0.0%)
   Aleksei Mamlin                    1 (0.0%)
   Peter Robinson                    1 (0.0%)
   Philipp Rosenberger               1 (0.0%)
   Marcel Ziswiler                   1 (0.0%)
   Anthony Felice                    1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          4784 (14.7%)
   Kevin Smith                       1380 (4.2%)
   Francois Retief                   482 (1.5%)
   Masahiro Yamada                   374 (1.1%)
   Wolfgang Denk                     302 (0.9%)
   Vagrant Cascadian                 63 (0.2%)
   Christophe Ricard                 53 (0.2%)
   Robert P. J. Day                  44 (0.1%)
   Quentin Armitage                  30 (0.1%)
   Luka Perkov                       21 (0.1%)
   Alexandre Courbot                 18 (0.1%)
   Andreas Bießmann                  18 (0.1%)
   Rajesh Bhagat                     14 (0.0%)
   Stuart Yoder                      13 (0.0%)
   Anatolij Gustschin                13 (0.0%)
   Matwey V. Kornilov                12 (0.0%)
   Paul Kocialkowski                 9 (0.0%)
   Daniel Schwierzeck                7 (0.0%)
   Olliver Schinagl                  6 (0.0%)
   Josh Wu                           5 (0.0%)
   Minkyu Kang                       4 (0.0%)
   Zhenhua Luo                       4 (0.0%)
   Holger Brunck                     3 (0.0%)
   Ariel D'Alessandro                3 (0.0%)
   Hannes Petermaier                 2 (0.0%)
   Andre Przywara                    2 (0.0%)
   Joe Hershberger                   1 (0.0%)
   Ladislav Michl                    1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Hans de Goede                     29 (12.8%)
   Michal Simek                      26 (11.5%)
   Tom Warren                        19 (8.4%)
   Minkyu Kang                       17 (7.5%)
   Gong Qianyu                       16 (7.1%)
   Lokesh Vutla                      14 (6.2%)
   Valentin Longchamp                13 (5.8%)
   Simon Glass                       8 (3.5%)
   Mingkai Hu                        8 (3.5%)
   Tom Rini                          7 (3.1%)
   Hou Zhiqiang                      7 (3.1%)
   Stefan Roese                      7 (3.1%)
   Mugunthan V N                     6 (2.7%)
   Thomas Chou                       5 (2.2%)
   Marek Vasut                       4 (1.8%)
   Andreas Bießmann                  3 (1.3%)
   Jagan Teki                        3 (1.3%)
   Pratiyush Mohan Srivastava        2 (0.9%)
   Sriram Dash                       2 (0.9%)
   Chris Kilgour                     2 (0.9%)
   Frank Li                          2 (0.9%)
   Li Yang                           2 (0.9%)
   York Sun                          2 (0.9%)
   Shaohui Xie                       2 (0.9%)
   Luka Perkov                       1 (0.4%)
   Ruchika Gupta                     1 (0.4%)
   Ramneek Mehresh                   1 (0.4%)
   Bogdan Hamciuc                    1 (0.4%)
   Tony Dinh                         1 (0.4%)
   Liviu Dudau                       1 (0.4%)
   Ezequiel Garcia                   1 (0.4%)
   Andreas Huber                     1 (0.4%)
   Schuyler Patton                   1 (0.4%)
   Yen Lin                           1 (0.4%)
   Sonic Zhang                       1 (0.4%)
   Lawish Deshmukh                   1 (0.4%)
   Christoph Dietrich                1 (0.4%)
   Tobias Müller                     1 (0.4%)
   Stephen Warren                    1 (0.4%)
   Peng Fan                          1 (0.4%)
   Vitaly Andrianov                  1 (0.4%)
   Bin Meng                          1 (0.4%)
   Dirk Eibach                       1 (0.4%)
   Prabhakar Kushwaha                1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       119 (17.0%)
   Tom Rini                          117 (16.7%)
   York Sun                          101 (14.4%)
   Bin Meng                          98 (14.0%)
   Jagan Teki                        49 (7.0%)
   Heiko Schocher                    43 (6.1%)
   Marek Vasut                       41 (5.9%)
   Hans de Goede                     28 (4.0%)
   Andreas Bießmann                  16 (2.3%)
   Stefano Babic                     13 (1.9%)
   Chin Liang See                    12 (1.7%)
   Fabio Estevam                     12 (1.7%)
   Stefan Roese                      7 (1.0%)
   Lokesh Vutla                      4 (0.6%)
   Mugunthan V N                     4 (0.6%)
   Joe Hershberger                   4 (0.6%)
   Linus Walleij                     4 (0.6%)
   Eric Nelson                       3 (0.4%)
   Przemyslaw Marczak                3 (0.4%)
   Stephen Warren                    2 (0.3%)
   Peng Fan                          2 (0.3%)
   Thomas Chou                       1 (0.1%)
   Masahiro Yamada                   1 (0.1%)
   Daniel Schwierzeck                1 (0.1%)
   Andre Przywara                    1 (0.1%)
   Alexander Graf                    1 (0.1%)
   Hector Palacios                   1 (0.1%)
   James Doublesin                   1 (0.1%)
   Roger Meier                       1 (0.1%)
   Igor Grinberg                     1 (0.1%)
   Zhengxiong Jin                    1 (0.1%)
   Thierry Reding                    1 (0.1%)
   Ley Foon Tan                      1 (0.1%)
   Stefan Brüns                      1 (0.1%)
   Ryan Harkin                       1 (0.1%)
   Vignesh R                         1 (0.1%)
   Sjoerd Simons                     1 (0.1%)
   Alexey Brodkin                    1 (0.1%)
   Albert Aribaud                    1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jagan Teki                        17 (17.3%)
   Bin Meng                          16 (16.3%)
   Simon Glass                       10 (10.2%)
   Stephen Warren                    9 (9.2%)
   Anand Moon                        7 (7.1%)
   Michal Simek                      5 (5.1%)
   Masahiro Yamada                   3 (3.1%)
   Lukasz Majewski                   3 (3.1%)
   Hans de Goede                     2 (2.0%)
   Fabio Estevam                     2 (2.0%)
   Ryan Harkin                       2 (2.0%)
   Vagrant Cascadian                 2 (2.0%)
   Jian Luo                          2 (2.0%)
   Tom Rini                          1 (1.0%)
   York Sun                          1 (1.0%)
   Marek Vasut                       1 (1.0%)
   Stefano Babic                     1 (1.0%)
   Lokesh Vutla                      1 (1.0%)
   Mugunthan V N                     1 (1.0%)
   Eric Nelson                       1 (1.0%)
   Thomas Chou                       1 (1.0%)
   Hector Palacios                   1 (1.0%)
   Ezequiel Garcia                   1 (1.0%)
   Kevin Smith                       1 (1.0%)
   Ariel D'Alessandro                1 (1.0%)
   Hannes Petermaier                 1 (1.0%)
   Jaehoon Chung                     1 (1.0%)
   Pavel Machek                      1 (1.0%)
   Chen-Yu Tsai                      1 (1.0%)
   Moritz Fischer                    1 (1.0%)
   Siarhei Siamashka                 1 (1.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jagan Teki                        25 (25.5%)
   Simon Glass                       25 (25.5%)
   Przemyslaw Marczak                11 (11.2%)
   Bin Meng                          10 (10.2%)
   Thomas Chou                       4 (4.1%)
   Stephen Warren                    2 (2.0%)
   Marek Vasut                       2 (2.0%)
   Eric Nelson                       2 (2.0%)
   Stefan Brüns                      2 (2.0%)
   Siva Durga Prasad Paladugu        2 (2.0%)
   Michal Simek                      1 (1.0%)
   Hans de Goede                     1 (1.0%)
   Fabio Estevam                     1 (1.0%)
   Ryan Harkin                       1 (1.0%)
   Vagrant Cascadian                 1 (1.0%)
   Tom Rini                          1 (1.0%)
   Stefano Babic                     1 (1.0%)
   Heiko Schocher                    1 (1.0%)
   Stefan Roese                      1 (1.0%)
   Andre Przywara                    1 (1.0%)
   Roger Quadros                     1 (1.0%)
   Jens Kuske                        1 (1.0%)
   Nishanth Menon                    1 (1.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Stephen Warren                    4 (14.8%)
   Tom Rini                          3 (11.1%)
   Albert Aribaud                    3 (11.1%)
   Thomas Chou                       1 (3.7%)
   Fabio Estevam                     1 (3.7%)
   Vagrant Cascadian                 1 (3.7%)
   Jian Luo                          1 (3.7%)
   Ezequiel Garcia                   1 (3.7%)
   Ariel D'Alessandro                1 (3.7%)
   Pavel Machek                      1 (3.7%)
   Felipe Balbi                      1 (3.7%)
   Jon Nettleton                     1 (3.7%)
   Francisco Aguerre                 1 (3.7%)
   Jason Kridner                     1 (3.7%)
   Kevin Hilman                      1 (3.7%)
   Zhichun Hua                       1 (3.7%)
   Ivan Mercier                      1 (3.7%)
   Matthijs van Duin                 1 (3.7%)
   Robert Nelson                     1 (3.7%)
   Shengzhou Liu                     1 (3.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          7 (25.9%)
   Simon Glass                       4 (14.8%)
   Thomas Chou                       3 (11.1%)
   Fabio Estevam                     3 (11.1%)
   Bin Meng                          2 (7.4%)
   Michal Simek                      2 (7.4%)
   Robert Nelson                     1 (3.7%)
   Nishanth Menon                    1 (3.7%)
   York Sun                          1 (3.7%)
   Alexandre Courbot                 1 (3.7%)
   Marcel Ziswiler                   1 (3.7%)
   Alison Wang                       1 (3.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         469 (31.0%)
   NXP                               220 (14.5%)
   Google, Inc.                      137 (9.1%)
   DENX Software Engineering         136 (9.0%)
   AMD                               75 (5.0%)
   Openedev                          71 (4.7%)
   Texas Instruments                 71 (4.7%)
   Red Hat                           31 (2.0%)
   Konsulko Group                    31 (2.0%)
   NVidia                            31 (2.0%)
   Rockchip                          28 (1.9%)
   Socionext Inc.                    26 (1.7%)
   Samsung                           25 (1.7%)
   Keymile                           23 (1.5%)
   Guntermann & Drunck               22 (1.5%)
   Free Electrons                    21 (1.4%)
   CompuLab                          19 (1.3%)
   Atmel                             14 (0.9%)
   Collabora Ltd.                    13 (0.9%)
   Gaisler Research                  10 (0.7%)
   O.S. Systems                      8 (0.5%)
   Xilinx                            8 (0.5%)
   Debian.org                        6 (0.4%)
   Linaro                            5 (0.3%)
   ARM                               3 (0.2%)
   Siemens                           2 (0.1%)
   Toradex                           2 (0.1%)
   Cisco                             1 (0.1%)
   ESD Electronics                   1 (0.1%)
   linutronix                        1 (0.1%)
   Marvell                           1 (0.1%)
   National Instruments              1 (0.1%)
   Transmode Systems                 1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         35693 (32.5%)
   NXP                               12926 (11.8%)
   DENX Software Engineering         12121 (11.0%)
   Texas Instruments                 11078 (10.1%)
   Google, Inc.                      5678 (5.2%)
   Konsulko Group                    5187 (4.7%)
   Rockchip                          4236 (3.9%)
   Gaisler Research                  3133 (2.8%)
   Red Hat                           2853 (2.6%)
   Guntermann & Drunck               2627 (2.4%)
   Samsung                           1980 (1.8%)
   Openedev                          1931 (1.8%)
   NVidia                            1835 (1.7%)
   AMD                               1817 (1.7%)
   Socionext Inc.                    1616 (1.5%)
   Atmel                             1426 (1.3%)
   Free Electrons                    1151 (1.0%)
   CompuLab                          699 (0.6%)
   O.S. Systems                      655 (0.6%)
   Xilinx                            405 (0.4%)
   Collabora Ltd.                    312 (0.3%)
   Keymile                           283 (0.3%)
   Debian.org                        147 (0.1%)
   Linaro                            90 (0.1%)
   ESD Electronics                   36 (0.0%)
   Toradex                           33 (0.0%)
   Siemens                           15 (0.0%)
   ARM                               5 (0.0%)
   Cisco                             5 (0.0%)
   National Instruments              5 (0.0%)
   Transmode Systems                 3 (0.0%)
   Marvell                           2 (0.0%)
   linutronix                        1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   NXP                               49 (21.7%)
   Red Hat                           29 (12.8%)
   Xilinx                            26 (11.5%)
   Texas Instruments                 22 (9.7%)
   NVidia                            20 (8.8%)
   Samsung                           17 (7.5%)
   Keymile                           16 (7.1%)
   (Unknown)                         15 (6.6%)
   DENX Software Engineering         11 (4.9%)
   Google, Inc.                      8 (3.5%)
   Konsulko Group                    7 (3.1%)
   Openedev                          3 (1.3%)
   Guntermann & Drunck               1 (0.4%)
   ARM                               1 (0.4%)
   Analog Devices                    1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         68 (44.4%)
   NXP                               25 (16.3%)
   Texas Instruments                 10 (6.5%)
   DENX Software Engineering         6 (3.9%)
   Keymile                           5 (3.3%)
   NVidia                            3 (2.0%)
   Samsung                           3 (2.0%)
   Xilinx                            2 (1.3%)
   Guntermann & Drunck               2 (1.3%)
   Rockchip                          2 (1.3%)
   Atmel                             2 (1.3%)
   CompuLab                          2 (1.3%)
   Debian.org                        2 (1.3%)
   Toradex                           2 (1.3%)
   Red Hat                           1 (0.7%)
   Google, Inc.                      1 (0.7%)
   Konsulko Group                    1 (0.7%)
   Openedev                          1 (0.7%)
   ARM                               1 (0.7%)
   Gaisler Research                  1 (0.7%)
   AMD                               1 (0.7%)
   Socionext Inc.                    1 (0.7%)
   Free Electrons                    1 (0.7%)
   O.S. Systems                      1 (0.7%)
   Collabora Ltd.                    1 (0.7%)
   Linaro                            1 (0.7%)
   ESD Electronics                   1 (0.7%)
   Siemens                           1 (0.7%)
   Cisco                             1 (0.7%)
   National Instruments              1 (0.7%)
   Transmode Systems                 1 (0.7%)
   Marvell                           1 (0.7%)
   linutronix                        1 (0.7%)
   ================================  =====
