:orphan:

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

* Processed 645 changesets 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%)
   ================================  =====
