:orphan:

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

* Processed 775 csets from 114 developers

* 29 employers found

* A total of 55134 lines added, 11790 removed (delta 43344)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Joe Hershberger                   90 (11.6%)
   Fabio Estevam                     56 (7.2%)
   Marek Vasut                       42 (5.4%)
   Stephen Warren                    35 (4.5%)
   SRICHARAN R                       29 (3.7%)
   Tom Rini                          25 (3.2%)
   Mike Frysinger                    22 (2.8%)
   Simon Glass                       22 (2.8%)
   Vipin Kumar                       21 (2.7%)
   Anatolij Gustschin                19 (2.5%)
   Holger Brunck                     18 (2.3%)
   Nobuhiro Iwamatsu                 15 (1.9%)
   Donghwa Lee                       14 (1.8%)
   Prabhakar Kushwaha                14 (1.8%)
   Valentin Longchamp                13 (1.7%)
   Wolfgang Denk                     12 (1.5%)
   Łukasz Majewski                   11 (1.4%)
   Rajeshwari Shinde                 11 (1.4%)
   Stefan Roese                      11 (1.4%)
   Stefano Babic                     10 (1.3%)
   Amit Virdi                        10 (1.3%)
   Lokesh Vutla                      10 (1.3%)
   Timur Tabi                        9 (1.2%)
   Eric Nelson                       8 (1.0%)
   Timo Ketola                       8 (1.0%)
   Liu Gang                          8 (1.0%)
   Tom Warren                        7 (0.9%)
   Thierry Reding                    7 (0.9%)
   Rob Herring                       7 (0.9%)
   Dirk Eibach                       7 (0.9%)
   Ilya Yanok                        6 (0.8%)
   Jaehoon Chung                     6 (0.8%)
   Nikita Kiryanov                   6 (0.8%)
   Otavio Salvador                   6 (0.8%)
   Grazvydas Ignotas                 6 (0.8%)
   Aneesh V                          6 (0.8%)
   Macpaul Lin                       5 (0.6%)
   Lucas Stach                       5 (0.6%)
   Shiraz Hashim                     5 (0.6%)
   Armando Visconti                  5 (0.6%)
   Thomas Herzmann                   5 (0.6%)
   Andreas Bießmann                  5 (0.6%)
   Vikram Narayanan                  5 (0.6%)
   York Sun                          5 (0.6%)
   Yen Lin                           5 (0.6%)
   Daniel Schwierzeck                4 (0.5%)
   Michael Walle                     4 (0.5%)
   Troy Kisky                        4 (0.5%)
   Steve Sakoman                     4 (0.5%)
   Bo Shen                           4 (0.5%)
   Benoît Thébaudeau                 3 (0.4%)
   Tetsuyuki Kobayashi               3 (0.4%)
   Jerry Huang                       3 (0.4%)
   Andy Fleming                      3 (0.4%)
   Kim Phillips                      3 (0.4%)
   Jens Scharsig                     3 (0.4%)
   Simon Guinot                      3 (0.4%)
   Jimmy Zhang                       3 (0.4%)
   Pali Rohár                        3 (0.4%)
   Stephan Linz                      3 (0.4%)
   Tero Kristo                       3 (0.4%)
   Anton Staff                       3 (0.4%)
   Balaji T K                        3 (0.4%)
   Nishanth Menon                    3 (0.4%)
   Vladimir Zapolskiy                3 (0.4%)
   Luka Perkov                       2 (0.3%)
   Minkyu Kang                       2 (0.3%)
   Heiko Schocher                    2 (0.3%)
   Shengzhou Liu                     2 (0.3%)
   Scott Wood                        2 (0.3%)
   Jeroen Hofstee                    2 (0.3%)
   Enric Balletbo i Serra            2 (0.3%)
   Dirk Behme                        2 (0.3%)
   Shaohui Xie                       2 (0.3%)
   Linu Cherian                      1 (0.1%)
   Ashok                             1 (0.1%)
   Zhong Hongbo                      1 (0.1%)
   Stefan Herbrechtsmeier            1 (0.1%)
   Thomas Chou                       1 (0.1%)
   Torsten Fleischer                 1 (0.1%)
   Igor Grinberg                     1 (0.1%)
   Jim Lin                           1 (0.1%)
   Peter Meerwald                    1 (0.1%)
   Vladimir Yakovlev                 1 (0.1%)
   Sebastien Jan                     1 (0.1%)
   Rajashekhara, Sudhakar            1 (0.1%)
   David Purdy                       1 (0.1%)
   Alexandre Belloni                 1 (0.1%)
   Michael Langer                    1 (0.1%)
   Jason Liu                         1 (0.1%)
   Thomas Weber                      1 (0.1%)
   Allen Martin                      1 (0.1%)
   Ramneek Mehresh                   1 (0.1%)
   Jason Cooper                      1 (0.1%)
   Loïc Minier                       1 (0.1%)
   Stefan Bigler                     1 (0.1%)
   Christian Herzig                  1 (0.1%)
   Andreas Huber                     1 (0.1%)
   Phil Edworthy                     1 (0.1%)
   Aaron Williams                    1 (0.1%)
   Puneet Saxena                     1 (0.1%)
   Liu, Wentao                       1 (0.1%)
   Matt Porter                       1 (0.1%)
   Jon Hunter                        1 (0.1%)
   Rakesh Iyer                       1 (0.1%)
   Bernie Thompson                   1 (0.1%)
   Wei Ni                            1 (0.1%)
   Lauri Hintsala                    1 (0.1%)
   Wolfgang Grandegger               1 (0.1%)
   Chander Kashyap                   1 (0.1%)
   Enric Balletbò i Serra            1 (0.1%)
   Jonathan Solnit                   1 (0.1%)
   Ian Campbell                      1 (0.1%)
   Chunhe Lan                        1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Donghwa Lee                       9434 (15.7%)
   Mike Frysinger                    3465 (5.8%)
   Joe Hershberger                   3048 (5.1%)
   Marek Vasut                       3032 (5.1%)
   Nobuhiro Iwamatsu                 2413 (4.0%)
   Yen Lin                           2098 (3.5%)
   Stefano Babic                     2090 (3.5%)
   Łukasz Majewski                   2022 (3.4%)
   Stefan Roese                      2019 (3.4%)
   Macpaul Lin                       1757 (2.9%)
   Prabhakar Kushwaha                1554 (2.6%)
   Simon Glass                       1492 (2.5%)
   SRICHARAN R                       1403 (2.3%)
   Vipin Kumar                       1392 (2.3%)
   Vladimir Zapolskiy                1389 (2.3%)
   Holger Brunck                     1350 (2.3%)
   Rajeshwari Shinde                 1350 (2.3%)
   Luka Perkov                       1320 (2.2%)
   Stephen Warren                    1317 (2.2%)
   Fabio Estevam                     1251 (2.1%)
   Michael Walle                     1227 (2.0%)
   Tom Rini                          1170 (2.0%)
   Jens Scharsig                     1072 (1.8%)
   Liu Gang                          883 (1.5%)
   Bo Shen                           719 (1.2%)
   Jaehoon Chung                     644 (1.1%)
   Jimmy Zhang                       600 (1.0%)
   Thierry Reding                    537 (0.9%)
   Dirk Eibach                       510 (0.9%)
   David Purdy                       498 (0.8%)
   Valentin Longchamp                449 (0.7%)
   Lokesh Vutla                      432 (0.7%)
   Rakesh Iyer                       410 (0.7%)
   Phil Edworthy                     401 (0.7%)
   Heiko Schocher                    371 (0.6%)
   Eric Nelson                       368 (0.6%)
   Bernie Thompson                   309 (0.5%)
   Enric Balletbò i Serra            273 (0.5%)
   Shengzhou Liu                     256 (0.4%)
   Amit Virdi                        226 (0.4%)
   Rob Herring                       214 (0.4%)
   Nishanth Menon                    210 (0.4%)
   Nikita Kiryanov                   190 (0.3%)
   York Sun                          176 (0.3%)
   Timur Tabi                        146 (0.2%)
   Andy Fleming                      144 (0.2%)
   Jeroen Hofstee                    120 (0.2%)
   Armando Visconti                  116 (0.2%)
   Thomas Herzmann                   114 (0.2%)
   Grazvydas Ignotas                 105 (0.2%)
   Aneesh V                          103 (0.2%)
   Tom Warren                        101 (0.2%)
   Timo Ketola                       100 (0.2%)
   Anton Staff                       87 (0.1%)
   Scott Wood                        85 (0.1%)
   Daniel Schwierzeck                81 (0.1%)
   Anatolij Gustschin                74 (0.1%)
   Dirk Behme                        73 (0.1%)
   Balaji T K                        70 (0.1%)
   Wolfgang Denk                     69 (0.1%)
   Ramneek Mehresh                   66 (0.1%)
   Zhong Hongbo                      65 (0.1%)
   Vikram Narayanan                  63 (0.1%)
   Andreas Bießmann                  61 (0.1%)
   Puneet Saxena                     61 (0.1%)
   Troy Kisky                        58 (0.1%)
   Jonathan Solnit                   58 (0.1%)
   Shaohui Xie                       57 (0.1%)
   Andreas Huber                     43 (0.1%)
   Pali Rohár                        41 (0.1%)
   Ilya Yanok                        39 (0.1%)
   Minkyu Kang                       38 (0.1%)
   Lucas Stach                       32 (0.1%)
   Lauri Hintsala                    31 (0.1%)
   Simon Guinot                      25 (0.0%)
   Jason Cooper                      24 (0.0%)
   Tetsuyuki Kobayashi               21 (0.0%)
   Alexandre Belloni                 21 (0.0%)
   Stefan Herbrechtsmeier            20 (0.0%)
   Shiraz Hashim                     18 (0.0%)
   Jim Lin                           18 (0.0%)
   Wei Ni                            18 (0.0%)
   Enric Balletbo i Serra            17 (0.0%)
   Matt Porter                       16 (0.0%)
   Thomas Chou                       15 (0.0%)
   Steve Sakoman                     13 (0.0%)
   Stephan Linz                      12 (0.0%)
   Otavio Salvador                   11 (0.0%)
   Kim Phillips                      11 (0.0%)
   Tero Kristo                       10 (0.0%)
   Vladimir Yakovlev                 10 (0.0%)
   Jerry Huang                       9 (0.0%)
   Rajashekhara, Sudhakar            8 (0.0%)
   Benoît Thébaudeau                 7 (0.0%)
   Peter Meerwald                    6 (0.0%)
   Chunhe Lan                        6 (0.0%)
   Allen Martin                      5 (0.0%)
   Michael Langer                    4 (0.0%)
   Stefan Bigler                     4 (0.0%)
   Aaron Williams                    3 (0.0%)
   Wolfgang Grandegger               3 (0.0%)
   Ashok                             2 (0.0%)
   Igor Grinberg                     2 (0.0%)
   Jason Liu                         2 (0.0%)
   Thomas Weber                      2 (0.0%)
   Chander Kashyap                   2 (0.0%)
   Ian Campbell                      2 (0.0%)
   Linu Cherian                      1 (0.0%)
   Torsten Fleischer                 1 (0.0%)
   Sebastien Jan                     1 (0.0%)
   Loïc Minier                       1 (0.0%)
   Christian Herzig                  1 (0.0%)
   Liu, Wentao                       1 (0.0%)
   Jon Hunter                        1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          831 (7.0%)
   Jaehoon Chung                     353 (3.0%)
   Enric Balletbò i Serra            262 (2.2%)
   Amit Virdi                        104 (0.9%)
   York Sun                          51 (0.4%)
   Timur Tabi                        51 (0.4%)
   Andreas Bießmann                  43 (0.4%)
   Wolfgang Denk                     22 (0.2%)
   Simon Guinot                      13 (0.1%)
   Thomas Chou                       6 (0.1%)
   Tero Kristo                       6 (0.1%)
   Stephan Linz                      4 (0.0%)
   Otavio Salvador                   2 (0.0%)
   Igor Grinberg                     1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Warren                        80 (21.6%)
   Stefan Roese                      46 (12.4%)
   Kyungmin Park                     32 (8.6%)
   Amit Virdi                        31 (8.4%)
   Andy Fleming                      16 (4.3%)
   Kim Phillips                      14 (3.8%)
   Simon Glass                       14 (3.8%)
   Valentin Longchamp                13 (3.5%)
   Minkyu Kang                       11 (3.0%)
   Anatolij Gustschin                10 (2.7%)
   Holger Brunck                     10 (2.7%)
   Inki Dae                          8 (2.2%)
   Andreas Bießmann                  6 (1.6%)
   Scott Wood                        6 (1.6%)
   Igor Grinberg                     5 (1.4%)
   Radu Lazarescu                    5 (1.4%)
   Shaohui Xie                       5 (1.4%)
   Vivek Gautam                      4 (1.1%)
   Marius Grigoras                   4 (1.1%)
   Ilya Yanok                        3 (0.8%)
   SRICHARAN R                       3 (0.8%)
   Tom Rini                          2 (0.5%)
   Che-Liang Chiou                   2 (0.5%)
   Senthilvadivu Guruswamy           2 (0.5%)
   Prafulla Wadaskar                 2 (0.5%)
   Abhilash Kesavan                  2 (0.5%)
   Priyanka Jain                     2 (0.5%)
   Akhil Goyal                       2 (0.5%)
   Rajan Srivastava                  2 (0.5%)
   Poonam Aggrwal                    2 (0.5%)
   Ramneek Mehresh                   2 (0.5%)
   Marek Vasut                       2 (0.5%)
   Vipin Kumar                       2 (0.5%)
   Wolfgang Denk                     1 (0.3%)
   Jason Liu                         1 (0.3%)
   Christian Herzig                  1 (0.3%)
   Lad, Prabhakar                    1 (0.3%)
   Hadli, Manjunath                  1 (0.3%)
   Daniel Stodden                    1 (0.3%)
   Catalin Udma                      1 (0.3%)
   Eric Miao                         1 (0.3%)
   Terry Lv                          1 (0.3%)
   Gerald Kerma                      1 (0.3%)
   Simon Baatz                       1 (0.3%)
   Anmol Paralkar                    1 (0.3%)
   John Russo                        1 (0.3%)
   Michel Sanches                    1 (0.3%)
   Peter Meerwald                    1 (0.3%)
   Shiraz Hashim                     1 (0.3%)
   Balaji T K                        1 (0.3%)
   Fabio Estevam                     1 (0.3%)
   Stefano Babic                     1 (0.3%)
   Nobuhiro Iwamatsu                 1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Joe Hershberger                   2 (100.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Anatolij Gustschin                3 (12.0%)
   Tom Rini                          3 (12.0%)
   Wolfgang Denk                     2 (8.0%)
   Gary Thomas                       2 (8.0%)
   Pali Rohár                        2 (8.0%)
   Stephen Warren                    2 (8.0%)
   Simon Glass                       1 (4.0%)
   Holger Brunck                     1 (4.0%)
   Jaehoon Chung                     1 (4.0%)
   Simon Guinot                      1 (4.0%)
   Yoshihiro Shimoda                 1 (4.0%)
   Allen Martin                      1 (4.0%)
   Thierry Reding                    1 (4.0%)
   Eric Nelson                       1 (4.0%)
   David Purdy                       1 (4.0%)
   Jimmy Zhang                       1 (4.0%)
   Mike Frysinger                    1 (4.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Anatolij Gustschin                3 (12.0%)
   Luka Perkov                       3 (12.0%)
   SRICHARAN R                       2 (8.0%)
   Tetsuyuki Kobayashi               2 (8.0%)
   Jason Cooper                      2 (8.0%)
   Grazvydas Ignotas                 2 (8.0%)
   Timo Ketola                       2 (8.0%)
   Stephen Warren                    1 (4.0%)
   Allen Martin                      1 (4.0%)
   Tom Warren                        1 (4.0%)
   Andy Fleming                      1 (4.0%)
   Minkyu Kang                       1 (4.0%)
   Nobuhiro Iwamatsu                 1 (4.0%)
   Aaron Williams                    1 (4.0%)
   Lucas Stach                       1 (4.0%)
   Aneesh V                          1 (4.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Isabelle Gros                     3 (25.0%)
   Jerome Angeloni                   3 (25.0%)
   Pali Rohár                        1 (8.3%)
   Marek Vasut                       1 (8.3%)
   Deepak Sikri                      1 (8.3%)
   David Jander                      1 (8.3%)
   Armando Visconti                  1 (8.3%)
   Michael Walle                     1 (8.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Nishanth Menon                    6 (50.0%)
   Shiraz Hashim                     2 (16.7%)
   Anatolij Gustschin                1 (8.3%)
   Mike Frysinger                    1 (8.3%)
   Joe Hershberger                   1 (8.3%)
   Stefano Babic                     1 (8.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         102 (13.2%)
   DENX Software Engineering         97 (12.5%)
   (Unknown)                         97 (12.5%)
   National Instruments              90 (11.6%)
   Texas Instruments                 58 (7.5%)
   NVidia                            51 (6.6%)
   Samsung                           44 (5.7%)
   ST Microelectronics               41 (5.3%)
   Keymile                           39 (5.0%)
   Google, Inc.                      26 (3.4%)
   Konsulko Group                    25 (3.2%)
   Analog Devices                    22 (2.8%)
   Renesas Electronics               13 (1.7%)
   Boundary Devices                  12 (1.5%)
   Calxeda                           7 (0.9%)
   CompuLab                          7 (0.9%)
   Guntermann & Drunck               7 (0.9%)
   O.S. Systems                      6 (0.8%)
   Grazvydas Ignotas                 6 (0.8%)
   Atmel                             4 (0.5%)
   Sakoman Inc.                      4 (0.5%)
   ADVANSEE                          3 (0.4%)
   BuS Elektronik                    3 (0.4%)
   Bosch                             3 (0.4%)
   Nobuhiro Iwamatsu                 3 (0.4%)
   Linaro                            2 (0.3%)
   Bluegiga Technologies             1 (0.1%)
   Debian.org                        1 (0.1%)
   Intel                             1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Samsung                           13488 (22.5%)
   (Unknown)                         8487 (14.1%)
   DENX Software Engineering         7658 (12.8%)
   NVidia                            4584 (7.6%)
   Freescale                         4044 (6.7%)
   Analog Devices                    3465 (5.8%)
   National Instruments              3048 (5.1%)
   Renesas Electronics               2803 (4.7%)
   Texas Instruments                 2254 (3.8%)
   Keymile                           1961 (3.3%)
   Google, Inc.                      1888 (3.1%)
   ST Microelectronics               1752 (2.9%)
   Konsulko Group                    1170 (2.0%)
   BuS Elektronik                    1072 (1.8%)
   Atmel                             719 (1.2%)
   Guntermann & Drunck               510 (0.9%)
   Boundary Devices                  426 (0.7%)
   Calxeda                           214 (0.4%)
   CompuLab                          192 (0.3%)
   Grazvydas Ignotas                 105 (0.2%)
   Bosch                             77 (0.1%)
   Bluegiga Technologies             31 (0.1%)
   Sakoman Inc.                      13 (0.0%)
   O.S. Systems                      11 (0.0%)
   Nobuhiro Iwamatsu                 11 (0.0%)
   ADVANSEE                          7 (0.0%)
   Linaro                            4 (0.0%)
   Debian.org                        1 (0.0%)
   Intel                             1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   NVidia                            80 (21.6%)
   DENX Software Engineering         60 (16.2%)
   Freescale                         59 (15.9%)
   Samsung                           57 (15.4%)
   ST Microelectronics               35 (9.5%)
   Keymile                           24 (6.5%)
   (Unknown)                         18 (4.9%)
   Google, Inc.                      16 (4.3%)
   Texas Instruments                 10 (2.7%)
   CompuLab                          5 (1.4%)
   Linaro                            2 (0.5%)
   Marvell                           2 (0.5%)
   Nobuhiro Iwamatsu                 1 (0.3%)
   bct electronic GmbH               1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         35 (29.9%)
   Freescale                         13 (11.1%)
   Texas Instruments                 10 (8.5%)
   NVidia                            9 (7.7%)
   DENX Software Engineering         7 (6.0%)
   Keymile                           6 (5.1%)
   Samsung                           5 (4.3%)
   ST Microelectronics               4 (3.4%)
   Google, Inc.                      3 (2.6%)
   CompuLab                          2 (1.7%)
   Linaro                            2 (1.7%)
   Renesas Electronics               2 (1.7%)
   Boundary Devices                  2 (1.7%)
   Bosch                             2 (1.7%)
   Nobuhiro Iwamatsu                 1 (0.9%)
   Analog Devices                    1 (0.9%)
   National Instruments              1 (0.9%)
   Konsulko Group                    1 (0.9%)
   BuS Elektronik                    1 (0.9%)
   Atmel                             1 (0.9%)
   Guntermann & Drunck               1 (0.9%)
   Calxeda                           1 (0.9%)
   Grazvydas Ignotas                 1 (0.9%)
   Bluegiga Technologies             1 (0.9%)
   Sakoman Inc.                      1 (0.9%)
   O.S. Systems                      1 (0.9%)
   ADVANSEE                          1 (0.9%)
   Debian.org                        1 (0.9%)
   Intel                             1 (0.9%)
   ================================  =====
