:orphan:

Release Statistics for U-Boot v2016.03
======================================

* Processed 1375 changesets from 126 developers

* 26 employers found

* A total of 83087 lines added, 24746 removed (delta 58341)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       309 (22.5%)
   Masahiro Yamada                   113 (8.2%)
   Bin Meng                          95 (6.9%)
   Michal Simek                      95 (6.9%)
   Stephen Warren                    81 (5.9%)
   Mugunthan V N                     50 (3.6%)
   Stefan Roese                      45 (3.3%)
   Peng Fan                          33 (2.4%)
   Tom Rini                          29 (2.1%)
   Jagan Teki                        25 (1.8%)
   Marek Vasut                       24 (1.7%)
   Ricardo Ribalda                   23 (1.7%)
   Wenyou Yang                       19 (1.4%)
   Daniel Schwierzeck                18 (1.3%)
   Purna Chandra Mandal              14 (1.0%)
   Prabhakar Kushwaha                14 (1.0%)
   Siva Durga Prasad Paladugu        13 (0.9%)
   Fabio Estevam                     12 (0.9%)
   Aneesh Bansal                     12 (0.9%)
   Miao Yan                          12 (0.9%)
   Nikita Kiryanov                   11 (0.8%)
   Adam Ford                         11 (0.8%)
   Bhuvanchandra DV                  10 (0.7%)
   Sergey Temerkhanov                10 (0.7%)
   Phil Sutter                       10 (0.7%)
   David Müller (ELSOFT AG)          9 (0.7%)
   Gong Qianyu                       9 (0.7%)
   Chen-Yu Tsai                      9 (0.7%)
   Qianyu Gong                       7 (0.5%)
   Christophe Ricard                 7 (0.5%)
   Ye.Li                             7 (0.5%)
   Andreas Fenkart                   7 (0.5%)
   Ladislav Michl                    7 (0.5%)
   Stefan Brüns                      7 (0.5%)
   Lubomir Rintel                    6 (0.4%)
   Vikas Manocha                     6 (0.4%)
   Hans de Goede                     6 (0.4%)
   Alexey Brodkin                    6 (0.4%)
   Mateusz Kulikowski                6 (0.4%)
   Jeffy Chen                        5 (0.4%)
   Dinh Nguyen                       5 (0.4%)
   Alexandre Messier                 5 (0.4%)
   Hannes Schmelzer                  5 (0.4%)
   Andreas Bießmann                  5 (0.4%)
   Nathan Rossi                      5 (0.4%)
   Josh Wu                           5 (0.4%)
   Shaohui Xie                       5 (0.4%)
   Codrin Ciubotariu                 5 (0.4%)
   Vladimir Zapolskiy                5 (0.4%)
   Paul Kocialkowski                 4 (0.3%)
   Alison Wang                       4 (0.3%)
   Albert ARIBAUD                    4 (0.3%)
   Zhao Qiang                        4 (0.3%)
   Shengzhou Liu                     4 (0.3%)
   Thomas Chou                       4 (0.3%)
   Paul Burton                       4 (0.3%)
   Vishnu Patekar                    4 (0.3%)
   Pratiyush Mohan Srivastava        4 (0.3%)
   Derald D. Woods                   3 (0.2%)
   Soeren Moch                       3 (0.2%)
   Yangbo Lu                         3 (0.2%)
   Heiko Schocher                    3 (0.2%)
   Jelle van der Waa                 3 (0.2%)
   Julien CORJON                     3 (0.2%)
   Gregory CLEMENT                   3 (0.2%)
   Vignesh R                         3 (0.2%)
   Kevin Smith                       3 (0.2%)
   Ashish kumar                      3 (0.2%)
   Lin Huang                         2 (0.1%)
   Stanislav Galabov                 2 (0.1%)
   Sam Protsenko                     2 (0.1%)
   York Sun                          2 (0.1%)
   Steve Rae                         2 (0.1%)
   Łukasz Majewski                   2 (0.1%)
   Vishwas Srivastava                2 (0.1%)
   Clemens Gruber                    2 (0.1%)
   Florian Fainelli                  2 (0.1%)
   Wenbin Song                       2 (0.1%)
   Michael van Slingerland           2 (0.1%)
   Ying Zhang                        2 (0.1%)
   Sanchayan Maity                   2 (0.1%)
   Robert P. J. Day                  2 (0.1%)
   Lokesh Vutla                      1 (0.1%)
   Anand Moon                        1 (0.1%)
   Chris Zhong                       1 (0.1%)
   FUKAUMI Naoki                     1 (0.1%)
   Vagrant Cascadian                 1 (0.1%)
   Matthias Schiffer                 1 (0.1%)
   Alexander Graf                    1 (0.1%)
   Yuichiro Goto                     1 (0.1%)
   Karsten Merker                    1 (0.1%)
   William Cohen                     1 (0.1%)
   Mingkai Hu                        1 (0.1%)
   Ruchika Gupta                     1 (0.1%)
   Ashish Kumar                      1 (0.1%)
   Jason Wu                          1 (0.1%)
   Ulises Cardenas                   1 (0.1%)
   Guillaume GARDET                  1 (0.1%)
   Samuel Mescoff                    1 (0.1%)
   Matthias Michel                   1 (0.1%)
   Roger Meier                       1 (0.1%)
   Eddy Petrișor                     1 (0.1%)
   Anatolij Gustschin                1 (0.1%)
   Frank Wang                        1 (0.1%)
   Peter Robinson                    1 (0.1%)
   Andrei Pistirica                  1 (0.1%)
   Paul Thacker                      1 (0.1%)
   Wang Dongsheng                    1 (0.1%)
   Sascha Hauer                      1 (0.1%)
   Stefan Agner                      1 (0.1%)
   Soren Brinkmann                   1 (0.1%)
   Punnaiah Choudary Kalluri         1 (0.1%)
   Ed Swarthout                      1 (0.1%)
   Tang Yuantian                     1 (0.1%)
   Andreas Neubacher                 1 (0.1%)
   Ted Chen                          1 (0.1%)
   rick                              1 (0.1%)
   Oscar Curero                      1 (0.1%)
   Robert Nelson                     1 (0.1%)
   Enric Balletbò i Serra            1 (0.1%)
   Erik Tideman                      1 (0.1%)
   Dalon Westergreen                 1 (0.1%)
   Ben Whitten                       1 (0.1%)
   Tor Krill                         1 (0.1%)
   Marco Schuster                    1 (0.1%)
   Stefan Monnier                    1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       28854 (31.8%)
   Masahiro Yamada                   6517 (7.2%)
   Bin Meng                          6203 (6.8%)
   Stephen Warren                    5173 (5.7%)
   Stefan Roese                      3598 (4.0%)
   Purna Chandra Mandal              3361 (3.7%)
   Ted Chen                          3081 (3.4%)
   Daniel Schwierzeck                2441 (2.7%)
   Tom Rini                          2418 (2.7%)
   Peng Fan                          1743 (1.9%)
   Mugunthan V N                     1638 (1.8%)
   Sergey Temerkhanov                1618 (1.8%)
   Marek Vasut                       1576 (1.7%)
   Michal Simek                      1438 (1.6%)
   Christophe Ricard                 1269 (1.4%)
   Aneesh Bansal                     1228 (1.4%)
   Siva Durga Prasad Paladugu        1219 (1.3%)
   Wenyou Yang                       1166 (1.3%)
   Vikas Manocha                     1095 (1.2%)
   Phil Sutter                       1070 (1.2%)
   Tor Krill                         1046 (1.2%)
   Ye.Li                             1026 (1.1%)
   Miao Yan                          996 (1.1%)
   Prabhakar Kushwaha                831 (0.9%)
   Heiko Schocher                    750 (0.8%)
   Ricardo Ribalda                   686 (0.8%)
   Adam Ford                         604 (0.7%)
   Codrin Ciubotariu                 480 (0.5%)
   Gregory CLEMENT                   442 (0.5%)
   Paul Kocialkowski                 397 (0.4%)
   David Müller (ELSOFT AG)          341 (0.4%)
   Andreas Fenkart                   317 (0.3%)
   Bhuvanchandra DV                  287 (0.3%)
   Nikita Kiryanov                   278 (0.3%)
   Qianyu Gong                       271 (0.3%)
   Jagan Teki                        261 (0.3%)
   Chen-Yu Tsai                      243 (0.3%)
   Stefan Brüns                      225 (0.2%)
   Paul Thacker                      219 (0.2%)
   Albert ARIBAUD                    216 (0.2%)
   Derald D. Woods                   211 (0.2%)
   Jelle van der Waa                 208 (0.2%)
   Mateusz Kulikowski                195 (0.2%)
   Alexey Brodkin                    190 (0.2%)
   Thomas Chou                       188 (0.2%)
   Vladimir Zapolskiy                181 (0.2%)
   Gong Qianyu                       179 (0.2%)
   Vishnu Patekar                    175 (0.2%)
   Dinh Nguyen                       173 (0.2%)
   Alison Wang                       139 (0.2%)
   Hannes Schmelzer                  138 (0.2%)
   Roger Meier                       129 (0.1%)
   Wenbin Song                       108 (0.1%)
   Shaohui Xie                       99 (0.1%)
   Jeffy Chen                        95 (0.1%)
   Paul Burton                       86 (0.1%)
   Josh Wu                           81 (0.1%)
   Zhao Qiang                        81 (0.1%)
   Ben Whitten                       75 (0.1%)
   Hans de Goede                     73 (0.1%)
   Andrei Pistirica                  72 (0.1%)
   Fabio Estevam                     64 (0.1%)
   Stanislav Galabov                 61 (0.1%)
   Lubomir Rintel                    60 (0.1%)
   Ulises Cardenas                   59 (0.1%)
   York Sun                          57 (0.1%)
   Łukasz Majewski                   49 (0.1%)
   Soeren Moch                       47 (0.1%)
   Dalon Westergreen                 45 (0.0%)
   Florian Fainelli                  44 (0.0%)
   Alexandre Messier                 42 (0.0%)
   Shengzhou Liu                     41 (0.0%)
   Ying Zhang                        39 (0.0%)
   Ladislav Michl                    34 (0.0%)
   Ashish kumar                      30 (0.0%)
   Nathan Rossi                      29 (0.0%)
   Vignesh R                         29 (0.0%)
   Sam Protsenko                     26 (0.0%)
   Robert P. J. Day                  26 (0.0%)
   Eddy Petrișor                     26 (0.0%)
   Steve Rae                         25 (0.0%)
   Michael van Slingerland           25 (0.0%)
   Julien CORJON                     24 (0.0%)
   Andreas Neubacher                 24 (0.0%)
   Stefan Monnier                    21 (0.0%)
   Mingkai Hu                        20 (0.0%)
   Andreas Bießmann                  18 (0.0%)
   Ruchika Gupta                     18 (0.0%)
   Anatolij Gustschin                16 (0.0%)
   rick                              16 (0.0%)
   Sanchayan Maity                   15 (0.0%)
   Matthias Michel                   14 (0.0%)
   Wang Dongsheng                    14 (0.0%)
   Yangbo Lu                         13 (0.0%)
   Clemens Gruber                    13 (0.0%)
   Samuel Mescoff                    13 (0.0%)
   Kevin Smith                       12 (0.0%)
   Robert Nelson                     12 (0.0%)
   Pratiyush Mohan Srivastava        11 (0.0%)
   Erik Tideman                      10 (0.0%)
   Stefan Agner                      9 (0.0%)
   Lokesh Vutla                      7 (0.0%)
   Chris Zhong                       7 (0.0%)
   Yuichiro Goto                     7 (0.0%)
   Karsten Merker                    7 (0.0%)
   Vishwas Srivastava                5 (0.0%)
   Sascha Hauer                      5 (0.0%)
   Tang Yuantian                     5 (0.0%)
   Lin Huang                         3 (0.0%)
   Oscar Curero                      3 (0.0%)
   Enric Balletbò i Serra            3 (0.0%)
   Alexander Graf                    2 (0.0%)
   William Cohen                     2 (0.0%)
   Ashish Kumar                      2 (0.0%)
   Jason Wu                          2 (0.0%)
   Frank Wang                        2 (0.0%)
   Soren Brinkmann                   2 (0.0%)
   Marco Schuster                    2 (0.0%)
   Anand Moon                        1 (0.0%)
   FUKAUMI Naoki                     1 (0.0%)
   Vagrant Cascadian                 1 (0.0%)
   Matthias Schiffer                 1 (0.0%)
   Guillaume GARDET                  1 (0.0%)
   Peter Robinson                    1 (0.0%)
   Punnaiah Choudary Kalluri         1 (0.0%)
   Ed Swarthout                      1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          1516 (6.1%)
   Ricardo Ribalda                   410 (1.7%)
   David Müller (ELSOFT AG)          315 (1.3%)
   Roger Meier                       41 (0.2%)
   Bhuvanchandra DV                  40 (0.2%)
   Paul Burton                       36 (0.1%)
   Steve Rae                         20 (0.1%)
   Mateusz Kulikowski                13 (0.1%)
   Fabio Estevam                     13 (0.1%)
   Kevin Smith                       7 (0.0%)
   Stefan Agner                      7 (0.0%)
   Paul Kocialkowski                 6 (0.0%)
   Ladislav Michl                    5 (0.0%)
   Eddy Petrișor                     5 (0.0%)
   Alexander Graf                    2 (0.0%)
   Marco Schuster                    2 (0.0%)
   Pratiyush Mohan Srivastava        1 (0.0%)
   Jason Wu                          1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Michal Simek                      41 (21.1%)
   Tom Warren                        27 (13.9%)
   Ricardo Ribalda Delgado           23 (11.9%)
   Hans de Goede                     18 (9.3%)
   Radha Mohan Chintakuntla          10 (5.2%)
   Anatolij Gustschin                10 (5.2%)
   Ye.Li                             10 (5.2%)
   Andreas Bießmann                  7 (3.6%)
   Saksham Jain                      5 (2.6%)
   Tom Rini                          3 (1.5%)
   Derald D. Woods                   3 (1.5%)
   Alexey Brodkin                    3 (1.5%)
   Wenyou Yang                       3 (1.5%)
   Purna Chandra Mandal              3 (1.5%)
   Scott Wood                        2 (1.0%)
   Itai Katz                         2 (1.0%)
   Emil Lenchak                      2 (1.0%)
   Jagan Teki                        2 (1.0%)
   Heiko Schocher                    2 (1.0%)
   Peng Fan                          2 (1.0%)
   Minkyu Kang                       1 (0.5%)
   Sandeep Sheriker Mallikarjun      1 (0.5%)
   Michal Marek                      1 (0.5%)
   Enric Balletbo i Serra            1 (0.5%)
   Ravi Babu                         1 (0.5%)
   Corey Minyard                     1 (0.5%)
   Wills Wang                        1 (0.5%)
   Ruchika Gupta                     1 (0.5%)
   Mingkai Hu                        1 (0.5%)
   Jeffy Chen                        1 (0.5%)
   Paul Thacker                      1 (0.5%)
   Daniel Schwierzeck                1 (0.5%)
   Stefan Roese                      1 (0.5%)
   Stephen Warren                    1 (0.5%)
   Bin Meng                          1 (0.5%)
   Simon Glass                       1 (0.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          181 (25.6%)
   Tom Rini                          156 (22.1%)
   Simon Glass                       132 (18.7%)
   York Sun                          74 (10.5%)
   Jagan Teki                        36 (5.1%)
   Andreas Bießmann                  27 (3.8%)
   Michal Simek                      22 (3.1%)
   Heiko Schocher                    15 (2.1%)
   Daniel Schwierzeck                11 (1.6%)
   Stephen Warren                    7 (1.0%)
   Thomas Chou                       6 (0.8%)
   Stefan Roese                      5 (0.7%)
   Moritz Fischer                    5 (0.7%)
   Stefano Babic                     5 (0.7%)
   Alison Wang                       3 (0.4%)
   Marek Vasut                       3 (0.4%)
   Peng Fan                          2 (0.3%)
   Joe Hershberger                   2 (0.3%)
   Masahiro Yamada                   2 (0.3%)
   Wenyou Yang                       1 (0.1%)
   Purna Chandra Mandal              1 (0.1%)
   Minkyu Kang                       1 (0.1%)
   Roger Meier                       1 (0.1%)
   Soren Brinkmann                   1 (0.1%)
   Samuel Egli                       1 (0.1%)
   Wolfgang Denk                     1 (0.1%)
   Edgar E. Iglesias                 1 (0.1%)
   Eric Nelson                       1 (0.1%)
   Chin Liang See                    1 (0.1%)
   Anand Moon                        1 (0.1%)
   Łukasz Majewski                   1 (0.1%)
   Mugunthan V N                     1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       41 (26.8%)
   Bin Meng                          34 (22.2%)
   Jagan Teki                        19 (12.4%)
   Heiko Schocher                    16 (10.5%)
   Stephen Warren                    13 (8.5%)
   Mugunthan V N                     10 (6.5%)
   Tom Rini                          2 (1.3%)
   Hannes Schmelzer                  2 (1.3%)
   Andreas Bießmann                  1 (0.7%)
   Michal Simek                      1 (0.7%)
   Daniel Schwierzeck                1 (0.7%)
   Alison Wang                       1 (0.7%)
   Marek Vasut                       1 (0.7%)
   Anand Moon                        1 (0.7%)
   Bhuvanchandra DV                  1 (0.7%)
   Steve Rae                         1 (0.7%)
   Mateusz Kulikowski                1 (0.7%)
   Vagrant Cascadian                 1 (0.7%)
   Siarhei Siamashka                 1 (0.7%)
   Matthias Weisser                  1 (0.7%)
   Sylvain Lemieux                   1 (0.7%)
   Alexandre Messier                 1 (0.7%)
   Soeren Moch                       1 (0.7%)
   Miao Yan                          1 (0.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          41 (26.8%)
   Jagan Teki                        35 (22.9%)
   Simon Glass                       29 (19.0%)
   Wenyou Yang                       15 (9.8%)
   Miao Yan                          8 (5.2%)
   Stephen Warren                    5 (3.3%)
   Masahiro Yamada                   2 (1.3%)
   Łukasz Majewski                   2 (1.3%)
   Lubomir Rintel                    2 (1.3%)
   Gregory CLEMENT                   2 (1.3%)
   Heiko Schocher                    1 (0.7%)
   Mateusz Kulikowski                1 (0.7%)
   Stefan Roese                      1 (0.7%)
   Roger Meier                       1 (0.7%)
   Anatolij Gustschin                1 (0.7%)
   Frank Wang                        1 (0.7%)
   FUKAUMI Naoki                     1 (0.7%)
   Lin Huang                         1 (0.7%)
   Vladimir Zapolskiy                1 (0.7%)
   Albert ARIBAUD                    1 (0.7%)
   Jelle van der Waa                 1 (0.7%)
   Sergey Temerkhanov                1 (0.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          1 (9.1%)
   Tom Rini                          1 (9.1%)
   Alexandre Messier                 1 (9.1%)
   Soeren Moch                       1 (9.1%)
   Alex Gdalevich                    1 (9.1%)
   David Glessner                    1 (9.1%)
   Chris Kohn                        1 (9.1%)
   Sai Pavan Boddu                   1 (9.1%)
   Behan Webster                     1 (9.1%)
   Anton Blanchard                   1 (9.1%)
   Santhosh Kumar Janardhanam        1 (9.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Michal Simek                      3 (27.3%)
   Tom Rini                          2 (18.2%)
   Jagan Teki                        1 (9.1%)
   Simon Glass                       1 (9.1%)
   Łukasz Majewski                   1 (9.1%)
   Anatolij Gustschin                1 (9.1%)
   Vladimir Zapolskiy                1 (9.1%)
   Sanchayan Maity                   1 (9.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         378 (27.5%)
   Google, Inc.                      309 (22.5%)
   NXP                               130 (9.5%)
   Socionext Inc.                    113 (8.2%)
   AMD                               84 (6.1%)
   DENX Software Engineering         73 (5.3%)
   NVidia                            67 (4.9%)
   Texas Instruments                 54 (3.9%)
   Konsulko Group                    29 (2.1%)
   Xilinx                            26 (1.9%)
   Openedev                          25 (1.8%)
   Atmel                             24 (1.7%)
   Toradex                           12 (0.9%)
   CompuLab                          11 (0.8%)
   Rockchip                          9 (0.7%)
   Red Hat                           7 (0.5%)
   ST Microelectronics               6 (0.4%)
   MIPS                              4 (0.3%)
   Free Electrons                    3 (0.2%)
   Broadcom                          2 (0.1%)
   Debian.org                        2 (0.1%)
   Linaro                            2 (0.1%)
   Samsung                           2 (0.1%)
   Excito Elektronik                 1 (0.1%)
   Pengutronix                       1 (0.1%)
   Siemens                           1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Google, Inc.                      28854 (31.8%)
   (Unknown)                         28744 (31.7%)
   Socionext Inc.                    6517 (7.2%)
   NXP                               6086 (6.7%)
   DENX Software Engineering         5940 (6.5%)
   NVidia                            2764 (3.0%)
   Konsulko Group                    2418 (2.7%)
   Texas Instruments                 1674 (1.8%)
   AMD                               1380 (1.5%)
   Xilinx                            1280 (1.4%)
   Atmel                             1247 (1.4%)
   ST Microelectronics               1095 (1.2%)
   Excito Elektronik                 1046 (1.2%)
   Free Electrons                    442 (0.5%)
   Toradex                           302 (0.3%)
   CompuLab                          278 (0.3%)
   Openedev                          261 (0.3%)
   Rockchip                          107 (0.1%)
   MIPS                              86 (0.1%)
   Red Hat                           75 (0.1%)
   Samsung                           49 (0.1%)
   Linaro                            26 (0.0%)
   Broadcom                          25 (0.0%)
   Siemens                           14 (0.0%)
   Debian.org                        8 (0.0%)
   Pengutronix                       5 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         56 (28.9%)
   Xilinx                            43 (22.2%)
   NVidia                            28 (14.4%)
   NXP                               21 (10.8%)
   Red Hat                           18 (9.3%)
   DENX Software Engineering         13 (6.7%)
   Konsulko Group                    3 (1.5%)
   Atmel                             3 (1.5%)
   Openedev                          2 (1.0%)
   Google, Inc.                      1 (0.5%)
   Texas Instruments                 1 (0.5%)
   Rockchip                          1 (0.5%)
   Samsung                           1 (0.5%)
   Collabora Ltd.                    1 (0.5%)
   MontaVista                        1 (0.5%)
   Novell                            1 (0.5%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         65 (50.4%)
   NXP                               25 (19.4%)
   Xilinx                            4 (3.1%)
   DENX Software Engineering         4 (3.1%)
   Rockchip                          4 (3.1%)
   Texas Instruments                 3 (2.3%)
   Red Hat                           2 (1.6%)
   Atmel                             2 (1.6%)
   Toradex                           2 (1.6%)
   Debian.org                        2 (1.6%)
   NVidia                            1 (0.8%)
   Konsulko Group                    1 (0.8%)
   Openedev                          1 (0.8%)
   Google, Inc.                      1 (0.8%)
   Samsung                           1 (0.8%)
   Socionext Inc.                    1 (0.8%)
   AMD                               1 (0.8%)
   ST Microelectronics               1 (0.8%)
   Excito Elektronik                 1 (0.8%)
   Free Electrons                    1 (0.8%)
   CompuLab                          1 (0.8%)
   MIPS                              1 (0.8%)
   Linaro                            1 (0.8%)
   Broadcom                          1 (0.8%)
   Siemens                           1 (0.8%)
   Pengutronix                       1 (0.8%)
   ================================  =====
