:orphan:

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

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