:orphan:

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

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