:orphan:

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

* Processed 1585 changesets from 169 developers

* 36 employers found

* A total of 99448 lines added, 166603 removed (delta -67155)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       225 (14.2%)
   Masahiro Yamada                   158 (10.0%)
   Hans de Goede                     140 (8.8%)
   Bin Meng                          67 (4.2%)
   Michal Simek                      52 (3.3%)
   Alexey Brodkin                    39 (2.5%)
   Nikita Kiryanov                   39 (2.5%)
   Fabio Estevam                     36 (2.3%)
   Bo Shen                           33 (2.1%)
   Przemyslaw Marczak                31 (2.0%)
   Stephen Warren                    27 (1.7%)
   Hannes Petermaier                 25 (1.6%)
   Peng Fan                          25 (1.6%)
   Marcel Ziswiler                   23 (1.5%)
   Matthias Fuchs                    23 (1.5%)
   Stefan Roese                      22 (1.4%)
   Tom Rini                          21 (1.3%)
   Heiko Schocher                    20 (1.3%)
   Siarhei Siamashka                 18 (1.1%)
   Diego Santa Cruz                  18 (1.1%)
   York Sun                          16 (1.0%)
   Akshay Saraswat                   16 (1.0%)
   Albert ARIBAUD (3ADEV)            15 (0.9%)
   Paul Burton                       15 (0.9%)
   Andreas Bießmann                  14 (0.9%)
   Marek Vasut                       14 (0.9%)
   Nobuhiro Iwamatsu                 14 (0.9%)
   Linus Walleij                     13 (0.8%)
   Wu, Josh                          13 (0.8%)
   Ruchika Gupta                     13 (0.8%)
   Axel Lin                          11 (0.7%)
   Daniel Schwierzeck                11 (0.7%)
   Codrin Ciubotariu                 11 (0.7%)
   Peter Tyser                       10 (0.6%)
   Nishanth Menon                    10 (0.6%)
   Guilherme Maciel Ferreira         10 (0.6%)
   Sjoerd Simons                     9 (0.6%)
   gaurav rana                       9 (0.6%)
   Christian Gmeiner                 9 (0.6%)
   Luka Perkov                       9 (0.6%)
   Ajay Kumar                        8 (0.5%)
   Rob Herring                       8 (0.5%)
   Chen-Yu Tsai                      8 (0.5%)
   Alison Wang                       8 (0.5%)
   Vladimir Barinov                  8 (0.5%)
   Tang Yuantian                     7 (0.4%)
   Łukasz Majewski                   6 (0.4%)
   Siva Durga Prasad Paladugu        6 (0.4%)
   Stefano Babic                     6 (0.4%)
   Minghuan Lian                     6 (0.4%)
   Joonyoung Shim                    6 (0.4%)
   Valentin Longchamp                6 (0.4%)
   Albert ARIBAUD                    5 (0.3%)
   Ian Campbell                      5 (0.3%)
   Bhupesh Sharma                    5 (0.3%)
   Otavio Salvador                   5 (0.3%)
   Igor Guryanov                     5 (0.3%)
   Felipe Balbi                      5 (0.3%)
   Jan Kiszka                        4 (0.3%)
   Iain Paton                        4 (0.3%)
   Angelo Dureghello                 4 (0.3%)
   Joe Hershberger                   4 (0.3%)
   Paul Kocialkowski                 4 (0.3%)
   Sonic Zhang                       4 (0.3%)
   Dileep Katta                      4 (0.3%)
   Jaehoon Chung                     4 (0.3%)
   Michael Walle                     4 (0.3%)
   Ye.Li                             4 (0.3%)
   DrEagle                           4 (0.3%)
   Pavel Machek                      3 (0.2%)
   Stefan Agner                      3 (0.2%)
   David Feng                        3 (0.2%)
   Boris Brezillon                   3 (0.2%)
   Matt Reimer                       3 (0.2%)
   Sinan Akman                       3 (0.2%)
   Graeme Russ                       3 (0.2%)
   Shengzhou Liu                     3 (0.2%)
   James Doublesin                   3 (0.2%)
   Georgi Botev                      3 (0.2%)
   Anatolij Gustschin                2 (0.1%)
   Andrej Rosano                     2 (0.1%)
   Chris Kuethe                      2 (0.1%)
   Ulises Cardenas                   2 (0.1%)
   Inha Song                         2 (0.1%)
   Luca Ellero                       2 (0.1%)
   Thierry Reding                    2 (0.1%)
   Maxin B. John                     2 (0.1%)
   Gilles Gameiro                    2 (0.1%)
   Kim Phillips                      2 (0.1%)
   Aleksei Mamlin                    2 (0.1%)
   Marcus Cooper                     2 (0.1%)
   Adam Sampson                      2 (0.1%)
   Ajay Bhargav                      2 (0.1%)
   Soeren Moch                       2 (0.1%)
   Enric Balletbo i Serra            2 (0.1%)
   Arnab Basu                        2 (0.1%)
   Lubomir Popov                     2 (0.1%)
   Eric Nelson                       2 (0.1%)
   Vitaly Andrianov                  2 (0.1%)
   Lokesh Vutla                      2 (0.1%)
   Anton Habegger                    2 (0.1%)
   Andrew Gabbasov                   2 (0.1%)
   Anthoine Bourgeois                2 (0.1%)
   Grazvydas Ignotas                 1 (0.1%)
   Mario Schuknecht                  1 (0.1%)
   Guillaume GARDET                  1 (0.1%)
   David Dueck                       1 (0.1%)
   Lucas Stach                       1 (0.1%)
   Ravi Babu                         1 (0.1%)
   Brian McFarland                   1 (0.1%)
   Karsten Merker                    1 (0.1%)
   Michal Marek                      1 (0.1%)
   Sebastian Siewior                 1 (0.1%)
   Roger Meier                       1 (0.1%)
   Sekhar Nori                       1 (0.1%)
   Praveen Rao                       1 (0.1%)
   Angela Stegmaier                  1 (0.1%)
   Volodymyr Riazantsev              1 (0.1%)
   Dirk Behme                        1 (0.1%)
   Jens Lucius                       1 (0.1%)
   Gábor Nyers                       1 (0.1%)
   Chen Gang                         1 (0.1%)
   Ash Charles                       1 (0.1%)
   Michal Sojka                      1 (0.1%)
   Chris Packham                     1 (0.1%)
   vijay rai                         1 (0.1%)
   Nikolaos Pasaloukos               1 (0.1%)
   Ying Zhang                        1 (0.1%)
   Shaveta Leekha                    1 (0.1%)
   Doug Anderson                     1 (0.1%)
   Michael Scott                     1 (0.1%)
   Xiubo Li                          1 (0.1%)
   chenhui zhao                      1 (0.1%)
   J. German Rivera                  1 (0.1%)
   Stuart Yoder                      1 (0.1%)
   Kuldip Giroh                      1 (0.1%)
   Pantelis Antoniou                 1 (0.1%)
   Waldemar Brodkorb                 1 (0.1%)
   Vladimir Zapolskiy                1 (0.1%)
   Steve Kipisz                      1 (0.1%)
   Egli, Samuel                      1 (0.1%)
   Michal Suchanek                   1 (0.1%)
   Scott Wood                        1 (0.1%)
   Philippe De Muyter                1 (0.1%)
   Yoshinori Sato                    1 (0.1%)
   Claudiu Manoil                    1 (0.1%)
   Dennis Gilmore                    1 (0.1%)
   Martin Dorwig                     1 (0.1%)
   Pieter Voorthuijsen               1 (0.1%)
   Pali Rohár                        1 (0.1%)
   Sebastien Ronsse                  1 (0.1%)
   Priit Laes                        1 (0.1%)
   Zoltan HERPAI                     1 (0.1%)
   Thomas Langer                     1 (0.1%)
   Alexandre Coffignal               1 (0.1%)
   Rene Griessl                      1 (0.1%)
   Alex Sadovsky                     1 (0.1%)
   Shaohui Xie                       1 (0.1%)
   harninder rai                     1 (0.1%)
   Aneesh Bansal                     1 (0.1%)
   Tudor Laurentiu                   1 (0.1%)
   Chunhe Lan                        1 (0.1%)
   Po Liu                            1 (0.1%)
   Evgeni Dobrev                     1 (0.1%)
   Bill Pringlemeir                  1 (0.1%)
   Wolfgang Denk                     1 (0.1%)
   Cooper Jr., Franklin              1 (0.1%)
   Matwey V. Kornilov                1 (0.1%)
   Daniel Mack                       1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Matthias Fuchs                    89003 (35.4%)
   Masahiro Yamada                   61978 (24.7%)
   Stefan Roese                      19579 (7.8%)
   Simon Glass                       13611 (5.4%)
   Bin Meng                          10014 (4.0%)
   Hans de Goede                     6470 (2.6%)
   Albert ARIBAUD (3ADEV)            4474 (1.8%)
   Vladimir Barinov                  3047 (1.2%)
   Nobuhiro Iwamatsu                 2794 (1.1%)
   Alexey Brodkin                    2022 (0.8%)
   gaurav rana                       1937 (0.8%)
   Stephen Warren                    1767 (0.7%)
   Nikita Kiryanov                   1651 (0.7%)
   Bo Shen                           1562 (0.6%)
   Gilles Gameiro                    1545 (0.6%)
   Marek Vasut                       1445 (0.6%)
   Siarhei Siamashka                 1395 (0.6%)
   Michal Simek                      1259 (0.5%)
   Anton Habegger                    1246 (0.5%)
   Codrin Ciubotariu                 1191 (0.5%)
   Angelo Dureghello                 1165 (0.5%)
   Ruchika Gupta                     1143 (0.5%)
   Akshay Saraswat                   1115 (0.4%)
   Hannes Petermaier                 905 (0.4%)
   Guilherme Maciel Ferreira         863 (0.3%)
   Linus Walleij                     829 (0.3%)
   Boris Brezillon                   785 (0.3%)
   Minghuan Lian                     741 (0.3%)
   Paul Burton                       706 (0.3%)
   Andrej Rosano                     692 (0.3%)
   Peng Fan                          648 (0.3%)
   Daniel Schwierzeck                601 (0.2%)
   Peter Tyser                       594 (0.2%)
   J. German Rivera                  592 (0.2%)
   Diego Santa Cruz                  575 (0.2%)
   Andreas Bießmann                  522 (0.2%)
   Ulises Cardenas                   493 (0.2%)
   Evgeni Dobrev                     469 (0.2%)
   York Sun                          460 (0.2%)
   Wu, Josh                          441 (0.2%)
   Przemyslaw Marczak                415 (0.2%)
   Shaveta Leekha                    393 (0.2%)
   Otavio Salvador                   381 (0.2%)
   Dennis Gilmore                    341 (0.1%)
   Heiko Schocher                    317 (0.1%)
   Alison Wang                       290 (0.1%)
   Nishanth Menon                    284 (0.1%)
   Marcel Ziswiler                   270 (0.1%)
   James Doublesin                   241 (0.1%)
   Fabio Estevam                     238 (0.1%)
   Christian Gmeiner                 232 (0.1%)
   Jan Kiszka                        223 (0.1%)
   Tang Yuantian                     222 (0.1%)
   Felipe Balbi                      213 (0.1%)
   Albert ARIBAUD                    201 (0.1%)
   Bhupesh Sharma                    190 (0.1%)
   Michael Walle                     164 (0.1%)
   Martin Dorwig                     163 (0.1%)
   Shaohui Xie                       161 (0.1%)
   Graeme Russ                       157 (0.1%)
   Lubomir Popov                     154 (0.1%)
   Roger Meier                       150 (0.1%)
   Sjoerd Simons                     149 (0.1%)
   Grazvydas Ignotas                 141 (0.1%)
   Anthoine Bourgeois                140 (0.1%)
   Rob Herring                       133 (0.1%)
   Ajay Kumar                        122 (0.0%)
   Daniel Mack                       122 (0.0%)
   Xiubo Li                          119 (0.0%)
   Valentin Longchamp                113 (0.0%)
   Dileep Katta                      113 (0.0%)
   Tom Rini                          110 (0.0%)
   Chen-Yu Tsai                      110 (0.0%)
   Thomas Langer                     110 (0.0%)
   Doug Anderson                     95 (0.0%)
   Igor Guryanov                     87 (0.0%)
   Joonyoung Shim                    82 (0.0%)
   Siva Durga Prasad Paladugu        79 (0.0%)
   DrEagle                           74 (0.0%)
   David Feng                        71 (0.0%)
   Łukasz Majewski                   70 (0.0%)
   Shengzhou Liu                     69 (0.0%)
   Anatolij Gustschin                69 (0.0%)
   Kim Phillips                      64 (0.0%)
   Axel Lin                          59 (0.0%)
   Philippe De Muyter                58 (0.0%)
   Jaehoon Chung                     57 (0.0%)
   Karsten Merker                    47 (0.0%)
   Paul Kocialkowski                 45 (0.0%)
   vijay rai                         45 (0.0%)
   Lokesh Vutla                      44 (0.0%)
   Zoltan HERPAI                     44 (0.0%)
   Pantelis Antoniou                 43 (0.0%)
   Vitaly Andrianov                  38 (0.0%)
   Luka Perkov                       37 (0.0%)
   Joe Hershberger                   37 (0.0%)
   Ye.Li                             32 (0.0%)
   Marcus Cooper                     32 (0.0%)
   Iain Paton                        31 (0.0%)
   Enric Balletbo i Serra            31 (0.0%)
   Yoshinori Sato                    30 (0.0%)
   Soeren Moch                       29 (0.0%)
   chenhui zhao                      28 (0.0%)
   Arnab Basu                        27 (0.0%)
   Pavel Machek                      24 (0.0%)
   Stefano Babic                     23 (0.0%)
   Brian McFarland                   22 (0.0%)
   Ian Campbell                      21 (0.0%)
   Chen Gang                         21 (0.0%)
   Ash Charles                       21 (0.0%)
   Stefan Agner                      20 (0.0%)
   Aleksei Mamlin                    20 (0.0%)
   Inha Song                         19 (0.0%)
   Priit Laes                        19 (0.0%)
   Dirk Behme                        18 (0.0%)
   Matwey V. Kornilov                18 (0.0%)
   Andrew Gabbasov                   17 (0.0%)
   Wolfgang Denk                     17 (0.0%)
   Jens Lucius                       16 (0.0%)
   Sonic Zhang                       15 (0.0%)
   Gábor Nyers                       15 (0.0%)
   Michael Scott                     15 (0.0%)
   Michal Suchanek                   15 (0.0%)
   Michal Sojka                      14 (0.0%)
   Rene Griessl                      14 (0.0%)
   Cooper Jr., Franklin              14 (0.0%)
   Praveen Rao                       13 (0.0%)
   Eric Nelson                       12 (0.0%)
   Po Liu                            12 (0.0%)
   Adam Sampson                      11 (0.0%)
   Sinan Akman                       10 (0.0%)
   Ajay Bhargav                      10 (0.0%)
   Maxin B. John                     9 (0.0%)
   Michal Marek                      9 (0.0%)
   Volodymyr Riazantsev              9 (0.0%)
   Ravi Babu                         8 (0.0%)
   Angela Stegmaier                  8 (0.0%)
   Thierry Reding                    7 (0.0%)
   Georgi Botev                      6 (0.0%)
   David Dueck                       6 (0.0%)
   Alexandre Coffignal               6 (0.0%)
   Steve Kipisz                      5 (0.0%)
   Matt Reimer                       4 (0.0%)
   Mario Schuknecht                  4 (0.0%)
   Egli, Samuel                      4 (0.0%)
   Kuldip Giroh                      3 (0.0%)
   Waldemar Brodkorb                 3 (0.0%)
   Vladimir Zapolskiy                3 (0.0%)
   Scott Wood                        3 (0.0%)
   Chunhe Lan                        3 (0.0%)
   Bill Pringlemeir                  3 (0.0%)
   Chris Kuethe                      2 (0.0%)
   Luca Ellero                       2 (0.0%)
   Guillaume GARDET                  2 (0.0%)
   Lucas Stach                       2 (0.0%)
   Sebastian Siewior                 2 (0.0%)
   Ying Zhang                        2 (0.0%)
   Claudiu Manoil                    2 (0.0%)
   Pieter Voorthuijsen               2 (0.0%)
   Alex Sadovsky                     2 (0.0%)
   harninder rai                     2 (0.0%)
   Aneesh Bansal                     2 (0.0%)
   Sekhar Nori                       1 (0.0%)
   Chris Packham                     1 (0.0%)
   Nikolaos Pasaloukos               1 (0.0%)
   Stuart Yoder                      1 (0.0%)
   Pali Rohár                        1 (0.0%)
   Sebastien Ronsse                  1 (0.0%)
   Tudor Laurentiu                   1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Matthias Fuchs                    88963 (53.4%)
   Masahiro Yamada                   54187 (32.5%)
   Peter Tyser                       339 (0.2%)
   Paul Burton                       231 (0.1%)
   Daniel Schwierzeck                193 (0.1%)
   Grazvydas Ignotas                 105 (0.1%)
   Thomas Langer                     102 (0.1%)
   Anthoine Bourgeois                88 (0.1%)
   Wu, Josh                          81 (0.0%)
   James Doublesin                   62 (0.0%)
   vijay rai                         45 (0.0%)
   Rob Herring                       37 (0.0%)
   Vitaly Andrianov                  19 (0.0%)
   Tom Rini                          18 (0.0%)
   Doug Anderson                     18 (0.0%)
   Joe Hershberger                   18 (0.0%)
   Ye.Li                             17 (0.0%)
   Stefano Babic                     9 (0.0%)
   Axel Lin                          7 (0.0%)
   Enric Balletbo i Serra            3 (0.0%)
   Bill Pringlemeir                  3 (0.0%)
   Sebastian Siewior                 1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Hans de Goede                     49 (22.1%)
   Minkyu Kang                       41 (18.5%)
   Tom Warren                        33 (14.9%)
   Nobuhiro Iwamatsu                 11 (5.0%)
   Simon Glass                       7 (3.2%)
   Andreas Bießmann                  6 (2.7%)
   Michal Simek                      6 (2.7%)
   Alexey Brodkin                    6 (2.7%)
   Tom Rini                          4 (1.8%)
   Joe Hershberger                   4 (1.8%)
   Kimoon Kim                        4 (1.8%)
   Ruchika Gupta                     4 (1.8%)
   Boris BREZILLON                   3 (1.4%)
   Ian Campbell                      3 (1.4%)
   Igor Guryanov                     3 (1.4%)
   Felipe Balbi                      3 (1.4%)
   Igor Grinberg                     2 (0.9%)
   Pantelis Antoniou                 2 (0.9%)
   York Sun                          2 (0.9%)
   Masahiro Yamada                   1 (0.5%)
   Paul Burton                       1 (0.5%)
   Rob Herring                       1 (0.5%)
   Michal Marek                      1 (0.5%)
   Angela Stegmaier                  1 (0.5%)
   Andy Shevchenko                   1 (0.5%)
   Nikhil Badola                     1 (0.5%)
   Nitin Garg                        1 (0.5%)
   Abhilash Kesavan                  1 (0.5%)
   Valentine Barshak                 1 (0.5%)
   Lijun Pan                         1 (0.5%)
   Ranjani Vaidyanathan              1 (0.5%)
   Damien Gotfroi                    1 (0.5%)
   Poonam Aggrwal                    1 (0.5%)
   Varun Sethi                       1 (0.5%)
   Laurentiu Tudor                   1 (0.5%)
   Mingkai.Hu                        1 (0.5%)
   Antonios Vamporakis               1 (0.5%)
   Lokesh Vutla                      1 (0.5%)
   Marcel Ziswiler                   1 (0.5%)
   Siva Durga Prasad Paladugu        1 (0.5%)
   Xiubo Li                          1 (0.5%)
   Nishanth Menon                    1 (0.5%)
   Bhupesh Sharma                    1 (0.5%)
   Linus Walleij                     1 (0.5%)
   Alison Wang                       1 (0.5%)
   Shaveta Leekha                    1 (0.5%)
   Akshay Saraswat                   1 (0.5%)
   Stephen Warren                    1 (0.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       93 (31.7%)
   York Sun                          58 (19.8%)
   Bin Meng                          32 (10.9%)
   Tom Rini                          26 (8.9%)
   Masahiro Yamada                   19 (6.5%)
   Luka Perkov                       14 (4.8%)
   Stefan Roese                      9 (3.1%)
   Jagannadha Sutradharudu Teki      8 (2.7%)
   Łukasz Majewski                   7 (2.4%)
   Stephen Warren                    6 (2.0%)
   Steve Rae                         3 (1.0%)
   Hans de Goede                     2 (0.7%)
   Alexey Brodkin                    2 (0.7%)
   Roger Meier                       2 (0.7%)
   Marek Vasut                       2 (0.7%)
   Joe Hershberger                   1 (0.3%)
   Ruchika Gupta                     1 (0.3%)
   Boris BREZILLON                   1 (0.3%)
   Linus Walleij                     1 (0.3%)
   Peter Crosthwaite                 1 (0.3%)
   Nathan Rossi                      1 (0.3%)
   Guido Martínez                    1 (0.3%)
   Volodymyr Riazantsev              1 (0.3%)
   Fabio Estevam                     1 (0.3%)
   Przemyslaw Marczak                1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       31 (26.5%)
   Bo Shen                           14 (12.0%)
   Wu, Josh                          13 (11.1%)
   Matt Porter                       11 (9.4%)
   Bin Meng                          8 (6.8%)
   Heiko Schocher                    6 (5.1%)
   Stephen Warren                    4 (3.4%)
   Tom Rini                          2 (1.7%)
   Łukasz Majewski                   2 (1.7%)
   Alexey Brodkin                    2 (1.7%)
   Michal Simek                      2 (1.7%)
   Nishanth Menon                    2 (1.7%)
   Chris Kuethe                      2 (1.7%)
   Stefan Roese                      1 (0.9%)
   Steve Rae                         1 (0.9%)
   Hans de Goede                     1 (0.9%)
   Guido Martínez                    1 (0.9%)
   Fabio Estevam                     1 (0.9%)
   Felipe Balbi                      1 (0.9%)
   Marcel Ziswiler                   1 (0.9%)
   Daniel Schwierzeck                1 (0.9%)
   Stefano Babic                     1 (0.9%)
   Vagrant Cascadian                 1 (0.9%)
   Michal Vokáč                      1 (0.9%)
   Mugunthan V N                     1 (0.9%)
   Thierry Reding                    1 (0.9%)
   Jaehoon Chung                     1 (0.9%)
   Zoltan HERPAI                     1 (0.9%)
   Chen-Yu Tsai                      1 (0.9%)
   Jan Kiszka                        1 (0.9%)
   Nikita Kiryanov                   1 (0.9%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Nikita Kiryanov                   32 (27.4%)
   Simon Glass                       15 (12.8%)
   Akshay Saraswat                   11 (9.4%)
   Nishanth Menon                    8 (6.8%)
   Ajay Kumar                        8 (6.8%)
   Peter Tyser                       5 (4.3%)
   Masahiro Yamada                   4 (3.4%)
   Przemyslaw Marczak                4 (3.4%)
   Hans de Goede                     3 (2.6%)
   James Doublesin                   3 (2.6%)
   Andrej Rosano                     3 (2.6%)
   Tom Rini                          2 (1.7%)
   Fabio Estevam                     2 (1.7%)
   Pantelis Antoniou                 2 (1.7%)
   Vitaly Andrianov                  2 (1.7%)
   Andrew Gabbasov                   2 (1.7%)
   Bo Shen                           1 (0.9%)
   Andreas Bießmann                  1 (0.9%)
   Guillaume GARDET                  1 (0.9%)
   Lucas Stach                       1 (0.9%)
   Inha Song                         1 (0.9%)
   Michal Sojka                      1 (0.9%)
   Praveen Rao                       1 (0.9%)
   Michael Scott                     1 (0.9%)
   Daniel Mack                       1 (0.9%)
   Sjoerd Simons                     1 (0.9%)
   Peng Fan                          1 (0.9%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Stephen Warren                    4 (16.7%)
   York Sun                          3 (12.5%)
   Albert ARIBAUD                    3 (12.5%)
   Masahiro Yamada                   2 (8.3%)
   Tom Rini                          2 (8.3%)
   Stefan Roese                      1 (4.2%)
   Jan Kiszka                        1 (4.2%)
   Chee-Yang Chau                    1 (4.2%)
   Matthew Gerlach                   1 (4.2%)
   Matt Ranostay                     1 (4.2%)
   Valdis Kletnieks                  1 (4.2%)
   Vivek Chengalvala                 1 (4.2%)
   Scott Wood                        1 (4.2%)
   Graeme Russ                       1 (4.2%)
   Siarhei Siamashka                 1 (4.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       7 (29.2%)
   Masahiro Yamada                   6 (25.0%)
   Tom Rini                          2 (8.3%)
   Stephen Warren                    1 (4.2%)
   Nishanth Menon                    1 (4.2%)
   Hans de Goede                     1 (4.2%)
   Fabio Estevam                     1 (4.2%)
   Pantelis Antoniou                 1 (4.2%)
   Michal Simek                      1 (4.2%)
   Michal Marek                      1 (4.2%)
   Enric Balletbo i Serra            1 (4.2%)
   Kim Phillips                      1 (4.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         422 (26.6%)
   Google, Inc.                      226 (14.3%)
   Socionext Inc.                    158 (10.0%)
   Freescale                         152 (9.6%)
   Red Hat                           140 (8.8%)
   Samsung                           73 (4.6%)
   DENX Software Engineering         68 (4.3%)
   AMD                               52 (3.3%)
   Atmel                             46 (2.9%)
   CompuLab                          39 (2.5%)
   Texas Instruments                 28 (1.8%)
   NVidia                            24 (1.5%)
   ESD Electronics                   23 (1.5%)
   Konsulko Group                    22 (1.4%)
   Linaro                            18 (1.1%)
   MIPS                              15 (0.9%)
   Renesas Electronics               13 (0.8%)
   Collabora Ltd.                    10 (0.6%)
   Extreme Engineering Solutions     10 (0.6%)
   Keymile                           6 (0.4%)
   Siemens                           6 (0.4%)
   Xilinx                            6 (0.4%)
   O.S. Systems                      5 (0.3%)
   Analog Devices                    4 (0.3%)
   National Instruments              4 (0.3%)
   Ronetix                           3 (0.2%)
   Boundary Devices                  2 (0.1%)
   ENEA AB                           2 (0.1%)
   Citrix                            1 (0.1%)
   Bosch                             1 (0.1%)
   Debian.org                        1 (0.1%)
   linutronix                        1 (0.1%)
   Macq Electronique                 1 (0.1%)
   Novell                            1 (0.1%)
   Nobuhiro Iwamatsu                 1 (0.1%)
   Grazvydas Ignotas                 1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   ESD Electronics                   89003 (35.4%)
   Socionext Inc.                    61978 (24.7%)
   (Unknown)                         35047 (13.9%)
   DENX Software Engineering         21474 (8.5%)
   Google, Inc.                      13706 (5.5%)
   Freescale                         7971 (3.2%)
   Red Hat                           6470 (2.6%)
   Renesas Electronics               2782 (1.1%)
   Atmel                             2003 (0.8%)
   Samsung                           1880 (0.7%)
   CompuLab                          1651 (0.7%)
   NVidia                            1369 (0.5%)
   AMD                               1259 (0.5%)
   Linaro                            957 (0.4%)
   Texas Instruments                 869 (0.3%)
   MIPS                              706 (0.3%)
   Extreme Engineering Solutions     594 (0.2%)
   O.S. Systems                      381 (0.2%)
   Siemens                           377 (0.1%)
   Collabora Ltd.                    174 (0.1%)
   Konsulko Group                    153 (0.1%)
   Grazvydas Ignotas                 141 (0.1%)
   Keymile                           113 (0.0%)
   Xilinx                            79 (0.0%)
   Macq Electronique                 58 (0.0%)
   Debian.org                        47 (0.0%)
   National Instruments              37 (0.0%)
   Bosch                             18 (0.0%)
   Analog Devices                    15 (0.0%)
   Boundary Devices                  12 (0.0%)
   Nobuhiro Iwamatsu                 12 (0.0%)
   ENEA AB                           9 (0.0%)
   Novell                            9 (0.0%)
   Ronetix                           6 (0.0%)
   linutronix                        2 (0.0%)
   Citrix                            1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Red Hat                           49 (22.1%)
   Samsung                           47 (21.2%)
   NVidia                            34 (15.3%)
   (Unknown)                         24 (10.8%)
   Freescale                         18 (8.1%)
   Nobuhiro Iwamatsu                 11 (5.0%)
   Google, Inc.                      7 (3.2%)
   Texas Instruments                 7 (3.2%)
   Xilinx                            7 (3.2%)
   Konsulko Group                    5 (2.3%)
   National Instruments              4 (1.8%)
   Free Electrons                    3 (1.4%)
   CompuLab                          2 (0.9%)
   Socionext Inc.                    1 (0.5%)
   Linaro                            1 (0.5%)
   Novell                            1 (0.5%)
   Intel                             1 (0.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         78 (45.1%)
   Freescale                         30 (17.3%)
   Texas Instruments                 11 (6.4%)
   Samsung                           7 (4.0%)
   DENX Software Engineering         7 (4.0%)
   Linaro                            3 (1.7%)
   Siemens                           3 (1.7%)
   NVidia                            2 (1.2%)
   Google, Inc.                      2 (1.2%)
   Konsulko Group                    2 (1.2%)
   Atmel                             2 (1.2%)
   Collabora Ltd.                    2 (1.2%)
   Red Hat                           1 (0.6%)
   Nobuhiro Iwamatsu                 1 (0.6%)
   Xilinx                            1 (0.6%)
   National Instruments              1 (0.6%)
   CompuLab                          1 (0.6%)
   Socionext Inc.                    1 (0.6%)
   Novell                            1 (0.6%)
   ESD Electronics                   1 (0.6%)
   Renesas Electronics               1 (0.6%)
   AMD                               1 (0.6%)
   MIPS                              1 (0.6%)
   Extreme Engineering Solutions     1 (0.6%)
   O.S. Systems                      1 (0.6%)
   Grazvydas Ignotas                 1 (0.6%)
   Keymile                           1 (0.6%)
   Macq Electronique                 1 (0.6%)
   Debian.org                        1 (0.6%)
   Bosch                             1 (0.6%)
   Analog Devices                    1 (0.6%)
   Boundary Devices                  1 (0.6%)
   ENEA AB                           1 (0.6%)
   Ronetix                           1 (0.6%)
   linutronix                        1 (0.6%)
   Citrix                            1 (0.6%)
   ================================  =====
