:orphan:

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

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