:orphan:

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

* Processed 1563 changesets from 156 developers

* 28 employers found

* A total of 176355 lines added, 44130 removed (delta 132225)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       311 (19.9%)
   Joe Hershberger                   111 (7.1%)
   Hans de Goede                     106 (6.8%)
   Tim Harvey                        77 (4.9%)
   Masahiro Yamada                   68 (4.4%)
   Bin Meng                          56 (3.6%)
   Jagannadh Teki                    44 (2.8%)
   Przemyslaw Marczak                43 (2.8%)
   Paul Kocialkowski                 42 (2.7%)
   Kishon Vijay Abraham I            41 (2.6%)
   Stefan Roese                      38 (2.4%)
   Fabio Estevam                     32 (2.0%)
   Lokesh Vutla                      23 (1.5%)
   Stephen Warren                    20 (1.3%)
   Hannes Petermaier                 16 (1.0%)
   Dinh Nguyen                       16 (1.0%)
   Tom Rini                          15 (1.0%)
   Heiko Schocher                    15 (1.0%)
   Scott Wood                        15 (1.0%)
   York Sun                          15 (1.0%)
   Haikun Wang                       14 (0.9%)
   Peter Robinson                    13 (0.8%)
   Jan Kiszka                        13 (0.8%)
   Marek Vasut                       12 (0.8%)
   Siva Durga Prasad Paladugu        12 (0.8%)
   Michal Simek                      11 (0.7%)
   Chen-Yu Tsai                      11 (0.7%)
   Prabhakar Kushwaha                10 (0.6%)
   Peng Fan                          10 (0.6%)
   Łukasz Majewski                   10 (0.6%)
   Stefan Agner                      10 (0.6%)
   Shengzhou Liu                     10 (0.6%)
   Sjoerd Simons                     10 (0.6%)
   Bhuvanchandra DV                  9 (0.6%)
   Sanchayan Maity                   8 (0.5%)
   Yegor Yefremov                    7 (0.4%)
   Markus Niebel                     7 (0.4%)
   Andreas Bießmann                  7 (0.4%)
   Axel Lin                          6 (0.4%)
   Soeren Moch                       6 (0.4%)
   Linus Walleij                     6 (0.4%)
   Yangbo Lu                         6 (0.4%)
   Andrew Gabbasov                   6 (0.4%)
   Roger Quadros                     5 (0.3%)
   Pavel Machek                      5 (0.3%)
   Mark Langsdorf                    5 (0.3%)
   Nikhil Badola                     5 (0.3%)
   Gabriel Huau                      5 (0.3%)
   Nikolay Dimitrov                  5 (0.3%)
   Thierry Reding                    5 (0.3%)
   Minghuan Lian                     5 (0.3%)
   Sergey Temerkhanov                5 (0.3%)
   Tang Yuantian                     4 (0.3%)
   Alexey Brodkin                    4 (0.3%)
   Kevin Smith                       4 (0.3%)
   Ian Campbell                      4 (0.3%)
   Rob Herring                       4 (0.3%)
   Ash Charles                       4 (0.3%)
   Inha Song                         4 (0.3%)
   Nobuhiro Iwamatsu                 4 (0.3%)
   Matt Porter                       4 (0.3%)
   Karl Apsite                       4 (0.3%)
   Jörg Krause                       4 (0.3%)
   Kamil Lulko                       4 (0.3%)
   Marek Szyprowski                  4 (0.3%)
   Antonio Borneo                    3 (0.2%)
   Mugunthan V N                     3 (0.2%)
   Daniel Schwierzeck                3 (0.2%)
   Jeroen Hofstee                    3 (0.2%)
   Stefano Babic                     3 (0.2%)
   Andrew Bradford                   3 (0.2%)
   Alison Wang                       3 (0.2%)
   Eric Nelson                       3 (0.2%)
   Wu, Josh                          3 (0.2%)
   Vikas Manocha                     3 (0.2%)
   Arun Bharadwaj                    3 (0.2%)
   Zhao Qiang                        3 (0.2%)
   Vishnu Patekar                    3 (0.2%)
   Dileep Katta                      3 (0.2%)
   Bhupesh Sharma                    3 (0.2%)
   Pushpal Sidhu                     3 (0.2%)
   Minkyu Kang                       2 (0.1%)
   Shaohui Xie                       2 (0.1%)
   Nishanth Menon                    2 (0.1%)
   Angelo Dureghello                 2 (0.1%)
   Chris Packham                     2 (0.1%)
   Guillaume GARDET                  2 (0.1%)
   Vitaly Andrianov                  2 (0.1%)
   Cooper Jr., Franklin              2 (0.1%)
   Joonyoung Shim                    2 (0.1%)
   Christian Gmeiner                 2 (0.1%)
   Lars Poeschel                     2 (0.1%)
   Daniel Kochmański                 2 (0.1%)
   Roy Spliet                        2 (0.1%)
   Ricardo Ribalda                   2 (0.1%)
   Tuomas Tynkkynen                  2 (0.1%)
   Ulises Cardenas                   2 (0.1%)
   Peter Howard                      2 (0.1%)
   kunhuahuang                       2 (0.1%)
   Jagannadha Sutradharudu Teki      2 (0.1%)
   Oleksandr G Zhadan                2 (0.1%)
   Chunhe Lan                        2 (0.1%)
   Nathan Rossi                      2 (0.1%)
   pankaj chauhan                    2 (0.1%)
   gaurav rana                       2 (0.1%)
   Alexander Merkle                  2 (0.1%)
   Andre Przywara                    1 (0.1%)
   Michael Scherban                  1 (0.1%)
   Egli, Samuel                      1 (0.1%)
   Albert ARIBAUD (3ADEV)            1 (0.1%)
   Maxime Ripard                     1 (0.1%)
   Tony Wu                           1 (0.1%)
   Bernhard Nortmann                 1 (0.1%)
   Maxin B. John                     1 (0.1%)
   Karsten Merker                    1 (0.1%)
   Pali Rohár                        1 (0.1%)
   Chris Kuethe                      1 (0.1%)
   Adam YH Lee                       1 (0.1%)
   Stefan Wahren                     1 (0.1%)
   Mitsuhiro Kimura                  1 (0.1%)
   Peter Griffin                     1 (0.1%)
   Hannes Schmelzer                  1 (0.1%)
   Thomas Petazzoni                  1 (0.1%)
   Evgeniy Dushistov                 1 (0.1%)
   Ryan Harkin                       1 (0.1%)
   Raghav Dogra                      1 (0.1%)
   Laurent Itti                      1 (0.1%)
   Brecht Neyrinck                   1 (0.1%)
   Vincent Palatin                   1 (0.1%)
   Du Huanpeng                       1 (0.1%)
   Max Krummenacher                  1 (0.1%)
   Alexander Stein                   1 (0.1%)
   Kevin Liu                         1 (0.1%)
   Valentin Longchamp                1 (0.1%)
   Andrea Scian                      1 (0.1%)
   David Dueck                       1 (0.1%)
   Jaiprakash Singh                  1 (0.1%)
   Bryan De Faria                    1 (0.1%)
   Zhou Zhu                          1 (0.1%)
   Xiang Wang                        1 (0.1%)
   J. German Rivera                  1 (0.1%)
   Yao Yuan                          1 (0.1%)
   Andrey Skvortsov                  1 (0.1%)
   Luca Ellero                       1 (0.1%)
   Tim James                         1 (0.1%)
   Codrin Ciubotariu                 1 (0.1%)
   Ying Zhang                        1 (0.1%)
   Alexander Graf                    1 (0.1%)
   Curt Brune                        1 (0.1%)
   Bryan Brinsko                     1 (0.1%)
   Valentine Barshak                 1 (0.1%)
   David Feng                        1 (0.1%)
   Han Pengfei                       1 (0.1%)
   Alexey Firago                     1 (0.1%)
   Michael Scott                     1 (0.1%)
   Franck Jullien                    1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   56181 (28.7%)
   Simon Glass                       22872 (11.7%)
   Hans de Goede                     19807 (10.1%)
   Kishon Vijay Abraham I            15720 (8.0%)
   Joe Hershberger                   13351 (6.8%)
   Prabhakar Kushwaha                6857 (3.5%)
   Przemyslaw Marczak                6471 (3.3%)
   Stefan Roese                      3275 (1.7%)
   Bin Meng                          3114 (1.6%)
   Haikun Wang                       3058 (1.6%)
   York Sun                          3015 (1.5%)
   Heiko Schocher                    2735 (1.4%)
   Tim Harvey                        2358 (1.2%)
   Oleksandr G Zhadan                2304 (1.2%)
   Jagannadh Teki                    2287 (1.2%)
   Fabio Estevam                     2262 (1.2%)
   Andreas Bießmann                  2029 (1.0%)
   Kamil Lulko                       1944 (1.0%)
   Angelo Dureghello                 1782 (0.9%)
   Sanchayan Maity                   1404 (0.7%)
   Yegor Yefremov                    1305 (0.7%)
   Paul Kocialkowski                 1204 (0.6%)
   Lokesh Vutla                      1199 (0.6%)
   Peter Robinson                    1199 (0.6%)
   Matt Porter                       938 (0.5%)
   Peter Howard                      770 (0.4%)
   Scott Wood                        735 (0.4%)
   Hannes Petermaier                 685 (0.3%)
   Vishnu Patekar                    600 (0.3%)
   Bhuvanchandra DV                  580 (0.3%)
   Shengzhou Liu                     524 (0.3%)
   Peng Fan                          513 (0.3%)
   Chen-Yu Tsai                      493 (0.3%)
   Ian Campbell                      476 (0.2%)
   Michal Simek                      446 (0.2%)
   Arun Bharadwaj                    440 (0.2%)
   Stephen Warren                    431 (0.2%)
   Daniel Kochmański                 426 (0.2%)
   Jan Kiszka                        395 (0.2%)
   J. German Rivera                  395 (0.2%)
   Siva Durga Prasad Paladugu        382 (0.2%)
   Minghuan Lian                     380 (0.2%)
   Bhupesh Sharma                    377 (0.2%)
   Gabriel Huau                      372 (0.2%)
   Alexey Brodkin                    345 (0.2%)
   Karl Apsite                       341 (0.2%)
   Mark Langsdorf                    330 (0.2%)
   Nishanth Menon                    330 (0.2%)
   Nobuhiro Iwamatsu                 301 (0.2%)
   Andrea Scian                      287 (0.1%)
   Yangbo Lu                         284 (0.1%)
   Eric Nelson                       283 (0.1%)
   Stefan Agner                      281 (0.1%)
   Sjoerd Simons                     257 (0.1%)
   Chunhe Lan                        187 (0.1%)
   Tom Rini                          185 (0.1%)
   Valentin Longchamp                164 (0.1%)
   Marek Vasut                       163 (0.1%)
   Dinh Nguyen                       161 (0.1%)
   Sergey Temerkhanov                160 (0.1%)
   gaurav rana                       152 (0.1%)
   Łukasz Majewski                   149 (0.1%)
   Daniel Schwierzeck                142 (0.1%)
   Zhao Qiang                        130 (0.1%)
   Jeroen Hofstee                    128 (0.1%)
   Jaiprakash Singh                  126 (0.1%)
   Adam YH Lee                       124 (0.1%)
   Nikhil Badola                     121 (0.1%)
   kunhuahuang                       111 (0.1%)
   Roy Spliet                        94 (0.0%)
   Markus Niebel                     90 (0.0%)
   Rob Herring                       90 (0.0%)
   Pushpal Sidhu                     88 (0.0%)
   Alison Wang                       78 (0.0%)
   Yao Yuan                          78 (0.0%)
   Vikas Manocha                     66 (0.0%)
   Pavel Machek                      62 (0.0%)
   Nathan Rossi                      62 (0.0%)
   Thierry Reding                    61 (0.0%)
   Andrew Gabbasov                   59 (0.0%)
   Shaohui Xie                       58 (0.0%)
   Axel Lin                          57 (0.0%)
   Jörg Krause                       56 (0.0%)
   Bryan De Faria                    56 (0.0%)
   Marek Szyprowski                  55 (0.0%)
   Mugunthan V N                     55 (0.0%)
   Dileep Katta                      55 (0.0%)
   Xiang Wang                        55 (0.0%)
   Tang Yuantian                     54 (0.0%)
   Lars Poeschel                     52 (0.0%)
   Bryan Brinsko                     51 (0.0%)
   Nikolay Dimitrov                  50 (0.0%)
   Joonyoung Shim                    50 (0.0%)
   Jagannadha Sutradharudu Teki      50 (0.0%)
   Linus Walleij                     46 (0.0%)
   Vitaly Andrianov                  46 (0.0%)
   Minkyu Kang                       38 (0.0%)
   Tim James                         38 (0.0%)
   Christian Gmeiner                 37 (0.0%)
   Soeren Moch                       35 (0.0%)
   Inha Song                         33 (0.0%)
   Michael Scott                     33 (0.0%)
   Ash Charles                       30 (0.0%)
   Wu, Josh                          30 (0.0%)
   Cooper Jr., Franklin              30 (0.0%)
   Vincent Palatin                   29 (0.0%)
   Franck Jullien                    28 (0.0%)
   Kevin Smith                       26 (0.0%)
   Han Pengfei                       26 (0.0%)
   Maxime Ripard                     25 (0.0%)
   Mitsuhiro Kimura                  25 (0.0%)
   Ying Zhang                        18 (0.0%)
   Egli, Samuel                      17 (0.0%)
   Codrin Ciubotariu                 17 (0.0%)
   Valentine Barshak                 17 (0.0%)
   Chris Packham                     16 (0.0%)
   Hannes Schmelzer                  16 (0.0%)
   pankaj chauhan                    13 (0.0%)
   Alexey Firago                     13 (0.0%)
   David Dueck                       12 (0.0%)
   Roger Quadros                     11 (0.0%)
   Luca Ellero                       11 (0.0%)
   Ulises Cardenas                   10 (0.0%)
   Curt Brune                        9 (0.0%)
   Guillaume GARDET                  8 (0.0%)
   Ricardo Ribalda                   7 (0.0%)
   Laurent Itti                      7 (0.0%)
   Alexander Graf                    7 (0.0%)
   Stefano Babic                     6 (0.0%)
   Albert ARIBAUD (3ADEV)            6 (0.0%)
   Stefan Wahren                     5 (0.0%)
   Zhou Zhu                          5 (0.0%)
   Andrey Skvortsov                  5 (0.0%)
   Andrew Bradford                   4 (0.0%)
   Tuomas Tynkkynen                  4 (0.0%)
   Karsten Merker                    4 (0.0%)
   Pali Rohár                        4 (0.0%)
   Antonio Borneo                    3 (0.0%)
   Alexander Merkle                  3 (0.0%)
   Michael Scherban                  3 (0.0%)
   Peter Griffin                     3 (0.0%)
   David Feng                        3 (0.0%)
   Andre Przywara                    2 (0.0%)
   Chris Kuethe                      2 (0.0%)
   Thomas Petazzoni                  2 (0.0%)
   Alexander Stein                   2 (0.0%)
   Kevin Liu                         2 (0.0%)
   Tony Wu                           1 (0.0%)
   Bernhard Nortmann                 1 (0.0%)
   Maxin B. John                     1 (0.0%)
   Evgeniy Dushistov                 1 (0.0%)
   Ryan Harkin                       1 (0.0%)
   Raghav Dogra                      1 (0.0%)
   Brecht Neyrinck                   1 (0.0%)
   Du Huanpeng                       1 (0.0%)
   Max Krummenacher                  1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Andreas Bießmann                  2018 (4.6%)
   Angelo Dureghello                 1628 (3.7%)
   Stefan Roese                      1117 (2.5%)
   Peter Robinson                    1105 (2.5%)
   Jagannadh Teki                    1001 (2.3%)
   Ian Campbell                      354 (0.8%)
   Valentin Longchamp                116 (0.3%)
   Lars Poeschel                     52 (0.1%)
   Jagannadha Sutradharudu Teki      41 (0.1%)
   Stephen Warren                    15 (0.0%)
   Andrey Skvortsov                  5 (0.0%)
   Rob Herring                       4 (0.0%)
   Zhou Zhu                          4 (0.0%)
   Pali Rohár                        4 (0.0%)
   Axel Lin                          1 (0.0%)
   Jörg Krause                       1 (0.0%)
   Nikolay Dimitrov                  1 (0.0%)
   Egli, Samuel                      1 (0.0%)
   Alexander Merkle                  1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Warren                        60 (19.7%)
   Hans de Goede                     55 (18.1%)
   Michal Simek                      19 (6.2%)
   York Sun                          19 (6.2%)
   Tom Rini                          10 (3.3%)
   Nishanth Menon                    9 (3.0%)
   Rabeeh Khoury                     8 (2.6%)
   Andre Przywara                    6 (2.0%)
   Rob Herring                       5 (1.6%)
   Radha Mohan Chintakuntla          5 (1.6%)
   Kouei Abe                         4 (1.3%)
   Minkyu Kang                       4 (1.3%)
   Scott Wood                        4 (1.3%)
   Jan Kiszka                        4 (1.3%)
   Simon Glass                       4 (1.3%)
   Egli, Samuel                      3 (1.0%)
   Ye.Li                             3 (1.0%)
   Angela Stegmaier                  3 (1.0%)
   Łukasz Majewski                   3 (1.0%)
   Bhupesh Sharma                    3 (1.0%)
   Tim Harvey                        3 (1.0%)
   Joe Hershberger                   3 (1.0%)
   Prabhakar Kushwaha                3 (1.0%)
   Roger Quadros                     2 (0.7%)
   Tomi Valkeinen                    2 (0.7%)
   Ricardo Ribalda Delgado           2 (0.7%)
   Jon Nettleton                     2 (0.7%)
   Michael Durrant                   2 (0.7%)
   Roy Zang                          2 (0.7%)
   pankaj chauhan                    2 (0.7%)
   Shaohui Xie                       2 (0.7%)
   Ash Charles                       2 (0.7%)
   Inha Song                         2 (0.7%)
   Stefan Agner                      2 (0.7%)
   Roy Spliet                        2 (0.7%)
   Nobuhiro Iwamatsu                 2 (0.7%)
   Lokesh Vutla                      2 (0.7%)
   Sanchayan Maity                   2 (0.7%)
   Jagannadh Teki                    1 (0.3%)
   Jörg Krause                       1 (0.3%)
   Rohit Dharmakan                   1 (0.3%)
   Felipe Balbi                      1 (0.3%)
   Peter Ujfalusi                    1 (0.3%)
   Vishal Mahaveer                   1 (0.3%)
   Ulf Magnusson                     1 (0.3%)
   Philip Craig                      1 (0.3%)
   Jakub Sitnicki                    1 (0.3%)
   Vadim Bendebury                   1 (0.3%)
   Richard Hu                        1 (0.3%)
   Ruchika Gupta                     1 (0.3%)
   Marcel Ziswiler                   1 (0.3%)
   Pantelis Antoniou                 1 (0.3%)
   Ed Swarthout                      1 (0.3%)
   Jian Luo                          1 (0.3%)
   Roy Pledge                        1 (0.3%)
   Lijun Pan                         1 (0.3%)
   Stuart Yoder                      1 (0.3%)
   Geoff Thorpe                      1 (0.3%)
   Haiying Wang                      1 (0.3%)
   Cristian Sovaiala                 1 (0.3%)
   Ramneek Mehresh                   1 (0.3%)
   Anatolij Gustschin                1 (0.3%)
   Vladimir Barinov                  1 (0.3%)
   Mugunthan V N                     1 (0.3%)
   Arun Bharadwaj                    1 (0.3%)
   Joonyoung Shim                    1 (0.3%)
   Peng Fan                          1 (0.3%)
   J. German Rivera                  1 (0.3%)
   Minghuan Lian                     1 (0.3%)
   Hannes Petermaier                 1 (0.3%)
   Siva Durga Prasad Paladugu        1 (0.3%)
   Heiko Schocher                    1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       101 (20.8%)
   Marek Vasut                       88 (18.1%)
   Tom Rini                          80 (16.5%)
   York Sun                          50 (10.3%)
   Łukasz Majewski                   41 (8.4%)
   Bin Meng                          38 (7.8%)
   Hans de Goede                     15 (3.1%)
   Joe Hershberger                   14 (2.9%)
   Jagannadha Sutradharudu Teki      13 (2.7%)
   Jagannadh Teki                    12 (2.5%)
   Thierry Reding                    11 (2.3%)
   Stefan Roese                      6 (1.2%)
   Stefano Babic                     3 (0.6%)
   Fabio Estevam                     3 (0.6%)
   Nishanth Menon                    1 (0.2%)
   Scott Wood                        1 (0.2%)
   Prabhakar Kushwaha                1 (0.2%)
   Nobuhiro Iwamatsu                 1 (0.2%)
   Ruchika Gupta                     1 (0.2%)
   Linus Walleij                     1 (0.2%)
   Chakra Divi                       1 (0.2%)
   Stefan Reinauer                   1 (0.2%)
   Paul Walmsley                     1 (0.2%)
   Eric Nelson                       1 (0.2%)
   Przemyslaw Marczak                1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       17 (13.4%)
   Kevin Smith                       14 (11.0%)
   Dirk Eibach                       13 (10.2%)
   Thierry Reding                    11 (8.7%)
   Ian Campbell                      11 (8.7%)
   Vagrant Cascadian                 9 (7.1%)
   Jagannadh Teki                    8 (6.3%)
   Haikun Wang                       6 (4.7%)
   Bin Meng                          4 (3.1%)
   Joe Hershberger                   3 (2.4%)
   Tom Rini                          2 (1.6%)
   Eric Nelson                       2 (1.6%)
   Peng Fan                          2 (1.6%)
   Nikolay Dimitrov                  2 (1.6%)
   Marek Vasut                       1 (0.8%)
   Łukasz Majewski                   1 (0.8%)
   Hans de Goede                     1 (0.8%)
   Stefan Roese                      1 (0.8%)
   Stefan Reinauer                   1 (0.8%)
   Michal Simek                      1 (0.8%)
   Tim Harvey                        1 (0.8%)
   Shaohui Xie                       1 (0.8%)
   Lokesh Vutla                      1 (0.8%)
   Maxin B. John                     1 (0.8%)
   Review Code-CDREVIEW              1 (0.8%)
   Jakub Kicinski                    1 (0.8%)
   Keerthy                           1 (0.8%)
   Yan Liu                           1 (0.8%)
   Andrei Gherzan                    1 (0.8%)
   Georg Schardt                     1 (0.8%)
   Steve Rae                         1 (0.8%)
   Bernhard Nortmann                 1 (0.8%)
   David Dueck                       1 (0.8%)
   Albert ARIBAUD (3ADEV)            1 (0.8%)
   Maxime Ripard                     1 (0.8%)
   Pavel Machek                      1 (0.8%)
   Alison Wang                       1 (0.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Stefan Roese                      27 (21.3%)
   Jan Kiszka                        18 (14.2%)
   Fabio Estevam                     11 (8.7%)
   Przemyslaw Marczak                11 (8.7%)
   Simon Glass                       8 (6.3%)
   Haikun Wang                       8 (6.3%)
   Ian Campbell                      6 (4.7%)
   Jagannadh Teki                    5 (3.9%)
   Heiko Schocher                    4 (3.1%)
   Bin Meng                          3 (2.4%)
   Joe Hershberger                   2 (1.6%)
   Tom Rini                          2 (1.6%)
   Tim Harvey                        2 (1.6%)
   Kevin Smith                       1 (0.8%)
   Thierry Reding                    1 (0.8%)
   Marek Vasut                       1 (0.8%)
   Michal Simek                      1 (0.8%)
   David Dueck                       1 (0.8%)
   Pavel Machek                      1 (0.8%)
   Jagannadha Sutradharudu Teki      1 (0.8%)
   Nishanth Menon                    1 (0.8%)
   Scott Wood                        1 (0.8%)
   Andre Przywara                    1 (0.8%)
   Mugunthan V N                     1 (0.8%)
   Axel Lin                          1 (0.8%)
   Cooper Jr., Franklin              1 (0.8%)
   Ricardo Ribalda                   1 (0.8%)
   Alexey Firago                     1 (0.8%)
   Wu, Josh                          1 (0.8%)
   Vincent Palatin                   1 (0.8%)
   Daniel Schwierzeck                1 (0.8%)
   Chen-Yu Tsai                      1 (0.8%)
   Paul Kocialkowski                 1 (0.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       5 (23.8%)
   Joe Hershberger                   2 (9.5%)
   Ingrid Viitanen                   2 (9.5%)
   Haikun Wang                       1 (4.8%)
   Bin Meng                          1 (4.8%)
   Tim Harvey                        1 (4.8%)
   Michal Simek                      1 (4.8%)
   Pavel Machek                      1 (4.8%)
   Vagrant Cascadian                 1 (4.8%)
   Maxin B. John                     1 (4.8%)
   Andrei Gherzan                    1 (4.8%)
   Roger Quadros                     1 (4.8%)
   Albert ARIBAUD                    1 (4.8%)
   Andy Kennedy                      1 (4.8%)
   Shivasharan Nagalikar             1 (4.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       7 (33.3%)
   Joe Hershberger                   5 (23.8%)
   Lokesh Vutla                      3 (14.3%)
   Fabio Estevam                     2 (9.5%)
   Tom Rini                          1 (4.8%)
   Jagannadha Sutradharudu Teki      1 (4.8%)
   Daniel Schwierzeck                1 (4.8%)
   Hans de Goede                     1 (4.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         425 (27.2%)
   Google, Inc.                      312 (20.0%)
   Freescale                         151 (9.7%)
   National Instruments              111 (7.1%)
   Red Hat                           106 (6.8%)
   Texas Instruments                 79 (5.1%)
   DENX Software Engineering         73 (4.7%)
   Socionext Inc.                    68 (4.4%)
   Samsung                           65 (4.2%)
   Openedev                          44 (2.8%)
   Konsulko Group                    19 (1.2%)
   Toradex                           18 (1.2%)
   Siemens                           14 (0.9%)
   Xilinx                            14 (0.9%)
   Linaro                            12 (0.8%)
   AMD                               11 (0.7%)
   Collabora Ltd.                    10 (0.6%)
   NVidia                            8 (0.5%)
   Renesas Electronics               5 (0.3%)
   Atmel                             3 (0.2%)
   Boundary Devices                  3 (0.2%)
   Marvell                           3 (0.2%)
   ST Microelectronics               3 (0.2%)
   Free Electrons                    2 (0.1%)
   Dave S.r.l.                       1 (0.1%)
   Debian.org                        1 (0.1%)
   ENEA AB                           1 (0.1%)
   Keymile                           1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Socionext Inc.                    56181 (28.7%)
   (Unknown)                         25214 (12.9%)
   Google, Inc.                      22901 (11.7%)
   Red Hat                           19807 (10.1%)
   Freescale                         19443 (9.9%)
   Texas Instruments                 17394 (8.9%)
   National Instruments              13351 (6.8%)
   Samsung                           6796 (3.5%)
   DENX Software Engineering         6241 (3.2%)
   Openedev                          2287 (1.2%)
   Toradex                           1985 (1.0%)
   Konsulko Group                    1123 (0.6%)
   AMD                               446 (0.2%)
   Xilinx                            444 (0.2%)
   Siemens                           412 (0.2%)
   Renesas Electronics               326 (0.2%)
   Dave S.r.l.                       287 (0.1%)
   Boundary Devices                  283 (0.1%)
   Collabora Ltd.                    257 (0.1%)
   Keymile                           164 (0.1%)
   Linaro                            138 (0.1%)
   NVidia                            86 (0.0%)
   ST Microelectronics               66 (0.0%)
   Marvell                           62 (0.0%)
   Atmel                             30 (0.0%)
   Free Electrons                    27 (0.0%)
   Debian.org                        4 (0.0%)
   ENEA AB                           1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   NVidia                            60 (19.7%)
   Red Hat                           55 (18.1%)
   Freescale                         51 (16.8%)
   (Unknown)                         48 (15.8%)
   Texas Instruments                 22 (7.2%)
   Xilinx                            20 (6.6%)
   Konsulko Group                    11 (3.6%)
   Samsung                           10 (3.3%)
   Siemens                           7 (2.3%)
   Google, Inc.                      5 (1.6%)
   Renesas Electronics               5 (1.6%)
   National Instruments              3 (1.0%)
   Toradex                           3 (1.0%)
   DENX Software Engineering         2 (0.7%)
   Openedev                          1 (0.3%)
   Nobuhiro Iwamatsu                 1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         75 (47.8%)
   Freescale                         25 (15.9%)
   Texas Instruments                 8 (5.1%)
   Samsung                           6 (3.8%)
   DENX Software Engineering         5 (3.2%)
   Linaro                            5 (3.2%)
   Toradex                           3 (1.9%)
   Marvell                           3 (1.9%)
   NVidia                            2 (1.3%)
   Xilinx                            2 (1.3%)
   Konsulko Group                    2 (1.3%)
   Siemens                           2 (1.3%)
   Google, Inc.                      2 (1.3%)
   Renesas Electronics               2 (1.3%)
   Free Electrons                    2 (1.3%)
   Red Hat                           1 (0.6%)
   National Instruments              1 (0.6%)
   Openedev                          1 (0.6%)
   Socionext Inc.                    1 (0.6%)
   AMD                               1 (0.6%)
   Dave S.r.l.                       1 (0.6%)
   Boundary Devices                  1 (0.6%)
   Collabora Ltd.                    1 (0.6%)
   Keymile                           1 (0.6%)
   ST Microelectronics               1 (0.6%)
   Atmel                             1 (0.6%)
   Debian.org                        1 (0.6%)
   ENEA AB                           1 (0.6%)
   ================================  =====
