:orphan:

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

* Processed 1588 csets 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%)
   ================================  =====
