:orphan:

Release Statistics for U-Boot v2016.11
======================================

* Processed 1031 csets from 114 developers

* 26 employers found

* A total of 73321 lines added, 20937 removed (delta 52384)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       195 (18.9%)
   Masahiro Yamada                   109 (10.6%)
   Stefan Brüns                      50 (4.8%)
   Stephen Warren                    48 (4.7%)
   Paul Burton                       38 (3.7%)
   Stefan Roese                      36 (3.5%)
   Peng Fan                          35 (3.4%)
   Jagan Teki                        33 (3.2%)
   Tom Rini                          30 (2.9%)
   Kever Yang                        29 (2.8%)
   York Sun                          22 (2.1%)
   Alexander Graf                    21 (2.0%)
   Wenyou Yang                       18 (1.7%)
   Keerthy                           17 (1.6%)
   Michal Simek                      15 (1.5%)
   Sriram Dash                       13 (1.3%)
   Bin Meng                          12 (1.2%)
   Stefan Agner                      12 (1.2%)
   Lokesh Vutla                      9 (0.9%)
   Chris Packham                     9 (0.9%)
   Jacob Chen                        9 (0.9%)
   Chen-Yu Tsai                      9 (0.9%)
   Chin Liang See                    9 (0.9%)
   B, Ravi                           9 (0.9%)
   Marcel Ziswiler                   8 (0.8%)
   Heiko Schocher                    8 (0.8%)
   Andrew F. Davis                   8 (0.8%)
   Fabio Estevam                     7 (0.7%)
   Jaehoon Chung                     7 (0.7%)
   Hou Zhiqiang                      7 (0.7%)
   Philipp Tomsich                   6 (0.6%)
   Albert ARIBAUD (3ADEV)            6 (0.6%)
   Zubair Lutfullah Kakakhel         6 (0.6%)
   Ladislav Michl                    5 (0.5%)
   Andre Przywara                    5 (0.5%)
   Mugunthan V N                     5 (0.5%)
   Moritz Fischer                    5 (0.5%)
   Walter Schweizer                  5 (0.5%)
   Hongbo Zhang                      5 (0.5%)
   Daniel Allred                     5 (0.5%)
   Sanchayan Maity                   5 (0.5%)
   Shaohui Xie                       5 (0.5%)
   Vignesh R                         4 (0.4%)
   Siva Durga Prasad Paladugu        4 (0.4%)
   Vagrant Cascadian                 4 (0.4%)
   Sandy Patterson                   4 (0.4%)
   Robert P. J. Day                  4 (0.4%)
   Gary Bisson                       4 (0.4%)
   Andreas Fenkart                   4 (0.4%)
   Sumit Garg                        4 (0.4%)
   Xu Ziyuan                         4 (0.4%)
   Petr Kulhavy                      4 (0.4%)
   Michael Walle                     4 (0.4%)
   MengDongyang                      4 (0.4%)
   Shengzhou Liu                     4 (0.4%)
   Hans de Goede                     3 (0.3%)
   Diego Dorta                       3 (0.3%)
   Jelle van der Waa                 3 (0.3%)
   Adam Ford                         3 (0.3%)
   Nishanth Menon                    3 (0.3%)
   John Keeping                      3 (0.3%)
   Marek Vasut                       2 (0.2%)
   Hannes Schmelzer                  2 (0.2%)
   Tom Warren                        2 (0.2%)
   Sylvain Lesne                     2 (0.2%)
   Zhao Qiang                        2 (0.2%)
   Peter Chubb                       2 (0.2%)
   Roger Quadros                     2 (0.2%)
   Pratiyush Srivastava              2 (0.2%)
   Mingkai Hu                        2 (0.2%)
   Tang Yuantian                     2 (0.2%)
   Soeren Moch                       2 (0.2%)
   Angelo Dureghello                 2 (0.2%)
   Gong Qianyu                       2 (0.2%)
   Fabien Parent                     1 (0.1%)
   Alex G                            1 (0.1%)
   Ash Charles                       1 (0.1%)
   Tomeu Vizoso                      1 (0.1%)
   Patrick Delaunay                  1 (0.1%)
   Alexander von Gernler             1 (0.1%)
   Amit Singh Tomar                  1 (0.1%)
   Stefan Mavrodiev                  1 (0.1%)
   Emmanuel Vadot                    1 (0.1%)
   David Gibson                      1 (0.1%)
   Nicolae Rosia                     1 (0.1%)
   Lukasz Majewski                   1 (0.1%)
   Ye Li                             1 (0.1%)
   Maxime Ripard                     1 (0.1%)
   Robin Randhawa                    1 (0.1%)
   Andreas J. Reichel                1 (0.1%)
   Prabhakar Kushwaha                1 (0.1%)
   Guillaume GARDET                  1 (0.1%)
   Andrea Merello                    1 (0.1%)
   Josh Marshall                     1 (0.1%)
   Jens Kuske                        1 (0.1%)
   Ken Lin                           1 (0.1%)
   Sudeep Holla                      1 (0.1%)
   Semen Protsenko                   1 (0.1%)
   Tomas Melin                       1 (0.1%)
   Adam Oleksy                       1 (0.1%)
   Siarhei Siamashka                 1 (0.1%)
   Clemens Gruber                    1 (0.1%)
   Wenbin Song                       1 (0.1%)
   Xiaoliang Yang                    1 (0.1%)
   Alexandre Courbot                 1 (0.1%)
   Ross Parker                       1 (0.1%)
   Filip Brozovic                    1 (0.1%)
   Murali Karicheri                  1 (0.1%)
   rick                              1 (0.1%)
   Alban Bedel                       1 (0.1%)
   Bryan Wu                          1 (0.1%)
   jinghua                           1 (0.1%)
   Lad, Prabhakar                    1 (0.1%)
   Alexey Brodkin                    1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       20424 (25.5%)
   Stefan Roese                      7593 (9.5%)
   Masahiro Yamada                   6220 (7.8%)
   Stephen Warren                    5686 (7.1%)
   Jagan Teki                        5684 (7.1%)
   Peng Fan                          5567 (7.0%)
   Paul Burton                       1883 (2.4%)
   Shaohui Xie                       1880 (2.3%)
   Stefan Agner                      1791 (2.2%)
   Philipp Tomsich                   1676 (2.1%)
   Kever Yang                        1569 (2.0%)
   Mingkai Hu                        1485 (1.9%)
   Keerthy                           1320 (1.6%)
   Stefan Brüns                      1026 (1.3%)
   Wenyou Yang                       983 (1.2%)
   Mugunthan V N                     853 (1.1%)
   York Sun                          826 (1.0%)
   Tom Rini                          769 (1.0%)
   Walter Schweizer                  650 (0.8%)
   Lokesh Vutla                      598 (0.7%)
   Chris Packham                     597 (0.7%)
   Bin Meng                          571 (0.7%)
   Siva Durga Prasad Paladugu        558 (0.7%)
   Alexander Graf                    555 (0.7%)
   Albert ARIBAUD (3ADEV)            539 (0.7%)
   Hongbo Zhang                      518 (0.6%)
   Moritz Fischer                    466 (0.6%)
   Hou Zhiqiang                      465 (0.6%)
   Michael Walle                     455 (0.6%)
   Heiko Schocher                    426 (0.5%)
   Shengzhou Liu                     426 (0.5%)
   Zubair Lutfullah Kakakhel         347 (0.4%)
   Jacob Chen                        342 (0.4%)
   Zhao Qiang                        325 (0.4%)
   Fabio Estevam                     314 (0.4%)
   MengDongyang                      299 (0.4%)
   B, Ravi                           282 (0.4%)
   Michal Simek                      275 (0.3%)
   Daniel Allred                     262 (0.3%)
   Petr Kulhavy                      259 (0.3%)
   Tom Warren                        256 (0.3%)
   Sanchayan Maity                   233 (0.3%)
   Sumit Garg                        218 (0.3%)
   Sriram Dash                       206 (0.3%)
   Andrew F. Davis                   200 (0.2%)
   Diego Dorta                       163 (0.2%)
   Jelle van der Waa                 150 (0.2%)
   Maxime Ripard                     147 (0.2%)
   Jaehoon Chung                     135 (0.2%)
   Roger Quadros                     121 (0.2%)
   Marcel Ziswiler                   100 (0.1%)
   Ladislav Michl                    87 (0.1%)
   rick                              77 (0.1%)
   Chen-Yu Tsai                      76 (0.1%)
   Adam Oleksy                       67 (0.1%)
   Amit Singh Tomar                  56 (0.1%)
   Sudeep Holla                      53 (0.1%)
   Vignesh R                         51 (0.1%)
   Andre Przywara                    49 (0.1%)
   Robert P. J. Day                  49 (0.1%)
   Guillaume GARDET                  49 (0.1%)
   Chin Liang See                    45 (0.1%)
   Andreas Fenkart                   45 (0.1%)
   Tomeu Vizoso                      44 (0.1%)
   Gary Bisson                       43 (0.1%)
   Jens Kuske                        43 (0.1%)
   Hans de Goede                     42 (0.1%)
   Adam Ford                         40 (0.0%)
   Xu Ziyuan                         37 (0.0%)
   Tomas Melin                       37 (0.0%)
   Lukasz Majewski                   34 (0.0%)
   Angelo Dureghello                 30 (0.0%)
   Ash Charles                       26 (0.0%)
   Semen Protsenko                   25 (0.0%)
   Alban Bedel                       24 (0.0%)
   Sandy Patterson                   21 (0.0%)
   Hannes Schmelzer                  21 (0.0%)
   Nishanth Menon                    18 (0.0%)
   Marek Vasut                       18 (0.0%)
   Vagrant Cascadian                 17 (0.0%)
   Xiaoliang Yang                    17 (0.0%)
   Pratiyush Srivastava              16 (0.0%)
   Andrea Merello                    16 (0.0%)
   Gong Qianyu                       15 (0.0%)
   Tang Yuantian                     11 (0.0%)
   Prabhakar Kushwaha                11 (0.0%)
   Fabien Parent                     8 (0.0%)
   David Gibson                      7 (0.0%)
   Ken Lin                           6 (0.0%)
   John Keeping                      5 (0.0%)
   Peter Chubb                       5 (0.0%)
   Emmanuel Vadot                    5 (0.0%)
   Murali Karicheri                  5 (0.0%)
   jinghua                           5 (0.0%)
   Sylvain Lesne                     4 (0.0%)
   Ye Li                             4 (0.0%)
   Siarhei Siamashka                 4 (0.0%)
   Soeren Moch                       3 (0.0%)
   Robin Randhawa                    3 (0.0%)
   Wenbin Song                       3 (0.0%)
   Bryan Wu                          3 (0.0%)
   Alexey Brodkin                    3 (0.0%)
   Alex G                            2 (0.0%)
   Nicolae Rosia                     2 (0.0%)
   Andreas J. Reichel                2 (0.0%)
   Josh Marshall                     2 (0.0%)
   Clemens Gruber                    2 (0.0%)
   Ross Parker                       2 (0.0%)
   Patrick Delaunay                  1 (0.0%)
   Alexander von Gernler             1 (0.0%)
   Stefan Mavrodiev                  1 (0.0%)
   Alexandre Courbot                 1 (0.0%)
   Filip Brozovic                    1 (0.0%)
   Lad, Prabhakar                    1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          202 (1.0%)
   Tom Warren                        160 (0.8%)
   Shengzhou Liu                     133 (0.6%)
   Lokesh Vutla                      125 (0.6%)
   York Sun                          66 (0.3%)
   Ladislav Michl                    21 (0.1%)
   Alban Bedel                       21 (0.1%)
   Xu Ziyuan                         17 (0.1%)
   Prabhakar Kushwaha                11 (0.1%)
   Nishanth Menon                    4 (0.0%)
   Robert P. J. Day                  3 (0.0%)
   Andreas Fenkart                   3 (0.0%)
   Adam Ford                         3 (0.0%)
   Peter Chubb                       2 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Warren                        35 (20.5%)
   Hans de Goede                     24 (14.0%)
   Tom Rini                          17 (9.9%)
   Alexander Graf                    11 (6.4%)
   Stefan Roese                      10 (5.8%)
   Ye Li                             8 (4.7%)
   Gong Qianyu                       8 (4.7%)
   Chen-Yu Tsai                      6 (3.5%)
   Simon Glass                       6 (3.5%)
   Rajesh Bhagat                     5 (2.9%)
   Kever Yang                        4 (2.3%)
   David Gibson                      3 (1.8%)
   Michal Simek                      3 (1.8%)
   Shengzhou Liu                     2 (1.2%)
   Lokesh Vutla                      2 (1.2%)
   Prabhakar Kushwaha                2 (1.2%)
   Aneesh Bansal                     2 (1.2%)
   Mingkai Hu                        2 (1.2%)
   Stephen Warren                    2 (1.2%)
   Xu Ziyuan                         1 (0.6%)
   Peter Chubb                       1 (0.6%)
   Songjun Wu                        1 (0.6%)
   Utkarsh Gupta                     1 (0.6%)
   Christian Storm                   1 (0.6%)
   Jan Kiszka                        1 (0.6%)
   Troy Kisky                        1 (0.6%)
   Akshay Bhat                       1 (0.6%)
   Bai Ping                          1 (0.6%)
   Anson Huang                       1 (0.6%)
   Elaine Zhang                      1 (0.6%)
   Suman Anna                        1 (0.6%)
   Andre Przywara                    1 (0.6%)
   Gary Bisson                       1 (0.6%)
   Marcel Ziswiler                   1 (0.6%)
   Siva Durga Prasad Paladugu        1 (0.6%)
   Keerthy                           1 (0.6%)
   Shaohui Xie                       1 (0.6%)
   Peng Fan                          1 (0.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          132 (25.9%)
   Simon Glass                       120 (23.5%)
   Bin Meng                          62 (12.2%)
   York Sun                          62 (12.2%)
   Jagan Teki                        20 (3.9%)
   Lukasz Majewski                   16 (3.1%)
   Heiko Schocher                    16 (3.1%)
   Hans de Goede                     14 (2.7%)
   Andreas Bießmann                  10 (2.0%)
   Alexander Graf                    9 (1.8%)
   Stefano Babic                     5 (1.0%)
   Paul Burton                       5 (1.0%)
   Kever Yang                        4 (0.8%)
   Lokesh Vutla                      4 (0.8%)
   Peng Fan                          4 (0.8%)
   Javier Martinez Canillas          3 (0.6%)
   Daniel Schwierzeck                3 (0.6%)
   Marek Vasut                       3 (0.6%)
   Jaehoon Chung                     3 (0.6%)
   Stefan Roese                      2 (0.4%)
   Joe Hershberger                   2 (0.4%)
   Minkyu Kang                       2 (0.4%)
   Stephen Warren                    1 (0.2%)
   Sekhar Nori                       1 (0.2%)
   Eric Nelson                       1 (0.2%)
   Benoît Thébaudeau                 1 (0.2%)
   Hannes Schmelzer                  1 (0.2%)
   Angelo Dureghello                 1 (0.2%)
   Andrew F. Davis                   1 (0.2%)
   Fabio Estevam                     1 (0.2%)
   Stefan Agner                      1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       4 (22.2%)
   Vagrant Cascadian                 3 (16.7%)
   Bin Meng                          2 (11.1%)
   Javier Martinez Canillas          2 (11.1%)
   Stephen Warren                    2 (11.1%)
   Tom Rini                          1 (5.6%)
   Troy Kisky                        1 (5.6%)
   Marcel Ziswiler                   1 (5.6%)
   Jon Medhurst                      1 (5.6%)
   George McCollister                1 (5.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Kever Yang                        5 (27.8%)
   Simon Glass                       2 (11.1%)
   Stephen Warren                    2 (11.1%)
   Xu Ziyuan                         2 (11.1%)
   Ladislav Michl                    2 (11.1%)
   Paul Burton                       1 (5.6%)
   Stefan Roese                      1 (5.6%)
   Stefan Agner                      1 (5.6%)
   Alexandre Courbot                 1 (5.6%)
   Sudeep Holla                      1 (5.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Marek Vasut                       1 (20.0%)
   Brad Griffis                      1 (20.0%)
   Jon Masters                       1 (20.0%)
   David Binderman                   1 (20.0%)
   Stefan Brüns                      1 (20.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   2 (40.0%)
   Stephen Warren                    1 (20.0%)
   David Gibson                      1 (20.0%)
   Nishanth Menon                    1 (20.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         230 (22.3%)
   Google, Inc.                      195 (18.9%)
   Socionext Inc.                    109 (10.6%)
   NXP                               96 (9.3%)
   Texas Instruments                 63 (6.1%)
   NVidia                            52 (5.0%)
   DENX Software Engineering         46 (4.5%)
   Rockchip                          46 (4.5%)
   MIPS                              38 (3.7%)
   Konsulko Group                    30 (2.9%)
   Toradex                           25 (2.4%)
   Amarula Solutions                 22 (2.1%)
   Atmel                             18 (1.7%)
   AMD                               15 (1.5%)
   Openedev                          11 (1.1%)
   ARM                               7 (0.7%)
   Samsung                           7 (0.7%)
   Boundary Devices                  4 (0.4%)
   Debian.org                        4 (0.4%)
   Xilinx                            4 (0.4%)
   Red Hat                           3 (0.3%)
   BayLibre SAS                      1 (0.1%)
   Collabora Ltd.                    1 (0.1%)
   Free Electrons                    1 (0.1%)
   Linaro                            1 (0.1%)
   Marvell                           1 (0.1%)
   Nokia                             1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Google, Inc.                      20424 (25.5%)
   (Unknown)                         12922 (16.1%)
   DENX Software Engineering         8037 (10.0%)
   NXP                               7674 (9.6%)
   Socionext Inc.                    6220 (7.8%)
   NVidia                            5946 (7.4%)
   Amarula Solutions                 5457 (6.8%)
   Texas Instruments                 3710 (4.6%)
   Rockchip                          2247 (2.8%)
   Toradex                           2124 (2.7%)
   MIPS                              1883 (2.4%)
   Atmel                             983 (1.2%)
   Konsulko Group                    769 (1.0%)
   Xilinx                            558 (0.7%)
   AMD                               275 (0.3%)
   Openedev                          227 (0.3%)
   Free Electrons                    147 (0.2%)
   Samsung                           135 (0.2%)
   ARM                               105 (0.1%)
   Nokia                             67 (0.1%)
   Collabora Ltd.                    44 (0.1%)
   Boundary Devices                  43 (0.1%)
   Red Hat                           42 (0.1%)
   Linaro                            25 (0.0%)
   Debian.org                        17 (0.0%)
   BayLibre SAS                      8 (0.0%)
   Marvell                           5 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   NVidia                            37 (21.6%)
   NXP                               34 (19.9%)
   Red Hat                           24 (14.0%)
   Konsulko Group                    17 (9.9%)
   (Unknown)                         13 (7.6%)
   Novell                            11 (6.4%)
   DENX Software Engineering         10 (5.8%)
   Google, Inc.                      6 (3.5%)
   Rockchip                          6 (3.5%)
   Texas Instruments                 4 (2.3%)
   Xilinx                            4 (2.3%)
   Boundary Devices                  2 (1.2%)
   Toradex                           1 (0.6%)
   ARM                               1 (0.6%)
   Siemens                           1 (0.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         51 (44.0%)
   NXP                               19 (16.4%)
   Texas Instruments                 10 (8.6%)
   NVidia                            4 (3.4%)
   Rockchip                          4 (3.4%)
   DENX Software Engineering         3 (2.6%)
   Toradex                           3 (2.6%)
   ARM                               3 (2.6%)
   Red Hat                           1 (0.9%)
   Konsulko Group                    1 (0.9%)
   Google, Inc.                      1 (0.9%)
   Xilinx                            1 (0.9%)
   Boundary Devices                  1 (0.9%)
   Socionext Inc.                    1 (0.9%)
   Amarula Solutions                 1 (0.9%)
   MIPS                              1 (0.9%)
   Atmel                             1 (0.9%)
   AMD                               1 (0.9%)
   Openedev                          1 (0.9%)
   Free Electrons                    1 (0.9%)
   Samsung                           1 (0.9%)
   Nokia                             1 (0.9%)
   Collabora Ltd.                    1 (0.9%)
   Linaro                            1 (0.9%)
   Debian.org                        1 (0.9%)
   BayLibre SAS                      1 (0.9%)
   Marvell                           1 (0.9%)
   ================================  =====
