:orphan:

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

* Processed 769 csets from 109 developers

* 26 employers found

* A total of 66836 lines added, 112896 removed (delta -46060)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   162 (21.1%)
   Stephen Warren                    56 (7.3%)
   Simon Glass                       42 (5.5%)
   Marek Vasut                       38 (4.9%)
   Tom Rini                          35 (4.6%)
   Michal Simek                      29 (3.8%)
   Alexey Brodkin                    26 (3.4%)
   Przemyslaw Marczak                24 (3.1%)
   Piotr Wilczek                     20 (2.6%)
   Fabio Estevam                     17 (2.2%)
   Łukasz Majewski                   13 (1.7%)
   York Sun                          12 (1.6%)
   Otavio Salvador                   11 (1.4%)
   Tom Warren                        9 (1.2%)
   pekon gupta                       9 (1.2%)
   Shengzhou Liu                     8 (1.0%)
   Prabhakar Kushwaha                8 (1.0%)
   Enric Balletbo i Serra            8 (1.0%)
   Darwin Rambo                      8 (1.0%)
   Stefano Babic                     7 (0.9%)
   Heiko Schocher                    7 (0.9%)
   Soren Brinkmann                   7 (0.9%)
   Valentin Longchamp                7 (0.9%)
   Haijun.Zhang                      6 (0.8%)
   Hannes Petermaier                 6 (0.8%)
   Gerhard Sittig                    6 (0.8%)
   Stefan Roese                      6 (0.8%)
   Priyanka Jain                     6 (0.8%)
   Mugunthan V N                     6 (0.8%)
   Shaveta Leekha                    5 (0.7%)
   Sonic Zhang                       5 (0.7%)
   Dan Murphy                        5 (0.7%)
   Sourav Poddar                     5 (0.7%)
   Markus Niebel                     5 (0.7%)
   Holger Brunck                     5 (0.7%)
   Marcel Ziswiler                   4 (0.5%)
   Baruch Siach                      4 (0.5%)
   Axel Lin                          4 (0.5%)
   Ian Campbell                      4 (0.5%)
   Bo Shen                           4 (0.5%)
   Dave Gerlach                      4 (0.5%)
   Ying Zhang                        4 (0.5%)
   Nishanth Menon                    4 (0.5%)
   Andreas Bießmann                  3 (0.4%)
   Albert ARIBAUD                    3 (0.4%)
   Nitin Garg                        3 (0.4%)
   Minkyu Kang                       3 (0.4%)
   Eric Nelson                       3 (0.4%)
   Pantelis Antoniou                 3 (0.4%)
   Gerlando Falauto                  3 (0.4%)
   Inha Song                         3 (0.4%)
   Tetsuyuki Kobayashi               2 (0.3%)
   Nobuhiro Iwamatsu                 2 (0.3%)
   David Feng                        2 (0.3%)
   Mela Custodio                     2 (0.3%)
   Chin Liang See                    2 (0.3%)
   Andrew Gabbasov                   2 (0.3%)
   Patrice Bouchand                  2 (0.3%)
   Vadim Bendebury                   2 (0.3%)
   Randall Spangler                  2 (0.3%)
   Dustin Byford                     2 (0.3%)
   Vasili Galka                      2 (0.3%)
   Tim Harvey                        2 (0.3%)
   Andreas Henriksson                2 (0.3%)
   poonam aggrwal                    2 (0.3%)
   Lokesh Vutla                      2 (0.3%)
   Nikhil Badola                     2 (0.3%)
   Dennis Gilmore                    2 (0.3%)
   Michael Burr                      2 (0.3%)
   Rajeshwari Shinde                 2 (0.3%)
   Siva Durga Prasad Paladugu        2 (0.3%)
   Anson Huang                       2 (0.3%)
   Rainer Boschung                   2 (0.3%)
   Vivek Gautam                      2 (0.3%)
   Jassi Brar                        2 (0.3%)
   Po Liu                            2 (0.3%)
   Linus Walleij                     2 (0.3%)
   Leo Yan                           1 (0.1%)
   Andreas Färber                    1 (0.1%)
   Roger Quadros                     1 (0.1%)
   Wolfgang Denk                     1 (0.1%)
   Matthias Fuchs                    1 (0.1%)
   Jonghwa Lee                       1 (0.1%)
   Jimmy Zhang                       1 (0.1%)
   Jagan Teki                        1 (0.1%)
   Ilya Ledvich                      1 (0.1%)
   Suresh Gupta                      1 (0.1%)
   James Hogan                       1 (0.1%)
   Daniel Schwierzeck                1 (0.1%)
   Zhao Qiang                        1 (0.1%)
   Hector Palacios                   1 (0.1%)
   Måns Rullgård                     1 (0.1%)
   Janne Grunau                      1 (0.1%)
   Lothar Felten                     1 (0.1%)
   Karicheri, Muralidharan           1 (0.1%)
   Ionut Nicu                        1 (0.1%)
   Bhupesh Sharma                    1 (0.1%)
   Christian Eggers                  1 (0.1%)
   Scott Jiang                       1 (0.1%)
   Detlev Zundel                     1 (0.1%)
   Andy Ng                           1 (0.1%)
   Aaron Wu                          1 (0.1%)
   Bob Liu                           1 (0.1%)
   Novasys Ingenierie                1 (0.1%)
   Jim Lin                           1 (0.1%)
   Ezequiel Garcia                   1 (0.1%)
   rick                              1 (0.1%)
   Satyanarayana, Sandhya            1 (0.1%)
   Ramneek Mehresh                   1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Marek Vasut                       71940 (44.6%)
   Masahiro Yamada                   16145 (10.0%)
   Przemyslaw Marczak                12079 (7.5%)
   Simon Glass                       11586 (7.2%)
   Jonghwa Lee                       5783 (3.6%)
   Tom Warren                        5453 (3.4%)
   Tom Rini                          3717 (2.3%)
   Alexey Brodkin                    3607 (2.2%)
   Darwin Rambo                      3167 (2.0%)
   Shengzhou Liu                     2274 (1.4%)
   Tim Harvey                        2272 (1.4%)
   Piotr Wilczek                     2223 (1.4%)
   Stefan Roese                      1927 (1.2%)
   Stephen Warren                    1893 (1.2%)
   Hannes Petermaier                 1772 (1.1%)
   Prabhakar Kushwaha                1070 (0.7%)
   Jassi Brar                        915 (0.6%)
   Michal Simek                      865 (0.5%)
   Gerhard Sittig                    854 (0.5%)
   Chin Liang See                    808 (0.5%)
   pekon gupta                       803 (0.5%)
   Soren Brinkmann                   786 (0.5%)
   Pantelis Antoniou                 640 (0.4%)
   Bo Shen                           599 (0.4%)
   Lothar Felten                     559 (0.3%)
   York Sun                          529 (0.3%)
   Albert ARIBAUD                    495 (0.3%)
   Shaveta Leekha                    450 (0.3%)
   Sonic Zhang                       420 (0.3%)
   Priyanka Jain                     398 (0.2%)
   Fabio Estevam                     338 (0.2%)
   Po Liu                            329 (0.2%)
   Dan Murphy                        316 (0.2%)
   David Feng                        306 (0.2%)
   Ying Zhang                        304 (0.2%)
   Enric Balletbo i Serra            294 (0.2%)
   Valentin Longchamp                279 (0.2%)
   Mugunthan V N                     235 (0.1%)
   Heiko Schocher                    191 (0.1%)
   Vadim Bendebury                   155 (0.1%)
   Łukasz Majewski                   143 (0.1%)
   Sourav Poddar                     142 (0.1%)
   Stefano Babic                     131 (0.1%)
   Ionut Nicu                        130 (0.1%)
   Suresh Gupta                      128 (0.1%)
   Jimmy Zhang                       118 (0.1%)
   Rajeshwari Shinde                 103 (0.1%)
   Otavio Salvador                   101 (0.1%)
   Randall Spangler                  98 (0.1%)
   rick                              85 (0.1%)
   Rainer Boschung                   82 (0.1%)
   Scott Jiang                       80 (0.0%)
   Dennis Gilmore                    74 (0.0%)
   poonam aggrwal                    72 (0.0%)
   Inha Song                         70 (0.0%)
   Axel Lin                          68 (0.0%)
   Haijun.Zhang                      65 (0.0%)
   Gerlando Falauto                  62 (0.0%)
   Patrice Bouchand                  57 (0.0%)
   Michael Burr                      53 (0.0%)
   Andreas Henriksson                49 (0.0%)
   Marcel Ziswiler                   46 (0.0%)
   Andrew Gabbasov                   42 (0.0%)
   Nishanth Menon                    40 (0.0%)
   Anson Huang                       31 (0.0%)
   Dave Gerlach                      29 (0.0%)
   Ian Campbell                      24 (0.0%)
   Markus Niebel                     23 (0.0%)
   Vivek Gautam                      22 (0.0%)
   Daniel Schwierzeck                20 (0.0%)
   Holger Brunck                     18 (0.0%)
   Janne Grunau                      18 (0.0%)
   Roger Quadros                     16 (0.0%)
   Eric Nelson                       13 (0.0%)
   Baruch Siach                      12 (0.0%)
   Bhupesh Sharma                    12 (0.0%)
   Andreas Bießmann                  11 (0.0%)
   Dustin Byford                     11 (0.0%)
   Nitin Garg                        10 (0.0%)
   Novasys Ingenierie                10 (0.0%)
   Minkyu Kang                       9 (0.0%)
   Mela Custodio                     9 (0.0%)
   Karicheri, Muralidharan           9 (0.0%)
   Matthias Fuchs                    7 (0.0%)
   Vasili Galka                      6 (0.0%)
   Linus Walleij                     6 (0.0%)
   Jagan Teki                        6 (0.0%)
   Andy Ng                           6 (0.0%)
   Ilya Ledvich                      5 (0.0%)
   Hector Palacios                   5 (0.0%)
   Aaron Wu                          5 (0.0%)
   Ramneek Mehresh                   5 (0.0%)
   Tetsuyuki Kobayashi               4 (0.0%)
   Siva Durga Prasad Paladugu        4 (0.0%)
   Måns Rullgård                     4 (0.0%)
   Ezequiel Garcia                   4 (0.0%)
   Satyanarayana, Sandhya            4 (0.0%)
   Nobuhiro Iwamatsu                 3 (0.0%)
   Nikhil Badola                     3 (0.0%)
   Leo Yan                           3 (0.0%)
   Lokesh Vutla                      2 (0.0%)
   Andreas Färber                    2 (0.0%)
   Wolfgang Denk                     2 (0.0%)
   Christian Eggers                  2 (0.0%)
   James Hogan                       1 (0.0%)
   Zhao Qiang                        1 (0.0%)
   Detlev Zundel                     1 (0.0%)
   Bob Liu                           1 (0.0%)
   Jim Lin                           1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Marek Vasut                       69052 (61.2%)
   Masahiro Yamada                   7038 (6.2%)
   Jonghwa Lee                       2169 (1.9%)
   Stefan Roese                      1843 (1.6%)
   Jassi Brar                        915 (0.8%)
   Tom Rini                          673 (0.6%)
   pekon gupta                       481 (0.4%)
   Stephen Warren                    361 (0.3%)
   Albert ARIBAUD                    252 (0.2%)
   Enric Balletbo i Serra            78 (0.1%)
   Rajeshwari Shinde                 65 (0.1%)
   Stefano Babic                     59 (0.1%)
   Vadim Bendebury                   44 (0.0%)
   Axel Lin                          43 (0.0%)
   Inha Song                         42 (0.0%)
   Vivek Gautam                      19 (0.0%)
   Daniel Schwierzeck                17 (0.0%)
   Minkyu Kang                       6 (0.0%)
   Ilya Ledvich                      4 (0.0%)
   Måns Rullgård                     3 (0.0%)
   Karicheri, Muralidharan           2 (0.0%)
   Hector Palacios                   2 (0.0%)
   Leo Yan                           2 (0.0%)
   Nobuhiro Iwamatsu                 1 (0.0%)
   Nikhil Badola                     1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Minkyu Kang                       41 (19.8%)
   Tom Warren                        25 (12.1%)
   Kyungmin Park                     20 (9.7%)
   Michal Simek                      12 (5.8%)
   Stephen Warren                    11 (5.3%)
   Pantelis Antoniou                 11 (5.3%)
   York Sun                          9 (4.3%)
   Tom Rini                          6 (2.9%)
   Nobuhiro Iwamatsu                 6 (2.9%)
   Andreas Bießmann                  6 (2.9%)
   Simon Glass                       6 (2.9%)
   poonam aggrwal                    5 (2.4%)
   Marek Vasut                       4 (1.9%)
   Pavel Herrmann                    4 (1.9%)
   Viktor Křivák                     4 (1.9%)
   Tomas Hlavacek                    4 (1.9%)
   Valentin Longchamp                4 (1.9%)
   Stefan Agner                      3 (1.4%)
   Jaehoon Chung                     3 (1.4%)
   Sonic Zhang                       3 (1.4%)
   Rommel G Custodio                 2 (1.0%)
   Thomas Chou                       2 (1.0%)
   Arpit Goel                        2 (1.0%)
   Holger Brunck                     2 (1.0%)
   Priyanka Jain                     2 (1.0%)
   Lokesh Vutla                      1 (0.5%)
   Jagannadha Sutradharudu Teki      1 (0.5%)
   Shaohui Xie                       1 (0.5%)
   Uday Hegde                        1 (0.5%)
   Stany MARCEL                      1 (0.5%)
   Kuan-Yu Kuo                       1 (0.5%)
   Bhupesh Sharma                    1 (0.5%)
   Łukasz Majewski                   1 (0.5%)
   Jimmy Zhang                       1 (0.5%)
   Prabhakar Kushwaha                1 (0.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   York Sun                          43 (38.7%)
   Jagannadha Sutradharudu Teki      13 (11.7%)
   Thierry Reding                    8 (7.2%)
   Simon Glass                       7 (6.3%)
   Steve Rae                         7 (6.3%)
   Tim Kryger                        7 (6.3%)
   Vadim Bendebury                   5 (4.5%)
   Tom Rini                          3 (2.7%)
   Lokesh Vutla                      3 (2.7%)
   Felipe Balbi                      2 (1.8%)
   Roger Quadros                     2 (1.8%)
   Łukasz Majewski                   1 (0.9%)
   Stefano Babic                     1 (0.9%)
   Che-Liang Chiou                   1 (0.9%)
   Andrew Chew                       1 (0.9%)
   Hung-ying Tyan                    1 (0.9%)
   Markus Mayer                      1 (0.9%)
   Sricharan R                       1 (0.9%)
   Andreas Färber                    1 (0.9%)
   Randall Spangler                  1 (0.9%)
   Dennis Gilmore                    1 (0.9%)
   Fabio Estevam                     1 (0.9%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Thierry Reding                    21 (40.4%)
   Che-Liang Chiou                   7 (13.5%)
   Simon Glass                       4 (7.7%)
   Gerhard Sittig                    4 (7.7%)
   Heiko Schocher                    3 (5.8%)
   Vadim Bendebury                   2 (3.8%)
   Łukasz Majewski                   2 (3.8%)
   Jagannadha Sutradharudu Teki      1 (1.9%)
   Andrew Chew                       1 (1.9%)
   Dennis Gilmore                    1 (1.9%)
   Stephen Warren                    1 (1.9%)
   Andreas Bießmann                  1 (1.9%)
   Marek Vasut                       1 (1.9%)
   Hyungwon Hwang                    1 (1.9%)
   Matthias Fuchs                    1 (1.9%)
   Bo Shen                           1 (1.9%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Stephen Warren                    13 (25.0%)
   Masahiro Yamada                   11 (21.2%)
   Tom Warren                        9 (17.3%)
   Simon Glass                       8 (15.4%)
   Vadim Bendebury                   2 (3.8%)
   Przemyslaw Marczak                2 (3.8%)
   Marek Vasut                       1 (1.9%)
   Andreas Färber                    1 (1.9%)
   Jimmy Zhang                       1 (1.9%)
   Stefan Roese                      1 (1.9%)
   Inha Song                         1 (1.9%)
   Hector Palacios                   1 (1.9%)
   Jim Lin                           1 (1.9%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   3 (14.3%)
   Simon Glass                       2 (9.5%)
   Andreas Bießmann                  2 (9.5%)
   Wolfgang Denk                     2 (9.5%)
   Heiko Schocher                    1 (4.8%)
   Łukasz Majewski                   1 (4.8%)
   Dennis Gilmore                    1 (4.8%)
   Bo Shen                           1 (4.8%)
   Tom Rini                          1 (4.8%)
   Eli Nidam                         1 (4.8%)
   Pierre AUBERT                     1 (4.8%)
   Russell King                      1 (4.8%)
   Praveen Rao                       1 (4.8%)
   Abraham Varricatt                 1 (4.8%)
   Olof Johansson                    1 (4.8%)
   Nishanth Menon                    1 (4.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   8 (38.1%)
   Stephen Warren                    5 (23.8%)
   Tom Rini                          2 (9.5%)
   Nobuhiro Iwamatsu                 2 (9.5%)
   Nishanth Menon                    1 (4.8%)
   Roger Quadros                     1 (4.8%)
   Måns Rullgård                     1 (4.8%)
   Ezequiel Garcia                   1 (4.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Socionext Inc.                    162 (21.1%)
   (Unknown)                         124 (16.1%)
   Freescale                         81 (10.5%)
   Samsung                           68 (8.8%)
   DENX Software Engineering         66 (8.6%)
   NVidia                            47 (6.1%)
   Google, Inc.                      44 (5.7%)
   Texas Instruments                 38 (4.9%)
   Konsulko Group                    35 (4.6%)
   AMD                               29 (3.8%)
   Keymile                           17 (2.2%)
   O.S. Systems                      11 (1.4%)
   Xilinx                            10 (1.3%)
   Broadcom                          8 (1.0%)
   Analog Devices                    6 (0.8%)
   Atmel                             4 (0.5%)
   Linaro                            4 (0.5%)
   TQ Systems                        4 (0.5%)
   Boundary Devices                  3 (0.4%)
   Renesas Electronics               2 (0.3%)
   CompuLab                          1 (0.1%)
   Digi International                1 (0.1%)
   ESD Electronics                   1 (0.1%)
   Free Electrons                    1 (0.1%)
   Marvell                           1 (0.1%)
   Novell                            1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         75046 (46.6%)
   Samsung                           20432 (12.7%)
   (Unknown)                         18319 (11.4%)
   Socionext Inc.                    16145 (10.0%)
   Google, Inc.                      11741 (7.3%)
   Freescale                         6019 (3.7%)
   Konsulko Group                    3717 (2.3%)
   Broadcom                          3167 (2.0%)
   Texas Instruments                 1596 (1.0%)
   Linaro                            921 (0.6%)
   AMD                               865 (0.5%)
   NVidia                            828 (0.5%)
   Xilinx                            796 (0.5%)
   Atmel                             599 (0.4%)
   Keymile                           441 (0.3%)
   Analog Devices                    425 (0.3%)
   O.S. Systems                      101 (0.1%)
   TQ Systems                        15 (0.0%)
   Boundary Devices                  13 (0.0%)
   ESD Electronics                   7 (0.0%)
   CompuLab                          5 (0.0%)
   Digi International                5 (0.0%)
   Free Electrons                    4 (0.0%)
   Renesas Electronics               3 (0.0%)
   Marvell                           3 (0.0%)
   Novell                            2 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Samsung                           65 (31.4%)
   (Unknown)                         38 (18.4%)
   NVidia                            37 (17.9%)
   Freescale                         21 (10.1%)
   Xilinx                            14 (6.8%)
   Texas Instruments                 7 (3.4%)
   Google, Inc.                      6 (2.9%)
   Keymile                           6 (2.9%)
   Nobuhiro Iwamatsu                 6 (2.9%)
   DENX Software Engineering         4 (1.9%)
   Analog Devices                    3 (1.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         38 (34.2%)
   Freescale                         17 (15.3%)
   Texas Instruments                 10 (9.0%)
   Samsung                           8 (7.2%)
   DENX Software Engineering         7 (6.3%)
   Keymile                           4 (3.6%)
   NVidia                            3 (2.7%)
   Xilinx                            3 (2.7%)
   Google, Inc.                      2 (1.8%)
   Analog Devices                    2 (1.8%)
   Linaro                            2 (1.8%)
   Socionext Inc.                    1 (0.9%)
   Konsulko Group                    1 (0.9%)
   Broadcom                          1 (0.9%)
   AMD                               1 (0.9%)
   Atmel                             1 (0.9%)
   O.S. Systems                      1 (0.9%)
   TQ Systems                        1 (0.9%)
   Boundary Devices                  1 (0.9%)
   ESD Electronics                   1 (0.9%)
   CompuLab                          1 (0.9%)
   Digi International                1 (0.9%)
   Free Electrons                    1 (0.9%)
   Renesas Electronics               1 (0.9%)
   Marvell                           1 (0.9%)
   Novell                            1 (0.9%)
   ================================  =====
