:orphan:

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

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