:orphan:

Release Statistics for U-Boot v2013.10
======================================

* Processed 710 changesets from 135 developers

* 28 employers found

* A total of 55489 lines added, 119445 removed (delta -63956)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          61 (8.6%)
   Jagannadha Sutradharudu Teki      48 (6.8%)
   Marek Vasut                       37 (5.2%)
   Gabor Juhos                       29 (4.1%)
   Heiko Schocher                    27 (3.8%)
   Fabio Estevam                     21 (3.0%)
   York Sun                          18 (2.5%)
   Masahiro Yamada                   18 (2.5%)
   Bo Shen                           17 (2.4%)
   Wolfgang Denk                     17 (2.4%)
   Rob Herring                       17 (2.4%)
   Axel Lin                          13 (1.8%)
   Łukasz Majewski                   12 (1.7%)
   Lokesh Vutla                      12 (1.7%)
   Dan Murphy                        11 (1.5%)
   Stephen Warren                    11 (1.5%)
   Dirk Eibach                       11 (1.5%)
   Paul Burton                       10 (1.4%)
   Michal Simek                      9 (1.3%)
   Daniel Schwierzeck                9 (1.3%)
   Eric Nelson                       9 (1.3%)
   Andre Przywara                    9 (1.3%)
   Ying Zhang                        9 (1.3%)
   Simon Glass                       8 (1.1%)
   Piotr Wilczek                     7 (1.0%)
   Enric Balletbo i Serra            7 (1.0%)
   Stefano Babic                     7 (1.0%)
   Wu, Josh                          7 (1.0%)
   ken kuo                           7 (1.0%)
   Holger Brunck                     6 (0.8%)
   Jeroen Hofstee                    6 (0.8%)
   Nishanth Menon                    6 (0.8%)
   Kuo-Jung Su                       6 (0.8%)
   Kees Cook                         6 (0.8%)
   Justin Waters                     6 (0.8%)
   Mugunthan V N                     6 (0.8%)
   Dani Krishna Mohan                5 (0.7%)
   Robert P. J. Day                  5 (0.7%)
   Taras Kondratiuk                  5 (0.7%)
   Jagan Teki                        4 (0.6%)
   Rajeshwari Shinde                 4 (0.6%)
   Chin Liang See                    4 (0.6%)
   Otavio Salvador                   4 (0.6%)
   Shaohui Xie                       4 (0.6%)
   Stefan Roese                      4 (0.6%)
   Shaveta Leekha                    4 (0.6%)
   Liu Gang                          4 (0.6%)
   Albert ARIBAUD                    3 (0.4%)
   Poddar, Sourav                    3 (0.4%)
   Matt Porter                       3 (0.4%)
   Priyanka Jain                     3 (0.4%)
   Thierry Reding                    3 (0.4%)
   Afzal Mohammed                    3 (0.4%)
   Steve Kipisz                      3 (0.4%)
   Mischa Jonker                     3 (0.4%)
   Oleksandr Tyshchenko              3 (0.4%)
   trem                              3 (0.4%)
   Chander Kashyap                   3 (0.4%)
   Robert Winkler                    3 (0.4%)
   Jim Lin                           3 (0.4%)
   TENART Antoine                    3 (0.4%)
   Roy Zang                          3 (0.4%)
   Jaehoon Chung                     2 (0.3%)
   Markus Niebel                     2 (0.3%)
   Andrew Murray                     2 (0.3%)
   Javier Martinez Canillas          2 (0.3%)
   Julius Werner                     2 (0.3%)
   Minkyu Kang                       2 (0.3%)
   Joel Fernandes                    2 (0.3%)
   Oliver Metz                       2 (0.3%)
   Pardeep Kumar Singla              2 (0.3%)
   Andreas Bießmann                  2 (0.3%)
   Roger Meier                       2 (0.3%)
   Jens Scharsig (BuS Elektronik)    2 (0.3%)
   Lubomir Popov                     2 (0.3%)
   Przemyslaw Marczak                2 (0.3%)
   Gerlando Falauto                  2 (0.3%)
   Andreas Wass                      2 (0.3%)
   Shengzhou Liu                     2 (0.3%)
   Shruti Kanetkar                   2 (0.3%)
   Prabhakar Kushwaha                2 (0.3%)
   Matthias Fuchs                    2 (0.3%)
   Chunhe Lan                        2 (0.3%)
   ramneek mehresh                   2 (0.3%)
   Mingkai Hu                        2 (0.3%)
   Nikita Kiryanov                   2 (0.3%)
   Alison Wang                       2 (0.3%)
   Scott Wood                        1 (0.1%)
   Timo Herbrecher                   1 (0.1%)
   Steven Falco                      1 (0.1%)
   Andreas Huber                     1 (0.1%)
   Lars Poeschel                     1 (0.1%)
   Pierre Aubert                     1 (0.1%)
   Troy Kisky                        1 (0.1%)
   Juhyun (Justin) Oh                1 (0.1%)
   Hector Palacios                   1 (0.1%)
   Philip, Avinash                   1 (0.1%)
   Greg Guyotte                      1 (0.1%)
   Nobuhiro Iwamatsu                 1 (0.1%)
   Mark Langsdorf                    1 (0.1%)
   Frederic Leroy                    1 (0.1%)
   Pantelis Antoniou                 1 (0.1%)
   Elie De Brauwer                   1 (0.1%)
   Andrew Gabbasov                   1 (0.1%)
   Tang Yuantian                     1 (0.1%)
   Henrik Nordström                  1 (0.1%)
   Richard Gibbs                     1 (0.1%)
   Jack Mitchell                     1 (0.1%)
   Thomas Chou                       1 (0.1%)
   SARTRE Leo                        1 (0.1%)
   Inderpal Singh                    1 (0.1%)
   Amaury Pouly                      1 (0.1%)
   Phil Sutter                       1 (0.1%)
   Николай Пузанов                   1 (0.1%)
   Bhupesh Sharma                    1 (0.1%)
   Paul B. Henson                    1 (0.1%)
   Angus Ainslie                     1 (0.1%)
   Naumann Andreas                   1 (0.1%)
   Ash Charles                       1 (0.1%)
   Steve Sakoman                     1 (0.1%)
   Po Liu                            1 (0.1%)
   Christian Gmeiner                 1 (0.1%)
   Donghwa Lee                       1 (0.1%)
   Soren Brinkmann                   1 (0.1%)
   Hyungwon Hwang                    1 (0.1%)
   James Yang                        1 (0.1%)
   Minghuan Lian                     1 (0.1%)
   Haijun.Zhang                      1 (0.1%)
   Xie Xiaobo                        1 (0.1%)
   Andes                             1 (0.1%)
   Roger Quadros                     1 (0.1%)
   Christian Riesch                  1 (0.1%)
   Dinh Nguyen                       1 (0.1%)
   Dirk Behme                        1 (0.1%)
   naveen krishna chatradhi          1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     98751 (62.8%)
   Heiko Schocher                    8452 (5.4%)
   Marek Vasut                       7578 (4.8%)
   Jagannadha Sutradharudu Teki      4007 (2.5%)
   Albert ARIBAUD                    3987 (2.5%)
   Dirk Eibach                       2312 (1.5%)
   Bo Shen                           2047 (1.3%)
   Masahiro Yamada                   1715 (1.1%)
   York Sun                          1714 (1.1%)
   Piotr Wilczek                     1691 (1.1%)
   trem                              1599 (1.0%)
   TENART Antoine                    1531 (1.0%)
   Fabio Estevam                     1519 (1.0%)
   Tom Rini                          1472 (0.9%)
   Matthias Fuchs                    1453 (0.9%)
   Lokesh Vutla                      1390 (0.9%)
   Xie Xiaobo                        1180 (0.8%)
   Gabor Juhos                       1172 (0.7%)
   Mingkai Hu                        1139 (0.7%)
   Ying Zhang                        799 (0.5%)
   Dan Murphy                        683 (0.4%)
   Kuo-Jung Su                       542 (0.3%)
   Andre Przywara                    522 (0.3%)
   Stefano Babic                     473 (0.3%)
   Shaveta Leekha                    464 (0.3%)
   Chander Kashyap                   457 (0.3%)
   Dani Krishna Mohan                443 (0.3%)
   Paul Burton                       419 (0.3%)
   Chin Liang See                    397 (0.3%)
   Andreas Wass                      381 (0.2%)
   Roger Meier                       376 (0.2%)
   Kees Cook                         366 (0.2%)
   ken kuo                           361 (0.2%)
   Matt Porter                       355 (0.2%)
   Steve Kipisz                      320 (0.2%)
   Simon Glass                       290 (0.2%)
   Daniel Schwierzeck                248 (0.2%)
   Mugunthan V N                     235 (0.1%)
   Wu, Josh                          226 (0.1%)
   Hyungwon Hwang                    193 (0.1%)
   Greg Guyotte                      192 (0.1%)
   Rob Herring                       188 (0.1%)
   Prabhakar Kushwaha                169 (0.1%)
   Pardeep Kumar Singla              162 (0.1%)
   Philip, Avinash                   161 (0.1%)
   Shaohui Xie                       159 (0.1%)
   Łukasz Majewski                   126 (0.1%)
   Afzal Mohammed                    126 (0.1%)
   Stephen Warren                    121 (0.1%)
   Julius Werner                     113 (0.1%)
   Rajeshwari Shinde                 112 (0.1%)
   Michal Simek                      110 (0.1%)
   ramneek mehresh                   106 (0.1%)
   Poddar, Sourav                    102 (0.1%)
   Po Liu                            100 (0.1%)
   Chunhe Lan                        91 (0.1%)
   Alison Wang                       89 (0.1%)
   Enric Balletbo i Serra            84 (0.1%)
   Eric Nelson                       74 (0.0%)
   Justin Waters                     66 (0.0%)
   Donghwa Lee                       66 (0.0%)
   Priyanka Jain                     63 (0.0%)
   Haijun.Zhang                      63 (0.0%)
   Nishanth Menon                    62 (0.0%)
   Phil Sutter                       62 (0.0%)
   Axel Lin                          61 (0.0%)
   Naumann Andreas                   60 (0.0%)
   Jagan Teki                        54 (0.0%)
   Taras Kondratiuk                  53 (0.0%)
   Stefan Roese                      53 (0.0%)
   Roy Zang                          51 (0.0%)
   Bhupesh Sharma                    51 (0.0%)
   Lubomir Popov                     48 (0.0%)
   Oliver Metz                       45 (0.0%)
   Robert P. J. Day                  44 (0.0%)
   Shruti Kanetkar                   43 (0.0%)
   Steven Falco                      42 (0.0%)
   Przemyslaw Marczak                41 (0.0%)
   Jeroen Hofstee                    39 (0.0%)
   Jim Lin                           36 (0.0%)
   Minkyu Kang                       34 (0.0%)
   Jens Scharsig (BuS Elektronik)    33 (0.0%)
   Inderpal Singh                    32 (0.0%)
   Liu Gang                          31 (0.0%)
   Oleksandr Tyshchenko              28 (0.0%)
   Javier Martinez Canillas          27 (0.0%)
   Joel Fernandes                    27 (0.0%)
   Robert Winkler                    23 (0.0%)
   Angus Ainslie                     20 (0.0%)
   Andrew Murray                     19 (0.0%)
   Holger Brunck                     17 (0.0%)
   Shengzhou Liu                     15 (0.0%)
   Roger Quadros                     15 (0.0%)
   Jaehoon Chung                     14 (0.0%)
   Gerlando Falauto                  14 (0.0%)
   Nobuhiro Iwamatsu                 14 (0.0%)
   Thierry Reding                    13 (0.0%)
   Jack Mitchell                     13 (0.0%)
   Minghuan Lian                     12 (0.0%)
   Andreas Bießmann                  11 (0.0%)
   Christian Riesch                  11 (0.0%)
   Mischa Jonker                     8 (0.0%)
   Ash Charles                       8 (0.0%)
   Otavio Salvador                   7 (0.0%)
   Steve Sakoman                     7 (0.0%)
   Markus Niebel                     6 (0.0%)
   Hector Palacios                   6 (0.0%)
   Nikita Kiryanov                   5 (0.0%)
   Scott Wood                        5 (0.0%)
   Troy Kisky                        4 (0.0%)
   Andrew Gabbasov                   4 (0.0%)
   Richard Gibbs                     4 (0.0%)
   Soren Brinkmann                   4 (0.0%)
   Juhyun (Justin) Oh                3 (0.0%)
   Elie De Brauwer                   3 (0.0%)
   Lars Poeschel                     2 (0.0%)
   Mark Langsdorf                    2 (0.0%)
   Pantelis Antoniou                 2 (0.0%)
   Tang Yuantian                     2 (0.0%)
   SARTRE Leo                        2 (0.0%)
   Amaury Pouly                      2 (0.0%)
   Dirk Behme                        2 (0.0%)
   naveen krishna chatradhi          2 (0.0%)
   Timo Herbrecher                   1 (0.0%)
   Andreas Huber                     1 (0.0%)
   Pierre Aubert                     1 (0.0%)
   Frederic Leroy                    1 (0.0%)
   Henrik Nordström                  1 (0.0%)
   Thomas Chou                       1 (0.0%)
   Николай Пузанов                   1 (0.0%)
   Paul B. Henson                    1 (0.0%)
   Christian Gmeiner                 1 (0.0%)
   James Yang                        1 (0.0%)
   Andes                             1 (0.0%)
   Dinh Nguyen                       1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     89188 (74.7%)
   Albert ARIBAUD                    2630 (2.2%)
   Masahiro Yamada                   1623 (1.4%)
   Matthias Fuchs                    1431 (1.2%)
   Fabio Estevam                     852 (0.7%)
   Jagannadha Sutradharudu Teki      846 (0.7%)
   Roger Meier                       334 (0.3%)
   Stephen Warren                    35 (0.0%)
   Minkyu Kang                       28 (0.0%)
   Axel Lin                          20 (0.0%)
   Nobuhiro Iwamatsu                 13 (0.0%)
   Phil Sutter                       8 (0.0%)
   Christian Riesch                  8 (0.0%)
   Hector Palacios                   3 (0.0%)
   Shruti Kanetkar                   1 (0.0%)
   Markus Niebel                     1 (0.0%)
   Juhyun (Justin) Oh                1 (0.0%)
   SARTRE Leo                        1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Andreas Bießmann                  19 (12.5%)
   Tom Rini                          16 (10.5%)
   Minkyu Kang                       12 (7.9%)
   Stefan Roese                      12 (7.9%)
   Kyungmin Park                     11 (7.2%)
   Jagannadha Sutradharudu Teki      10 (6.6%)
   Simon Glass                       7 (4.6%)
   Michal Simek                      6 (3.9%)
   York Sun                          6 (3.9%)
   Sonic Zhang                       4 (2.6%)
   Gabor Juhos                       4 (2.6%)
   Eric Jarrige                      3 (2.0%)
   Tom Warren                        3 (2.0%)
   Anatolij Gustschin                3 (2.0%)
   Poddar, Sourav                    3 (2.0%)
   Bo Shen                           3 (2.0%)
   Andes                             2 (1.3%)
   Zhao Chenhui                      2 (1.3%)
   Manish Jaggi                      2 (1.3%)
   Kim Phillips                      2 (1.3%)
   Inderpal Singh                    2 (1.3%)
   Roger Meier                       1 (0.7%)
   Ash Charles                       1 (0.7%)
   Nicolas Colombain                 1 (0.7%)
   Jason Liu                         1 (0.7%)
   Edgar E. Iglesias                 1 (0.7%)
   Samuel Egli                       1 (0.7%)
   Jerry Huang                       1 (0.7%)
   Michael Johnston                  1 (0.7%)
   Scott Jiang                       1 (0.7%)
   Naveen Krishna Chatradhi          1 (0.7%)
   Pantelis Antoniou                 1 (0.7%)
   Donghwa Lee                       1 (0.7%)
   Minghuan Lian                     1 (0.7%)
   Taras Kondratiuk                  1 (0.7%)
   Po Liu                            1 (0.7%)
   Mugunthan V N                     1 (0.7%)
   Ying Zhang                        1 (0.7%)
   Lokesh Vutla                      1 (0.7%)
   Heiko Schocher                    1 (0.7%)
   Marek Vasut                       1 (0.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jagannadha Sutradharudu Teki      11 (25.0%)
   Peter Korsgaard                   8 (18.2%)
   Tom Rini                          7 (15.9%)
   Javier Martinez Canillas          6 (13.6%)
   Pavel Machek                      5 (11.4%)
   Otavio Salvador                   2 (4.5%)
   Łukasz Majewski                   2 (4.5%)
   Stephen Warren                    1 (2.3%)
   Thierry Reding                    1 (2.3%)
   Kuo-Jung Su                       1 (2.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Heiko Schocher                    6 (26.1%)
   Stephen Warren                    2 (8.7%)
   Luka Perkov                       2 (8.7%)
   Holger Brunck                     2 (8.7%)
   Stefan Roese                      1 (4.3%)
   Marek Vasut                       1 (4.3%)
   Hector Palacios                   1 (4.3%)
   Aparna Balasubramanian            1 (4.3%)
   Chris Packham                     1 (4.3%)
   Enric Balletbo i Serra            1 (4.3%)
   Nishanth Menon                    1 (4.3%)
   Oliver Metz                       1 (4.3%)
   Eric Nelson                       1 (4.3%)
   Stefano Babic                     1 (4.3%)
   Dan Murphy                        1 (4.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Heiko Schocher                    4 (17.4%)
   Tom Rini                          3 (13.0%)
   Lokesh Vutla                      3 (13.0%)
   Fabio Estevam                     3 (13.0%)
   Oliver Metz                       2 (8.7%)
   Jagannadha Sutradharudu Teki      1 (4.3%)
   Łukasz Majewski                   1 (4.3%)
   Thierry Reding                    1 (4.3%)
   Simon Glass                       1 (4.3%)
   Masahiro Yamada                   1 (4.3%)
   Lars Poeschel                     1 (4.3%)
   Shaohui Xie                       1 (4.3%)
   Dirk Eibach                       1 (4.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Hector Palacios                   1 (20.0%)
   Steven Falco                      1 (20.0%)
   Stephen MacMahon                  1 (20.0%)
   Robert Nelson                     1 (20.0%)
   Pardeep Kumar Singla              1 (20.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Fabio Estevam                     2 (40.0%)
   Tom Rini                          1 (20.0%)
   Nishanth Menon                    1 (20.0%)
   Michal Simek                      1 (20.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         156 (22.0%)
   DENX Software Engineering         92 (13.0%)
   Freescale                         90 (12.7%)
   Konsulko Group                    61 (8.6%)
   Texas Instruments                 54 (7.6%)
   Xilinx                            54 (7.6%)
   Samsung                           36 (5.1%)
   Atmel                             22 (3.1%)
   Calxeda                           19 (2.7%)
   Socionext Inc.                    18 (2.5%)
   Linaro                            16 (2.3%)
   NVidia                            16 (2.3%)
   Boundary Devices                  13 (1.8%)
   Guntermann & Drunck               11 (1.5%)
   MIPS                              10 (1.4%)
   Keymile                           9 (1.3%)
   AMD                               8 (1.1%)
   Google, Inc.                      8 (1.1%)
   O.S. Systems                      4 (0.6%)
   BuS Elektronik                    2 (0.3%)
   CompuLab                          2 (0.3%)
   ESD Electronics                   2 (0.3%)
   TQ Systems                        2 (0.3%)
   ACM                               1 (0.1%)
   Bosch                             1 (0.1%)
   Digi International                1 (0.1%)
   Renesas Electronics               1 (0.1%)
   Sakoman Inc.                      1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         115307 (73.3%)
   (Unknown)                         11899 (7.6%)
   Freescale                         8028 (5.1%)
   Xilinx                            4070 (2.6%)
   Texas Instruments                 3268 (2.1%)
   Samsung                           2720 (1.7%)
   Guntermann & Drunck               2312 (1.5%)
   Atmel                             2271 (1.4%)
   Socionext Inc.                    1715 (1.1%)
   Konsulko Group                    1472 (0.9%)
   ESD Electronics                   1453 (0.9%)
   Linaro                            1366 (0.9%)
   MIPS                              419 (0.3%)
   Google, Inc.                      290 (0.2%)
   Calxeda                           194 (0.1%)
   NVidia                            169 (0.1%)
   AMD                               105 (0.1%)
   Boundary Devices                  101 (0.1%)
   BuS Elektronik                    33 (0.0%)
   Keymile                           32 (0.0%)
   Renesas Electronics               14 (0.0%)
   O.S. Systems                      7 (0.0%)
   Sakoman Inc.                      7 (0.0%)
   TQ Systems                        6 (0.0%)
   Digi International                6 (0.0%)
   CompuLab                          5 (0.0%)
   Bosch                             2 (0.0%)
   ACM                               1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         32 (21.1%)
   Samsung                           25 (16.4%)
   Texas Instruments                 22 (14.5%)
   Freescale                         18 (11.8%)
   DENX Software Engineering         17 (11.2%)
   Xilinx                            17 (11.2%)
   Google, Inc.                      7 (4.6%)
   Analog Devices                    4 (2.6%)
   Atmel                             3 (2.0%)
   NVidia                            3 (2.0%)
   Linaro                            2 (1.3%)
   Siemens                           2 (1.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         50 (36.2%)
   Freescale                         24 (17.4%)
   Texas Instruments                 12 (8.7%)
   Samsung                           9 (6.5%)
   DENX Software Engineering         5 (3.6%)
   Xilinx                            4 (2.9%)
   Linaro                            4 (2.9%)
   NVidia                            3 (2.2%)
   Calxeda                           3 (2.2%)
   Boundary Devices                  3 (2.2%)
   Keymile                           3 (2.2%)
   Atmel                             2 (1.4%)
   Google, Inc.                      1 (0.7%)
   Guntermann & Drunck               1 (0.7%)
   Socionext Inc.                    1 (0.7%)
   Konsulko Group                    1 (0.7%)
   ESD Electronics                   1 (0.7%)
   MIPS                              1 (0.7%)
   AMD                               1 (0.7%)
   BuS Elektronik                    1 (0.7%)
   Renesas Electronics               1 (0.7%)
   O.S. Systems                      1 (0.7%)
   Sakoman Inc.                      1 (0.7%)
   TQ Systems                        1 (0.7%)
   Digi International                1 (0.7%)
   CompuLab                          1 (0.7%)
   Bosch                             1 (0.7%)
   ACM                               1 (0.7%)
   ================================  =====
