:orphan:

Release Statistics for U-Boot v2015.10
======================================

* Processed 2069 changesets from 182 developers

* 32 employers found

* A total of 180893 lines added, 90724 removed (delta 90169)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       376 (18.2%)
   Marek Vasut                       263 (12.7%)
   Bin Meng                          157 (7.6%)
   Masahiro Yamada                   117 (5.7%)
   Hans de Goede                     92 (4.4%)
   Peng Fan                          81 (3.9%)
   Stefan Roese                      60 (2.9%)
   Paul Kocialkowski                 42 (2.0%)
   Stephen Warren                    39 (1.9%)
   Fabio Estevam                     38 (1.8%)
   Michal Simek                      37 (1.8%)
   Tom Rini                          30 (1.4%)
   Marcel Ziswiler                   30 (1.4%)
   Prabhakar Kushwaha                29 (1.4%)
   Nikita Kiryanov                   25 (1.2%)
   Thierry Reding                    24 (1.2%)
   Adrian Alonso                     22 (1.1%)
   Lokesh Vutla                      19 (0.9%)
   Kishon Vijay Abraham I            18 (0.9%)
   Codrin Ciubotariu                 17 (0.8%)
   Otavio Salvador                   17 (0.8%)
   Heiko Schocher                    16 (0.8%)
   Peter Griffin                     16 (0.8%)
   Nishanth Menon                    16 (0.8%)
   Vladimir Zapolskiy                14 (0.7%)
   Tom Warren                        13 (0.6%)
   Lukasz Majewski                   13 (0.6%)
   Sylvain Lemieux                   13 (0.6%)
   Siva Durga Prasad Paladugu        13 (0.6%)
   Dinh Nguyen                       12 (0.6%)
   York Sun                          12 (0.6%)
   Josh Wu                           11 (0.5%)
   Haikun Wang                       11 (0.5%)
   Ryan Harkin                       10 (0.5%)
   Nikhil Badola                     10 (0.5%)
   Vikas Manocha                     10 (0.5%)
   Sjoerd Simons                     9 (0.4%)
   Bernhard Nortmann                 9 (0.4%)
   Anatolij Gustschin                9 (0.4%)
   Mark Tomlinson                    8 (0.4%)
   Ramneek Mehresh                   8 (0.4%)
   Albert ARIBAUD (3ADEV)            7 (0.3%)
   Alexander Stein                   7 (0.3%)
   Paul Gortmaker                    6 (0.3%)
   Alison Wang                       6 (0.3%)
   Priyanka Jain                     6 (0.3%)
   Ben Stoltz                        6 (0.3%)
   Vitaly Andrianov                  5 (0.2%)
   Benoît Thébaudeau                 5 (0.2%)
   Tim Harvey                        5 (0.2%)
   Jiandong Zheng                    5 (0.2%)
   Stefano Babic                     5 (0.2%)
   Bhupesh Sharma                    5 (0.2%)
   Shengzhou Liu                     5 (0.2%)
   Vignesh R                         5 (0.2%)
   Tobias Jakobi                     4 (0.2%)
   Przemyslaw Marczak                4 (0.2%)
   Rob Herring                       4 (0.2%)
   Siarhei Siamashka                 4 (0.2%)
   Soeren Moch                       4 (0.2%)
   Dmitry Lifshitz                   4 (0.2%)
   Andreas Bießmann                  4 (0.2%)
   Aneesh Bansal                     4 (0.2%)
   Vladimir Barinov                  4 (0.2%)
   Erik van Luijk                    4 (0.2%)
   Max Krummenacher                  4 (0.2%)
   Daniel Kochmański                 4 (0.2%)
   Stuart Yoder                      4 (0.2%)
   Stefan Agner                      3 (0.1%)
   Guillaume GARDET                  3 (0.1%)
   Igor Grinberg                     3 (0.1%)
   Yao Yuan                          3 (0.1%)
   Jian Luo                          3 (0.1%)
   Enric Balletbò i Serra            3 (0.1%)
   Jörg Krause                       3 (0.1%)
   Chris Packham                     3 (0.1%)
   Saket Sinha                       3 (0.1%)
   Anton Schubert                    3 (0.1%)
   Dennis Gilmore                    3 (0.1%)
   Horia Geantă                      3 (0.1%)
   Alex Porosanu                     3 (0.1%)
   Wang Dongsheng                    3 (0.1%)
   Antonio Borneo                    3 (0.1%)
   Liviu Dudau                       2 (0.1%)
   Jagan Teki                        2 (0.1%)
   Mirza Krak                        2 (0.1%)
   Alexey Brodkin                    2 (0.1%)
   Troy Kisky                        2 (0.1%)
   Simon Guinot                      2 (0.1%)
   Łukasz Majewski                   2 (0.1%)
   Hannes Petermaier                 2 (0.1%)
   Stefan Brüns                      2 (0.1%)
   Clemens Gruber                    2 (0.1%)
   vpeter4                           2 (0.1%)
   Zhuoyu Zhang                      2 (0.1%)
   Yangbo Lu                         2 (0.1%)
   Boris Brezillon                   2 (0.1%)
   Ravi Babu                         2 (0.1%)
   Kun-Hua Huang                     2 (0.1%)
   Scott Wood                        2 (0.1%)
   Andrew Ruder                      2 (0.1%)
   Thomas Abraham                    2 (0.1%)
   Gong Qianyu                       2 (0.1%)
   Piotr Zierhoffer                  2 (0.1%)
   Alexandre Courbot                 2 (0.1%)
   Minghuan Lian                     2 (0.1%)
   gaurav rana                       2 (0.1%)
   Zhao Qiang                        2 (0.1%)
   Shaohui Xie                       2 (0.1%)
   Jaiprakash Singh                  2 (0.1%)
   Zhichun Hua                       2 (0.1%)
   J. German Rivera                  2 (0.1%)
   Andrej Rosano                     1 (0.0%)
   Ladislav Michl                    1 (0.0%)
   Linus Walleij                     1 (0.0%)
   Lubomir Rintel                    1 (0.0%)
   Eric Cooper                       1 (0.0%)
   Anthony Felice                    1 (0.0%)
   Ludger Dreier                     1 (0.0%)
   Ezequiel García                   1 (0.0%)
   Vagrant Cascadian                 1 (0.0%)
   Ian Campbell                      1 (0.0%)
   Julius Werner                     1 (0.0%)
   Bo Shen                           1 (0.0%)
   Mugunthan V N                     1 (0.0%)
   Philipp Rosenberger               1 (0.0%)
   Sekhar Nori                       1 (0.0%)
   Axel Lin                          1 (0.0%)
   Andreas Färber                    1 (0.0%)
   Imran Zaman                       1 (0.0%)
   Sergey Kostanbaev                 1 (0.0%)
   Michael Heimpold                  1 (0.0%)
   Ye.Li                             1 (0.0%)
   Gary Bisson                       1 (0.0%)
   Daniel Gorsulowski                1 (0.0%)
   Jelle van der Waa                 1 (0.0%)
   Steve Rae                         1 (0.0%)
   Adam Ford                         1 (0.0%)
   Olaf Mandel                       1 (0.0%)
   Chris Smith                       1 (0.0%)
   Damien Riegel                     1 (0.0%)
   Lucile Quirion                    1 (0.0%)
   Eric Nelson                       1 (0.0%)
   Baruch Siach                      1 (0.0%)
   Varun Sethi                       1 (0.0%)
   Claudiu Manoil                    1 (0.0%)
   Igal Liberman                     1 (0.0%)
   Misha Komarovskiy                 1 (0.0%)
   Yousong Zhou                      1 (0.0%)
   Chen-Yu Tsai                      1 (0.0%)
   Marcus Cooper                     1 (0.0%)
   Ulf Magnusson                     1 (0.0%)
   Suriyan Ramasami                  1 (0.0%)
   Jonathan Liu                      1 (0.0%)
   Andrew Bradford                   1 (0.0%)
   Ezequiel Garcia                   1 (0.0%)
   Mingkai Hu                        1 (0.0%)
   Pavel Machek                      1 (0.0%)
   Govindraj Raja                    1 (0.0%)
   Sergey Temerkhanov                1 (0.0%)
   Vishal Mahaveer                   1 (0.0%)
   Stoppa, Igor                      1 (0.0%)
   Yoshinori Sato                    1 (0.0%)
   Måns Rullgård                     1 (0.0%)
   Ruchika Gupta                     1 (0.0%)
   Andre Przywara                    1 (0.0%)
   Daniel Inderbitzin                1 (0.0%)
   Jeroen Hofstee                    1 (0.0%)
   Karol Gugala                      1 (0.0%)
   Aleksei Mamlin                    1 (0.0%)
   Maxime Ripard                     1 (0.0%)
   Miao Yan                          1 (0.0%)
   chenhui zhao                      1 (0.0%)
   Tang Yuantian                     1 (0.0%)
   Raghav Dogra                      1 (0.0%)
   Ying Zhang                        1 (0.0%)
   Yegor Yefremov                    1 (0.0%)
   Adam YH Lee                       1 (0.0%)
   Kamil Lulko                       1 (0.0%)
   Sudeep Holla                      1 (0.0%)
   Ulises Cardenas                   1 (0.0%)
   Peter Robinson                    1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       68254 (27.8%)
   Stefan Roese                      30346 (12.4%)
   Masahiro Yamada                   23310 (9.5%)
   Marek Vasut                       19480 (7.9%)
   Bin Meng                          14028 (5.7%)
   Adrian Alonso                     10199 (4.2%)
   Dinh Nguyen                       7920 (3.2%)
   Tom Rini                          7247 (3.0%)
   Peng Fan                          5138 (2.1%)
   Tom Warren                        4975 (2.0%)
   Hans de Goede                     4918 (2.0%)
   Heiko Schocher                    3985 (1.6%)
   Codrin Ciubotariu                 3567 (1.5%)
   Vladimir Barinov                  3239 (1.3%)
   Peter Griffin                     2488 (1.0%)
   Ulf Magnusson                     2286 (0.9%)
   Kun-Hua Huang                     2158 (0.9%)
   Stephen Warren                    2124 (0.9%)
   Paul Kocialkowski                 2103 (0.9%)
   Prabhakar Kushwaha                1953 (0.8%)
   Saket Sinha                       1744 (0.7%)
   Michal Simek                      1391 (0.6%)
   Albert ARIBAUD (3ADEV)            1317 (0.5%)
   Nikita Kiryanov                   1238 (0.5%)
   Scott Wood                        1119 (0.5%)
   Sylvain Lemieux                   1045 (0.4%)
   Lokesh Vutla                      887 (0.4%)
   Enric Balletbò i Serra            839 (0.3%)
   Otavio Salvador                   802 (0.3%)
   Erik van Luijk                    707 (0.3%)
   Kishon Vijay Abraham I            677 (0.3%)
   Alison Wang                       600 (0.2%)
   Ramneek Mehresh                   572 (0.2%)
   Vladimir Zapolskiy                542 (0.2%)
   Anton Schubert                    507 (0.2%)
   Julius Werner                     471 (0.2%)
   Ben Stoltz                        467 (0.2%)
   Fabio Estevam                     449 (0.2%)
   Marcel Ziswiler                   421 (0.2%)
   Piotr Zierhoffer                  404 (0.2%)
   Andrew Bradford                   388 (0.2%)
   Lukasz Majewski                   387 (0.2%)
   Lucile Quirion                    376 (0.2%)
   vpeter4                           352 (0.1%)
   Haikun Wang                       351 (0.1%)
   Priyanka Jain                     307 (0.1%)
   Josh Wu                           306 (0.1%)
   Nishanth Menon                    305 (0.1%)
   Stuart Yoder                      285 (0.1%)
   Marcus Cooper                     266 (0.1%)
   Jelle van der Waa                 252 (0.1%)
   Ulises Cardenas                   245 (0.1%)
   Minghuan Lian                     229 (0.1%)
   Bhupesh Sharma                    226 (0.1%)
   Mark Tomlinson                    223 (0.1%)
   Siva Durga Prasad Paladugu        221 (0.1%)
   Liviu Dudau                       217 (0.1%)
   Jiandong Zheng                    211 (0.1%)
   Vignesh R                         200 (0.1%)
   Wang Dongsheng                    196 (0.1%)
   Thierry Reding                    167 (0.1%)
   Vikas Manocha                     164 (0.1%)
   Shengzhou Liu                     164 (0.1%)
   Benoît Thébaudeau                 161 (0.1%)
   Stefan Agner                      159 (0.1%)
   Bernhard Nortmann                 145 (0.1%)
   Igal Liberman                     135 (0.1%)
   Aneesh Bansal                     134 (0.1%)
   Damien Riegel                     130 (0.1%)
   Ryan Harkin                       128 (0.1%)
   York Sun                          126 (0.1%)
   Zhuoyu Zhang                      118 (0.0%)
   Alexandre Courbot                 114 (0.0%)
   Alexander Stein                   103 (0.0%)
   Andrew Ruder                      93 (0.0%)
   Sjoerd Simons                     89 (0.0%)
   Ludger Dreier                     89 (0.0%)
   Mirza Krak                        78 (0.0%)
   Daniel Kochmański                 76 (0.0%)
   Tang Yuantian                     75 (0.0%)
   Nikhil Badola                     73 (0.0%)
   Peter Robinson                    68 (0.0%)
   Troy Kisky                        64 (0.0%)
   Shaohui Xie                       62 (0.0%)
   Antonio Borneo                    56 (0.0%)
   Ezequiel Garcia                   56 (0.0%)
   Clemens Gruber                    53 (0.0%)
   Chris Packham                     51 (0.0%)
   Yangbo Lu                         49 (0.0%)
   Adam Ford                         48 (0.0%)
   J. German Rivera                  47 (0.0%)
   Chen-Yu Tsai                      47 (0.0%)
   Tim Harvey                        42 (0.0%)
   chenhui zhao                      34 (0.0%)
   Jian Luo                          33 (0.0%)
   Tobias Jakobi                     32 (0.0%)
   Paul Gortmaker                    31 (0.0%)
   Karol Gugala                      30 (0.0%)
   Andre Przywara                    29 (0.0%)
   Rob Herring                       28 (0.0%)
   Linus Walleij                     28 (0.0%)
   Dennis Gilmore                    26 (0.0%)
   Alex Porosanu                     24 (0.0%)
   Jörg Krause                       23 (0.0%)
   Vitaly Andrianov                  22 (0.0%)
   Przemyslaw Marczak                22 (0.0%)
   Yao Yuan                          22 (0.0%)
   Stefano Babic                     21 (0.0%)
   Hannes Petermaier                 21 (0.0%)
   Ian Campbell                      21 (0.0%)
   Stoppa, Igor                      21 (0.0%)
   Olaf Mandel                       20 (0.0%)
   Horia Geantă                      19 (0.0%)
   Łukasz Majewski                   19 (0.0%)
   Anatolij Gustschin                18 (0.0%)
   Andreas Bießmann                  18 (0.0%)
   Max Krummenacher                  17 (0.0%)
   Zhichun Hua                       17 (0.0%)
   Guillaume GARDET                  16 (0.0%)
   gaurav rana                       16 (0.0%)
   Igor Grinberg                     14 (0.0%)
   Sergey Temerkhanov                14 (0.0%)
   Ladislav Michl                    13 (0.0%)
   Dmitry Lifshitz                   12 (0.0%)
   Soeren Moch                       11 (0.0%)
   Bo Shen                           11 (0.0%)
   Ying Zhang                        11 (0.0%)
   Simon Guinot                      10 (0.0%)
   Michael Heimpold                  10 (0.0%)
   Jagan Teki                        9 (0.0%)
   Boris Brezillon                   9 (0.0%)
   Ravi Babu                         9 (0.0%)
   Axel Lin                          9 (0.0%)
   Varun Sethi                       9 (0.0%)
   Claudiu Manoil                    9 (0.0%)
   Suriyan Ramasami                  9 (0.0%)
   Stefan Brüns                      8 (0.0%)
   Thomas Abraham                    8 (0.0%)
   Miao Yan                          8 (0.0%)
   Jaiprakash Singh                  7 (0.0%)
   Ruchika Gupta                     7 (0.0%)
   Lubomir Rintel                    6 (0.0%)
   Siarhei Siamashka                 5 (0.0%)
   Alexey Brodkin                    5 (0.0%)
   Vagrant Cascadian                 5 (0.0%)
   Andreas Färber                    5 (0.0%)
   Baruch Siach                      5 (0.0%)
   Pavel Machek                      5 (0.0%)
   Yoshinori Sato                    5 (0.0%)
   Aleksei Mamlin                    5 (0.0%)
   Gong Qianyu                       4 (0.0%)
   Zhao Qiang                        4 (0.0%)
   Misha Komarovskiy                 4 (0.0%)
   Yousong Zhou                      4 (0.0%)
   Mingkai Hu                        4 (0.0%)
   Andrej Rosano                     3 (0.0%)
   Ezequiel García                   3 (0.0%)
   Daniel Inderbitzin                3 (0.0%)
   Maxime Ripard                     3 (0.0%)
   Yegor Yefremov                    3 (0.0%)
   Eric Cooper                       2 (0.0%)
   Sergey Kostanbaev                 2 (0.0%)
   Ye.Li                             2 (0.0%)
   Daniel Gorsulowski                2 (0.0%)
   Jonathan Liu                      2 (0.0%)
   Govindraj Raja                    2 (0.0%)
   Jeroen Hofstee                    2 (0.0%)
   Adam YH Lee                       2 (0.0%)
   Anthony Felice                    1 (0.0%)
   Mugunthan V N                     1 (0.0%)
   Philipp Rosenberger               1 (0.0%)
   Sekhar Nori                       1 (0.0%)
   Imran Zaman                       1 (0.0%)
   Gary Bisson                       1 (0.0%)
   Steve Rae                         1 (0.0%)
   Chris Smith                       1 (0.0%)
   Eric Nelson                       1 (0.0%)
   Vishal Mahaveer                   1 (0.0%)
   Måns Rullgård                     1 (0.0%)
   Raghav Dogra                      1 (0.0%)
   Kamil Lulko                       1 (0.0%)
   Sudeep Holla                      1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   8811 (9.7%)
   Simon Glass                       8130 (9.0%)
   Kun-Hua Huang                     2054 (2.3%)
   Ulf Magnusson                     346 (0.4%)
   Josh Wu                           70 (0.1%)
   Peter Robinson                    64 (0.1%)
   Alexander Stein                   26 (0.0%)
   Adam Ford                         20 (0.0%)
   Andrew Ruder                      15 (0.0%)
   Shaohui Xie                       13 (0.0%)
   Ludger Dreier                     12 (0.0%)
   Igor Grinberg                     12 (0.0%)
   Jörg Krause                       11 (0.0%)
   Bo Shen                           11 (0.0%)
   Hannes Petermaier                 9 (0.0%)
   Axel Lin                          9 (0.0%)
   Suriyan Ramasami                  8 (0.0%)
   Zhichun Hua                       7 (0.0%)
   Claudiu Manoil                    4 (0.0%)
   Vagrant Cascadian                 4 (0.0%)
   Thomas Abraham                    2 (0.0%)
   Rob Herring                       1 (0.0%)
   Alexey Brodkin                    1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Warren                        65 (19.8%)
   Hans de Goede                     24 (7.3%)
   Simon Glass                       22 (6.7%)
   Ye.Li                             17 (5.2%)
   Prabhakar Kushwaha                16 (4.9%)
   Michal Simek                      14 (4.3%)
   Tom Rini                          13 (4.0%)
   Peng Fan                          11 (3.4%)
   Stephen Warren                    10 (3.0%)
   Minkyu Kang                       8 (2.4%)
   Johnson Leung                     7 (2.1%)
   Marcel Ziswiler                   7 (2.1%)
   Bin Meng                          6 (1.8%)
   Steve Rae                         5 (1.5%)
   Vignesh R                         5 (1.5%)
   Michal Marek                      4 (1.2%)
   Nobuhiro Iwamatsu                 4 (1.2%)
   Soren Brinkmann                   4 (1.2%)
   Andreas Bießmann                  4 (1.2%)
   York Sun                          4 (1.2%)
   Fugang Duan                       3 (0.9%)
   Enric Balletbo i Serra            3 (0.9%)
   King Chung Lo@freescale.com       3 (0.9%)
   Saksham Jain                      3 (0.9%)
   Ruchika Gupta                     3 (0.9%)
   Peter Gielda                      2 (0.6%)
   Tomasz Gorochowik                 2 (0.6%)
   Mateusz Holenko                   2 (0.6%)
   Olof Johansson                    2 (0.6%)
   Dai Haruki                        2 (0.6%)
   Karol Gugala                      2 (0.6%)
   Bhupesh Sharma                    2 (0.6%)
   Minghuan Lian                     2 (0.6%)
   Marek Vasut                       2 (0.6%)
   Josh Wu                           1 (0.3%)
   Igor Grinberg                     1 (0.3%)
   Bhuvanchandra DV                  1 (0.3%)
   Matthias Michel                   1 (0.3%)
   Han Xu                            1 (0.3%)
   Brian Norris                      1 (0.3%)
   Radha Mohan Chintakuntla          1 (0.3%)
   Pantelis Antoniou                 1 (0.3%)
   Itai Katz                         1 (0.3%)
   Robin Gong                        1 (0.3%)
   Brown Oliver                      1 (0.3%)
   Ezra Savard                       1 (0.3%)
   Alex Wilson                       1 (0.3%)
   Nathan Sullivan                   1 (0.3%)
   Robert Richter                    1 (0.3%)
   Heiko Carstens                    1 (0.3%)
   Martin Schwidefsky                1 (0.3%)
   Andrey Ryabinin                   1 (0.3%)
   Nathan Rossi                      1 (0.3%)
   Bjørn Forsman                     1 (0.3%)
   Andrey Utkin                      1 (0.3%)
   Jiri Kosina                       1 (0.3%)
   Arjun Sreedharan                  1 (0.3%)
   Arnaldo Carvalho de Melo          1 (0.3%)
   Colin Ian King                    1 (0.3%)
   Nitin Garg                        1 (0.3%)
   Jason Liu                         1 (0.3%)
   pankaj chauhan                    1 (0.3%)
   Scott Wood                        1 (0.3%)
   Ravi Babu                         1 (0.3%)
   Przemyslaw Marczak                1 (0.3%)
   Jian Luo                          1 (0.3%)
   J. German Rivera                  1 (0.3%)
   Andre Przywara                    1 (0.3%)
   Stefan Agner                      1 (0.3%)
   Lokesh Vutla                      1 (0.3%)
   Thierry Reding                    1 (0.3%)
   Damien Riegel                     1 (0.3%)
   Wang Dongsheng                    1 (0.3%)
   Stuart Yoder                      1 (0.3%)
   Piotr Zierhoffer                  1 (0.3%)
   Ben Stoltz                        1 (0.3%)
   Anton Schubert                    1 (0.3%)
   Codrin Ciubotariu                 1 (0.3%)
   Stefan Roese                      1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   York Sun                          120 (21.5%)
   Bin Meng                          105 (18.9%)
   Tom Rini                          84 (15.1%)
   Simon Glass                       82 (14.7%)
   Jagan Teki                        34 (6.1%)
   Heiko Schocher                    32 (5.7%)
   Stefano Babic                     17 (3.1%)
   Linus Walleij                     11 (2.0%)
   Marek Vasut                       10 (1.8%)
   Joe Hershberger                   9 (1.6%)
   Hans de Goede                     6 (1.1%)
   Łukasz Majewski                   6 (1.1%)
   Fabio Estevam                     5 (0.9%)
   Peng Fan                          4 (0.7%)
   Murali Karicheri                  4 (0.7%)
   Vitaly Andrianov                  4 (0.7%)
   Stefan Roese                      3 (0.5%)
   Masahiro Yamada                   3 (0.5%)
   Brad Griffis                      3 (0.5%)
   Nishanth Menon                    3 (0.5%)
   Andreas Bießmann                  2 (0.4%)
   Mingkai Hu                        2 (0.4%)
   Bhupesh Sharma                    1 (0.2%)
   Przemyslaw Marczak                1 (0.2%)
   Bo Shen                           1 (0.2%)
   Wolfgang Denk                     1 (0.2%)
   Benoît Thébaudeau                 1 (0.2%)
   Chris Packham                     1 (0.2%)
   Ryan Harkin                       1 (0.2%)
   Aneesh Bansal                     1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          21 (15.4%)
   Simon Glass                       20 (14.7%)
   Przemyslaw Marczak                13 (9.6%)
   Łukasz Majewski                   11 (8.1%)
   Stephen Warren                    8 (5.9%)
   Marcel Ziswiler                   7 (5.1%)
   Sylvain Lemieux                   6 (4.4%)
   Fabio Estevam                     5 (3.7%)
   Stefan Roese                      4 (2.9%)
   Andrew Bradford                   4 (2.9%)
   Vladimir Zapolskiy                3 (2.2%)
   Jagan Teki                        2 (1.5%)
   Marek Vasut                       2 (1.5%)
   Vitaly Andrianov                  2 (1.5%)
   Ryan Harkin                       2 (1.5%)
   Jian Luo                          2 (1.5%)
   Tim Harvey                        2 (1.5%)
   Paul Kocialkowski                 2 (1.5%)
   Andreas Bießmann                  1 (0.7%)
   Wolfgang Denk                     1 (0.7%)
   Michal Simek                      1 (0.7%)
   Stefan Agner                      1 (0.7%)
   Hannes Petermaier                 1 (0.7%)
   Joakim Tjernlund                  1 (0.7%)
   Sinan Akman                       1 (0.7%)
   Uwe Scheffler                     1 (0.7%)
   Kevin Smith                       1 (0.7%)
   Andy Pont                         1 (0.7%)
   Thomas Chou                       1 (0.7%)
   Xing Lei                          1 (0.7%)
   Pekon Gupta                       1 (0.7%)
   Simon Guinot                      1 (0.7%)
   Clemens Gruber                    1 (0.7%)
   Alison Wang                       1 (0.7%)
   Lukasz Majewski                   1 (0.7%)
   Erik van Luijk                    1 (0.7%)
   Otavio Salvador                   1 (0.7%)
   Albert ARIBAUD (3ADEV)            1 (0.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       24 (17.6%)
   Bin Meng                          16 (11.8%)
   Stephen Warren                    7 (5.1%)
   Vladimir Zapolskiy                6 (4.4%)
   Tim Harvey                        6 (4.4%)
   Peng Fan                          6 (4.4%)
   Alexander Stein                   6 (4.4%)
   Paul Kocialkowski                 5 (3.7%)
   Tom Rini                          4 (2.9%)
   Chris Packham                     4 (2.9%)
   Przemyslaw Marczak                3 (2.2%)
   Sylvain Lemieux                   3 (2.2%)
   Stefan Roese                      3 (2.2%)
   Vikas Manocha                     3 (2.2%)
   Fabio Estevam                     2 (1.5%)
   Stefan Agner                      2 (1.5%)
   Ravi Babu                         2 (1.5%)
   Lokesh Vutla                      2 (1.5%)
   Ben Stoltz                        2 (1.5%)
   Thomas Abraham                    2 (1.5%)
   Guillaume GARDET                  2 (1.5%)
   Liviu Dudau                       2 (1.5%)
   Łukasz Majewski                   1 (0.7%)
   Marcel Ziswiler                   1 (0.7%)
   Andrew Bradford                   1 (0.7%)
   Marek Vasut                       1 (0.7%)
   Jian Luo                          1 (0.7%)
   Michal Simek                      1 (0.7%)
   Simon Guinot                      1 (0.7%)
   Lukasz Majewski                   1 (0.7%)
   Erik van Luijk                    1 (0.7%)
   Masahiro Yamada                   1 (0.7%)
   Tom Warren                        1 (0.7%)
   Steve Rae                         1 (0.7%)
   Josh Wu                           1 (0.7%)
   Thierry Reding                    1 (0.7%)
   Anton Schubert                    1 (0.7%)
   Claudiu Manoil                    1 (0.7%)
   Vagrant Cascadian                 1 (0.7%)
   Måns Rullgård                     1 (0.7%)
   Soeren Moch                       1 (0.7%)
   Miao Yan                          1 (0.7%)
   Troy Kisky                        1 (0.7%)
   Ezequiel Garcia                   1 (0.7%)
   Igal Liberman                     1 (0.7%)
   Saket Sinha                       1 (0.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Yan Liu                           3 (10.7%)
   Thierry Reding                    2 (7.1%)
   Nishanth Menon                    2 (7.1%)
   Simon Glass                       1 (3.6%)
   Stephen Warren                    1 (3.6%)
   Tim Harvey                        1 (3.6%)
   Paul Kocialkowski                 1 (3.6%)
   Przemyslaw Marczak                1 (3.6%)
   Stefan Agner                      1 (3.6%)
   Andrew Bradford                   1 (3.6%)
   Simon Guinot                      1 (3.6%)
   Vitaly Andrianov                  1 (3.6%)
   Sinan Akman                       1 (3.6%)
   Uwe Scheffler                     1 (3.6%)
   Kevin Smith                       1 (3.6%)
   Otavio Salvador                   1 (3.6%)
   Murali Karicheri                  1 (3.6%)
   Franklin S Cooper Jr              1 (3.6%)
   Nicolas Chauvet                   1 (3.6%)
   Mark Mckeown                      1 (3.6%)
   Jeffery Zhu                       1 (3.6%)
   Sachin Surendran                  1 (3.6%)
   Fei Wang                          1 (3.6%)
   Siva Durga Prasad Paladugu        1 (3.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Lokesh Vutla                      7 (25.0%)
   Simon Glass                       3 (10.7%)
   Stephen Warren                    3 (10.7%)
   Fabio Estevam                     3 (10.7%)
   Stefan Roese                      2 (7.1%)
   Thierry Reding                    1 (3.6%)
   Nishanth Menon                    1 (3.6%)
   Bin Meng                          1 (3.6%)
   Tom Rini                          1 (3.6%)
   Chris Packham                     1 (3.6%)
   Michal Simek                      1 (3.6%)
   Måns Rullgård                     1 (3.6%)
   Soeren Moch                       1 (3.6%)
   York Sun                          1 (3.6%)
   Mugunthan V N                     1 (3.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         427 (20.6%)
   Google, Inc.                      382 (18.5%)
   DENX Software Engineering         354 (17.1%)
   Freescale                         302 (14.6%)
   Socionext Inc.                    117 (5.7%)
   Red Hat                           92 (4.4%)
   NVidia                            75 (3.6%)
   Texas Instruments                 68 (3.3%)
   AMD                               37 (1.8%)
   CompuLab                          32 (1.5%)
   Konsulko Group                    30 (1.4%)
   Linaro                            27 (1.3%)
   Toradex                           26 (1.3%)
   O.S. Systems                      17 (0.8%)
   Xilinx                            13 (0.6%)
   Atmel                             12 (0.6%)
   ST Microelectronics               10 (0.5%)
   Collabora Ltd.                    9 (0.4%)
   Samsung                           8 (0.4%)
   Broadcom                          6 (0.3%)
   Wind River                        6 (0.3%)
   Boundary Devices                  4 (0.2%)
   ARM                               3 (0.1%)
   Free Electrons                    2 (0.1%)
   Intel                             2 (0.1%)
   Openedev                          2 (0.1%)
   Citrix                            1 (0.0%)
   Debian.org                        1 (0.0%)
   ESD Electronics                   1 (0.0%)
   Keymile                           1 (0.0%)
   linutronix                        1 (0.0%)
   Novell                            1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Google, Inc.                      68721 (28.0%)
   DENX Software Engineering         53855 (21.9%)
   (Unknown)                         43396 (17.7%)
   Freescale                         26602 (10.8%)
   Socionext Inc.                    23310 (9.5%)
   NVidia                            7344 (3.0%)
   Konsulko Group                    7247 (3.0%)
   Red Hat                           4918 (2.0%)
   Linaro                            2644 (1.1%)
   Texas Instruments                 2103 (0.9%)
   AMD                               1391 (0.6%)
   CompuLab                          1264 (0.5%)
   O.S. Systems                      802 (0.3%)
   Toradex                           393 (0.2%)
   Atmel                             317 (0.1%)
   Xilinx                            221 (0.1%)
   ARM                               218 (0.1%)
   Broadcom                          212 (0.1%)
   ST Microelectronics               164 (0.1%)
   Collabora Ltd.                    89 (0.0%)
   Keymile                           89 (0.0%)
   Boundary Devices                  66 (0.0%)
   Free Electrons                    59 (0.0%)
   Samsung                           49 (0.0%)
   Wind River                        31 (0.0%)
   Intel                             22 (0.0%)
   Citrix                            21 (0.0%)
   Openedev                          9 (0.0%)
   Debian.org                        5 (0.0%)
   Novell                            5 (0.0%)
   ESD Electronics                   2 (0.0%)
   linutronix                        1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         85 (25.9%)
   NVidia                            76 (23.2%)
   (Unknown)                         31 (9.5%)
   Red Hat                           25 (7.6%)
   Google, Inc.                      23 (7.0%)
   Xilinx                            20 (6.1%)
   Konsulko Group                    14 (4.3%)
   Samsung                           10 (3.0%)
   Toradex                           9 (2.7%)
   Texas Instruments                 7 (2.1%)
   Broadcom                          5 (1.5%)
   Novell                            5 (1.5%)
   IBM                               4 (1.2%)
   Nobuhiro Iwamatsu                 4 (1.2%)
   DENX Software Engineering         3 (0.9%)
   Collabora Ltd.                    3 (0.9%)
   CompuLab                          1 (0.3%)
   Atmel                             1 (0.3%)
   National Instruments              1 (0.3%)
   Siemens                           1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         83 (44.9%)
   Freescale                         40 (21.6%)
   Texas Instruments                 9 (4.9%)
   DENX Software Engineering         6 (3.2%)
   NVidia                            4 (2.2%)
   Samsung                           3 (1.6%)
   Toradex                           3 (1.6%)
   CompuLab                          3 (1.6%)
   Linaro                            3 (1.6%)
   Boundary Devices                  3 (1.6%)
   Google, Inc.                      2 (1.1%)
   Broadcom                          2 (1.1%)
   Atmel                             2 (1.1%)
   ARM                               2 (1.1%)
   Free Electrons                    2 (1.1%)
   Intel                             2 (1.1%)
   Red Hat                           1 (0.5%)
   Xilinx                            1 (0.5%)
   Konsulko Group                    1 (0.5%)
   Novell                            1 (0.5%)
   Collabora Ltd.                    1 (0.5%)
   Socionext Inc.                    1 (0.5%)
   AMD                               1 (0.5%)
   O.S. Systems                      1 (0.5%)
   ST Microelectronics               1 (0.5%)
   Keymile                           1 (0.5%)
   Wind River                        1 (0.5%)
   Citrix                            1 (0.5%)
   Openedev                          1 (0.5%)
   Debian.org                        1 (0.5%)
   ESD Electronics                   1 (0.5%)
   linutronix                        1 (0.5%)
   ================================  =====
