:orphan:

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

* Processed 636 csets from 134 developers

* 30 employers found

* A total of 48114 lines added, 36696 removed (delta 11418)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Mike Frysinger                    63 (9.9%)
   Luca Ceresoli                     28 (4.4%)
   Heiko Schocher                    26 (4.1%)
   Andreas Bießmann                  23 (3.6%)
   Fabio Estevam                     23 (3.6%)
   Kumar Gala                        21 (3.3%)
   Holger Brunck                     20 (3.1%)
   Reinhard Meyer                    18 (2.8%)
   Macpaul Lin                       18 (2.8%)
   Wolfgang Denk                     17 (2.7%)
   Michael Schwingen                 17 (2.7%)
   Timur Tabi                        16 (2.5%)
   Stefano Babic                     13 (2.0%)
   Lei Wen                           10 (1.6%)
   Thomas Chou                       9 (1.4%)
   Dirk Eibach                       9 (1.4%)
   Igor Grinberg                     9 (1.4%)
   Eric Benard                       8 (1.3%)
   Andy Fleming                      8 (1.3%)
   Zhao Chenhui                      7 (1.1%)
   Valentin Longchamp                7 (1.1%)
   Graeme Russ                       7 (1.1%)
   Aneesh V                          6 (0.9%)
   Minkyu Kang                       6 (0.9%)
   Daniel Schwierzeck                6 (0.9%)
   Priyanka Jain                     6 (0.9%)
   Grant Likely                      6 (0.9%)
   Poonam Aggrwal                    6 (0.9%)
   Chander Kashyap                   5 (0.8%)
   John Rigby                        5 (0.8%)
   David Müller (ELSOFT AG)          5 (0.8%)
   Ben Gardiner                      5 (0.8%)
   Joakim Tjernlund                  5 (0.8%)
   Kyle Moffett                      5 (0.8%)
   Jiang Yutang                      5 (0.8%)
   Haiying Wang                      5 (0.8%)
   Jason Liu                         4 (0.6%)
   Clint Adams                       4 (0.6%)
   Mingkai Hu                        4 (0.6%)
   Matt Waddel                       4 (0.6%)
   Kim Phillips                      4 (0.6%)
   Dipen Dudhat                      4 (0.6%)
   Tom Warren                        4 (0.6%)
   Alexander Holler                  4 (0.6%)
   Raffaele Recalcati                4 (0.6%)
   Jens Scharsig                     3 (0.5%)
   Enric Balletbo i Serra            3 (0.5%)
   Dirk Behme                        3 (0.5%)
   Jason Kridner                     3 (0.5%)
   Thomas Herzmann                   3 (0.5%)
   Shaohui Xie                       3 (0.5%)
   Daniel Gorsulowski                3 (0.5%)
   Stefan Roese                      3 (0.5%)
   York Sun                          3 (0.5%)
   Simon Guinot                      3 (0.5%)
   Shinya Kuribayashi                3 (0.5%)
   Anatolij Gustschin                3 (0.5%)
   Jerry Huang                       3 (0.5%)
   Po-Yu Chuang                      3 (0.5%)
   Matthew McClintock                3 (0.5%)
   Roy Zang                          3 (0.5%)
   Alessandro Rubini                 3 (0.5%)
   Loïc Minier                       3 (0.5%)
   Florian Fainelli                  3 (0.5%)
   Li Yang                           2 (0.3%)
   Cliff Cai                         2 (0.3%)
   Ilya Yanok                        2 (0.3%)
   Ryan Mallon                       2 (0.3%)
   Nobuhiro Iwamatsu                 2 (0.3%)
   Albert ARIBAUD                    2 (0.3%)
   Daniel Hobi                       2 (0.3%)
   Scott Wood                        2 (0.3%)
   Shawn Guo                         2 (0.3%)
   ecc                               2 (0.3%)
   Alex Waterman                     2 (0.3%)
   Huber, Andreas                    2 (0.3%)
   Emil Medve                        2 (0.3%)
   Trübenbach, Ralf                  2 (0.3%)
   Koen Kooi                         2 (0.3%)
   Liu Hui-R64343                    2 (0.3%)
   Aaron Williams                    2 (0.3%)
   Richard Retanubun                 2 (0.3%)
   Prabhakar Kushwaha                2 (0.3%)
   Erik Hansen                       2 (0.3%)
   Sergey Lapin                      1 (0.2%)
   Helmut Raiger                     1 (0.2%)
   Felix Radensky                    1 (0.2%)
   Harald Krapfenbauer               1 (0.2%)
   Haojian Zhuang                    1 (0.2%)
   Luuk Paulussen                    1 (0.2%)
   Patrick Sestier                   1 (0.2%)
   Marek Vasut                       1 (0.2%)
   Thomas Abraham                    1 (0.2%)
   Michael Brandt                    1 (0.2%)
   Jaehoon Chung                     1 (0.2%)
   seedshope                         1 (0.2%)
   Michael Walle                     1 (0.2%)
   Sughosh Ganu                      1 (0.2%)
   Detlev Zundel                     1 (0.2%)
   Michael Jones                     1 (0.2%)
   François Revol                    1 (0.2%)
   Michal Simek                      1 (0.2%)
   Che-liang Chiou                   1 (0.2%)
   Steven A. Falco                   1 (0.2%)
   Stefan Bigler                     1 (0.2%)
   Thomas Reufer                     1 (0.2%)
   Lei Xu                            1 (0.2%)
   Ramneek Mehresh                   1 (0.2%)
   Gray Remlin                       1 (0.2%)
   thomas.langer@lantiq.com          1 (0.2%)
   Rogan Dawes                       1 (0.2%)
   Matthias Weisser                  1 (0.2%)
   Srinath                           1 (0.2%)
   Steve Kipisz                      1 (0.2%)
   Ricardo Ribalda                   1 (0.2%)
   Jon Povey                         1 (0.2%)
   Nick Thompson                     1 (0.2%)
   Simon Glass                       1 (0.2%)
   Peter Tyser                       1 (0.2%)
   James Kosin                       1 (0.2%)
   Frans Meulenbroeks                1 (0.2%)
   Wolfgang Wegner                   1 (0.2%)
   Alagu Sankar                      1 (0.2%)
   Remy Bohmer                       1 (0.2%)
   Catalin Radu                      1 (0.2%)
   Fabian Cenedese                   1 (0.2%)
   Sonic Zhang                       1 (0.2%)
   Chong Huang                       1 (0.2%)
   Andreas Schallenberg              1 (0.2%)
   Mario Schuknecht                  1 (0.2%)
   Laurentiu TUDOR                   1 (0.2%)
   bhaskar upadhaya                  1 (0.2%)
   Pankaj Chauhan                    1 (0.2%)
   michael                           1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Mike Frysinger                    12342 (18.3%)
   Wolfgang Denk                     8449 (12.5%)
   Andy Fleming                      6135 (9.1%)
   Heiko Schocher                    3110 (4.6%)
   Michael Schwingen                 2329 (3.4%)
   John Rigby                        2243 (3.3%)
   Luca Ceresoli                     1904 (2.8%)
   Holger Brunck                     1884 (2.8%)
   Daniel Schwierzeck                1864 (2.8%)
   Chander Kashyap                   1672 (2.5%)
   Kumar Gala                        1520 (2.2%)
   Macpaul Lin                       1506 (2.2%)
   Eric Benard                       1386 (2.1%)
   Mingkai Hu                        1262 (1.9%)
   Dipen Dudhat                      1171 (1.7%)
   Reinhard Meyer                    1142 (1.7%)
   Timur Tabi                        1049 (1.6%)
   Srinath                           891 (1.3%)
   Tom Warren                        875 (1.3%)
   Fabio Estevam                     872 (1.3%)
   Michael Brandt                    808 (1.2%)
   Jason Liu                         802 (1.2%)
   Thomas Chou                       770 (1.1%)
   Matt Waddel                       670 (1.0%)
   Andreas Bießmann                  636 (0.9%)
   David Müller (ELSOFT AG)          625 (0.9%)
   Lei Wen                           553 (0.8%)
   Scott Wood                        547 (0.8%)
   Matthias Weisser                  443 (0.7%)
   Ryan Mallon                       420 (0.6%)
   Graeme Russ                       396 (0.6%)
   Alessandro Rubini                 378 (0.6%)
   Andreas Schallenberg              358 (0.5%)
   Joakim Tjernlund                  323 (0.5%)
   Valentin Longchamp                299 (0.4%)
   Alexander Holler                  285 (0.4%)
   Jason Kridner                     268 (0.4%)
   Daniel Gorsulowski                250 (0.4%)
   Florian Fainelli                  226 (0.3%)
   Jens Scharsig                     210 (0.3%)
   Shinya Kuribayashi                209 (0.3%)
   Stefano Babic                     204 (0.3%)
   Haiying Wang                      195 (0.3%)
   Thomas Herzmann                   193 (0.3%)
   Chong Huang                       178 (0.3%)
   Igor Grinberg                     175 (0.3%)
   Jerry Huang                       169 (0.2%)
   Roy Zang                          169 (0.2%)
   Jiang Yutang                      163 (0.2%)
   Emil Medve                        159 (0.2%)
   Grant Likely                      150 (0.2%)
   Dirk Eibach                       147 (0.2%)
   Raffaele Recalcati                143 (0.2%)
   Thomas Reufer                     140 (0.2%)
   Poonam Aggrwal                    123 (0.2%)
   Kyle Moffett                      122 (0.2%)
   Steven A. Falco                   114 (0.2%)
   Richard Retanubun                 111 (0.2%)
   Prabhakar Kushwaha                108 (0.2%)
   Huber, Andreas                    107 (0.2%)
   Enric Balletbo i Serra            106 (0.2%)
   Kim Phillips                      101 (0.1%)
   Shaohui Xie                       97 (0.1%)
   Sergey Lapin                      97 (0.1%)
   Priyanka Jain                     89 (0.1%)
   Minkyu Kang                       70 (0.1%)
   Michael Jones                     63 (0.1%)
   Clint Adams                       62 (0.1%)
   Koen Kooi                         61 (0.1%)
   Remy Bohmer                       56 (0.1%)
   Matthew McClintock                49 (0.1%)
   Ilya Yanok                        48 (0.1%)
   Erik Hansen                       48 (0.1%)
   Ben Gardiner                      45 (0.1%)
   Jaehoon Chung                     45 (0.1%)
   Zhao Chenhui                      38 (0.1%)
   Li Yang                           35 (0.1%)
   Liu Hui-R64343                    31 (0.0%)
   Nick Thompson                     31 (0.0%)
   Aneesh V                          29 (0.0%)
   thomas.langer@lantiq.com          27 (0.0%)
   Po-Yu Chuang                      26 (0.0%)
   Anatolij Gustschin                25 (0.0%)
   Stefan Roese                      24 (0.0%)
   Albert ARIBAUD                    22 (0.0%)
   York Sun                          18 (0.0%)
   Harald Krapfenbauer               18 (0.0%)
   Steve Kipisz                      18 (0.0%)
   Ramneek Mehresh                   16 (0.0%)
   Laurentiu TUDOR                   16 (0.0%)
   Alex Waterman                     14 (0.0%)
   Loïc Minier                       13 (0.0%)
   Detlev Zundel                     12 (0.0%)
   Stefan Bigler                     12 (0.0%)
   Simon Guinot                      11 (0.0%)
   Aaron Williams                    11 (0.0%)
   Wolfgang Wegner                   11 (0.0%)
   Catalin Radu                      10 (0.0%)
   Michael Walle                     9 (0.0%)
   bhaskar upadhaya                  9 (0.0%)
   Peter Tyser                       8 (0.0%)
   Daniel Hobi                       7 (0.0%)
   Felix Radensky                    7 (0.0%)
   Michal Simek                      7 (0.0%)
   Jon Povey                         7 (0.0%)
   Fabian Cenedese                   7 (0.0%)
   Cliff Cai                         6 (0.0%)
   Shawn Guo                         6 (0.0%)
   ecc                               6 (0.0%)
   Ricardo Ribalda                   5 (0.0%)
   Sonic Zhang                       5 (0.0%)
   Marek Vasut                       4 (0.0%)
   Lei Xu                            4 (0.0%)
   James Kosin                       4 (0.0%)
   Dirk Behme                        3 (0.0%)
   Trübenbach, Ralf                  3 (0.0%)
   Patrick Sestier                   3 (0.0%)
   François Revol                    3 (0.0%)
   Frans Meulenbroeks                3 (0.0%)
   Alagu Sankar                      3 (0.0%)
   Pankaj Chauhan                    3 (0.0%)
   Nobuhiro Iwamatsu                 2 (0.0%)
   Luuk Paulussen                    2 (0.0%)
   Thomas Abraham                    2 (0.0%)
   seedshope                         2 (0.0%)
   Sughosh Ganu                      2 (0.0%)
   Che-liang Chiou                   2 (0.0%)
   Gray Remlin                       2 (0.0%)
   Rogan Dawes                       2 (0.0%)
   Mario Schuknecht                  2 (0.0%)
   michael                           2 (0.0%)
   Helmut Raiger                     1 (0.0%)
   Haojian Zhuang                    1 (0.0%)
   Simon Glass                       1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     7936 (21.6%)
   Daniel Schwierzeck                1500 (4.1%)
   Eric Benard                       895 (2.4%)
   Holger Brunck                     545 (1.5%)
   Scott Wood                        503 (1.4%)
   Kumar Gala                        496 (1.4%)
   David Müller (ELSOFT AG)          377 (1.0%)
   Alessandro Rubini                 363 (1.0%)
   Andreas Bießmann                  272 (0.7%)
   Reinhard Meyer                    159 (0.4%)
   Shinya Kuribayashi                115 (0.3%)
   Graeme Russ                       90 (0.2%)
   Michael Jones                     63 (0.2%)
   Nick Thompson                     20 (0.1%)
   Liu Hui-R64343                    18 (0.0%)
   Erik Hansen                       16 (0.0%)
   thomas.langer@lantiq.com          15 (0.0%)
   Stefan Roese                      14 (0.0%)
   Po-Yu Chuang                      9 (0.0%)
   Stefano Babic                     8 (0.0%)
   Fabian Cenedese                   7 (0.0%)
   Shawn Guo                         6 (0.0%)
   Albert ARIBAUD                    4 (0.0%)
   Daniel Hobi                       4 (0.0%)
   Felix Radensky                    4 (0.0%)
   Harald Krapfenbauer               3 (0.0%)
   Loïc Minier                       2 (0.0%)
   Ben Gardiner                      1 (0.0%)
   Jon Povey                         1 (0.0%)
   Marek Vasut                       1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Kumar Gala                        80 (28.5%)
   Sandeep Paulraj                   32 (11.4%)
   Valentin Longchamp                23 (8.2%)
   Holger Brunck                     19 (6.8%)
   Stefan Roese                      15 (5.3%)
   Mike Frysinger                    13 (4.6%)
   Andy Fleming                      12 (4.3%)
   Minkyu Kang                       11 (3.9%)
   Scott Wood                        8 (2.8%)
   Shinya Kuribayashi                6 (2.1%)
   Zhao Chenhui                      4 (1.4%)
   Poonam Aggrwal                    4 (1.4%)
   Jason Kridner                     4 (1.4%)
   Heiko Schocher                    4 (1.4%)
   Lukas Roggli                      3 (1.1%)
   Timur Tabi                        3 (1.1%)
   Kyungmin Park                     2 (0.7%)
   Albert Aribaud                    2 (0.7%)
   David Woodhouse                   2 (0.7%)
   Jin Qing                          2 (0.7%)
   Li Yang                           2 (0.7%)
   Shaohui Xie                       2 (0.7%)
   Roy Zang                          2 (0.7%)
   Mingkai Hu                        2 (0.7%)
   Dipen Dudhat                      2 (0.7%)
   Wolfgang Denk                     1 (0.4%)
   Loïc Minier                       1 (0.4%)
   Mathieu Poirier                   1 (0.4%)
   Tushar Behera                     1 (0.4%)
   Scott McNutt                      1 (0.4%)
   Rabin Vincent                     1 (0.4%)
   Luca Haab                         1 (0.4%)
   Clive Stubbings                   1 (0.4%)
   Ricardo Ribalda Delgado           1 (0.4%)
   Brian Norris                      1 (0.4%)
   Chunhe Lan                        1 (0.4%)
   Haitao Zhang                      1 (0.4%)
   Steffen Sledz                     1 (0.4%)
   Sandeep Gopalpet                  1 (0.4%)
   Michael Trimarchi                 1 (0.4%)
   Stefan Bigler                     1 (0.4%)
   Anatolij Gustschin                1 (0.4%)
   Priyanka Jain                     1 (0.4%)
   Thomas Reufer                     1 (0.4%)
   Jerry Huang                       1 (0.4%)
   Fabio Estevam                     1 (0.4%)
   John Rigby                        1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Mike Frysinger                    1 (10.0%)
   Anatolij Gustschin                1 (10.0%)
   Fabio Estevam                     1 (10.0%)
   Andreas Bießmann                  1 (10.0%)
   Graeme Russ                       1 (10.0%)
   Stefano Babic                     1 (10.0%)
   Felix Radensky                    1 (10.0%)
   Magnus Lilja                      1 (10.0%)
   Andre Schwarz                     1 (10.0%)
   Sughosh Ganu                      1 (10.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Fabio Estevam                     2 (20.0%)
   Kim Phillips                      2 (20.0%)
   Anatolij Gustschin                1 (10.0%)
   Stefano Babic                     1 (10.0%)
   Stefan Roese                      1 (10.0%)
   Scott Wood                        1 (10.0%)
   Priyanka Jain                     1 (10.0%)
   Jens Scharsig                     1 (10.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Andre Schwarz                     1 (20.0%)
   Kumar Gala                        1 (20.0%)
   Wolfgang Denk                     1 (20.0%)
   Michael Weiss                     1 (20.0%)
   Jianxi Fu                         1 (20.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Mike Frysinger                    2 (40.0%)
   Kim Phillips                      1 (20.0%)
   Anatolij Gustschin                1 (20.0%)
   Peter Tyser                       1 (20.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         232 (36.5%)
   Freescale                         127 (20.0%)
   Analog Devices                    66 (10.4%)
   DENX Software Engineering         64 (10.1%)
   Keymile                           34 (5.3%)
   Linaro                            30 (4.7%)
   Texas Instruments                 10 (1.6%)
   CompuLab                          9 (1.4%)
   Guntermann & Drunck               9 (1.4%)
   Samsung                           7 (1.1%)
   Graeme Russ                       7 (1.1%)
   Boeing                            5 (0.8%)
   Transmode Systems                 5 (0.8%)
   Marvell                           4 (0.6%)
   ESD Electronics                   3 (0.5%)
   Universita di Pavia               3 (0.5%)
   Dirk Behme                        3 (0.5%)
   Google, Inc.                      2 (0.3%)
   Bluewater Systems                 2 (0.3%)
   EmCraft Systems                   2 (0.3%)
   RuggedCom                         2 (0.3%)
   Nobuhiro Iwamatsu                 2 (0.3%)
   General Electric                  1 (0.2%)
   Harris Corporation                1 (0.2%)
   Matrix Vision                     1 (0.2%)
   Mistral                           1 (0.2%)
   ST-Ericsson                       1 (0.2%)
   Extreme Engineering Solutions     1 (0.2%)
   Xilinx                            1 (0.2%)
   Oce Technologies                  1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         16339 (24.2%)
   Freescale                         13914 (20.6%)
   Analog Devices                    12353 (18.3%)
   DENX Software Engineering         11828 (17.5%)
   Linaro                            5558 (8.2%)
   Keymile                           2635 (3.9%)
   Mistral                           891 (1.3%)
   ST-Ericsson                       808 (1.2%)
   Bluewater Systems                 420 (0.6%)
   Graeme Russ                       396 (0.6%)
   Universita di Pavia               378 (0.6%)
   Transmode Systems                 323 (0.5%)
   Texas Instruments                 315 (0.5%)
   ESD Electronics                   250 (0.4%)
   Marvell                           189 (0.3%)
   CompuLab                          175 (0.3%)
   Guntermann & Drunck               147 (0.2%)
   Boeing                            122 (0.2%)
   Samsung                           115 (0.2%)
   Harris Corporation                114 (0.2%)
   RuggedCom                         111 (0.2%)
   Matrix Vision                     63 (0.1%)
   Oce Technologies                  56 (0.1%)
   EmCraft Systems                   48 (0.1%)
   General Electric                  31 (0.0%)
   Extreme Engineering Solutions     8 (0.0%)
   Xilinx                            7 (0.0%)
   Dirk Behme                        3 (0.0%)
   Google, Inc.                      3 (0.0%)
   Nobuhiro Iwamatsu                 2 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         128 (45.6%)
   Keymile                           48 (17.1%)
   Texas Instruments                 36 (12.8%)
   DENX Software Engineering         21 (7.5%)
   Analog Devices                    13 (4.6%)
   Samsung                           13 (4.6%)
   (Unknown)                         12 (4.3%)
   Linaro                            4 (1.4%)
   Intel                             2 (0.7%)
   ST-Ericsson                       1 (0.4%)
   Amarula Solutions                 1 (0.4%)
   Psyent                            1 (0.4%)
   Xentech Solutions                 1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         57 (41.9%)
   Freescale                         27 (19.9%)
   Linaro                            8 (5.9%)
   DENX Software Engineering         7 (5.1%)
   Keymile                           6 (4.4%)
   Texas Instruments                 3 (2.2%)
   Analog Devices                    3 (2.2%)
   Samsung                           2 (1.5%)
   Google, Inc.                      2 (1.5%)
   ST-Ericsson                       1 (0.7%)
   Mistral                           1 (0.7%)
   Bluewater Systems                 1 (0.7%)
   Graeme Russ                       1 (0.7%)
   Universita di Pavia               1 (0.7%)
   Transmode Systems                 1 (0.7%)
   ESD Electronics                   1 (0.7%)
   Marvell                           1 (0.7%)
   CompuLab                          1 (0.7%)
   Guntermann & Drunck               1 (0.7%)
   Boeing                            1 (0.7%)
   Harris Corporation                1 (0.7%)
   RuggedCom                         1 (0.7%)
   Matrix Vision                     1 (0.7%)
   Oce Technologies                  1 (0.7%)
   EmCraft Systems                   1 (0.7%)
   General Electric                  1 (0.7%)
   Extreme Engineering Solutions     1 (0.7%)
   Xilinx                            1 (0.7%)
   Dirk Behme                        1 (0.7%)
   Nobuhiro Iwamatsu                 1 (0.7%)
   ================================  =====
