:orphan:

Release Statistics for U-Boot v2018.07
======================================

* Processed 1055 changesets from 141 developers

* 30 employers found

* A total of 88664 lines added, 54500 removed (delta 34164)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Marek Vasut                       89 (8.4%)
   Michal Simek                      54 (5.1%)
   Bin Meng                          52 (4.9%)
   Jagan Teki                        51 (4.8%)
   Chris Packham                     48 (4.5%)
   Lukasz Majewski                   48 (4.5%)
   Heinrich Schuchardt               43 (4.1%)
   Miquel Raynal                     32 (3.0%)
   Simon Glass                       28 (2.7%)
   Alex Kiernan                      28 (2.7%)
   Masahiro Yamada                   25 (2.4%)
   Ramon Fried                       25 (2.4%)
   Tom Rini                          24 (2.3%)
   Alexander Graf                    22 (2.1%)
   Marek Behun                       21 (2.0%)
   Patrice Chotard                   19 (1.8%)
   Patrick Delaunay                  19 (1.8%)
   Siva Durga Prasad Paladugu        18 (1.7%)
   Álvaro Fernández Rojas            17 (1.6%)
   Alexey Brodkin                    16 (1.5%)
   Rick Chen                         16 (1.5%)
   Stefan Agner                      15 (1.4%)
   Vasily Khoruzhick                 11 (1.0%)
   Neil Armstrong                    11 (1.0%)
   Tuomas Tynkkynen                  11 (1.0%)
   Marcel Ziswiler                   11 (1.0%)
   Mario Six                         10 (0.9%)
   Eugen Hristev                     10 (0.9%)
   Ley Foon Tan                      9 (0.9%)
   Bryan O'Donoghue                  9 (0.9%)
   Igor Opaniuk                      8 (0.8%)
   Jaehoon Chung                     8 (0.8%)
   Adam Ford                         7 (0.7%)
   Seung-Woo Kim                     7 (0.7%)
   Tien Fong Chee                    7 (0.7%)
   Ivan Gorinov                      6 (0.6%)
   Fabio Estevam                     6 (0.6%)
   Kunihiko Hayashi                  6 (0.6%)
   Chen-Yu Tsai                      6 (0.6%)
   Ian Ray                           6 (0.6%)
   Lokesh Vutla                      6 (0.6%)
   Peter Robinson                    5 (0.5%)
   Hannes Schmelzer                  5 (0.5%)
   Ashish Kumar                      5 (0.5%)
   Jon Nettleton                     5 (0.5%)
   David Lechner                     5 (0.5%)
   Nishanth Menon                    4 (0.4%)
   Jörg Krause                       4 (0.4%)
   Matwey V. Kornilov                4 (0.4%)
   Eugeniu Rosca                     4 (0.4%)
   Christophe Kerello                4 (0.4%)
   Ludovic Desroches                 4 (0.4%)
   Patrick Bruenn                    4 (0.4%)
   Andre Przywara                    3 (0.3%)
   Emmanuel Vadot                    3 (0.3%)
   Rabeeh Khoury                     3 (0.3%)
   Baruch Siach                      3 (0.3%)
   Joe Hershberger                   3 (0.3%)
   Eugeniy Paltsev                   3 (0.3%)
   Christian Gmeiner                 3 (0.3%)
   Jagdish Gediya                    3 (0.3%)
   Vagrant Cascadian                 3 (0.3%)
   Ken Ma                            3 (0.3%)
   Mugunthan V N                     3 (0.3%)
   Fabrice Gasnier                   3 (0.3%)
   Praneeth Bajjuri                  3 (0.3%)
   Jassi Brar                        3 (0.3%)
   Philipp Tomsich                   2 (0.2%)
   Guillaume Gardet                  2 (0.2%)
   Michael Trimarchi                 2 (0.2%)
   Vipul Kumar                       2 (0.2%)
   Beniamino Galvani                 2 (0.2%)
   Yevgeny Popovych                  2 (0.2%)
   Mans Rullgard                     2 (0.2%)
   Hauke Mehrtens                    2 (0.2%)
   Tomi Valkeinen                    2 (0.2%)
   Bhaskar Upadhaya                  2 (0.2%)
   Sam Protsenko                     2 (0.2%)
   Michael Walle                     2 (0.2%)
   Takeshi Kihara                    2 (0.2%)
   Rob Herring                       2 (0.2%)
   Rajan Vaja                        2 (0.2%)
   Konstantin Porotchkin             2 (0.2%)
   Nicolas Ferre                     2 (0.2%)
   Magnus Lilja                      2 (0.2%)
   Nandor Han                        2 (0.2%)
   Jonathan Gray                     2 (0.2%)
   Hou Zhiqiang                      2 (0.2%)
   Lothar Felten                     1 (0.1%)
   Stefan Roese                      1 (0.1%)
   Zeng Tao                          1 (0.1%)
   Andrew Thomas                     1 (0.1%)
   Stefano Babic                     1 (0.1%)
   Trent Piepho                      1 (0.1%)
   Andrew F. Davis                   1 (0.1%)
   Otavio Salvador                   1 (0.1%)
   Ye Li                             1 (0.1%)
   Luca Ceresoli                     1 (0.1%)
   Quentin Schulz                    1 (0.1%)
   Radu Bulie                        1 (0.1%)
   Leonid Iziumtsev                  1 (0.1%)
   Vicentiu Galanopulo               1 (0.1%)
   Shyam Saini                       1 (0.1%)
   Andy Shevchenko                   1 (0.1%)
   Dennis Gilmore                    1 (0.1%)
   Vinitha V Pillai                  1 (0.1%)
   Priyanka Jain                     1 (0.1%)
   Ran Wang                          1 (0.1%)
   Riku Voipio                       1 (0.1%)
   Carlo Caione                      1 (0.1%)
   Daniel Schwierzeck                1 (0.1%)
   Yoshihiro Shimoda                 1 (0.1%)
   Ezequiel Garcia                   1 (0.1%)
   Ibai Erkiaga                      1 (0.1%)
   Alex Deymo                        1 (0.1%)
   Matthias Blankertz                1 (0.1%)
   David Sniatkiwicz                 1 (0.1%)
   Evan Wang                         1 (0.1%)
   Jun Nie                           1 (0.1%)
   Kelvin Cheung                     1 (0.1%)
   Radoslaw Pietrzyk                 1 (0.1%)
   Maxime Ripard                     1 (0.1%)
   Ladislav Michl                    1 (0.1%)
   Ben Kalo                          1 (0.1%)
   Sebastian Reichel                 1 (0.1%)
   Kimmo Rautkoski                   1 (0.1%)
   Kever Yang                        1 (0.1%)
   Lothar Waßmann                    1 (0.1%)
   zachary                           1 (0.1%)
   Nitin Jain                        1 (0.1%)
   Sanchayan Maity                   1 (0.1%)
   Yogesh Gaur                       1 (0.1%)
   Sumit Garg                        1 (0.1%)
   Takuma Ueba                       1 (0.1%)
   Ruchika Gupta                     1 (0.1%)
   Sriram Dash                       1 (0.1%)
   Rajat Srivastava                  1 (0.1%)
   Clément Péron                     1 (0.1%)
   Grygorii Strashko                 1 (0.1%)
   Michalis Pappas                   1 (0.1%)
   Andy Yan                          1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Marek Vasut                       32311 (27.3%)
   Chris Packham                     14297 (12.1%)
   Eugeniu Rosca                     10343 (8.7%)
   Igor Opaniuk                      8197 (6.9%)
   Tom Rini                          5556 (4.7%)
   Miquel Raynal                     3987 (3.4%)
   Jagan Teki                        3308 (2.8%)
   Alex Kiernan                      2702 (2.3%)
   Alexander Graf                    2190 (1.9%)
   Neil Armstrong                    1978 (1.7%)
   Tuomas Tynkkynen                  1967 (1.7%)
   Marek Behun                       1877 (1.6%)
   Ley Foon Tan                      1783 (1.5%)
   Heinrich Schuchardt               1657 (1.4%)
   Siva Durga Prasad Paladugu        1638 (1.4%)
   Lukasz Majewski                   1526 (1.3%)
   Patrick Delaunay                  1420 (1.2%)
   Michal Simek                      1346 (1.1%)
   Bin Meng                          1255 (1.1%)
   Tien Fong Chee                    1240 (1.0%)
   Patrice Chotard                   1038 (0.9%)
   Simon Glass                       1035 (0.9%)
   Kunihiko Hayashi                  1031 (0.9%)
   Alexey Brodkin                    958 (0.8%)
   Stefan Agner                      890 (0.8%)
   Dennis Gilmore                    886 (0.7%)
   Christophe Kerello                695 (0.6%)
   Rob Herring                       642 (0.5%)
   Ramon Fried                       632 (0.5%)
   Mario Six                         617 (0.5%)
   Beniamino Galvani                 582 (0.5%)
   Masahiro Yamada                   545 (0.5%)
   Bhaskar Upadhaya                  471 (0.4%)
   Ezequiel Garcia                   470 (0.4%)
   Vasily Khoruzhick                 392 (0.3%)
   Lokesh Vutla                      380 (0.3%)
   Jaehoon Chung                     362 (0.3%)
   Marcel Ziswiler                   354 (0.3%)
   Rick Chen                         322 (0.3%)
   Álvaro Fernández Rojas            294 (0.2%)
   Hauke Mehrtens                    290 (0.2%)
   Chen-Yu Tsai                      245 (0.2%)
   Adam Ford                         229 (0.2%)
   Lothar Felten                     223 (0.2%)
   Radu Bulie                        204 (0.2%)
   Jon Nettleton                     194 (0.2%)
   Fabrice Gasnier                   192 (0.2%)
   Eugeniy Paltsev                   186 (0.2%)
   Ibai Erkiaga                      173 (0.1%)
   Ivan Gorinov                      148 (0.1%)
   Guillaume Gardet                  146 (0.1%)
   David Lechner                     134 (0.1%)
   Ian Ray                           132 (0.1%)
   Yoshihiro Shimoda                 131 (0.1%)
   Jassi Brar                        124 (0.1%)
   Vinitha V Pillai                  116 (0.1%)
   Mugunthan V N                     108 (0.1%)
   Mans Rullgard                     91 (0.1%)
   Sumit Garg                        91 (0.1%)
   Michalis Pappas                   87 (0.1%)
   Konstantin Porotchkin             79 (0.1%)
   Nitin Jain                        74 (0.1%)
   Andre Przywara                    71 (0.1%)
   Seung-Woo Kim                     61 (0.1%)
   Sam Protsenko                     58 (0.0%)
   Patrick Bruenn                    56 (0.0%)
   Kelvin Cheung                     53 (0.0%)
   Vicentiu Galanopulo               52 (0.0%)
   Jörg Krause                       51 (0.0%)
   Alex Deymo                        49 (0.0%)
   Ludovic Desroches                 48 (0.0%)
   Christian Gmeiner                 47 (0.0%)
   Takeshi Kihara                    44 (0.0%)
   Magnus Lilja                      42 (0.0%)
   Ye Li                             42 (0.0%)
   Matwey V. Kornilov                41 (0.0%)
   Nandor Han                        39 (0.0%)
   Ashish Kumar                      38 (0.0%)
   Lothar Waßmann                    38 (0.0%)
   Bryan O'Donoghue                  37 (0.0%)
   Baruch Siach                      37 (0.0%)
   Eugen Hristev                     34 (0.0%)
   Peter Robinson                    34 (0.0%)
   Jagdish Gediya                    34 (0.0%)
   Sriram Dash                       34 (0.0%)
   Ken Ma                            33 (0.0%)
   Jun Nie                           32 (0.0%)
   Fabio Estevam                     30 (0.0%)
   Daniel Schwierzeck                29 (0.0%)
   Radoslaw Pietrzyk                 29 (0.0%)
   zachary                           28 (0.0%)
   Nishanth Menon                    25 (0.0%)
   Philipp Tomsich                   25 (0.0%)
   Yevgeny Popovych                  23 (0.0%)
   Michael Walle                     22 (0.0%)
   Hannes Schmelzer                  21 (0.0%)
   Rajat Srivastava                  21 (0.0%)
   Joe Hershberger                   18 (0.0%)
   Rajan Vaja                        18 (0.0%)
   Yogesh Gaur                       17 (0.0%)
   Evan Wang                         16 (0.0%)
   Clément Péron                     13 (0.0%)
   Jonathan Gray                     12 (0.0%)
   Hou Zhiqiang                      12 (0.0%)
   Maxime Ripard                     12 (0.0%)
   Andy Yan                          11 (0.0%)
   Emmanuel Vadot                    10 (0.0%)
   Shyam Saini                       10 (0.0%)
   Quentin Schulz                    9 (0.0%)
   Ladislav Michl                    9 (0.0%)
   Tomi Valkeinen                    8 (0.0%)
   Nicolas Ferre                     8 (0.0%)
   David Sniatkiwicz                 8 (0.0%)
   Luca Ceresoli                     7 (0.0%)
   Ran Wang                          7 (0.0%)
   Takuma Ueba                       7 (0.0%)
   Vagrant Cascadian                 6 (0.0%)
   Stefan Roese                      6 (0.0%)
   Kever Yang                        6 (0.0%)
   Rabeeh Khoury                     5 (0.0%)
   Praneeth Bajjuri                  5 (0.0%)
   Ruchika Gupta                     5 (0.0%)
   Michael Trimarchi                 4 (0.0%)
   Vipul Kumar                       4 (0.0%)
   Trent Piepho                      4 (0.0%)
   Matthias Blankertz                4 (0.0%)
   Leonid Iziumtsev                  3 (0.0%)
   Kimmo Rautkoski                   3 (0.0%)
   Ben Kalo                          2 (0.0%)
   Sanchayan Maity                   2 (0.0%)
   Zeng Tao                          1 (0.0%)
   Andrew Thomas                     1 (0.0%)
   Stefano Babic                     1 (0.0%)
   Andrew F. Davis                   1 (0.0%)
   Otavio Salvador                   1 (0.0%)
   Andy Shevchenko                   1 (0.0%)
   Priyanka Jain                     1 (0.0%)
   Riku Voipio                       1 (0.0%)
   Carlo Caione                      1 (0.0%)
   Sebastian Reichel                 1 (0.0%)
   Grygorii Strashko                 1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Eugeniu Rosca                     8641 (15.9%)
   Tom Rini                          4271 (7.8%)
   Tuomas Tynkkynen                  1834 (3.4%)
   Jaehoon Chung                     314 (0.6%)
   Ian Ray                           102 (0.2%)
   Guillaume Gardet                  98 (0.2%)
   Peter Robinson                    25 (0.0%)
   Sam Protsenko                     20 (0.0%)
   David Lechner                     15 (0.0%)
   Maxime Ripard                     12 (0.0%)
   David Sniatkiwicz                 8 (0.0%)
   Philipp Tomsich                   7 (0.0%)
   Andy Yan                          7 (0.0%)
   Bryan O'Donoghue                  5 (0.0%)
   Hannes Schmelzer                  2 (0.0%)
   Ladislav Michl                    1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Stefan Roese                      68 (24.3%)
   Alexander Graf                    41 (14.6%)
   Michal Simek                      33 (11.8%)
   Patrice Chotard                   17 (6.1%)
   Tom Warren                        13 (4.6%)
   Tom Rini                          12 (4.3%)
   Sebastian Reichel                 8 (2.9%)
   Baruch Siach                      8 (2.9%)
   Bin Meng                          6 (2.1%)
   Chin Liang See                    5 (1.8%)
   Simone CIANNI                     5 (1.8%)
   Raffaele RECALCATI                5 (1.8%)
   Nandor Han                        5 (1.8%)
   Masahiro Yamada                   5 (1.8%)
   Christophe Kerello                4 (1.4%)
   Eugen Hristev                     3 (1.1%)
   Alexey Brodkin                    3 (1.1%)
   Eugeniu Rosca                     2 (0.7%)
   Evan Wang                         2 (0.7%)
   Otavio Salvador                   2 (0.7%)
   Oleksandr Tymoshenko              2 (0.7%)
   Minkyu Kang                       2 (0.7%)
   Marek Vasut                       2 (0.7%)
   Patrick Delaunay                  2 (0.7%)
   Neil Armstrong                    2 (0.7%)
   Jagan Teki                        2 (0.7%)
   Priyanka Jain                     1 (0.4%)
   Ioan-Adrian Ratiu                 1 (0.4%)
   Jocelyn Bohr                      1 (0.4%)
   Richard Weinberger                1 (0.4%)
   Amelie Delaunay                   1 (0.4%)
   Prabhakar Kushwaha                1 (0.4%)
   Yoshihisa Morizumi                1 (0.4%)
   Jagdish Gediya                    1 (0.4%)
   Fabio Estevam                     1 (0.4%)
   Rabeeh Khoury                     1 (0.4%)
   Kever Yang                        1 (0.4%)
   Daniel Schwierzeck                1 (0.4%)
   Ken Ma                            1 (0.4%)
   Takeshi Kihara                    1 (0.4%)
   Alex Deymo                        1 (0.4%)
   Vinitha V Pillai                  1 (0.4%)
   Yoshihiro Shimoda                 1 (0.4%)
   Lokesh Vutla                      1 (0.4%)
   Simon Glass                       1 (0.4%)
   Marek Behun                       1 (0.4%)
   Siva Durga Prasad Paladugu        1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       182 (41.6%)
   Tom Rini                          53 (12.1%)
   Stefan Roese                      45 (10.3%)
   Jagan Teki                        36 (8.2%)
   York Sun                          19 (4.3%)
   Daniel Schwierzeck                17 (3.9%)
   Bin Meng                          9 (2.1%)
   Heinrich Schuchardt               9 (2.1%)
   Alexander Graf                    7 (1.6%)
   Masahiro Yamada                   7 (1.6%)
   Fabio Estevam                     7 (1.6%)
   Joe Hershberger                   5 (1.1%)
   Philipp Tomsich                   3 (0.7%)
   Alex Kiernan                      3 (0.7%)
   Michal Simek                      2 (0.5%)
   Marek Vasut                       2 (0.5%)
   Sam Protsenko                     2 (0.5%)
   Peng Fan                          2 (0.5%)
   Heiko Schocher                    2 (0.5%)
   Dinh Nguyen                       2 (0.5%)
   Anand Moon                        2 (0.5%)
   Jernej Skrabec                    2 (0.5%)
   Stephen Warren                    2 (0.5%)
   Stefano Babic                     2 (0.5%)
   Lukasz Majewski                   2 (0.5%)
   Chris Packham                     2 (0.5%)
   Minkyu Kang                       1 (0.2%)
   Jocelyn Bohr                      1 (0.2%)
   Prabhakar Kushwaha                1 (0.2%)
   Kever Yang                        1 (0.2%)
   Marek Behun                       1 (0.2%)
   Jaehoon Chung                     1 (0.2%)
   Bin Chen                          1 (0.2%)
   Anatolij Gustschin                1 (0.2%)
   Felix Brack                       1 (0.2%)
   Chih-Mao Chen                     1 (0.2%)
   CITOOLS                           1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Michal Simek                      6 (15.8%)
   Petr Vorel                        3 (7.9%)
   Jagan Teki                        2 (5.3%)
   Bin Meng                          2 (5.3%)
   Fabio Estevam                     2 (5.3%)
   Marek Vasut                       2 (5.3%)
   Chris Packham                     2 (5.3%)
   Guillaume Gardet                  2 (5.3%)
   Peter Robinson                    2 (5.3%)
   Andreas Färber                    2 (5.3%)
   Matthias Blankertz                2 (5.3%)
   Heinrich Schuchardt               1 (2.6%)
   Masahiro Yamada                   1 (2.6%)
   Alex Kiernan                      1 (2.6%)
   Felix Brack                       1 (2.6%)
   Patrice Chotard                   1 (2.6%)
   Michael Walle                     1 (2.6%)
   Denis Pynkin                      1 (2.6%)
   Andy Shevchenko                   1 (2.6%)
   Lothar Waßmann                    1 (2.6%)
   Mario Six                         1 (2.6%)
   Ley Foon Tan                      1 (2.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Andre Przywara                    6 (15.8%)
   Lokesh Vutla                      5 (13.2%)
   Bin Meng                          4 (10.5%)
   Eugeniu Rosca                     3 (7.9%)
   Rabeeh Khoury                     3 (7.9%)
   Alexander Graf                    2 (5.3%)
   Nishanth Menon                    2 (5.3%)
   Michal Simek                      1 (2.6%)
   Guillaume Gardet                  1 (2.6%)
   Alex Kiernan                      1 (2.6%)
   Patrice Chotard                   1 (2.6%)
   Michael Walle                     1 (2.6%)
   Lothar Waßmann                    1 (2.6%)
   Simon Glass                       1 (2.6%)
   Sam Protsenko                     1 (2.6%)
   Siva Durga Prasad Paladugu        1 (2.6%)
   Andrew Thomas                     1 (2.6%)
   Jonathan Gray                     1 (2.6%)
   Ivan Gorinov                      1 (2.6%)
   Tien Fong Chee                    1 (2.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Alexander Graf                    1 (7.7%)
   Simon Glass                       1 (7.7%)
   Petr Vorel                        1 (7.7%)
   Marek Vasut                       1 (7.7%)
   Andreas Färber                    1 (7.7%)
   Heinrich Schuchardt               1 (7.7%)
   Masahiro Yamada                   1 (7.7%)
   Jaehoon Chung                     1 (7.7%)
   Tuomas Tynkkynen                  1 (7.7%)
   Fabian Vogt                       1 (7.7%)
   Udo Maslo                         1 (7.7%)
   Jan Leonhardt                     1 (7.7%)
   Kunihiko Hayashi                  1 (7.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Alexander Graf                    4 (30.8%)
   Heinrich Schuchardt               1 (7.7%)
   Masahiro Yamada                   1 (7.7%)
   Bin Meng                          1 (7.7%)
   Eugeniu Rosca                     1 (7.7%)
   Michal Simek                      1 (7.7%)
   Siva Durga Prasad Paladugu        1 (7.7%)
   Tom Rini                          1 (7.7%)
   Joe Hershberger                   1 (7.7%)
   Seung-Woo Kim                     1 (7.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         448 (42.5%)
   DENX Software Engineering         139 (13.2%)
   AMD                               54 (5.1%)
   Amarula Solutions                 51 (4.8%)
   ST Microelectronics               45 (4.3%)
   Bootlin                           34 (3.2%)
   Socionext Inc.                    31 (2.9%)
   Google, Inc.                      29 (2.7%)
   NXP                               27 (2.6%)
   Toradex                           27 (2.6%)
   Konsulko Group                    24 (2.3%)
   Xilinx                            24 (2.3%)
   Intel                             23 (2.2%)
   Texas Instruments                 20 (1.9%)
   Samsung                           15 (1.4%)
   BayLibre SAS                      11 (1.0%)
   Guntermann & Drunck               10 (0.9%)
   General Electric                  8 (0.8%)
   Linaro                            8 (0.8%)
   Marvell                           8 (0.8%)
   ARM                               3 (0.3%)
   Debian.org                        3 (0.3%)
   National Instruments              3 (0.3%)
   Renesas Electronics               3 (0.3%)
   Rockchip                          2 (0.2%)
   Fujitsu                           1 (0.1%)
   Collabora Ltd.                    1 (0.1%)
   FastMail.FM                       1 (0.1%)
   Oracle                            1 (0.1%)
   O.S. Systems                      1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         52177 (44.1%)
   DENX Software Engineering         33844 (28.6%)
   Konsulko Group                    5556 (4.7%)
   Bootlin                           4008 (3.4%)
   ST Microelectronics               3345 (2.8%)
   Amarula Solutions                 3287 (2.8%)
   Intel                             3172 (2.7%)
   BayLibre SAS                      1978 (1.7%)
   Xilinx                            1907 (1.6%)
   Socionext Inc.                    1576 (1.3%)
   AMD                               1346 (1.1%)
   Toradex                           1246 (1.1%)
   NXP                               1171 (1.0%)
   Google, Inc.                      1084 (0.9%)
   Guntermann & Drunck               617 (0.5%)
   Texas Instruments                 528 (0.4%)
   Samsung                           423 (0.4%)
   Linaro                            227 (0.2%)
   Renesas Electronics               175 (0.1%)
   General Electric                  171 (0.1%)
   Marvell                           164 (0.1%)
   FastMail.FM                       87 (0.1%)
   ARM                               71 (0.1%)
   National Instruments              18 (0.0%)
   Rockchip                          17 (0.0%)
   Fujitsu                           7 (0.0%)
   Debian.org                        6 (0.0%)
   Collabora Ltd.                    1 (0.0%)
   Oracle                            1 (0.0%)
   O.S. Systems                      1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         68 (24.3%)
   (Unknown)                         41 (14.6%)
   SUSE                              41 (14.6%)
   Xilinx                            33 (11.8%)
   ST Microelectronics               24 (8.6%)
   NVidia                            13 (4.6%)
   Konsulko Group                    12 (4.3%)
   Collabora Ltd.                    8 (2.9%)
   Intel                             5 (1.8%)
   Socionext Inc.                    5 (1.8%)
   NXP                               5 (1.8%)
   General Electric                  5 (1.8%)
   Google, Inc.                      3 (1.1%)
   Marvell                           3 (1.1%)
   Amarula Solutions                 2 (0.7%)
   BayLibre SAS                      2 (0.7%)
   Samsung                           2 (0.7%)
   Renesas Electronics               2 (0.7%)
   O.S. Systems                      2 (0.7%)
   Texas Instruments                 1 (0.4%)
   National Instruments              1 (0.4%)
   Rockchip                          1 (0.4%)
   Fujitsu                           1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         62 (43.1%)
   NXP                               16 (11.1%)
   Texas Instruments                 7 (4.9%)
   Xilinx                            5 (3.5%)
   Marvell                           5 (3.5%)
   Linaro                            5 (3.5%)
   DENX Software Engineering         4 (2.8%)
   ST Microelectronics               4 (2.8%)
   Intel                             4 (2.8%)
   Bootlin                           3 (2.1%)
   Toradex                           3 (2.1%)
   Socionext Inc.                    2 (1.4%)
   General Electric                  2 (1.4%)
   Google, Inc.                      2 (1.4%)
   Amarula Solutions                 2 (1.4%)
   Samsung                           2 (1.4%)
   Renesas Electronics               2 (1.4%)
   Rockchip                          2 (1.4%)
   Konsulko Group                    1 (0.7%)
   Collabora Ltd.                    1 (0.7%)
   BayLibre SAS                      1 (0.7%)
   O.S. Systems                      1 (0.7%)
   National Instruments              1 (0.7%)
   Fujitsu                           1 (0.7%)
   AMD                               1 (0.7%)
   Guntermann & Drunck               1 (0.7%)
   FastMail.FM                       1 (0.7%)
   ARM                               1 (0.7%)
   Debian.org                        1 (0.7%)
   Oracle                            1 (0.7%)
   ================================  =====
