:orphan:

Release Statistics for U-Boot v2017.03
======================================

* Processed 664 csets from 126 developers

* 29 employers found

* A total of 41330 lines added, 31385 removed (delta 9945)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   102 (15.4%)
   Simon Glass                       82 (12.3%)
   Tom Rini                          42 (6.3%)
   Jaehoon Chung                     25 (3.8%)
   Andre Przywara                    19 (2.9%)
   Michal Simek                      19 (2.9%)
   Hou Zhiqiang                      17 (2.6%)
   Minghuan Lian                     15 (2.3%)
   Andrew F. Davis                   14 (2.1%)
   Patrick Delaunay                  13 (2.0%)
   Bin Meng                          13 (2.0%)
   Mario Six                         13 (2.0%)
   Stefan Roese                      10 (1.5%)
   Moritz Fischer                    9 (1.4%)
   Michael Kurz                      9 (1.4%)
   Emmanuel Vadot                    8 (1.2%)
   Prabhakar Kushwaha                8 (1.2%)
   Ladislav Michl                    7 (1.1%)
   Kever Yang                        7 (1.1%)
   Peng Fan                          7 (1.1%)
   Yangbo Lu                         7 (1.1%)
   Sjoerd Simons                     7 (1.1%)
   Markus Niebel                     6 (0.9%)
   Phil Edworthy                     6 (0.9%)
   Olliver Schinagl                  6 (0.9%)
   Tang Yuantian                     6 (0.9%)
   Adam Ford                         5 (0.8%)
   Lokesh Vutla                      5 (0.8%)
   Jacob Chen                        5 (0.8%)
   Maxim Sloyko                      5 (0.8%)
   Mugunthan V N                     5 (0.8%)
   Jagan Teki                        5 (0.8%)
   Siva Durga Prasad Paladugu        5 (0.8%)
   Wenyou Yang                       4 (0.6%)
   Andy Shevchenko                   4 (0.6%)
   Fabio Estevam                     4 (0.6%)
   Chris Packham                     4 (0.6%)
   Mike Looijmans                    4 (0.6%)
   Stefan Agner                      4 (0.6%)
   Philipp Tomsich                   3 (0.5%)
   Nickey Yang Nickey Yang           3 (0.5%)
   Felipe Balbi                      3 (0.5%)
   Vincent Tinelli                   3 (0.5%)
   Peter Robinson                    3 (0.5%)
   Breno Lima                        3 (0.5%)
   Romain Perier                     3 (0.5%)
   Robert P. J. Day                  3 (0.5%)
   York Sun                          3 (0.5%)
   Marcin Niestroj                   3 (0.5%)
   Uri Mashiach                      3 (0.5%)
   Andreas Färber                    3 (0.5%)
   Fabien Parent                     3 (0.5%)
   Tomas Melin                       3 (0.5%)
   Jens Kuske                        3 (0.5%)
   Kotaro Hayashi                    2 (0.3%)
   Dalon Westergreen                 2 (0.3%)
   Mark Marshall                     2 (0.3%)
   Dirk Eibach                       2 (0.3%)
   Lukasz Majewski                   2 (0.3%)
   Gary Bisson                       2 (0.3%)
   Tony O'Brien                      2 (0.3%)
   Wenbin Song                       2 (0.3%)
   Udit Agarwal                      2 (0.3%)
   Icenowy Zheng                     2 (0.3%)
   Oded Gabbay                       2 (0.3%)
   Matthijs van Duin                 1 (0.2%)
   Jörg Krause                       1 (0.2%)
   Ryan Harkin                       1 (0.2%)
   Rask Ingemann Lambertsen          1 (0.2%)
   Nathan Rossi                      1 (0.2%)
   Heiko Schocher                    1 (0.2%)
   Albert ARIBAUD                    1 (0.2%)
   Jonathan Golder                   1 (0.2%)
   J. Tang                           1 (0.2%)
   Andrey Yurovsky                   1 (0.2%)
   Axel Haslam                       1 (0.2%)
   Semen Protsenko                   1 (0.2%)
   Eddie Cai                         1 (0.2%)
   Fiach Antaw                       1 (0.2%)
   John Haechten                     1 (0.2%)
   Lars Poeschel                     1 (0.2%)
   Keerthy                           1 (0.2%)
   Jean-Jacques Hiblot               1 (0.2%)
   Albert ARIBAUD (3ADEV)            1 (0.2%)
   Joe Hershberger                   1 (0.2%)
   Grygorii Strashko                 1 (0.2%)
   Dan Murphy                        1 (0.2%)
   Dinh Nguyen                       1 (0.2%)
   Alex                              1 (0.2%)
   Daniel Strnad                     1 (0.2%)
   Heiner Kallweit                   1 (0.2%)
   Anatolij Gustschin                1 (0.2%)
   Reinhard Pfau                     1 (0.2%)
   Bogdan Purcareata                 1 (0.2%)
   Patrick Bruenn                    1 (0.2%)
   Scott Wood                        1 (0.2%)
   Stefan Brüns                      1 (0.2%)
   Alexey Brodkin                    1 (0.2%)
   Martin Kaiser                     1 (0.2%)
   Konstantin Porotchkin             1 (0.2%)
   Darwin Dingel                     1 (0.2%)
   Cédric Schieli                    1 (0.2%)
   Rick Altherr                      1 (0.2%)
   Tuomas Tynkkynen                  1 (0.2%)
   Stefan Herbrechtsmeier            1 (0.2%)
   Wataru Okoshi                     1 (0.2%)
   Sven Ebenfeld                     1 (0.2%)
   Heinrich Schuchardt               1 (0.2%)
   Sébastien Szymanski               1 (0.2%)
   Alison Wang                       1 (0.2%)
   Mingkai Hu                        1 (0.2%)
   Priyanka Jain                     1 (0.2%)
   Changming Huang                   1 (0.2%)
   Javier Martinez Canillas          1 (0.2%)
   Priit Laes                        1 (0.2%)
   Jelle van der Waa                 1 (0.2%)
   Meng Yi                           1 (0.2%)
   Mark Kettenis                     1 (0.2%)
   George McCollister                1 (0.2%)
   David Gibson                      1 (0.2%)
   Martin Michlmayr                  1 (0.2%)
   Kamensky Ivan                     1 (0.2%)
   Stefan Krsmanovic                 1 (0.2%)
   Shubhrajyoti Datta                1 (0.2%)
   Sudeep Holla                      1 (0.2%)
   Sai Pavan Boddu                   1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          21331 (35.5%)
   Masahiro Yamada                   8216 (13.7%)
   Peng Fan                          3658 (6.1%)
   Simon Glass                       3338 (5.6%)
   Michael Kurz                      2570 (4.3%)
   Maxim Sloyko                      1954 (3.2%)
   Mario Six                         1951 (3.2%)
   Minghuan Lian                     1945 (3.2%)
   Patrick Delaunay                  1825 (3.0%)
   Hou Zhiqiang                      1406 (2.3%)
   Lukasz Majewski                   1246 (2.1%)
   Jagan Teki                        1108 (1.8%)
   Jaehoon Chung                     862 (1.4%)
   Uri Mashiach                      844 (1.4%)
   Marcin Niestroj                   757 (1.3%)
   Stefan Roese                      608 (1.0%)
   John Haechten                     517 (0.9%)
   George McCollister                408 (0.7%)
   Wenbin Song                       307 (0.5%)
   Siva Durga Prasad Paladugu        300 (0.5%)
   Andre Przywara                    282 (0.5%)
   Prabhakar Kushwaha                279 (0.5%)
   Moritz Fischer                    275 (0.5%)
   Jens Kuske                        265 (0.4%)
   Michal Simek                      231 (0.4%)
   Mugunthan V N                     228 (0.4%)
   Sjoerd Simons                     197 (0.3%)
   Icenowy Zheng                     164 (0.3%)
   Andrew F. Davis                   154 (0.3%)
   Jacob Chen                        148 (0.2%)
   Bin Meng                          145 (0.2%)
   Tomas Melin                       145 (0.2%)
   Adam Ford                         143 (0.2%)
   Olliver Schinagl                  131 (0.2%)
   Emmanuel Vadot                    129 (0.2%)
   Yangbo Lu                         111 (0.2%)
   Stefan Agner                      102 (0.2%)
   Bogdan Purcareata                 101 (0.2%)
   Alex                              92 (0.2%)
   Lokesh Vutla                      85 (0.1%)
   Dan Murphy                        81 (0.1%)
   Philipp Tomsich                   77 (0.1%)
   Kever Yang                        75 (0.1%)
   Tang Yuantian                     71 (0.1%)
   Dirk Eibach                       68 (0.1%)
   Robert P. J. Day                  67 (0.1%)
   Ladislav Michl                    66 (0.1%)
   Dalon Westergreen                 64 (0.1%)
   Wenyou Yang                       63 (0.1%)
   Udit Agarwal                      54 (0.1%)
   Stefan Herbrechtsmeier            52 (0.1%)
   Nickey Yang Nickey Yang           51 (0.1%)
   Alison Wang                       47 (0.1%)
   Heiko Schocher                    46 (0.1%)
   Fabien Parent                     40 (0.1%)
   Joe Hershberger                   36 (0.1%)
   Fabio Estevam                     33 (0.1%)
   Mingkai Hu                        29 (0.0%)
   Andy Shevchenko                   28 (0.0%)
   Tuomas Tynkkynen                  27 (0.0%)
   Meng Yi                           27 (0.0%)
   Axel Haslam                       23 (0.0%)
   Eddie Cai                         23 (0.0%)
   Markus Niebel                     22 (0.0%)
   Martin Kaiser                     22 (0.0%)
   Konstantin Porotchkin             22 (0.0%)
   Andreas Färber                    21 (0.0%)
   Tony O'Brien                      21 (0.0%)
   Phil Edworthy                     20 (0.0%)
   Priyanka Jain                     20 (0.0%)
   Chris Packham                     18 (0.0%)
   Darwin Dingel                     17 (0.0%)
   Stefan Krsmanovic                 17 (0.0%)
   Rick Altherr                      16 (0.0%)
   Changming Huang                   13 (0.0%)
   Vincent Tinelli                   12 (0.0%)
   Peter Robinson                    12 (0.0%)
   Fiach Antaw                       12 (0.0%)
   Jelle van der Waa                 11 (0.0%)
   Patrick Bruenn                    10 (0.0%)
   Kotaro Hayashi                    9 (0.0%)
   Oded Gabbay                       9 (0.0%)
   Dinh Nguyen                       9 (0.0%)
   Felipe Balbi                      8 (0.0%)
   York Sun                          8 (0.0%)
   Lars Poeschel                     7 (0.0%)
   Mike Looijmans                    6 (0.0%)
   Cédric Schieli                    6 (0.0%)
   David Gibson                      6 (0.0%)
   Mark Marshall                     5 (0.0%)
   Gary Bisson                       5 (0.0%)
   Albert ARIBAUD (3ADEV)            5 (0.0%)
   Sai Pavan Boddu                   5 (0.0%)
   Jean-Jacques Hiblot               4 (0.0%)
   Anatolij Gustschin                4 (0.0%)
   Stefan Brüns                      4 (0.0%)
   Javier Martinez Canillas          4 (0.0%)
   Shubhrajyoti Datta                4 (0.0%)
   Breno Lima                        3 (0.0%)
   Romain Perier                     3 (0.0%)
   Ryan Harkin                       2 (0.0%)
   Jonathan Golder                   2 (0.0%)
   Semen Protsenko                   2 (0.0%)
   Grygorii Strashko                 2 (0.0%)
   Reinhard Pfau                     2 (0.0%)
   Wataru Okoshi                     2 (0.0%)
   Kamensky Ivan                     2 (0.0%)
   Sudeep Holla                      2 (0.0%)
   Matthijs van Duin                 1 (0.0%)
   Jörg Krause                       1 (0.0%)
   Rask Ingemann Lambertsen          1 (0.0%)
   Nathan Rossi                      1 (0.0%)
   Albert ARIBAUD                    1 (0.0%)
   J. Tang                           1 (0.0%)
   Andrey Yurovsky                   1 (0.0%)
   Keerthy                           1 (0.0%)
   Daniel Strnad                     1 (0.0%)
   Heiner Kallweit                   1 (0.0%)
   Scott Wood                        1 (0.0%)
   Alexey Brodkin                    1 (0.0%)
   Sven Ebenfeld                     1 (0.0%)
   Heinrich Schuchardt               1 (0.0%)
   Sébastien Szymanski               1 (0.0%)
   Priit Laes                        1 (0.0%)
   Mark Kettenis                     1 (0.0%)
   Martin Michlmayr                  1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          10466 (33.3%)
   Jagan Teki                        687 (2.2%)
   Lokesh Vutla                      47 (0.1%)
   Jacob Chen                        28 (0.1%)
   Fabio Estevam                     21 (0.1%)
   Emmanuel Vadot                    20 (0.1%)
   Rick Altherr                      13 (0.0%)
   Peter Robinson                    8 (0.0%)
   Lars Poeschel                     7 (0.0%)
   Martin Kaiser                     6 (0.0%)
   Robert P. J. Day                  5 (0.0%)
   Reinhard Pfau                     2 (0.0%)
   Phil Edworthy                     1 (0.0%)
   Daniel Strnad                     1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Hou Zhiqiang                      19 (17.1%)
   Michal Simek                      16 (14.4%)
   Stefan Roese                      15 (13.5%)
   Minkyu Kang                       13 (11.7%)
   Simon Glass                       9 (8.1%)
   Romain Perier                     6 (5.4%)
   Andre Przywara                    5 (4.5%)
   Andy Shevchenko                   4 (3.6%)
   Masahiro Yamada                   3 (2.7%)
   Olliver Schinagl                  2 (1.8%)
   Abhimanyu Saini                   2 (1.8%)
   Sumit Garg                        2 (1.8%)
   Mingkai Hu                        2 (1.8%)
   Mario Six                         2 (1.8%)
   Tom Rini                          1 (0.9%)
   Reinhard Pfau                     1 (0.9%)
   Grygorii Strashko                 1 (0.9%)
   Brennan Ashton                    1 (0.9%)
   Gong Qianyu                       1 (0.9%)
   Mateusz Kulikowski                1 (0.9%)
   Pratiyush Srivastava              1 (0.9%)
   Ladislav Michl                    1 (0.9%)
   Stefan Agner                      1 (0.9%)
   Dirk Eibach                       1 (0.9%)
   Prabhakar Kushwaha                1 (0.9%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       86 (23.8%)
   Bin Meng                          71 (19.7%)
   York Sun                          70 (19.4%)
   Tom Rini                          41 (11.4%)
   Jagan Teki                        27 (7.5%)
   Stefan Roese                      16 (4.4%)
   Jaehoon Chung                     10 (2.8%)
   Alexander Graf                    7 (1.9%)
   Marek Vasut                       7 (1.9%)
   Joe Hershberger                   3 (0.8%)
   Lokesh Vutla                      2 (0.6%)
   Thomas Graziadei                  2 (0.6%)
   Chris Packham                     2 (0.6%)
   Javier Martinez Canillas          2 (0.6%)
   Michal Simek                      1 (0.3%)
   Andre Przywara                    1 (0.3%)
   Prabhakar Kushwaha                1 (0.3%)
   Rick Altherr                      1 (0.3%)
   Linus Walleij                     1 (0.3%)
   Joakim Tjernlund                  1 (0.3%)
   Stefano Babic                     1 (0.3%)
   Vikas Manocha                     1 (0.3%)
   Hamish Martin                     1 (0.3%)
   Joel Stanley                      1 (0.3%)
   Eric Nelson                       1 (0.3%)
   Chen-Yu Tsai                      1 (0.3%)
   Anatolij Gustschin                1 (0.3%)
   Gary Bisson                       1 (0.3%)
   Heiko Schocher                    1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       3 (14.3%)
   Lokesh Vutla                      2 (9.5%)
   Heiko Schocher                    2 (9.5%)
   Ryan Harkin                       2 (9.5%)
   Adam Ford                         2 (9.5%)
   Bin Meng                          1 (4.8%)
   Michal Simek                      1 (4.8%)
   Masahiro Yamada                   1 (4.8%)
   Ladislav Michl                    1 (4.8%)
   Breno Lima                        1 (4.8%)
   Priit Laes                        1 (4.8%)
   Arno Steffens                     1 (4.8%)
   Aparna Balasubramanian            1 (4.8%)
   Oleksandr Tymoshenko              1 (4.8%)
   Steve Rae                         1 (4.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          3 (14.3%)
   Masahiro Yamada                   2 (9.5%)
   Andre Przywara                    2 (9.5%)
   Alison Wang                       2 (9.5%)
   Moritz Fischer                    2 (9.5%)
   Lokesh Vutla                      1 (4.8%)
   Heiko Schocher                    1 (4.8%)
   Adam Ford                         1 (4.8%)
   Peter Robinson                    1 (4.8%)
   Nathan Rossi                      1 (4.8%)
   Stefan Brüns                      1 (4.8%)
   Cédric Schieli                    1 (4.8%)
   Wenyou Yang                       1 (4.8%)
   Andrew F. Davis                   1 (4.8%)
   Mugunthan V N                     1 (4.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Dan Murphy                        3 (30.0%)
   Heiko Schocher                    1 (10.0%)
   Arno Steffens                     1 (10.0%)
   Oleksandr Tymoshenko              1 (10.0%)
   Yogesh Siraswar                   1 (10.0%)
   Thomas Schaefer                   1 (10.0%)
   Ken Ma                            1 (10.0%)
   Jens Kuske                        1 (10.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Lokesh Vutla                      3 (30.0%)
   Tom Rini                          2 (20.0%)
   Andre Przywara                    1 (10.0%)
   Nathan Rossi                      1 (10.0%)
   Stefan Brüns                      1 (10.0%)
   Andrew F. Davis                   1 (10.0%)
   Michal Simek                      1 (10.0%)
   ================================  =====


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

   ==================================  =====
   Name                                Count
   ==================================  =====
   (Unknown)                           215 (32.4%)
   Socionext Inc.                      105 (15.8%)
   Google, Inc.                        88 (13.3%)
   Konsulko Group                      42 (6.3%)
   Texas Instruments                   28 (4.2%)
   Samsung                             26 (3.9%)
   ARM                                 20 (3.0%)
   AMD                                 19 (2.9%)
   Guntermann & Drunck                 16 (2.4%)
   Rockchip                            15 (2.3%)
   DENX Software Engineering           14 (2.1%)
   ST Microelectronics                 12 (1.8%)
   Collabora Ltd.                      10 (1.5%)
   Intel                               10 (1.5%)
   Xilinx                              7 (1.1%)
   Renesas Electronics                 6 (0.9%)
   Atmel                               4 (0.6%)
   BayLibre SAS                        4 (0.6%)
   Openedev                            4 (0.6%)
   Toradex                             4 (0.6%)
   CompuLab                            3 (0.5%)
   Novell                              3 (0.5%)
   Boundary Devices                    2 (0.3%)
   Linaro                              2 (0.3%)
   Amarula Solutions                   1 (0.2%)
   NXP                                 1 (0.2%)
   Marvell                             1 (0.2%)
   National Instruments                1 (0.2%)
   Weidmüller Interface GmbH & Co. KG  1 (0.2%)
   ==================================  =====


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

   ==================================  =====
   Name                                Count
   ==================================  =====
   Konsulko Group                      21331 (35.5%)
   (Unknown)                           14394 (23.9%)
   Socionext Inc.                      8227 (13.7%)
   Google, Inc.                        5308 (8.8%)
   Guntermann & Drunck                 2021 (3.4%)
   DENX Software Engineering           1904 (3.2%)
   ST Microelectronics                 1801 (3.0%)
   Openedev                            1105 (1.8%)
   Samsung                             866 (1.4%)
   CompuLab                            844 (1.4%)
   Texas Instruments                   555 (0.9%)
   Xilinx                              309 (0.5%)
   ARM                                 284 (0.5%)
   Rockchip                            274 (0.5%)
   AMD                                 231 (0.4%)
   Collabora Ltd.                      200 (0.3%)
   Toradex                             102 (0.2%)
   Atmel                               63 (0.1%)
   BayLibre SAS                        63 (0.1%)
   Weidmüller Interface GmbH & Co. KG  52 (0.1%)
   Intel                               48 (0.1%)
   NXP                                 47 (0.1%)
   National Instruments                36 (0.1%)
   Marvell                             22 (0.0%)
   Novell                              21 (0.0%)
   Renesas Electronics                 20 (0.0%)
   Boundary Devices                    5 (0.0%)
   Linaro                              4 (0.0%)
   Amarula Solutions                   3 (0.0%)
   ==================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         33 (29.7%)
   Xilinx                            16 (14.4%)
   DENX Software Engineering         15 (13.5%)
   Samsung                           13 (11.7%)
   Google, Inc.                      9 (8.1%)
   Collabora Ltd.                    6 (5.4%)
   ARM                               5 (4.5%)
   Guntermann & Drunck               4 (3.6%)
   Intel                             4 (3.6%)
   Socionext Inc.                    3 (2.7%)
   Konsulko Group                    1 (0.9%)
   Texas Instruments                 1 (0.9%)
   Toradex                           1 (0.9%)
   ================================  =====


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

   ==================================  =====
   Name                                Count
   ==================================  =====
   (Unknown)                           74 (57.8%)
   Texas Instruments                   7 (5.5%)
   DENX Software Engineering           4 (3.1%)
   Xilinx                              3 (2.3%)
   Google, Inc.                        3 (2.3%)
   Guntermann & Drunck                 3 (2.3%)
   Intel                               3 (2.3%)
   Socionext Inc.                      3 (2.3%)
   Rockchip                            3 (2.3%)
   Samsung                             2 (1.6%)
   Collabora Ltd.                      2 (1.6%)
   ARM                                 2 (1.6%)
   BayLibre SAS                        2 (1.6%)
   Linaro                              2 (1.6%)
   Konsulko Group                      1 (0.8%)
   Toradex                             1 (0.8%)
   ST Microelectronics                 1 (0.8%)
   Openedev                            1 (0.8%)
   CompuLab                            1 (0.8%)
   AMD                                 1 (0.8%)
   Atmel                               1 (0.8%)
   Weidmüller Interface GmbH & Co. KG  1 (0.8%)
   NXP                                 1 (0.8%)
   National Instruments                1 (0.8%)
   Marvell                             1 (0.8%)
   Novell                              1 (0.8%)
   Renesas Electronics                 1 (0.8%)
   Boundary Devices                    1 (0.8%)
   Amarula Solutions                   1 (0.8%)
   ==================================  =====
