:orphan:

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

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