:orphan:

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

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