:orphan:

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

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