:orphan:

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

* Processed 977 csets from 128 developers

* 26 employers found

* A total of 72596 lines added, 38379 removed (delta 34217)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Heinrich Schuchardt               101 (10.3%)
   Marek Vasut                       80 (8.2%)
   Michal Simek                      61 (6.2%)
   Jagan Teki                        39 (4.0%)
   Patrick Delaunay                  38 (3.9%)
   Bryan O'Donoghue                  37 (3.8%)
   Eugeniy Paltsev                   36 (3.7%)
   Patrice Chotard                   33 (3.4%)
   Tom Rini                          26 (2.7%)
   Álvaro Fernández Rojas            24 (2.5%)
   Kever Yang                        23 (2.4%)
   Alex Kiernan                      22 (2.3%)
   Bin Meng                          20 (2.0%)
   Miquel Raynal                     20 (2.0%)
   Rick Chen                         20 (2.0%)
   Masahiro Yamada                   18 (1.8%)
   Christophe Leroy                  17 (1.7%)
   Mario Six                         15 (1.5%)
   Andre Przywara                    14 (1.4%)
   Alexander Graf                    14 (1.4%)
   Neil Armstrong                    14 (1.4%)
   Ken Ma                            14 (1.4%)
   Joe Hershberger                   12 (1.2%)
   Calvin Johnson                    12 (1.2%)
   Siva Durga Prasad Paladugu        10 (1.0%)
   Dinh Nguyen                       9 (0.9%)
   Jean-Jacques Hiblot               8 (0.8%)
   Alexey Brodkin                    8 (0.8%)
   yannick fertre                    8 (0.8%)
   Tuomas Tynkkynen                  7 (0.7%)
   Philipp Tomsich                   7 (0.7%)
   Liam Beguin                       7 (0.7%)
   Lukasz Majewski                   6 (0.6%)
   Vignesh R                         6 (0.6%)
   Sam Protsenko                     6 (0.6%)
   Peng Fan                          5 (0.5%)
   Simon Glass                       5 (0.5%)
   Mans Rullgard                     5 (0.5%)
   Chris Packham                     5 (0.5%)
   Alexander Kochetkov               5 (0.5%)
   Vipul Kumar                       5 (0.5%)
   Fabio Estevam                     4 (0.4%)
   Lokesh Vutla                      4 (0.4%)
   Stefan Mavrodiev                  4 (0.4%)
   Stefan Roese                      4 (0.4%)
   Wilson Ding                       4 (0.4%)
   Eran Matityahu                    4 (0.4%)
   Ashish Kumar                      4 (0.4%)
   Adam Ford                         3 (0.3%)
   Christophe Kerello                3 (0.3%)
   Klaus Goger                       3 (0.3%)
   Sjoerd Simons                     3 (0.3%)
   Ivan Gorinov                      3 (0.3%)
   Rasmus Villemoes                  3 (0.3%)
   Petr Vorel                        3 (0.3%)
   Andrew F. Davis                   3 (0.3%)
   Jason Kridner                     3 (0.3%)
   Wenyou Yang                       3 (0.3%)
   Derald D. Woods                   3 (0.3%)
   Peter Robinson                    2 (0.2%)
   Hannes Schmelzer                  2 (0.2%)
   Alexander Dahl                    2 (0.2%)
   Sébastien Szymanski               2 (0.2%)
   Pierre-Jean TEXIER                2 (0.2%)
   Ezequiel Garcia                   2 (0.2%)
   Kunihiko Hayashi                  2 (0.2%)
   Matt Pelland                      2 (0.2%)
   Christian Gmeiner                 2 (0.2%)
   Ye Li                             2 (0.2%)
   Luca Ceresoli                     2 (0.2%)
   Nitin Jain                        2 (0.2%)
   Anton Gerasimov                   2 (0.2%)
   Jonathan Gray                     2 (0.2%)
   Patrick Wildt                     2 (0.2%)
   Andre Heider                      2 (0.2%)
   Mark Kettenis                     2 (0.2%)
   Jörg Krause                       2 (0.2%)
   Sriram Dash                       2 (0.2%)
   Priyanka Jain                     2 (0.2%)
   Punit Agrawal                     2 (0.2%)
   Faiz Abbas                        2 (0.2%)
   Stephen Warren                    2 (0.2%)
   Kyle Evans                        2 (0.2%)
   Madan Srinivas                    2 (0.2%)
   Kelvin Cheung                     1 (0.1%)
   Keerthy                           1 (0.1%)
   Trevor Woerner                    1 (0.1%)
   Jaehoon Chung                     1 (0.1%)
   Eugeniu Rosca                     1 (0.1%)
   Tien Fong Chee                    1 (0.1%)
   Mark Jonas                        1 (0.1%)
   Patrick Uiterwijk                 1 (0.1%)
   Wadim Egorov                      1 (0.1%)
   Sean Nyekjaer                     1 (0.1%)
   Chin Liang See                    1 (0.1%)
   Jon Nettleton                     1 (0.1%)
   Trent Piepho                      1 (0.1%)
   Vanessa Maegima                   1 (0.1%)
   Ian Ray                           1 (0.1%)
   Ken Lin                           1 (0.1%)
   Vasyl Vavrychuk                   1 (0.1%)
   Bradley Bolen                     1 (0.1%)
   Kristian Amlie                    1 (0.1%)
   Guillaume GARDET                  1 (0.1%)
   Javier Martinez Canillas          1 (0.1%)
   Srinivas Goud                     1 (0.1%)
   Jun Nie                           1 (0.1%)
   Hauke Mehrtens                    1 (0.1%)
   Marek Behún                       1 (0.1%)
   Russ Dill                         1 (0.1%)
   Dave Gerlach                      1 (0.1%)
   Tero Kristo                       1 (0.1%)
   Leif Lindholm                     1 (0.1%)
   Andy Yan                          1 (0.1%)
   Igal Liberman                     1 (0.1%)
   Baruch Siach                      1 (0.1%)
   Bernhard Messerklinger            1 (0.1%)
   Nandor Han                        1 (0.1%)
   Anatolij Gustschin                1 (0.1%)
   Shreenidhi Shedi                  1 (0.1%)
   David Lechner                     1 (0.1%)
   Leonid Iziumtsev                  1 (0.1%)
   Prabhakar Kushwaha                1 (0.1%)
   Vinitha V Pillai                  1 (0.1%)
   Philippe CORNU                    1 (0.1%)
   Ruslan Bilovol                    1 (0.1%)
   Samuel Holland                    1 (0.1%)
   Chen-Yu Tsai                      1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          21406 (23.2%)
   Michal Simek                      14398 (15.6%)
   Marek Vasut                       7595 (8.2%)
   Patrick Delaunay                  7363 (8.0%)
   Calvin Johnson                    5104 (5.5%)
   Heinrich Schuchardt               3709 (4.0%)
   yannick fertre                    3448 (3.7%)
   Eugeniy Paltsev                   2605 (2.8%)
   Patrice Chotard                   2026 (2.2%)
   Mario Six                         1692 (1.8%)
   Álvaro Fernández Rojas            1581 (1.7%)
   Jagan Teki                        1533 (1.7%)
   Tuomas Tynkkynen                  1227 (1.3%)
   Neil Armstrong                    1206 (1.3%)
   Simon Glass                       1191 (1.3%)
   Masahiro Yamada                   1161 (1.3%)
   Lukasz Majewski                   979 (1.1%)
   Alexander Kochetkov               913 (1.0%)
   Rick Chen                         786 (0.9%)
   Dinh Nguyen                       769 (0.8%)
   Alex Kiernan                      750 (0.8%)
   Wilson Ding                       746 (0.8%)
   Alexey Brodkin                    727 (0.8%)
   Adam Ford                         605 (0.7%)
   Bin Meng                          517 (0.6%)
   Alexander Graf                    478 (0.5%)
   Stefan Mavrodiev                  432 (0.5%)
   Jean-Jacques Hiblot               431 (0.5%)
   Bryan O'Donoghue                  428 (0.5%)
   Andre Przywara                    415 (0.4%)
   Lokesh Vutla                      386 (0.4%)
   Christophe Leroy                  346 (0.4%)
   Ken Ma                            299 (0.3%)
   Shreenidhi Shedi                  293 (0.3%)
   Wenyou Yang                       276 (0.3%)
   Tero Kristo                       269 (0.3%)
   Stefan Roese                      263 (0.3%)
   Miquel Raynal                     259 (0.3%)
   Liam Beguin                       247 (0.3%)
   Sriram Dash                       245 (0.3%)
   Siva Durga Prasad Paladugu        241 (0.3%)
   Kever Yang                        215 (0.2%)
   Derald D. Woods                   212 (0.2%)
   Vignesh R                         183 (0.2%)
   Stephen Warren                    179 (0.2%)
   Joe Hershberger                   169 (0.2%)
   Ashish Kumar                      160 (0.2%)
   Leif Lindholm                     130 (0.1%)
   Philipp Tomsich                   116 (0.1%)
   Vipul Kumar                       111 (0.1%)
   Fabio Estevam                     105 (0.1%)
   Klaus Goger                       102 (0.1%)
   Chris Packham                     93 (0.1%)
   Ivan Gorinov                      87 (0.1%)
   Sébastien Szymanski               84 (0.1%)
   Sam Protsenko                     83 (0.1%)
   Igal Liberman                     58 (0.1%)
   Madan Srinivas                    53 (0.1%)
   Anton Gerasimov                   51 (0.1%)
   Rasmus Villemoes                  50 (0.1%)
   Jun Nie                           48 (0.1%)
   Kyle Evans                        46 (0.0%)
   Peng Fan                          43 (0.0%)
   Priyanka Jain                     42 (0.0%)
   Christophe Kerello                40 (0.0%)
   Jonathan Gray                     37 (0.0%)
   Petr Vorel                        35 (0.0%)
   Nitin Jain                        34 (0.0%)
   Chin Liang See                    33 (0.0%)
   Eran Matityahu                    32 (0.0%)
   Russ Dill                         30 (0.0%)
   Ian Ray                           29 (0.0%)
   Mans Rullgard                     28 (0.0%)
   Jason Kridner                     27 (0.0%)
   Ye Li                             25 (0.0%)
   Patrick Wildt                     24 (0.0%)
   Mark Kettenis                     20 (0.0%)
   Christian Gmeiner                 18 (0.0%)
   Jörg Krause                       16 (0.0%)
   Prabhakar Kushwaha                15 (0.0%)
   Ruslan Bilovol                    15 (0.0%)
   Hannes Schmelzer                  14 (0.0%)
   Ezequiel Garcia                   14 (0.0%)
   Marek Behún                       14 (0.0%)
   Wadim Egorov                      13 (0.0%)
   Kunihiko Hayashi                  11 (0.0%)
   Matt Pelland                      11 (0.0%)
   Andy Yan                          11 (0.0%)
   Andrew F. Davis                   10 (0.0%)
   Luca Ceresoli                     10 (0.0%)
   Vasyl Vavrychuk                   10 (0.0%)
   Philippe CORNU                    9 (0.0%)
   Keerthy                           8 (0.0%)
   Trent Piepho                      8 (0.0%)
   Vinitha V Pillai                  7 (0.0%)
   Sjoerd Simons                     6 (0.0%)
   Peter Robinson                    5 (0.0%)
   Tien Fong Chee                    5 (0.0%)
   Dave Gerlach                      5 (0.0%)
   Pierre-Jean TEXIER                4 (0.0%)
   Trevor Woerner                    4 (0.0%)
   Jaehoon Chung                     4 (0.0%)
   Eugeniu Rosca                     4 (0.0%)
   Anatolij Gustschin                4 (0.0%)
   Andre Heider                      3 (0.0%)
   Faiz Abbas                        3 (0.0%)
   Mark Jonas                        3 (0.0%)
   Vanessa Maegima                   3 (0.0%)
   Guillaume GARDET                  3 (0.0%)
   Bernhard Messerklinger            3 (0.0%)
   David Lechner                     3 (0.0%)
   Alexander Dahl                    2 (0.0%)
   Punit Agrawal                     2 (0.0%)
   Patrick Uiterwijk                 2 (0.0%)
   Jon Nettleton                     2 (0.0%)
   Ken Lin                           2 (0.0%)
   Javier Martinez Canillas          2 (0.0%)
   Hauke Mehrtens                    2 (0.0%)
   Nandor Han                        2 (0.0%)
   Kelvin Cheung                     1 (0.0%)
   Sean Nyekjaer                     1 (0.0%)
   Bradley Bolen                     1 (0.0%)
   Kristian Amlie                    1 (0.0%)
   Srinivas Goud                     1 (0.0%)
   Baruch Siach                      1 (0.0%)
   Leonid Iziumtsev                  1 (0.0%)
   Samuel Holland                    1 (0.0%)
   Chen-Yu Tsai                      1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          11751 (30.6%)
   Tuomas Tynkkynen                  1197 (3.1%)
   Simon Glass                       1168 (3.0%)
   Alexey Brodkin                    656 (1.7%)
   Stefan Roese                      263 (0.7%)
   Rick Chen                         247 (0.6%)
   Christophe Leroy                  173 (0.5%)
   Chris Packham                     90 (0.2%)
   Fabio Estevam                     73 (0.2%)
   Sébastien Szymanski               39 (0.1%)
   Andre Przywara                    38 (0.1%)
   Anton Gerasimov                   37 (0.1%)
   Marek Behún                       14 (0.0%)
   Ezequiel Garcia                   11 (0.0%)
   Patrick Uiterwijk                 2 (0.0%)
   Guillaume GARDET                  1 (0.0%)
   Bernhard Messerklinger            1 (0.0%)
   Jon Nettleton                     1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Alexander Graf                    67 (29.9%)
   Alexey Brodkin                    28 (12.5%)
   Michal Simek                      26 (11.6%)
   Stefan Roese                      24 (10.7%)
   Maxime Ripard                     22 (9.8%)
   Anjaneyulu Jagarlmudi             10 (4.5%)
   Patrice Chotard                   5 (2.2%)
   Tom Rini                          4 (1.8%)
   Ken Ma                            4 (1.8%)
   Siva Durga Prasad Paladugu        4 (1.8%)
   Keerthy                           3 (1.3%)
   Sebastian Reichel                 2 (0.9%)
   Priyanka Jain                     2 (0.9%)
   Christophe Kerello                2 (0.9%)
   Masahiro Yamada                   2 (0.9%)
   yannick fertre                    2 (0.9%)
   Tuomas Tynkkynen                  1 (0.4%)
   Fabio Estevam                     1 (0.4%)
   Linus Torvalds                    1 (0.4%)
   Nava kishore Manne                1 (0.4%)
   Rob Clark                         1 (0.4%)
   Martin Fuzzey                     1 (0.4%)
   Bhaskar Upadhaya                  1 (0.4%)
   Pratiyush Srivastava              1 (0.4%)
   Christophe Priouzeau              1 (0.4%)
   Anatolij Gustschin                1 (0.4%)
   Peter Robinson                    1 (0.4%)
   Bin Meng                          1 (0.4%)
   Jagan Teki                        1 (0.4%)
   Adam Ford                         1 (0.4%)
   Dinh Nguyen                       1 (0.4%)
   Heinrich Schuchardt               1 (0.4%)
   Calvin Johnson                    1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Philipp Tomsich                   49 (17.0%)
   Simon Glass                       45 (15.6%)
   Fabio Estevam                     32 (11.1%)
   Jagan Teki                        32 (11.1%)
   Tom Rini                          21 (7.3%)
   Bin Meng                          9 (3.1%)
   Duncan Hare                       7 (2.4%)
   Hua Jing                          7 (2.4%)
   Stephen Warren                    7 (2.4%)
   Christian Gmeiner                 6 (2.1%)
   Lokesh Vutla                      6 (2.1%)
   Lukasz Majewski                   6 (2.1%)
   Chris Packham                     5 (1.7%)
   Daniel Schwierzeck                5 (1.7%)
   York Sun                          5 (1.7%)
   Alexander Graf                    4 (1.4%)
   Stefan Roese                      4 (1.4%)
   Stefano Babic                     4 (1.4%)
   Ryan Harkin                       3 (1.0%)
   Petr Vorel                        3 (1.0%)
   Wilson Ding                       3 (1.0%)
   Michal Simek                      2 (0.7%)
   Heinrich Schuchardt               2 (0.7%)
   Andre Przywara                    2 (0.7%)
   Victor Gu                         2 (0.7%)
   Jun Nie                           2 (0.7%)
   Joe Hershberger                   2 (0.7%)
   Masahiro Yamada                   1 (0.3%)
   Heiko Schocher                    1 (0.3%)
   Andy Shevchenko                   1 (0.3%)
   Eric Nelson                       1 (0.3%)
   Felix Brack                       1 (0.3%)
   Kostya Porotchkin                 1 (0.3%)
   Simon Goldschmidt                 1 (0.3%)
   David Lechner                     1 (0.3%)
   Peng Fan                          1 (0.3%)
   Hannes Schmelzer                  1 (0.3%)
   Igal Liberman                     1 (0.3%)
   Jonathan Gray                     1 (0.3%)
   Leif Lindholm                     1 (0.3%)
   Patrick Delaunay                  1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Breno Lima                        23 (37.7%)
   iSoC Platform CI                  9 (14.8%)
   Peng Fan                          5 (8.2%)
   Bin Meng                          2 (3.3%)
   Wilson Ding                       2 (3.3%)
   Peter Robinson                    2 (3.3%)
   Sekhar Nori                       2 (3.3%)
   Klaus Goger                       2 (3.3%)
   Fabio Estevam                     1 (1.6%)
   Jagan Teki                        1 (1.6%)
   Hua Jing                          1 (1.6%)
   Alexander Graf                    1 (1.6%)
   Michal Simek                      1 (1.6%)
   Felix Brack                       1 (1.6%)
   Steve Kipisz                      1 (1.6%)
   Anand Moon                        1 (1.6%)
   Mylène Josserand                  1 (1.6%)
   Vagrant Cascadian                 1 (1.6%)
   Sean Nyekjaer                     1 (1.6%)
   Sam Protsenko                     1 (1.6%)
   Alex Kiernan                      1 (1.6%)
   Jean-Jacques Hiblot               1 (1.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bryan O'Donoghue                  26 (42.6%)
   Ken Ma                            10 (16.4%)
   Tom Rini                          3 (4.9%)
   Lokesh Vutla                      3 (4.9%)
   Rasmus Villemoes                  3 (4.9%)
   Wilson Ding                       2 (3.3%)
   Philipp Tomsich                   2 (3.3%)
   Ruslan Bilovol                    2 (3.3%)
   Alexander Graf                    1 (1.6%)
   Michal Simek                      1 (1.6%)
   Christian Gmeiner                 1 (1.6%)
   Heinrich Schuchardt               1 (1.6%)
   Joe Hershberger                   1 (1.6%)
   David Lechner                     1 (1.6%)
   Trent Piepho                      1 (1.6%)
   Chen-Yu Tsai                      1 (1.6%)
   Jaehoon Chung                     1 (1.6%)
   Mark Kettenis                     1 (1.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Alexander Graf                    3 (18.8%)
   Peter Robinson                    2 (12.5%)
   Sekhar Nori                       2 (12.5%)
   Jean-Jacques Hiblot               2 (12.5%)
   Heinrich Schuchardt               1 (6.2%)
   Vagrant Cascadian                 1 (6.2%)
   Masahiro Yamada                   1 (6.2%)
   Martin Fuzzey                     1 (6.2%)
   James Doublesin                   1 (6.2%)
   Breno Matheus Lima                1 (6.2%)
   Joe Perches                       1 (6.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Michal Simek                      4 (25.0%)
   Neil Armstrong                    3 (18.8%)
   Tom Rini                          2 (12.5%)
   Heinrich Schuchardt               1 (6.2%)
   Bryan O'Donoghue                  1 (6.2%)
   Lokesh Vutla                      1 (6.2%)
   David Lechner                     1 (6.2%)
   Fabio Estevam                     1 (6.2%)
   Keerthy                           1 (6.2%)
   Mario Six                         1 (6.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         399 (40.8%)
   DENX Software Engineering         91 (9.3%)
   ST Microelectronics               83 (8.5%)
   AMD                               61 (6.2%)
   Linaro                            45 (4.6%)
   NXP                               34 (3.5%)
   Amarula Solutions                 30 (3.1%)
   Texas Instruments                 30 (3.1%)
   Konsulko Group                    26 (2.7%)
   Rockchip                          24 (2.5%)
   Bootlin                           20 (2.0%)
   Socionext Inc.                    20 (2.0%)
   Marvell                           19 (1.9%)
   Xilinx                            18 (1.8%)
   ARM                               16 (1.6%)
   Guntermann & Drunck               15 (1.5%)
   BayLibre SAS                      14 (1.4%)
   National Instruments              12 (1.2%)
   Google, Inc.                      5 (0.5%)
   Intel                             5 (0.5%)
   Collabora Ltd.                    3 (0.3%)
   General Electric                  2 (0.2%)
   NVidia                            2 (0.2%)
   Bosch                             1 (0.1%)
   Phytec                            1 (0.1%)
   Samsung                           1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Konsulko Group                    21406 (23.2%)
   (Unknown)                         17700 (19.1%)
   AMD                               14398 (15.6%)
   ST Microelectronics               12886 (13.9%)
   DENX Software Engineering         8841 (9.6%)
   NXP                               5749 (6.2%)
   Guntermann & Drunck               1692 (1.8%)
   Texas Instruments                 1381 (1.5%)
   Amarula Solutions                 1227 (1.3%)
   BayLibre SAS                      1206 (1.3%)
   Google, Inc.                      1191 (1.3%)
   Socionext Inc.                    1172 (1.3%)
   Marvell                           1103 (1.2%)
   Linaro                            689 (0.7%)
   ARM                               417 (0.5%)
   Xilinx                            387 (0.4%)
   Bootlin                           259 (0.3%)
   Rockchip                          226 (0.2%)
   NVidia                            179 (0.2%)
   National Instruments              169 (0.2%)
   Intel                             125 (0.1%)
   General Electric                  31 (0.0%)
   Phytec                            13 (0.0%)
   Collabora Ltd.                    6 (0.0%)
   Samsung                           4 (0.0%)
   Bosch                             3 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   SUSE                              67 (29.9%)
   (Unknown)                         36 (16.1%)
   Xilinx                            31 (13.8%)
   DENX Software Engineering         25 (11.2%)
   Bootlin                           22 (9.8%)
   NXP                               16 (7.1%)
   ST Microelectronics               10 (4.5%)
   Konsulko Group                    4 (1.8%)
   Marvell                           4 (1.8%)
   Texas Instruments                 3 (1.3%)
   Socionext Inc.                    2 (0.9%)
   Collabora Ltd.                    2 (0.9%)
   Amarula Solutions                 1 (0.4%)
   Linux Foundation                  1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         65 (50.0%)
   Texas Instruments                 11 (8.5%)
   NXP                               10 (7.7%)
   ST Microelectronics               5 (3.8%)
   Xilinx                            4 (3.1%)
   DENX Software Engineering         4 (3.1%)
   Linaro                            4 (3.1%)
   Marvell                           3 (2.3%)
   Intel                             3 (2.3%)
   Socionext Inc.                    2 (1.5%)
   ARM                               2 (1.5%)
   Rockchip                          2 (1.5%)
   General Electric                  2 (1.5%)
   Bootlin                           1 (0.8%)
   Konsulko Group                    1 (0.8%)
   Collabora Ltd.                    1 (0.8%)
   Amarula Solutions                 1 (0.8%)
   AMD                               1 (0.8%)
   Guntermann & Drunck               1 (0.8%)
   BayLibre SAS                      1 (0.8%)
   Google, Inc.                      1 (0.8%)
   NVidia                            1 (0.8%)
   National Instruments              1 (0.8%)
   Phytec                            1 (0.8%)
   Samsung                           1 (0.8%)
   Bosch                             1 (0.8%)
   ================================  =====
