:orphan:

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

* Processed 1375 csets 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%)
   ================================  =====
