:orphan:

Release Statistics for U-Boot v2011.09
======================================

* Processed 645 csets from 120 developers

* 30 employers found

* A total of 37905 lines added, 45961 removed (delta -8056)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     76 (11.8%)
   Mike Frysinger                    47 (7.3%)
   Aneesh V                          45 (7.0%)
   Stefano Babic                     32 (5.0%)
   Andreas Bießmann                  19 (2.9%)
   Holger Brunck                     16 (2.5%)
   Kumar Gala                        15 (2.3%)
   Jason Kridner                     13 (2.0%)
   Matthias Weisser                  12 (1.9%)
   Nagabhushana Netagunte            11 (1.7%)
   York Sun                          11 (1.7%)
   Linus Walleij                     10 (1.6%)
   Fabio Estevam                     10 (1.6%)
   Michael Jones                     10 (1.6%)
   Simon Glass                       10 (1.6%)
   Heiko Schocher                    10 (1.6%)
   Daniel Schwierzeck                10 (1.6%)
   Marek Vasut                       9 (1.4%)
   Jason Jin                         9 (1.4%)
   Tom Rini                          9 (1.4%)
   Timur Tabi                        9 (1.4%)
   Koen Kooi                         8 (1.2%)
   Sanjeev Premi                     7 (1.1%)
   Laurence Withers                  7 (1.1%)
   Graeme Russ                       7 (1.1%)
   Joel A Fernandes                  6 (0.9%)
   Greg Ungerer                      6 (0.9%)
   Chander Kashyap                   6 (0.9%)
   Anatolij Gustschin                6 (0.9%)
   Xu, Hong                          6 (0.9%)
   Dirk Behme                        5 (0.8%)
   Vaibhav Hiremath                  5 (0.8%)
   Łukasz Majewski                   5 (0.8%)
   Igor Grinberg                     5 (0.8%)
   Phil Edworthy                     5 (0.8%)
   Matthew McClintock                5 (0.8%)
   Ramneek Mehresh                   5 (0.8%)
   Ben Gardiner                      5 (0.8%)
   Anton Staaf                       4 (0.6%)
   Lei Wen                           4 (0.6%)
   Thomas Petazzoni                  4 (0.6%)
   Reinhard Meyer                    4 (0.6%)
   Asen Dimov                        4 (0.6%)
   Yoshihiro Shimoda                 4 (0.6%)
   Mingkai Hu                        4 (0.6%)
   Jens Scharsig                     4 (0.6%)
   Rob Herring                       4 (0.6%)
   Tom Warren                        4 (0.6%)
   Andre Schwarz                     4 (0.6%)
   Albert ARIBAUD                    3 (0.5%)
   Vladimir Zapolskiy                3 (0.5%)
   Valentin Longchamp                3 (0.5%)
   Zhao Chenhui                      3 (0.5%)
   Macpaul Lin                       3 (0.5%)
   Nobuhiro Iwamatsu                 3 (0.5%)
   Shaohui Xie                       3 (0.5%)
   Jeroen Hofstee                    3 (0.5%)
   Becky Bruce                       3 (0.5%)
   David Müller (ELSOFT AG)          3 (0.5%)
   Stefan Roese                      2 (0.3%)
   Sandeep Paulraj                   2 (0.3%)
   Sudhakar Rajashekhara             2 (0.3%)
   Helmut Raiger                     2 (0.3%)
   David Jander                      2 (0.3%)
   Jason Cooper                      2 (0.3%)
   Ajay Bhargav                      2 (0.3%)
   Po-Yu Chuang                      2 (0.3%)
   John Rigby                        2 (0.3%)
   Simon Guinot                      2 (0.3%)
   Andy Fleming                      2 (0.3%)
   Stefan Bigler                     2 (0.3%)
   Andreas Pretzsch                  2 (0.3%)
   Jason Hobbs                       2 (0.3%)
   Torsten Koschorrek                2 (0.3%)
   David Gibson                      2 (0.3%)
   Jana Rapava                       2 (0.3%)
   Harald Krapfenbauer               2 (0.3%)
   Vadim Bendebury                   1 (0.2%)
   Peter Korsgaard                   1 (0.2%)
   Weirich, Bernhard                 1 (0.2%)
   Howard D. Gray                    1 (0.2%)
   Bastian Ruppert                   1 (0.2%)
   Che-liang Chiou                   1 (0.2%)
   Diana CRACIUN                     1 (0.2%)
   Michal Simek                      1 (0.2%)
   James Le Cuirot                   1 (0.2%)
   Bradley Bolen                     1 (0.2%)
   Christian Spielberger             1 (0.2%)
   Eric Benard                       1 (0.2%)
   Syed Mohammed Khasim              1 (0.2%)
   Steve Sakoman                     1 (0.2%)
   Bob Feretich                      1 (0.2%)
   Manjunathappa, Prakash            1 (0.2%)
   Jason Liu                         1 (0.2%)
   Matthias Fuchs                    1 (0.2%)
   Yao Cheng                         1 (0.2%)
   Shiraz Hashim                     1 (0.2%)
   Thomas Abraham                    1 (0.2%)
   Christopher Harvey                1 (0.2%)
   Sriramakrishnan                   1 (0.2%)
   seedshope                         1 (0.2%)
   Bhaskar Upadhaya                  1 (0.2%)
   Stephen George                    1 (0.2%)
   Niklaus Giger                     1 (0.2%)
   Mike Williams                     1 (0.2%)
   Horst Kronstorfer                 1 (0.2%)
   Thomas Herzmann                   1 (0.2%)
   Sergei Shtylyov                   1 (0.2%)
   Luuk Paulussen                    1 (0.2%)
   James Kosin                       1 (0.2%)
   Yegor Yefremov                    1 (0.2%)
   Chan-Taek Park                    1 (0.2%)
   David A. Long                     1 (0.2%)
   elen.song                         1 (0.2%)
   Gerald Van Baren                  1 (0.2%)
   Roy Zang                          1 (0.2%)
   Felix Radensky                    1 (0.2%)
   Bill Cook                         1 (0.2%)
   Ira W. Snyder                     1 (0.2%)
   Alex Waterman                     1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     26582 (35.2%)
   Aneesh V                          7911 (10.5%)
   Andreas Bießmann                  4270 (5.7%)
   Niklaus Giger                     3112 (4.1%)
   Simon Glass                       2053 (2.7%)
   Mike Frysinger                    1923 (2.5%)
   Chander Kashyap                   1905 (2.5%)
   Mingkai Hu                        1698 (2.2%)
   Andre Schwarz                     1525 (2.0%)
   Phil Edworthy                     1390 (1.8%)
   Macpaul Lin                       1360 (1.8%)
   Tom Warren                        1309 (1.7%)
   Roy Zang                          1303 (1.7%)
   David Müller (ELSOFT AG)          1110 (1.5%)
   Albert ARIBAUD                    1035 (1.4%)
   Lei Wen                           947 (1.3%)
   Graeme Russ                       943 (1.2%)
   Matthias Weisser                  926 (1.2%)
   Tom Rini                          905 (1.2%)
   Holger Brunck                     883 (1.2%)
   Yoshihiro Shimoda                 880 (1.2%)
   Fabio Estevam                     866 (1.1%)
   Heiko Schocher                    809 (1.1%)
   Jason Jin                         758 (1.0%)
   Xu, Hong                          719 (1.0%)
   Stefano Babic                     668 (0.9%)
   Simon Guinot                      608 (0.8%)
   Thomas Petazzoni                  553 (0.7%)
   Timur Tabi                        437 (0.6%)
   Laurence Withers                  378 (0.5%)
   Linus Walleij                     356 (0.5%)
   Daniel Schwierzeck                339 (0.4%)
   Jason Kridner                     332 (0.4%)
   John Rigby                        325 (0.4%)
   Syed Mohammed Khasim              307 (0.4%)
   Anatolij Gustschin                238 (0.3%)
   David Gibson                      227 (0.3%)
   Sanjeev Premi                     225 (0.3%)
   Ajay Bhargav                      213 (0.3%)
   Jason Cooper                      192 (0.3%)
   Nagabhushana Netagunte            172 (0.2%)
   Michael Jones                     164 (0.2%)
   Kumar Gala                        155 (0.2%)
   Łukasz Majewski                   154 (0.2%)
   York Sun                          152 (0.2%)
   Ramneek Mehresh                   151 (0.2%)
   Matthias Fuchs                    144 (0.2%)
   Asen Dimov                        137 (0.2%)
   Valentin Longchamp                128 (0.2%)
   Harald Krapfenbauer               121 (0.2%)
   Anton Staaf                       83 (0.1%)
   Ben Gardiner                      81 (0.1%)
   Joel A Fernandes                  80 (0.1%)
   Rob Herring                       78 (0.1%)
   Matthew McClintock                66 (0.1%)
   David Jander                      65 (0.1%)
   Greg Ungerer                      59 (0.1%)
   Andreas Pretzsch                  58 (0.1%)
   David A. Long                     58 (0.1%)
   Mike Williams                     57 (0.1%)
   Vaibhav Hiremath                  51 (0.1%)
   Becky Bruce                       47 (0.1%)
   Alex Waterman                     45 (0.1%)
   Gerald Van Baren                  41 (0.1%)
   Igor Grinberg                     36 (0.0%)
   Shaohui Xie                       36 (0.0%)
   Koen Kooi                         34 (0.0%)
   Helmut Raiger                     32 (0.0%)
   Torsten Koschorrek                28 (0.0%)
   Andy Fleming                      26 (0.0%)
   Sriramakrishnan                   26 (0.0%)
   Dirk Behme                        25 (0.0%)
   Sudhakar Rajashekhara             23 (0.0%)
   Christopher Harvey                23 (0.0%)
   Reinhard Meyer                    22 (0.0%)
   Howard D. Gray                    22 (0.0%)
   Po-Yu Chuang                      20 (0.0%)
   Shiraz Hashim                     19 (0.0%)
   Stephen George                    19 (0.0%)
   Zhao Chenhui                      15 (0.0%)
   Stefan Bigler                     15 (0.0%)
   Luuk Paulussen                    15 (0.0%)
   Stefan Roese                      14 (0.0%)
   Diana CRACIUN                     14 (0.0%)
   Jason Liu                         13 (0.0%)
   Jason Hobbs                       12 (0.0%)
   James Kosin                       12 (0.0%)
   elen.song                         12 (0.0%)
   Marek Vasut                       10 (0.0%)
   Sergei Shtylyov                   10 (0.0%)
   Christian Spielberger             9 (0.0%)
   Vladimir Zapolskiy                8 (0.0%)
   Che-liang Chiou                   8 (0.0%)
   Michal Simek                      8 (0.0%)
   James Le Cuirot                   8 (0.0%)
   seedshope                         8 (0.0%)
   Nobuhiro Iwamatsu                 7 (0.0%)
   Horst Kronstorfer                 7 (0.0%)
   Bob Feretich                      6 (0.0%)
   Chan-Taek Park                    6 (0.0%)
   Jens Scharsig                     5 (0.0%)
   Bastian Ruppert                   5 (0.0%)
   Jeroen Hofstee                    4 (0.0%)
   Steve Sakoman                     4 (0.0%)
   Yao Cheng                         4 (0.0%)
   Bill Cook                         4 (0.0%)
   Sandeep Paulraj                   3 (0.0%)
   Jana Rapava                       3 (0.0%)
   Thomas Abraham                    3 (0.0%)
   Bhaskar Upadhaya                  3 (0.0%)
   Bradley Bolen                     2 (0.0%)
   Thomas Herzmann                   2 (0.0%)
   Ira W. Snyder                     2 (0.0%)
   Vadim Bendebury                   1 (0.0%)
   Peter Korsgaard                   1 (0.0%)
   Weirich, Bernhard                 1 (0.0%)
   Eric Benard                       1 (0.0%)
   Manjunathappa, Prakash            1 (0.0%)
   Yegor Yefremov                    1 (0.0%)
   Felix Radensky                    1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     25412 (55.3%)
   Niklaus Giger                     3112 (6.8%)
   Andreas Bießmann                  2797 (6.1%)
   Albert ARIBAUD                    813 (1.8%)
   Tom Rini                          722 (1.6%)
   Graeme Russ                       636 (1.4%)
   Jason Jin                         532 (1.2%)
   David Müller (ELSOFT AG)          409 (0.9%)
   Linus Walleij                     284 (0.6%)
   Holger Brunck                     247 (0.5%)
   Thomas Petazzoni                  101 (0.2%)
   Xu, Hong                          49 (0.1%)
   Christopher Harvey                23 (0.1%)
   Dirk Behme                        18 (0.0%)
   Jason Liu                         13 (0.0%)
   Torsten Koschorrek                11 (0.0%)
   seedshope                         8 (0.0%)
   Sergei Shtylyov                   7 (0.0%)
   Diana CRACIUN                     5 (0.0%)
   Michael Jones                     4 (0.0%)
   Asen Dimov                        4 (0.0%)
   Jason Hobbs                       4 (0.0%)
   Steve Sakoman                     4 (0.0%)
   Zhao Chenhui                      2 (0.0%)
   Vladimir Zapolskiy                2 (0.0%)
   Anton Staaf                       1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Sandeep Paulraj                   101 (34.2%)
   Kumar Gala                        39 (13.2%)
   Joel A Fernandes                  21 (7.1%)
   Valentin Longchamp                13 (4.4%)
   Minkyu Kang                       10 (3.4%)
   Koen Kooi                         10 (3.4%)
   Reinhard Meyer                    9 (3.1%)
   Kim Phillips                      8 (2.7%)
   Scott Wood                        7 (2.4%)
   Nobuhiro Iwamatsu                 6 (2.0%)
   Sudhakar Rajashekhara             6 (2.0%)
   Aneesh V                          6 (2.0%)
   Shinya Kuribayashi                5 (1.7%)
   Holger Brunck                     4 (1.4%)
   Kyungmin Park                     4 (1.4%)
   Mike Frysinger                    4 (1.4%)
   Wolfgang Denk                     3 (1.0%)
   Stefan Roese                      3 (1.0%)
   Sanjeev Premi                     3 (1.0%)
   Nagabhushana Netagunte            3 (1.0%)
   Jason Kridner                     3 (1.0%)
   TsiChung Liew                     2 (0.7%)
   Andy Fleming                      2 (0.7%)
   Gerald Van Baren                  2 (0.7%)
   Andreas Bießmann                  1 (0.3%)
   Michael Jones                     1 (0.3%)
   Sebastien Jan                     1 (0.3%)
   David Anders                      1 (0.3%)
   James Yang                        1 (0.3%)
   Sugumar Natarajan                 1 (0.3%)
   Sekhar Nori                       1 (0.3%)
   Ranjith Lohithakshan              1 (0.3%)
   Lily Zhang                        1 (0.3%)
   Daniel Gorsulowski                1 (0.3%)
   Rod Boyce                         1 (0.3%)
   Jiang Yutang                      1 (0.3%)
   Prafulla Wadaskar                 1 (0.3%)
   Werner Pfister                    1 (0.3%)
   Haiying Wang                      1 (0.3%)
   Chunhe Lan                        1 (0.3%)
   Lei Xu                            1 (0.3%)
   Scott McNutt                      1 (0.3%)
   York Sun                          1 (0.3%)
   Timur Tabi                        1 (0.3%)
   Roy Zang                          1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Vipin Kumar                       2 (100.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Eric Benard                       4 (30.8%)
   Kumar Gala                        1 (7.7%)
   Minkyu Kang                       1 (7.7%)
   Jens Scharsig                     1 (7.7%)
   Thomas Chou                       1 (7.7%)
   Michal Simek                      1 (7.7%)
   Igor Grinberg                     1 (7.7%)
   Heiko Schocher                    1 (7.7%)
   Fabio Estevam                     1 (7.7%)
   Lei Wen                           1 (7.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       7 (53.8%)
   Mike Frysinger                    2 (15.4%)
   Andreas Bießmann                  1 (7.7%)
   Peter Korsgaard                   1 (7.7%)
   Marek Vasut                       1 (7.7%)
   John Rigby                        1 (7.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Graeme Russ                       1 (50.0%)
   Ed Swarthout                      1 (50.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Mike Frysinger                    1 (50.0%)
   Andy Fleming                      1 (50.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         145 (22.5%)
   DENX Software Engineering         135 (20.9%)
   Texas Instruments                 90 (14.0%)
   Freescale                         80 (12.4%)
   Analog Devices                    47 (7.3%)
   Linaro                            20 (3.1%)
   Keymile                           18 (2.8%)
   Google, Inc.                      16 (2.5%)
   Matrix Vision                     13 (2.0%)
   Renesas Electronics               10 (1.6%)
   Konsulko Group                    9 (1.4%)
   Atmel                             7 (1.1%)
   Graeme Russ                       7 (1.1%)
   Calxeda                           6 (0.9%)
   Samsung                           6 (0.9%)
   CompuLab                          5 (0.8%)
   Dirk Behme                        5 (0.8%)
   BuS Elektronik                    4 (0.6%)
   Free Electrons                    4 (0.6%)
   Marvell                           4 (0.6%)
   Ronetix                           4 (0.6%)
   Nobuhiro Iwamatsu                 2 (0.3%)
   bct electronic GmbH               1 (0.2%)
   ESD Electronics                   1 (0.2%)
   MontaVista                        1 (0.2%)
   OVRO                              1 (0.2%)
   Sakoman Inc.                      1 (0.2%)
   ST Microelectronics               1 (0.2%)
   Xilinx                            1 (0.2%)
   Barco                             1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         28321 (37.5%)
   (Unknown)                         16166 (21.4%)
   Texas Instruments                 9060 (12.0%)
   Freescale                         5729 (7.6%)
   Linaro                            2657 (3.5%)
   Renesas Electronics               2275 (3.0%)
   Google, Inc.                      2145 (2.8%)
   Analog Devices                    1923 (2.5%)
   Matrix Vision                     1580 (2.1%)
   Marvell                           947 (1.3%)
   Graeme Russ                       943 (1.2%)
   Keymile                           942 (1.2%)
   Konsulko Group                    905 (1.2%)
   Atmel                             731 (1.0%)
   Free Electrons                    553 (0.7%)
   Samsung                           157 (0.2%)
   ESD Electronics                   144 (0.2%)
   Ronetix                           137 (0.2%)
   Calxeda                           90 (0.1%)
   CompuLab                          36 (0.0%)
   Dirk Behme                        25 (0.0%)
   ST Microelectronics               19 (0.0%)
   MontaVista                        10 (0.0%)
   bct electronic GmbH               9 (0.0%)
   Xilinx                            8 (0.0%)
   BuS Elektronik                    5 (0.0%)
   Sakoman Inc.                      4 (0.0%)
   Nobuhiro Iwamatsu                 2 (0.0%)
   OVRO                              2 (0.0%)
   Barco                             1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Texas Instruments                 128 (43.4%)
   Freescale                         65 (22.0%)
   (Unknown)                         49 (16.6%)
   Keymile                           17 (5.8%)
   Samsung                           14 (4.7%)
   DENX Software Engineering         6 (2.0%)
   Nobuhiro Iwamatsu                 6 (2.0%)
   Analog Devices                    4 (1.4%)
   Custom IDEAS                      2 (0.7%)
   Matrix Vision                     1 (0.3%)
   Marvell                           1 (0.3%)
   ESD Electronics                   1 (0.3%)
   Psyent                            1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         48 (38.4%)
   Freescale                         16 (12.8%)
   Texas Instruments                 12 (9.6%)
   DENX Software Engineering         6 (4.8%)
   Linaro                            5 (4.0%)
   Keymile                           4 (3.2%)
   Google, Inc.                      4 (3.2%)
   Matrix Vision                     3 (2.4%)
   Renesas Electronics               3 (2.4%)
   Samsung                           2 (1.6%)
   Atmel                             2 (1.6%)
   Calxeda                           2 (1.6%)
   Nobuhiro Iwamatsu                 1 (0.8%)
   Analog Devices                    1 (0.8%)
   Marvell                           1 (0.8%)
   ESD Electronics                   1 (0.8%)
   Graeme Russ                       1 (0.8%)
   Konsulko Group                    1 (0.8%)
   Free Electrons                    1 (0.8%)
   Ronetix                           1 (0.8%)
   CompuLab                          1 (0.8%)
   Dirk Behme                        1 (0.8%)
   ST Microelectronics               1 (0.8%)
   MontaVista                        1 (0.8%)
   bct electronic GmbH               1 (0.8%)
   Xilinx                            1 (0.8%)
   BuS Elektronik                    1 (0.8%)
   Sakoman Inc.                      1 (0.8%)
   OVRO                              1 (0.8%)
   Barco                             1 (0.8%)
   ================================  =====
