:orphan:

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

* Processed 1588 changesets from 162 developers

* 35 employers found

* A total of 106613 lines added, 159635 removed (delta -53022)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       303 (19.1%)
   Masahiro Yamada                   182 (11.5%)
   Nobuhiro Iwamatsu                 58 (3.7%)
   Stefan Roese                      52 (3.3%)
   Jeroen Hofstee                    52 (3.3%)
   Hans de Goede                     51 (3.2%)
   Marek Vasut                       45 (2.8%)
   Bin Meng                          44 (2.8%)
   Fabio Estevam                     41 (2.6%)
   Thierry Reding                    37 (2.3%)
   Khoronzhuk, Ivan                  31 (2.0%)
   Tom Rini                          22 (1.4%)
   Ye.Li                             22 (1.4%)
   Daniel Schwierzeck                21 (1.3%)
   Heiko Schocher                    21 (1.3%)
   Przemyslaw Marczak                20 (1.3%)
   Peng Fan                          18 (1.1%)
   Igor Grinberg                     18 (1.1%)
   Chen-Yu Tsai                      17 (1.1%)
   Alison Wang                       16 (1.0%)
   Shengzhou Liu                     15 (0.9%)
   Marcel Ziswiler                   14 (0.9%)
   Wolfgang Denk                     14 (0.9%)
   Felipe Balbi                      13 (0.8%)
   Suriyan Ramasami                  13 (0.8%)
   Hao Zhang                         13 (0.8%)
   Guillaume GARDET                  12 (0.8%)
   Ian Campbell                      12 (0.8%)
   Nikita Kiryanov                   12 (0.8%)
   Anatolij Gustschin                12 (0.8%)
   Bo Shen                           11 (0.7%)
   Christian Gmeiner                 11 (0.7%)
   Markus Niebel                     11 (0.7%)
   Vikas Manocha                     10 (0.6%)
   Dirk Eibach                       10 (0.6%)
   Ruchika Gupta                     10 (0.6%)
   Stephen Warren                    9 (0.6%)
   Shaohui Xie                       9 (0.6%)
   York Sun                          8 (0.5%)
   Nikhil Badola                     8 (0.5%)
   Soeren Moch                       8 (0.5%)
   Gerald Kerma                      7 (0.4%)
   Sjoerd Simons                     7 (0.4%)
   Chunhe Lan                        7 (0.4%)
   Xiubo Li                          7 (0.4%)
   Paul Kocialkowski                 7 (0.4%)
   Stefan Herbrechtsmeier            6 (0.4%)
   Zhao Qiang                        6 (0.4%)
   Rabin Vincent                     6 (0.4%)
   Andreas Bießmann                  5 (0.3%)
   Dmitry Lifshitz                   5 (0.3%)
   Steve Rae                         5 (0.3%)
   Linus Walleij                     5 (0.3%)
   Tang Yuantian                     5 (0.3%)
   Shaveta Leekha                    5 (0.3%)
   Akshay Saraswat                   5 (0.3%)
   Valentin Longchamp                5 (0.3%)
   John Tobias                       5 (0.3%)
   Axel Lin                          4 (0.3%)
   Andrew Gabbasov                   4 (0.3%)
   Hector Palacios                   4 (0.3%)
   Albert Aribaud                    4 (0.3%)
   Eric Nelson                       4 (0.3%)
   Oliver Schinagl                   4 (0.3%)
   Georges Savoundararadj            4 (0.3%)
   Łukasz Majewski                   3 (0.2%)
   Alexey Brodkin                    3 (0.2%)
   Stefan Agner                      3 (0.2%)
   Jagannadha Sutradharudu Teki      3 (0.2%)
   Maxime Ripard                     3 (0.2%)
   Sonic Zhang                       3 (0.2%)
   Karicheri, Muralidharan           3 (0.2%)
   Nishanth Menon                    3 (0.2%)
   Rene Griessl                      3 (0.2%)
   Iain Paton                        3 (0.2%)
   Nikolay Dimitrov                  3 (0.2%)
   Hyungwon Hwang                    3 (0.2%)
   Rob Herring                       3 (0.2%)
   Lubomir Popov                     3 (0.2%)
   Prabhakar Kushwaha                3 (0.2%)
   Dinh Nguyen                       3 (0.2%)
   Ying Zhang                        3 (0.2%)
   Scott Jiang                       3 (0.2%)
   Vitaly Andrianov                  3 (0.2%)
   Kevin Hilman                      2 (0.1%)
   Jeremiah Mahler                   2 (0.1%)
   Luka Perkov                       2 (0.1%)
   Adnan Ali                         2 (0.1%)
   Pavel Machek                      2 (0.1%)
   Tudor Laurentiu                   2 (0.1%)
   Jeffrey Ladouceur                 2 (0.1%)
   Yao Yuan                          2 (0.1%)
   Chenhui Zhao                      2 (0.1%)
   Minghuan Lian                     2 (0.1%)
   Angelo Dureghello                 2 (0.1%)
   Wu, Josh                          2 (0.1%)
   Mark Tomlinson                    2 (0.1%)
   Priyanka Jain                     2 (0.1%)
   Suresh Gupta                      2 (0.1%)
   Luc Verhaegen                     2 (0.1%)
   Ashish Kumar                      2 (0.1%)
   Michal Simek                      2 (0.1%)
   Peter Crosthwaite                 2 (0.1%)
   Robert P. J. Day                  2 (0.1%)
   Gabe Black                        2 (0.1%)
   Pali Rohár                        1 (0.1%)
   Peter Tyser                       1 (0.1%)
   John Schmoller                    1 (0.1%)
   Bill Pringlemeir                  1 (0.1%)
   Guido Martínez                    1 (0.1%)
   David Büchi                       1 (0.1%)
   Peter Howard                      1 (0.1%)
   Hua Yanghao                       1 (0.1%)
   Anthoine Bourgeois                1 (0.1%)
   Pierre Aubert                     1 (0.1%)
   Dirk Behme                        1 (0.1%)
   Joonyoung Shim                    1 (0.1%)
   Jan Luebbe                        1 (0.1%)
   gaurav rana                       1 (0.1%)
   harninder rai                     1 (0.1%)
   Jaehoon Chung                     1 (0.1%)
   Allen Martin                      1 (0.1%)
   Jaiprakash Singh                  1 (0.1%)
   Ramneek Mehresh                   1 (0.1%)
   Jason Jin                         1 (0.1%)
   Peter Kümmel                      1 (0.1%)
   Xiaobo Xie                        1 (0.1%)
   vijay rai                         1 (0.1%)
   Holger Brunck                     1 (0.1%)
   Joakim Tjernlund                  1 (0.1%)
   Gregoire Gentil                   1 (0.1%)
   Franklin S Cooper Jr              1 (0.1%)
   Sanchayan Maity                   1 (0.1%)
   Rostislav Lisovy                  1 (0.1%)
   li pengbo                         1 (0.1%)
   Nitin Garg                        1 (0.1%)
   Alexey Ignatov                    1 (0.1%)
   Andrew Ruder                      1 (0.1%)
   David Müller (ELSOFT AG)          1 (0.1%)
   Vadim Bendebury                   1 (0.1%)
   Alim Akhtar                       1 (0.1%)
   Yangbo Lu                         1 (0.1%)
   Paul Gortmaker                    1 (0.1%)
   Zoltan HERPAI                     1 (0.1%)
   Tinghui Wang                      1 (0.1%)
   Soren Brinkmann                   1 (0.1%)
   Dominik Muth                      1 (0.1%)
   Jorgen Lundman                    1 (0.1%)
   Timo Ketola                       1 (0.1%)
   Dominic Sacré                     1 (0.1%)
   Noam Camus                        1 (0.1%)
   Dileep Katta                      1 (0.1%)
   Vagrant Cascadian                 1 (0.1%)
   Yehuda Yitschak                   1 (0.1%)
   Matthias Fuchs                    1 (0.1%)
   Ahmad Draidi                      1 (0.1%)
   Olaf Mandel                       1 (0.1%)
   Wills Wang                        1 (0.1%)
   WingMan Kwok                      1 (0.1%)
   Oleksandr Tymoshenko              1 (0.1%)
   Alexandre Courbot                 1 (0.1%)
   Robert Baldyga                    1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   77001 (30.6%)
   Wolfgang Denk                     50034 (19.9%)
   Simon Glass                       37488 (14.9%)
   Marek Vasut                       17641 (7.0%)
   Stefan Roese                      7535 (3.0%)
   Shengzhou Liu                     5963 (2.4%)
   Nobuhiro Iwamatsu                 5173 (2.1%)
   Thierry Reding                    4841 (1.9%)
   Bin Meng                          4301 (1.7%)
   Ruchika Gupta                     2560 (1.0%)
   Dirk Eibach                       2407 (1.0%)
   Hans de Goede                     2190 (0.9%)
   Oleksandr Tymoshenko              1843 (0.7%)
   Nikita Kiryanov                   1812 (0.7%)
   Khoronzhuk, Ivan                  1670 (0.7%)
   Bo Shen                           1478 (0.6%)
   Suriyan Ramasami                  1411 (0.6%)
   Hao Zhang                         1389 (0.6%)
   Igor Grinberg                     1168 (0.5%)
   Ye.Li                             1093 (0.4%)
   Marcel Ziswiler                   1035 (0.4%)
   Vikas Manocha                     1005 (0.4%)
   Heiko Schocher                    964 (0.4%)
   Oliver Schinagl                   852 (0.3%)
   Daniel Schwierzeck                836 (0.3%)
   Peng Fan                          829 (0.3%)
   Allen Martin                      810 (0.3%)
   Soeren Moch                       728 (0.3%)
   Rene Griessl                      718 (0.3%)
   Fabio Estevam                     683 (0.3%)
   Luc Verhaegen                     678 (0.3%)
   Felipe Balbi                      632 (0.3%)
   Alison Wang                       609 (0.2%)
   Georges Savoundararadj            559 (0.2%)
   Ying Zhang                        546 (0.2%)
   Jeroen Hofstee                    512 (0.2%)
   Jagannadha Sutradharudu Teki      485 (0.2%)
   Xiubo Li                          462 (0.2%)
   Chen-Yu Tsai                      460 (0.2%)
   Shaohui Xie                       428 (0.2%)
   Steve Rae                         391 (0.2%)
   Ian Campbell                      387 (0.2%)
   Vitaly Andrianov                  380 (0.2%)
   WingMan Kwok                      379 (0.2%)
   Tang Yuantian                     363 (0.1%)
   Przemyslaw Marczak                341 (0.1%)
   Gabe Black                        338 (0.1%)
   Nikhil Badola                     328 (0.1%)
   Guillaume GARDET                  294 (0.1%)
   Chunhe Lan                        283 (0.1%)
   Akshay Saraswat                   282 (0.1%)
   Stephen Warren                    278 (0.1%)
   Jeffrey Ladouceur                 275 (0.1%)
   Scott Jiang                       268 (0.1%)
   John Tobias                       252 (0.1%)
   Zhao Qiang                        232 (0.1%)
   Sjoerd Simons                     210 (0.1%)
   Stefan Herbrechtsmeier            201 (0.1%)
   Paul Kocialkowski                 191 (0.1%)
   Christian Gmeiner                 190 (0.1%)
   Iain Paton                        187 (0.1%)
   Hyungwon Hwang                    173 (0.1%)
   Stefan Agner                      165 (0.1%)
   Chenhui Zhao                      162 (0.1%)
   Linus Walleij                     155 (0.1%)
   Tom Rini                          116 (0.0%)
   Suresh Gupta                      114 (0.0%)
   York Sun                          108 (0.0%)
   Albert Aribaud                    107 (0.0%)
   Markus Niebel                     105 (0.0%)
   Minghuan Lian                     95 (0.0%)
   Shaveta Leekha                    81 (0.0%)
   Wu, Josh                          80 (0.0%)
   Gerald Kerma                      77 (0.0%)
   Yangbo Lu                         75 (0.0%)
   Anatolij Gustschin                73 (0.0%)
   Yao Yuan                          72 (0.0%)
   Nikolay Dimitrov                  70 (0.0%)
   Karicheri, Muralidharan           65 (0.0%)
   Dmitry Lifshitz                   61 (0.0%)
   Ashish Kumar                      61 (0.0%)
   Ahmad Draidi                      57 (0.0%)
   Maxime Ripard                     45 (0.0%)
   Rob Herring                       44 (0.0%)
   Andrew Gabbasov                   42 (0.0%)
   Prabhakar Kushwaha                40 (0.0%)
   Jeremiah Mahler                   40 (0.0%)
   Pavel Machek                      40 (0.0%)
   Łukasz Majewski                   37 (0.0%)
   Eric Nelson                       36 (0.0%)
   Tudor Laurentiu                   35 (0.0%)
   Nishanth Menon                    33 (0.0%)
   Nitin Garg                        31 (0.0%)
   Tinghui Wang                      31 (0.0%)
   Jan Luebbe                        30 (0.0%)
   Andreas Bießmann                  29 (0.0%)
   Axel Lin                          29 (0.0%)
   Priyanka Jain                     29 (0.0%)
   Peter Crosthwaite                 29 (0.0%)
   Alexey Ignatov                    27 (0.0%)
   Dinh Nguyen                       22 (0.0%)
   Valentin Longchamp                21 (0.0%)
   Alexey Brodkin                    21 (0.0%)
   Alim Akhtar                       20 (0.0%)
   Jason Jin                         18 (0.0%)
   Sonic Zhang                       16 (0.0%)
   Rabin Vincent                     15 (0.0%)
   Hector Palacios                   14 (0.0%)
   Dileep Katta                      14 (0.0%)
   Jaehoon Chung                     12 (0.0%)
   Robert Baldyga                    12 (0.0%)
   John Schmoller                    10 (0.0%)
   Kevin Hilman                      9 (0.0%)
   Lubomir Popov                     8 (0.0%)
   Andrew Ruder                      8 (0.0%)
   Vadim Bendebury                   8 (0.0%)
   Soren Brinkmann                   8 (0.0%)
   Dominik Muth                      8 (0.0%)
   Jorgen Lundman                    8 (0.0%)
   Dirk Behme                        7 (0.0%)
   Rostislav Lisovy                  7 (0.0%)
   Matthias Fuchs                    7 (0.0%)
   harninder rai                     6 (0.0%)
   Luka Perkov                       5 (0.0%)
   Pali Rohár                        5 (0.0%)
   David Büchi                       5 (0.0%)
   Holger Brunck                     5 (0.0%)
   Gregoire Gentil                   5 (0.0%)
   Timo Ketola                       5 (0.0%)
   Vagrant Cascadian                 5 (0.0%)
   Angelo Dureghello                 4 (0.0%)
   Mark Tomlinson                    4 (0.0%)
   Peter Tyser                       4 (0.0%)
   Peter Howard                      4 (0.0%)
   vijay rai                         4 (0.0%)
   Joakim Tjernlund                  4 (0.0%)
   Michal Simek                      3 (0.0%)
   Robert P. J. Day                  3 (0.0%)
   Pierre Aubert                     3 (0.0%)
   Sanchayan Maity                   3 (0.0%)
   Wills Wang                        3 (0.0%)
   Adnan Ali                         2 (0.0%)
   Bill Pringlemeir                  2 (0.0%)
   Guido Martínez                    2 (0.0%)
   Joonyoung Shim                    2 (0.0%)
   Peter Kümmel                      2 (0.0%)
   David Müller (ELSOFT AG)          2 (0.0%)
   Paul Gortmaker                    2 (0.0%)
   Noam Camus                        2 (0.0%)
   Hua Yanghao                       1 (0.0%)
   Anthoine Bourgeois                1 (0.0%)
   gaurav rana                       1 (0.0%)
   Jaiprakash Singh                  1 (0.0%)
   Ramneek Mehresh                   1 (0.0%)
   Xiaobo Xie                        1 (0.0%)
   Franklin S Cooper Jr              1 (0.0%)
   li pengbo                         1 (0.0%)
   Zoltan HERPAI                     1 (0.0%)
   Dominic Sacré                     1 (0.0%)
   Yehuda Yitschak                   1 (0.0%)
   Olaf Mandel                       1 (0.0%)
   Alexandre Courbot                 1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   68164 (42.7%)
   Wolfgang Denk                     49893 (31.3%)
   Marek Vasut                       13397 (8.4%)
   Nikita Kiryanov                   1435 (0.9%)
   Jagannadha Sutradharudu Teki      393 (0.2%)
   Georges Savoundararadj            238 (0.1%)
   Sjoerd Simons                     102 (0.1%)
   Scott Jiang                       74 (0.0%)
   Iain Paton                        62 (0.0%)
   Jeroen Hofstee                    38 (0.0%)
   Axel Lin                          10 (0.0%)
   Daniel Schwierzeck                7 (0.0%)
   Kevin Hilman                      5 (0.0%)
   Holger Brunck                     5 (0.0%)
   Tom Rini                          4 (0.0%)
   Joakim Tjernlund                  4 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Warren                        36 (12.4%)
   Simon Glass                       32 (11.0%)
   Minkyu Kang                       31 (10.7%)
   Hans de Goede                     27 (9.3%)
   Andreas Bießmann                  21 (7.2%)
   Khoronzhuk, Ivan                  19 (6.6%)
   Tom Rini                          16 (5.5%)
   Hisashi Nakamura                  13 (4.5%)
   Stefan Roese                      8 (2.8%)
   Poonam Aggrwal                    6 (2.1%)
   Chen-Yu Tsai                      6 (2.1%)
   Nobuhiro Iwamatsu                 5 (1.7%)
   Michal Simek                      4 (1.4%)
   Michal Marek                      4 (1.4%)
   Shaohui Xie                       4 (1.4%)
   Ye.Li                             4 (1.4%)
   Hao Zhang                         4 (1.4%)
   Marek Vasut                       3 (1.0%)
   Jason Jin                         3 (1.0%)
   Ramneek Mehresh                   2 (0.7%)
   Laurentiu Tudor                   2 (0.7%)
   Doug Anderson                     2 (0.7%)
   Xiaobo Xie                        2 (0.7%)
   Alim Akhtar                       2 (0.7%)
   Nitin Garg                        2 (0.7%)
   Akshay Saraswat                   2 (0.7%)
   Masahiro Yamada                   1 (0.3%)
   Nikita Kiryanov                   1 (0.3%)
   Peter Tyser                       1 (0.3%)
   Mike Rapoport                     1 (0.3%)
   Ben Dooks                         1 (0.3%)
   Cristian Sovaiala                 1 (0.3%)
   Chen Lu                           1 (0.3%)
   Wujie Qiu                         1 (0.3%)
   Sandeep Singh                     1 (0.3%)
   Roy Zang                          1 (0.3%)
   Ryo Kataoka                       1 (0.3%)
   Horia Geanta                      1 (0.3%)
   Randy Dunlap                      1 (0.3%)
   Josh Triplett                     1 (0.3%)
   Brian Norris                      1 (0.3%)
   Borislav Petkov                   1 (0.3%)
   Yoshiyuki Ito                     1 (0.3%)
   Gabor Juhos                       1 (0.3%)
   Nishanth Menon                    1 (0.3%)
   Anatolij Gustschin                1 (0.3%)
   Prabhakar Kushwaha                1 (0.3%)
   Peter Crosthwaite                 1 (0.3%)
   Maxime Ripard                     1 (0.3%)
   Ian Campbell                      1 (0.3%)
   Minghuan Lian                     1 (0.3%)
   Suresh Gupta                      1 (0.3%)
   Zhao Qiang                        1 (0.3%)
   Stephen Warren                    1 (0.3%)
   Felipe Balbi                      1 (0.3%)
   Bo Shen                           1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   York Sun                          123 (32.7%)
   Tom Rini                          70 (18.6%)
   Jagannadha Sutradharudu Teki      63 (16.8%)
   Bin Meng                          32 (8.5%)
   Simon Glass                       14 (3.7%)
   Andreas Bießmann                  11 (2.9%)
   Masahiro Yamada                   10 (2.7%)
   Bo Shen                           10 (2.7%)
   Hans de Goede                     7 (1.9%)
   Stefan Roese                      6 (1.6%)
   Fabio Estevam                     6 (1.6%)
   Marek Vasut                       5 (1.3%)
   Łukasz Majewski                   3 (0.8%)
   Benoît Thébaudeau                 2 (0.5%)
   Bill Richardson                   2 (0.5%)
   Gabe Black                        2 (0.5%)
   Stephen Warren                    1 (0.3%)
   Felipe Balbi                      1 (0.3%)
   Sjoerd Simons                     1 (0.3%)
   Stefano Babic                     1 (0.3%)
   Sethi Varun-B16395                1 (0.3%)
   Nikolay Dimitrov                  1 (0.3%)
   Christian Gmeiner                 1 (0.3%)
   Przemyslaw Marczak                1 (0.3%)
   Steve Rae                         1 (0.3%)
   Suriyan Ramasami                  1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       28 (29.2%)
   Luka Perkov                       16 (16.7%)
   Łukasz Majewski                   11 (11.5%)
   Stephen Warren                    9 (9.4%)
   Bin Meng                          4 (4.2%)
   Kevin Hilman                      3 (3.1%)
   Masahiro Yamada                   2 (2.1%)
   Stefan Roese                      2 (2.1%)
   Gabe Black                        2 (2.1%)
   Nikolay Dimitrov                  2 (2.1%)
   Nikita Kiryanov                   2 (2.1%)
   Philippe Reynes                   2 (2.1%)
   Guillaume GARDET                  2 (2.1%)
   Hans de Goede                     1 (1.0%)
   Sjoerd Simons                     1 (1.0%)
   Stefano Babic                     1 (1.0%)
   Przemyslaw Marczak                1 (1.0%)
   Robert Nelson                     1 (1.0%)
   Vince Hsu                         1 (1.0%)
   Boris Brezillon                   1 (1.0%)
   Pierre Aubert                     1 (1.0%)
   Dinh Nguyen                       1 (1.0%)
   Alexey Brodkin                    1 (1.0%)
   Eric Nelson                       1 (1.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Stefan Roese                      17 (17.7%)
   Bin Meng                          9 (9.4%)
   Simon Glass                       8 (8.3%)
   Masahiro Yamada                   6 (6.2%)
   Hans de Goede                     5 (5.2%)
   Akshay Saraswat                   5 (5.2%)
   Przemyslaw Marczak                4 (4.2%)
   Hyungwon Hwang                    4 (4.2%)
   Stephen Warren                    3 (3.1%)
   Sjoerd Simons                     3 (3.1%)
   Marek Vasut                       3 (3.1%)
   Albert Aribaud                    3 (3.1%)
   Gabe Black                        2 (2.1%)
   Jagannadha Sutradharudu Teki      2 (2.1%)
   Steve Rae                         2 (2.1%)
   Ian Campbell                      2 (2.1%)
   Iain Paton                        2 (2.1%)
   Bill Pringlemeir                  2 (2.1%)
   Rob Herring                       2 (2.1%)
   Guillaume GARDET                  1 (1.0%)
   Tom Rini                          1 (1.0%)
   Bo Shen                           1 (1.0%)
   Alim Akhtar                       1 (1.0%)
   Vadim Bendebury                   1 (1.0%)
   Gerald Kerma                      1 (1.0%)
   Markus Niebel                     1 (1.0%)
   Stefan Agner                      1 (1.0%)
   Soeren Moch                       1 (1.0%)
   Marcel Ziswiler                   1 (1.0%)
   Oleksandr Tymoshenko              1 (1.0%)
   Thierry Reding                    1 (1.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     4 (20.0%)
   Albert Aribaud                    2 (10.0%)
   Jeroen Hofstee                    2 (10.0%)
   Przemyslaw Marczak                1 (5.0%)
   Stephen Warren                    1 (5.0%)
   Bill Pringlemeir                  1 (5.0%)
   Robert Nelson                     1 (5.0%)
   Dinh Nguyen                       1 (5.0%)
   York Sun                          1 (5.0%)
   Siarhei Siamashka                 1 (5.0%)
   Jens Rottmann                     1 (5.0%)
   Martin Dorwig                     1 (5.0%)
   Pantelis Antoniou                 1 (5.0%)
   Tom Everett                       1 (5.0%)
   Andrew Ruder                      1 (5.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       7 (35.0%)
   Masahiro Yamada                   3 (15.0%)
   Tom Rini                          2 (10.0%)
   Rabin Vincent                     2 (10.0%)
   Heiko Schocher                    2 (10.0%)
   Hans de Goede                     1 (5.0%)
   Guillaume GARDET                  1 (5.0%)
   Nikita Kiryanov                   1 (5.0%)
   Anatolij Gustschin                1 (5.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         357 (22.5%)
   Google, Inc.                      306 (19.3%)
   Freescale                         199 (12.5%)
   Socionext Inc.                    182 (11.5%)
   DENX Software Engineering         146 (9.2%)
   Texas Instruments                 68 (4.3%)
   Renesas Electronics               57 (3.6%)
   Red Hat                           51 (3.2%)
   NVidia                            40 (2.5%)
   CompuLab                          35 (2.2%)
   Samsung                           35 (2.2%)
   Konsulko Group                    22 (1.4%)
   Atmel                             13 (0.8%)
   Guntermann & Drunck               10 (0.6%)
   ST Microelectronics               10 (0.6%)
   Linaro                            8 (0.5%)
   Collabora Ltd.                    7 (0.4%)
   Keymile                           6 (0.4%)
   Broadcom                          5 (0.3%)
   Boundary Devices                  4 (0.3%)
   Citrix                            4 (0.3%)
   Digi International                4 (0.3%)
   Analog Devices                    3 (0.2%)
   Free Electrons                    3 (0.2%)
   AMD                               2 (0.1%)
   Extreme Engineering Solutions     2 (0.1%)
   Wind River                        1 (0.1%)
   Debian.org                        1 (0.1%)
   ESD Electronics                   1 (0.1%)
   Marvell                           1 (0.1%)
   Pengutronix                       1 (0.1%)
   Toradex                           1 (0.1%)
   Transmode Systems                 1 (0.1%)
   Xilinx                            1 (0.1%)
   Nobuhiro Iwamatsu                 1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Socionext Inc.                    77001 (30.6%)
   DENX Software Engineering         76287 (30.3%)
   Google, Inc.                      37834 (15.0%)
   (Unknown)                         20165 (8.0%)
   Freescale                         13030 (5.2%)
   NVidia                            5657 (2.2%)
   Renesas Electronics               5160 (2.0%)
   Texas Instruments                 4549 (1.8%)
   CompuLab                          3041 (1.2%)
   Guntermann & Drunck               2407 (1.0%)
   Red Hat                           2190 (0.9%)
   Atmel                             1558 (0.6%)
   ST Microelectronics               1005 (0.4%)
   Samsung                           879 (0.3%)
   Broadcom                          391 (0.2%)
   Collabora Ltd.                    210 (0.1%)
   Linaro                            178 (0.1%)
   Konsulko Group                    116 (0.0%)
   Citrix                            75 (0.0%)
   Free Electrons                    45 (0.0%)
   Boundary Devices                  36 (0.0%)
   Pengutronix                       30 (0.0%)
   Keymile                           26 (0.0%)
   Analog Devices                    16 (0.0%)
   Digi International                14 (0.0%)
   Extreme Engineering Solutions     14 (0.0%)
   Nobuhiro Iwamatsu                 13 (0.0%)
   Xilinx                            8 (0.0%)
   ESD Electronics                   7 (0.0%)
   Debian.org                        5 (0.0%)
   Transmode Systems                 4 (0.0%)
   AMD                               3 (0.0%)
   Toradex                           3 (0.0%)
   Wind River                        2 (0.0%)
   Marvell                           1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Texas Instruments                 41 (14.1%)
   (Unknown)                         36 (12.4%)
   NVidia                            36 (12.4%)
   Samsung                           35 (12.1%)
   Google, Inc.                      34 (11.7%)
   Freescale                         34 (11.7%)
   Red Hat                           27 (9.3%)
   Renesas Electronics               15 (5.2%)
   DENX Software Engineering         12 (4.1%)
   Nobuhiro Iwamatsu                 5 (1.7%)
   Novell                            5 (1.7%)
   Xilinx                            4 (1.4%)
   CompuLab                          2 (0.7%)
   Atmel                             1 (0.3%)
   Free Electrons                    1 (0.3%)
   Extreme Engineering Solutions     1 (0.3%)
   Panasonic                         1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         68 (41.2%)
   Freescale                         33 (20.0%)
   Texas Instruments                 8 (4.8%)
   Samsung                           8 (4.8%)
   DENX Software Engineering         6 (3.6%)
   NVidia                            4 (2.4%)
   Google, Inc.                      3 (1.8%)
   CompuLab                          3 (1.8%)
   Linaro                            3 (1.8%)
   Atmel                             2 (1.2%)
   Extreme Engineering Solutions     2 (1.2%)
   Keymile                           2 (1.2%)
   Red Hat                           1 (0.6%)
   Renesas Electronics               1 (0.6%)
   Nobuhiro Iwamatsu                 1 (0.6%)
   Xilinx                            1 (0.6%)
   Free Electrons                    1 (0.6%)
   Socionext Inc.                    1 (0.6%)
   Guntermann & Drunck               1 (0.6%)
   ST Microelectronics               1 (0.6%)
   Broadcom                          1 (0.6%)
   Collabora Ltd.                    1 (0.6%)
   Konsulko Group                    1 (0.6%)
   Citrix                            1 (0.6%)
   Boundary Devices                  1 (0.6%)
   Pengutronix                       1 (0.6%)
   Analog Devices                    1 (0.6%)
   Digi International                1 (0.6%)
   ESD Electronics                   1 (0.6%)
   Debian.org                        1 (0.6%)
   Transmode Systems                 1 (0.6%)
   AMD                               1 (0.6%)
   Toradex                           1 (0.6%)
   Wind River                        1 (0.6%)
   Marvell                           1 (0.6%)
   ================================  =====
