:orphan:

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

* Processed 983 csets from 138 developers

* 32 employers found

* A total of 62059 lines added, 23685 removed (delta 38374)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       75 (7.6%)
   Michal Simek                      66 (6.7%)
   Heinrich Schuchardt               54 (5.5%)
   Marek Vasut                       49 (5.0%)
   Bin Meng                          43 (4.4%)
   Adam Ford                         38 (3.9%)
   Tom Rini                          29 (3.0%)
   Ley Foon Tan                      27 (2.7%)
   Patrice Chotard                   25 (2.5%)
   Joe Hershberger                   24 (2.4%)
   Patrick Delaunay                  20 (2.0%)
   Ramon Fried                       17 (1.7%)
   Alexander Graf                    16 (1.6%)
   Jagan Teki                        16 (1.6%)
   Stefan Agner                      15 (1.5%)
   Icenowy Zheng                     15 (1.5%)
   York Sun                          13 (1.3%)
   Mario Six                         13 (1.3%)
   Baruch Siach                      13 (1.3%)
   Hannes Schmelzer                  13 (1.3%)
   Masahiro Yamada                   12 (1.2%)
   Siva Durga Prasad Paladugu        12 (1.2%)
   Lukasz Majewski                   11 (1.1%)
   Fabio Estevam                     10 (1.0%)
   Alex Kiernan                      10 (1.0%)
   Manivannan Sadhasivam             10 (1.0%)
   Miquel Raynal                     10 (1.0%)
   Otavio Salvador                   9 (0.9%)
   Ye Li                             9 (0.9%)
   Simon Goldschmidt                 9 (0.9%)
   Eugeniu Rosca                     9 (0.9%)
   Stephen Warren                    9 (0.9%)
   Andre Przywara                    9 (0.9%)
   Sam Protsenko                     8 (0.8%)
   Peng Fan                          8 (0.8%)
   Laurentiu Tudor                   8 (0.8%)
   Chris Packham                     8 (0.8%)
   Vipul Kumar                       8 (0.8%)
   Jean-Jacques Hiblot               7 (0.7%)
   Alberto Panizzo                   7 (0.7%)
   Luis Araneda                      7 (0.7%)
   Jon Nettleton                     7 (0.7%)
   Grygorii Strashko                 7 (0.7%)
   Ludwig Zenz                       7 (0.7%)
   Quentin Schulz                    6 (0.6%)
   Lothar Felten                     6 (0.6%)
   Paul Burton                       6 (0.6%)
   Eugeniy Paltsev                   5 (0.5%)
   Mark Kettenis                     5 (0.5%)
   Fabrice Gasnier                   5 (0.5%)
   Philippe Reynes                   5 (0.5%)
   Michael Trimarchi                 5 (0.5%)
   Alexey Brodkin                    4 (0.4%)
   Philipp Tomsich                   4 (0.4%)
   Thomas Fitzsimmons                4 (0.4%)
   Ran Wang                          4 (0.4%)
   Vagrant Cascadian                 4 (0.4%)
   Adam Sampson                      4 (0.4%)
   Yuantian Tang                     4 (0.4%)
   Christophe Kerello                4 (0.4%)
   Yaniv Levinsky                    4 (0.4%)
   Shreenidhi Shedi                  4 (0.4%)
   Anson Huang                       3 (0.3%)
   Igor Opaniuk                      3 (0.3%)
   Jagdish Gediya                    3 (0.3%)
   Vinitha V Pillai                  3 (0.3%)
   Minkyu Kang                       3 (0.3%)
   Neil Armstrong                    3 (0.3%)
   Carlo Caione                      3 (0.3%)
   Loic Devulder                     3 (0.3%)
   Ivan Gorinov                      3 (0.3%)
   Tuomas Tynkkynen                  2 (0.2%)
   Chen-Yu Tsai                      2 (0.2%)
   Stefano Babic                     2 (0.2%)
   Martin Kaiser                     2 (0.2%)
   AKASHI Takahiro                   2 (0.2%)
   Christian Gmeiner                 2 (0.2%)
   Pankaj Bansal                     2 (0.2%)
   Willy Tarreau                     2 (0.2%)
   Mylène Josserand                  2 (0.2%)
   Guillaume GARDET                  2 (0.2%)
   Ashish Kumar                      2 (0.2%)
   Klaus Goger                       2 (0.2%)
   Alexander Kochetkov               2 (0.2%)
   Teddy Reed                        2 (0.2%)
   Fabio Berton                      1 (0.1%)
   Jasper kcoding                    1 (0.1%)
   Kever Yang                        1 (0.1%)
   Praneeth Bajjuri                  1 (0.1%)
   Christian Amann                   1 (0.1%)
   Neil Stainton                     1 (0.1%)
   Beniamino Galvani                 1 (0.1%)
   Ievgen Maliarenko                 1 (0.1%)
   Tom Warren                        1 (0.1%)
   Nicolas Chauvet                   1 (0.1%)
   Pierre-Jean Texier                1 (0.1%)
   Andreas Dannenberg                1 (0.1%)
   Andy Shevchenko                   1 (0.1%)
   Derald D. Woods                   1 (0.1%)
   Eugen Hristev                     1 (0.1%)
   Caliph Nomble                     1 (0.1%)
   Rob Bracero                       1 (0.1%)
   Darwin Dingel                     1 (0.1%)
   Troy Kisky                        1 (0.1%)
   Seung-Woo Kim                     1 (0.1%)
   Joakim Tjernlund                  1 (0.1%)
   Daniel Schwierzeck                1 (0.1%)
   Brendan Shanks                    1 (0.1%)
   Vladimir Vid                      1 (0.1%)
   Stefan Roese                      1 (0.1%)
   Koen Kooi                         1 (0.1%)
   Stefan Mavrodiev                  1 (0.1%)
   Clément Laigle                    1 (0.1%)
   Yannick Fertré                    1 (0.1%)
   Simon Baatz                       1 (0.1%)
   Nicholas Faustini                 1 (0.1%)
   Jens Wiklander                    1 (0.1%)
   Bibek Basu                        1 (0.1%)
   Murali Karicheri                  1 (0.1%)
   Andrew Thomas                     1 (0.1%)
   Jeremy Gebben                     1 (0.1%)
   Alison Wang                       1 (0.1%)
   Breno Lima                        1 (0.1%)
   Paulo Zaneti                      1 (0.1%)
   Zubair Lutfullah Kakakhel         1 (0.1%)
   Kay Potthoff                      1 (0.1%)
   Rafał Miłecki                     1 (0.1%)
   Holger Dengler                    1 (0.1%)
   Mark Jonas                        1 (0.1%)
   Uri Mashiach                      1 (0.1%)
   Jakob Unterwurzacher              1 (0.1%)
   Marek Behún                       1 (0.1%)
   Thomas McKahan                    1 (0.1%)
   Luca Ceresoli                     1 (0.1%)
   Gao Pan                           1 (0.1%)
   Tien Fong Chee                    1 (0.1%)
   Ben Whitten                       1 (0.1%)
   Michael Pratt                     1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Mario Six                         9524 (13.2%)
   Tom Rini                          8252 (11.4%)
   Simon Glass                       5942 (8.2%)
   Andre Przywara                    3869 (5.4%)
   Adam Ford                         3850 (5.3%)
   Jagan Teki                        3167 (4.4%)
   Icenowy Zheng                     2387 (3.3%)
   Siva Durga Prasad Paladugu        2374 (3.3%)
   Patrick Delaunay                  2317 (3.2%)
   Ley Foon Tan                      2240 (3.1%)
   Michal Simek                      1880 (2.6%)
   Marek Vasut                       1831 (2.5%)
   Stefan Agner                      1772 (2.5%)
   Hannes Schmelzer                  1726 (2.4%)
   Ramon Fried                       1468 (2.0%)
   Heinrich Schuchardt               1458 (2.0%)
   Ye Li                             1412 (2.0%)
   Bin Meng                          1374 (1.9%)
   Thomas Fitzsimmons                1353 (1.9%)
   Manivannan Sadhasivam             955 (1.3%)
   Chris Packham                     954 (1.3%)
   Fabrice Gasnier                   727 (1.0%)
   Anson Huang                       639 (0.9%)
   Jean-Jacques Hiblot               584 (0.8%)
   Laurentiu Tudor                   489 (0.7%)
   Luis Araneda                      463 (0.6%)
   Stefan Mavrodiev                  462 (0.6%)
   Joe Hershberger                   428 (0.6%)
   Jon Nettleton                     412 (0.6%)
   Eugeniy Paltsev                   396 (0.5%)
   York Sun                          386 (0.5%)
   Neil Armstrong                    361 (0.5%)
   Sam Protsenko                     356 (0.5%)
   Alexander Graf                    324 (0.4%)
   Baruch Siach                      299 (0.4%)
   Philippe Reynes                   290 (0.4%)
   Fabio Estevam                     273 (0.4%)
   Vipul Kumar                       261 (0.4%)
   Patrice Chotard                   253 (0.4%)
   Thomas McKahan                    252 (0.3%)
   Alberto Panizzo                   250 (0.3%)
   Michael Pratt                     224 (0.3%)
   Ludwig Zenz                       223 (0.3%)
   Masahiro Yamada                   217 (0.3%)
   Shreenidhi Shedi                  210 (0.3%)
   Stephen Warren                    200 (0.3%)
   Yuantian Tang                     181 (0.3%)
   Ran Wang                          179 (0.2%)
   Alex Kiernan                      178 (0.2%)
   Daniel Schwierzeck                166 (0.2%)
   Quentin Schulz                    147 (0.2%)
   Lothar Felten                     138 (0.2%)
   Miquel Raynal                     133 (0.2%)
   Otavio Salvador                   123 (0.2%)
   Simon Goldschmidt                 118 (0.2%)
   Peng Fan                          108 (0.1%)
   Klaus Goger                       108 (0.1%)
   Jagdish Gediya                    98 (0.1%)
   Alexander Kochetkov               95 (0.1%)
   Rob Bracero                       78 (0.1%)
   Philipp Tomsich                   77 (0.1%)
   Grygorii Strashko                 71 (0.1%)
   Luca Ceresoli                     60 (0.1%)
   Lukasz Majewski                   55 (0.1%)
   Teddy Reed                        55 (0.1%)
   Eugeniu Rosca                     52 (0.1%)
   Michael Trimarchi                 51 (0.1%)
   Igor Opaniuk                      50 (0.1%)
   Bibek Basu                        50 (0.1%)
   Yaniv Levinsky                    48 (0.1%)
   Mark Kettenis                     45 (0.1%)
   Christophe Kerello                41 (0.1%)
   Darwin Dingel                     39 (0.1%)
   Paul Burton                       30 (0.0%)
   Yannick Fertré                    29 (0.0%)
   Minkyu Kang                       25 (0.0%)
   Vagrant Cascadian                 24 (0.0%)
   Carlo Caione                      24 (0.0%)
   Alexey Brodkin                    23 (0.0%)
   Ashish Kumar                      22 (0.0%)
   Koen Kooi                         20 (0.0%)
   Nicholas Faustini                 19 (0.0%)
   Tuomas Tynkkynen                  18 (0.0%)
   Kever Yang                        18 (0.0%)
   Ivan Gorinov                      17 (0.0%)
   Jens Wiklander                    15 (0.0%)
   Chen-Yu Tsai                      14 (0.0%)
   Murali Karicheri                  13 (0.0%)
   Beniamino Galvani                 12 (0.0%)
   Caliph Nomble                     12 (0.0%)
   Ben Whitten                       12 (0.0%)
   Loic Devulder                     11 (0.0%)
   Nicolas Chauvet                   10 (0.0%)
   Gao Pan                           10 (0.0%)
   Holger Dengler                    9 (0.0%)
   Martin Kaiser                     8 (0.0%)
   Jeremy Gebben                     8 (0.0%)
   Rafał Miłecki                     8 (0.0%)
   Mark Jonas                        8 (0.0%)
   Adam Sampson                      7 (0.0%)
   Derald D. Woods                   7 (0.0%)
   Uri Mashiach                      7 (0.0%)
   Vinitha V Pillai                  6 (0.0%)
   Pankaj Bansal                     6 (0.0%)
   Guillaume GARDET                  6 (0.0%)
   Tom Warren                        6 (0.0%)
   Eugen Hristev                     6 (0.0%)
   Joakim Tjernlund                  6 (0.0%)
   Stefano Babic                     4 (0.0%)
   AKASHI Takahiro                   4 (0.0%)
   Neil Stainton                     4 (0.0%)
   Andy Shevchenko                   4 (0.0%)
   Willy Tarreau                     3 (0.0%)
   Mylène Josserand                  3 (0.0%)
   Fabio Berton                      3 (0.0%)
   Ievgen Maliarenko                 3 (0.0%)
   Simon Baatz                       3 (0.0%)
   Christian Gmeiner                 2 (0.0%)
   Jasper kcoding                    2 (0.0%)
   Praneeth Bajjuri                  2 (0.0%)
   Christian Amann                   2 (0.0%)
   Troy Kisky                        2 (0.0%)
   Seung-Woo Kim                     2 (0.0%)
   Brendan Shanks                    2 (0.0%)
   Vladimir Vid                      2 (0.0%)
   Zubair Lutfullah Kakakhel         2 (0.0%)
   Jakob Unterwurzacher              2 (0.0%)
   Pierre-Jean Texier                1 (0.0%)
   Andreas Dannenberg                1 (0.0%)
   Stefan Roese                      1 (0.0%)
   Clément Laigle                    1 (0.0%)
   Andrew Thomas                     1 (0.0%)
   Alison Wang                       1 (0.0%)
   Paulo Zaneti                      1 (0.0%)
   Kay Potthoff                      1 (0.0%)
   Marek Behún                       1 (0.0%)
   Tien Fong Chee                    1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          6291 (26.6%)
   Baruch Siach                      228 (1.0%)
   Yuantian Tang                     30 (0.1%)
   Minkyu Kang                       24 (0.1%)
   Kever Yang                        18 (0.1%)
   Lukasz Majewski                   14 (0.1%)
   Ivan Gorinov                      12 (0.1%)
   Beniamino Galvani                 12 (0.1%)
   Tom Warren                        6 (0.0%)
   Ben Whitten                       3 (0.0%)
   Fabio Estevam                     2 (0.0%)
   Yaniv Levinsky                    2 (0.0%)
   Nicholas Faustini                 2 (0.0%)
   Jeremy Gebben                     2 (0.0%)
   Paulo Zaneti                      1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Alexander Graf                    51 (27.1%)
   Michal Simek                      24 (12.8%)
   Stefan Roese                      18 (9.6%)
   Minkyu Kang                       13 (6.9%)
   Chin Liang See                    9 (4.8%)
   Tom Warren                        8 (4.3%)
   Patrice Chotard                   8 (4.3%)
   Otavio Salvador                   8 (4.3%)
   Tom Rini                          7 (3.7%)
   Baruch Siach                      7 (3.7%)
   Alexey Brodkin                    4 (2.1%)
   Vipul Kumar                       3 (1.6%)
   Jagan Teki                        3 (1.6%)
   Philipp Tomsich                   2 (1.1%)
   Peng Fan                          2 (1.1%)
   Fabrice Gasnier                   2 (1.1%)
   Simon Glass                       2 (1.1%)
   Yaniv Levinsky                    1 (0.5%)
   Dave Gerlach                      1 (0.5%)
   Tony Lindgren                     1 (0.5%)
   Kurt Kanzenbach                   1 (0.5%)
   Luka Perkov                       1 (0.5%)
   Anatolij Gustschin                1 (0.5%)
   Sandipan Patra                    1 (0.5%)
   Ruchika Gupta                     1 (0.5%)
   Boris Brezillon                   1 (0.5%)
   AKASHI Takahiro                   1 (0.5%)
   Fabio Berton                      1 (0.5%)
   Eugeniu Rosca                     1 (0.5%)
   Stephen Warren                    1 (0.5%)
   Masahiro Yamada                   1 (0.5%)
   Philippe Reynes                   1 (0.5%)
   Neil Armstrong                    1 (0.5%)
   Siva Durga Prasad Paladugu        1 (0.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       153 (43.0%)
   Jagan Teki                        36 (10.1%)
   York Sun                          32 (9.0%)
   Philipp Tomsich                   15 (4.2%)
   Tom Rini                          12 (3.4%)
   Stephen Warren                    10 (2.8%)
   Joe Hershberger                   8 (2.2%)
   Bharat Bhushan                    7 (2.0%)
   Igor Opaniuk                      7 (2.0%)
   Heinrich Schuchardt               7 (2.0%)
   Andre Przywara                    7 (2.0%)
   Stefan Herbrechtsmeier            6 (1.7%)
   Bin Meng                          6 (1.7%)
   Daniel Schwierzeck                5 (1.4%)
   Fabio Estevam                     4 (1.1%)
   Heiko Schocher                    4 (1.1%)
   Marek Vasut                       4 (1.1%)
   Alexander Graf                    3 (0.8%)
   Dennis Gilmore                    3 (0.8%)
   Christian Gmeiner                 3 (0.8%)
   Anatolij Gustschin                2 (0.6%)
   Lukasz Majewski                   2 (0.6%)
   Vikas Manocha                     2 (0.6%)
   Stefano Babic                     2 (0.6%)
   Michal Simek                      1 (0.3%)
   Stefan Roese                      1 (0.3%)
   Peng Fan                          1 (0.3%)
   Eugeniu Rosca                     1 (0.3%)
   Masahiro Yamada                   1 (0.3%)
   Kever Yang                        1 (0.3%)
   Jonathan Gray                     1 (0.3%)
   Prabhakar Kushwaha                1 (0.3%)
   Horia Geantă                      1 (0.3%)
   Felix Brack                       1 (0.3%)
   Igor Grinberg                     1 (0.3%)
   Vadim Bendebury                   1 (0.3%)
   Tuomas Tynkkynen                  1 (0.3%)
   Simon Goldschmidt                 1 (0.3%)
   Sam Protsenko                     1 (0.3%)
   Hannes Schmelzer                  1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jagan Teki                        32 (39.0%)
   Anand Moon                        8 (9.8%)
   Stephen Warren                    6 (7.3%)
   Chen-Yu Tsai                      6 (7.3%)
   Siva Durga Prasad Paladugu        4 (4.9%)
   Andy Shevchenko                   4 (4.9%)
   Dennis Gilmore                    3 (3.7%)
   Klaus Goger                       3 (3.7%)
   Michal Simek                      2 (2.4%)
   Eugeniu Rosca                     2 (2.4%)
   Heinrich Schuchardt               1 (1.2%)
   Bin Meng                          1 (1.2%)
   Jonathan Gray                     1 (1.2%)
   Tuomas Tynkkynen                  1 (1.2%)
   Kurt Kanzenbach                   1 (1.2%)
   Michael Walle                     1 (1.2%)
   Bryan O'Donoghue                  1 (1.2%)
   Vagrant Cascadian                 1 (1.2%)
   Alex Kiernan                      1 (1.2%)
   Mark Kettenis                     1 (1.2%)
   Patrick Delaunay                  1 (1.2%)
   Stefan Agner                      1 (1.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jagan Teki                        15 (18.3%)
   Icenowy Zheng                     13 (15.9%)
   Lukasz Majewski                   8 (9.8%)
   Lothar Felten                     6 (7.3%)
   Quentin Schulz                    6 (7.3%)
   Bin Meng                          4 (4.9%)
   Andre Przywara                    4 (4.9%)
   Philipp Tomsich                   3 (3.7%)
   Grygorii Strashko                 3 (3.7%)
   Andy Shevchenko                   2 (2.4%)
   Heinrich Schuchardt               2 (2.4%)
   Igor Opaniuk                      2 (2.4%)
   Baruch Siach                      2 (2.4%)
   Klaus Goger                       1 (1.2%)
   Tuomas Tynkkynen                  1 (1.2%)
   Stefan Agner                      1 (1.2%)
   Simon Glass                       1 (1.2%)
   Marek Vasut                       1 (1.2%)
   Yuantian Tang                     1 (1.2%)
   Holger Dengler                    1 (1.2%)
   Darwin Dingel                     1 (1.2%)
   Murali Karicheri                  1 (1.2%)
   Jon Nettleton                     1 (1.2%)
   Anson Huang                       1 (1.2%)
   Chris Packham                     1 (1.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Stefan Herbrechtsmeier            5 (20.8%)
   Tuomas Tynkkynen                  4 (16.7%)
   Tom Rini                          3 (12.5%)
   Marek Vasut                       2 (8.3%)
   Ioana Ciornei                     2 (8.3%)
   Jagan Teki                        1 (4.2%)
   Heinrich Schuchardt               1 (4.2%)
   Eugeniu Rosca                     1 (4.2%)
   Jonathan Gray                     1 (4.2%)
   Mark Kettenis                     1 (4.2%)
   AKASHI Takahiro                   1 (4.2%)
   Mark Olsson                       1 (4.2%)
   ericywl                           1 (4.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Michal Simek                      5 (20.8%)
   Patrice Chotard                   5 (20.8%)
   Tom Rini                          2 (8.3%)
   Heinrich Schuchardt               2 (8.3%)
   Masahiro Yamada                   2 (8.3%)
   Pankaj Bansal                     2 (8.3%)
   Miquel Raynal                     2 (8.3%)
   Tuomas Tynkkynen                  1 (4.2%)
   Andy Shevchenko                   1 (4.2%)
   Igor Opaniuk                      1 (4.2%)
   Fabio Estevam                     1 (4.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         360 (36.6%)
   Google, Inc.                      75 (7.6%)
   AMD                               66 (6.7%)
   NXP                               65 (6.6%)
   DENX Software Engineering         63 (6.4%)
   ST Microelectronics               55 (5.6%)
   Intel                             32 (3.3%)
   Konsulko Group                    29 (3.0%)
   Amarula Solutions                 28 (2.8%)
   National Instruments              24 (2.4%)
   Linaro                            21 (2.1%)
   Xilinx                            20 (2.0%)
   Bootlin                           18 (1.8%)
   Texas Instruments                 17 (1.7%)
   Toradex                           15 (1.5%)
   Guntermann & Drunck               13 (1.3%)
   Socionext Inc.                    12 (1.2%)
   NVidia                            11 (1.1%)
   O.S. Systems                      10 (1.0%)
   ARM                               9 (0.9%)
   Pepperl+Fuchs                     9 (0.9%)
   MIPS                              6 (0.6%)
   CompuLab                          5 (0.5%)
   Debian.org                        4 (0.4%)
   Samsung                           4 (0.4%)
   BayLibre SAS                      3 (0.3%)
   SUSE                              3 (0.3%)
   Bosch                             2 (0.2%)
   Boundary Devices                  1 (0.1%)
   linutronix                        1 (0.1%)
   Oracle                            1 (0.1%)
   Rockchip                          1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         19740 (27.4%)
   Guntermann & Drunck               9524 (13.2%)
   Konsulko Group                    8252 (11.4%)
   Google, Inc.                      5942 (8.2%)
   ARM                               3869 (5.4%)
   NXP                               3586 (5.0%)
   Amarula Solutions                 3468 (4.8%)
   ST Microelectronics               3367 (4.7%)
   Xilinx                            2635 (3.7%)
   Intel                             2262 (3.1%)
   DENX Software Engineering         1891 (2.6%)
   AMD                               1880 (2.6%)
   Toradex                           1772 (2.5%)
   Linaro                            1330 (1.8%)
   Texas Instruments                 671 (0.9%)
   National Instruments              428 (0.6%)
   BayLibre SAS                      361 (0.5%)
   Bootlin                           283 (0.4%)
   NVidia                            256 (0.4%)
   Socionext Inc.                    217 (0.3%)
   O.S. Systems                      126 (0.2%)
   Pepperl+Fuchs                     118 (0.2%)
   CompuLab                          55 (0.1%)
   MIPS                              30 (0.0%)
   Samsung                           27 (0.0%)
   Debian.org                        24 (0.0%)
   Rockchip                          18 (0.0%)
   SUSE                              11 (0.0%)
   Bosch                             10 (0.0%)
   linutronix                        9 (0.0%)
   Boundary Devices                  2 (0.0%)
   Oracle                            1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   SUSE                              51 (27.1%)
   Xilinx                            28 (14.9%)
   DENX Software Engineering         19 (10.1%)
   (Unknown)                         16 (8.5%)
   Samsung                           13 (6.9%)
   ST Microelectronics               10 (5.3%)
   NVidia                            10 (5.3%)
   Intel                             9 (4.8%)
   O.S. Systems                      9 (4.8%)
   Konsulko Group                    7 (3.7%)
   NXP                               3 (1.6%)
   Amarula Solutions                 3 (1.6%)
   Google, Inc.                      2 (1.1%)
   Linaro                            1 (0.5%)
   Texas Instruments                 1 (0.5%)
   BayLibre SAS                      1 (0.5%)
   Bootlin                           1 (0.5%)
   Socionext Inc.                    1 (0.5%)
   CompuLab                          1 (0.5%)
   linutronix                        1 (0.5%)
   Atomide                           1 (0.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         66 (47.5%)
   NXP                               15 (10.8%)
   ST Microelectronics               5 (3.6%)
   Texas Instruments                 5 (3.6%)
   DENX Software Engineering         4 (2.9%)
   Intel                             4 (2.9%)
   Linaro                            4 (2.9%)
   NVidia                            3 (2.2%)
   Amarula Solutions                 3 (2.2%)
   Bootlin                           3 (2.2%)
   Xilinx                            2 (1.4%)
   Samsung                           2 (1.4%)
   O.S. Systems                      2 (1.4%)
   CompuLab                          2 (1.4%)
   Bosch                             2 (1.4%)
   SUSE                              1 (0.7%)
   Konsulko Group                    1 (0.7%)
   Google, Inc.                      1 (0.7%)
   BayLibre SAS                      1 (0.7%)
   Socionext Inc.                    1 (0.7%)
   linutronix                        1 (0.7%)
   Guntermann & Drunck               1 (0.7%)
   ARM                               1 (0.7%)
   AMD                               1 (0.7%)
   Toradex                           1 (0.7%)
   National Instruments              1 (0.7%)
   Pepperl+Fuchs                     1 (0.7%)
   MIPS                              1 (0.7%)
   Debian.org                        1 (0.7%)
   Rockchip                          1 (0.7%)
   Boundary Devices                  1 (0.7%)
   Oracle                            1 (0.7%)
   ================================  =====
