:orphan:

Release Statistics for U-Boot v2017.01
======================================

* Processed 883 csets from 137 developers

* 29 employers found

* A total of 112574 lines added, 72846 removed (delta 39728)

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

   ================================  =====
   Name                              Count
   ================================  =====
   York Sun                          134 (15.2%)
   Simon Glass                       73 (8.3%)
   Jagan Teki                        68 (7.7%)
   Michal Simek                      54 (6.1%)
   Vladimir Zapolskiy                24 (2.7%)
   Peng Fan                          23 (2.6%)
   Stefan Roese                      20 (2.3%)
   Lokesh Vutla                      20 (2.3%)
   Tom Rini                          19 (2.2%)
   Fabien Parent                     19 (2.2%)
   Alexander Graf                    18 (2.0%)
   Masahiro Yamada                   16 (1.8%)
   Marcel Ziswiler                   14 (1.6%)
   Andrew F. Davis                   12 (1.4%)
   Mugunthan V N                     12 (1.4%)
   Marek Vasut                       11 (1.2%)
   Breno Lima                        11 (1.2%)
   Phil Edworthy                     11 (1.2%)
   Konstantin Porotchkin             10 (1.1%)
   Stefan Agner                      10 (1.1%)
   Priyanka Jain                     10 (1.1%)
   Stefan Brüns                      9 (1.0%)
   Andre Przywara                    9 (1.0%)
   Daniel Schwierzeck                9 (1.0%)
   Fabian Vogt                       9 (1.0%)
   Semen Protsenko                   9 (1.0%)
   Nishanth Menon                    8 (0.9%)
   Siva Durga Prasad Paladugu        8 (0.9%)
   Keerthy                           7 (0.8%)
   Fabio Estevam                     6 (0.7%)
   Sven Ebenfeld                     6 (0.7%)
   Jaehoon Chung                     6 (0.7%)
   Chris Packham                     6 (0.7%)
   Max Krummenacher                  6 (0.7%)
   Hongbo Zhang                      6 (0.7%)
   Eric Nelson                       6 (0.7%)
   Vignesh R                         5 (0.6%)
   Adam Ford                         5 (0.6%)
   Kever Yang                        5 (0.6%)
   Shengzhou Liu                     5 (0.6%)
   Yuan Yao                          5 (0.6%)
   Walt Feasel                       5 (0.6%)
   Nathan Rossi                      4 (0.5%)
   shaohui xie                       4 (0.5%)
   Tomas Melin                       4 (0.5%)
   Maxime Ripard                     4 (0.5%)
   Andrew Duda                       4 (0.5%)
   Filip Drazic                      4 (0.5%)
   Dmitry Lifshitz                   3 (0.3%)
   Emmanuel Vadot                    3 (0.3%)
   Bin Meng                          3 (0.3%)
   Marcin Niestroj                   3 (0.3%)
   Hou Zhiqiang                      3 (0.3%)
   Olliver Schinagl                  3 (0.3%)
   Yegor Yefremov                    3 (0.3%)
   Yann E. MORIN                     3 (0.3%)
   Andreas Färber                    3 (0.3%)
   Alison Wang                       3 (0.3%)
   Kedareswara rao Appana            3 (0.3%)
   Naga Sureshkumar Relli            3 (0.3%)
   Mike Looijmans                    3 (0.3%)
   Robert P. J. Day                  2 (0.2%)
   Jean-Jacques Hiblot               2 (0.2%)
   Jonathan Gray                     2 (0.2%)
   Moritz Fischer                    2 (0.2%)
   Sanchayan Maity                   2 (0.2%)
   Stefano Babic                     2 (0.2%)
   Łukasz Majewski                   2 (0.2%)
   Suman Anna                        2 (0.2%)
   Harinarayan Bhatta                2 (0.2%)
   Sekhar Nori                       2 (0.2%)
   Paul Burton                       2 (0.2%)
   Christoph Fritz                   2 (0.2%)
   Cédric Schieli                    2 (0.2%)
   Heiko Schocher                    2 (0.2%)
   Bharat Kumar Gogada               2 (0.2%)
   Ladislav Michl                    1 (0.1%)
   Misha Komarovskiy                 1 (0.1%)
   Stephen Warren                    1 (0.1%)
   Uri Mashiach                      1 (0.1%)
   Kevin Hilman                      1 (0.1%)
   George McCollister                1 (0.1%)
   Baruch Siach                      1 (0.1%)
   Ajay Bhargav                      1 (0.1%)
   Philipp Skadorov                  1 (0.1%)
   Zakharov Vlad                     1 (0.1%)
   Icenowy Zheng                     1 (0.1%)
   Bradley Bolen                     1 (0.1%)
   Patrick Bruenn                    1 (0.1%)
   Ye.Li                             1 (0.1%)
   Cyrille Pitchen                   1 (0.1%)
   Jyri Sarha                        1 (0.1%)
   Christian Riesch                  1 (0.1%)
   Yehuda Yitschak                   1 (0.1%)
   Patrick Delaunay                  1 (0.1%)
   Alex                              1 (0.1%)
   Dinh Nguyen                       1 (0.1%)
   Bill Randle                       1 (0.1%)
   Anatolij Gustschin                1 (0.1%)
   Changming Huang                   1 (0.1%)
   Bartosz Golaszewski               1 (0.1%)
   Shadi Ammouri                     1 (0.1%)
   Niko Mauno                        1 (0.1%)
   Schuyler Patton                   1 (0.1%)
   Steve Kipisz                      1 (0.1%)
   Madan Srinivas                    1 (0.1%)
   Meng Yi                           1 (0.1%)
   Seung-Woo Kim                     1 (0.1%)
   Sebastien Bourdelin               1 (0.1%)
   Lukasz Majewski                   1 (0.1%)
   Angus Ainslie                     1 (0.1%)
   Ken Lin                           1 (0.1%)
   Soeren Moch                       1 (0.1%)
   Liviu Dudau                       1 (0.1%)
   Tien Fong Chee                    1 (0.1%)
   Nicolae Rosia                     1 (0.1%)
   Tang Yuantian                     1 (0.1%)
   Mario Six                         1 (0.1%)
   Philipp Tomsich                   1 (0.1%)
   FUKAUMI Naoki                     1 (0.1%)
   Boris Brezillon                   1 (0.1%)
   Hans de Goede                     1 (0.1%)
   Jelle van der Waa                 1 (0.1%)
   Jacob Chen                        1 (0.1%)
   Thomas Abraham                    1 (0.1%)
   Radu Bacrau                       1 (0.1%)
   Guillaume GARDET                  1 (0.1%)
   Sriram Dash                       1 (0.1%)
   Feng Li                           1 (0.1%)
   Pratiyush Srivastava              1 (0.1%)
   Anurag Kumar Vulisha              1 (0.1%)
   Hyun Kwon                         1 (0.1%)
   Sai Krishna Potthuri              1 (0.1%)
   Nava kishore Manne                1 (0.1%)
   Soren Brinkmann                   1 (0.1%)
   VNSL Durga                        1 (0.1%)
   Oleksandr Tymoshenko              1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          55400 (31.8%)
   Michal Simek                      55205 (31.7%)
   Simon Glass                       9330 (5.4%)
   Max Krummenacher                  5204 (3.0%)
   Jagan Teki                        5024 (2.9%)
   Peng Fan                          4721 (2.7%)
   Masahiro Yamada                   3790 (2.2%)
   Lokesh Vutla                      3616 (2.1%)
   York Sun                          3139 (1.8%)
   Patrick Bruenn                    2557 (1.5%)
   Konstantin Porotchkin             1968 (1.1%)
   Anatolij Gustschin                1528 (0.9%)
   Marcel Ziswiler                   1245 (0.7%)
   Siva Durga Prasad Paladugu        1231 (0.7%)
   Mike Looijmans                    1188 (0.7%)
   Fabian Vogt                       1181 (0.7%)
   Feng Li                           999 (0.6%)
   Stefan Roese                      997 (0.6%)
   Breno Lima                        971 (0.6%)
   Vladimir Zapolskiy                949 (0.5%)
   Dmitry Lifshitz                   847 (0.5%)
   Christoph Fritz                   845 (0.5%)
   Marcin Niestroj                   783 (0.4%)
   Daniel Schwierzeck                582 (0.3%)
   Misha Komarovskiy                 568 (0.3%)
   Shadi Ammouri                     546 (0.3%)
   Hongbo Zhang                      522 (0.3%)
   Alison Wang                       471 (0.3%)
   Mugunthan V N                     460 (0.3%)
   Alexander Graf                    446 (0.3%)
   Nathan Rossi                      406 (0.2%)
   Priyanka Jain                     383 (0.2%)
   Nishanth Menon                    370 (0.2%)
   Sebastien Bourdelin               364 (0.2%)
   Steve Kipisz                      286 (0.2%)
   Jaehoon Chung                     277 (0.2%)
   Harinarayan Bhatta                269 (0.2%)
   Suman Anna                        263 (0.2%)
   Semen Protsenko                   245 (0.1%)
   Andrew Duda                       242 (0.1%)
   Shengzhou Liu                     238 (0.1%)
   Marek Vasut                       237 (0.1%)
   Sven Ebenfeld                     237 (0.1%)
   Stefan Brüns                      226 (0.1%)
   Andrew F. Davis                   185 (0.1%)
   Yegor Yefremov                    176 (0.1%)
   shaohui xie                       170 (0.1%)
   Sekhar Nori                       162 (0.1%)
   Stefan Agner                      151 (0.1%)
   Fabien Parent                     150 (0.1%)
   Keerthy                           142 (0.1%)
   Phil Edworthy                     124 (0.1%)
   Chris Packham                     117 (0.1%)
   Eric Nelson                       114 (0.1%)
   Meng Yi                           114 (0.1%)
   Yuan Yao                          106 (0.1%)
   Stefano Babic                     97 (0.1%)
   FUKAUMI Naoki                     93 (0.1%)
   Tomas Melin                       89 (0.1%)
   Emmanuel Vadot                    86 (0.0%)
   Schuyler Patton                   86 (0.0%)
   Yehuda Yitschak                   83 (0.0%)
   Cédric Schieli                    76 (0.0%)
   Fabio Estevam                     65 (0.0%)
   Cyrille Pitchen                   63 (0.0%)
   Uri Mashiach                      61 (0.0%)
   Vignesh R                         54 (0.0%)
   Ken Lin                           54 (0.0%)
   Philipp Skadorov                  53 (0.0%)
   Jonathan Gray                     51 (0.0%)
   Kever Yang                        46 (0.0%)
   Icenowy Zheng                     45 (0.0%)
   Kedareswara rao Appana            44 (0.0%)
   VNSL Durga                        44 (0.0%)
   Filip Drazic                      43 (0.0%)
   Guillaume GARDET                  43 (0.0%)
   Jelle van der Waa                 40 (0.0%)
   Heiko Schocher                    33 (0.0%)
   Jyri Sarha                        33 (0.0%)
   Soeren Moch                       33 (0.0%)
   Bill Randle                       32 (0.0%)
   Angus Ainslie                     30 (0.0%)
   Bin Meng                          29 (0.0%)
   Olliver Schinagl                  28 (0.0%)
   Yann E. MORIN                     28 (0.0%)
   Robert P. J. Day                  28 (0.0%)
   George McCollister                28 (0.0%)
   Moritz Fischer                    27 (0.0%)
   Kevin Hilman                      26 (0.0%)
   Adam Ford                         25 (0.0%)
   Alex                              24 (0.0%)
   Walt Feasel                       23 (0.0%)
   Anurag Kumar Vulisha              23 (0.0%)
   Oleksandr Tymoshenko              22 (0.0%)
   Andre Przywara                    20 (0.0%)
   Naga Sureshkumar Relli            19 (0.0%)
   Stephen Warren                    18 (0.0%)
   Maxime Ripard                     17 (0.0%)
   Soren Brinkmann                   17 (0.0%)
   Lukasz Majewski                   15 (0.0%)
   Zakharov Vlad                     14 (0.0%)
   Hou Zhiqiang                      13 (0.0%)
   Ajay Bhargav                      13 (0.0%)
   Thomas Abraham                    12 (0.0%)
   Tang Yuantian                     11 (0.0%)
   Sai Krishna Potthuri              9 (0.0%)
   Jean-Jacques Hiblot               8 (0.0%)
   Sanchayan Maity                   7 (0.0%)
   Bharat Kumar Gogada               7 (0.0%)
   Patrick Delaunay                  6 (0.0%)
   Ye.Li                             5 (0.0%)
   Dinh Nguyen                       5 (0.0%)
   Sriram Dash                       5 (0.0%)
   Hyun Kwon                         5 (0.0%)
   Changming Huang                   4 (0.0%)
   Tien Fong Chee                    4 (0.0%)
   Radu Bacrau                       4 (0.0%)
   Nava kishore Manne                4 (0.0%)
   Andreas Färber                    3 (0.0%)
   Łukasz Majewski                   3 (0.0%)
   Boris Brezillon                   3 (0.0%)
   Paul Burton                       2 (0.0%)
   Ladislav Michl                    2 (0.0%)
   Bradley Bolen                     2 (0.0%)
   Christian Riesch                  2 (0.0%)
   Hans de Goede                     2 (0.0%)
   Baruch Siach                      1 (0.0%)
   Bartosz Golaszewski               1 (0.0%)
   Niko Mauno                        1 (0.0%)
   Madan Srinivas                    1 (0.0%)
   Seung-Woo Kim                     1 (0.0%)
   Liviu Dudau                       1 (0.0%)
   Nicolae Rosia                     1 (0.0%)
   Mario Six                         1 (0.0%)
   Philipp Tomsich                   1 (0.0%)
   Jacob Chen                        1 (0.0%)
   Pratiyush Srivastava              1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          54919 (75.4%)
   Vladimir Zapolskiy                722 (1.0%)
   Nathan Rossi                      170 (0.2%)
   Stefan Brüns                      89 (0.1%)
   Stefano Babic                     80 (0.1%)
   Yegor Yefremov                    74 (0.1%)
   Cyrille Pitchen                   61 (0.1%)
   Andrew Duda                       54 (0.1%)
   Sekhar Nori                       52 (0.1%)
   Jonathan Gray                     43 (0.1%)
   Phil Edworthy                     20 (0.0%)
   Filip Drazic                      18 (0.0%)
   Adam Ford                         15 (0.0%)
   Andre Przywara                    4 (0.0%)
   Moritz Fischer                    2 (0.0%)
   Walt Feasel                       1 (0.0%)
   Hans de Goede                     1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Michal Simek                      35 (22.4%)
   Alexander Graf                    16 (10.3%)
   Stefan Roese                      15 (9.6%)
   Lokesh Vutla                      14 (9.0%)
   Tom Rini                          8 (5.1%)
   Tom Warren                        6 (3.8%)
   Hongbo Zhang                      6 (3.8%)
   Prabhakar Kushwaha                5 (3.2%)
   Hans de Goede                     4 (2.6%)
   Nishanth Menon                    4 (2.6%)
   Simon Glass                       4 (2.6%)
   Minkyu Kang                       3 (1.9%)
   Ye.Li                             3 (1.9%)
   Uri Mashiach                      3 (1.9%)
   Chenhui Zhao                      2 (1.3%)
   Ashish Kumar                      2 (1.3%)
   Soren Brinkmann                   2 (1.3%)
   Heiko Schocher                    2 (1.3%)
   Andrew F. Davis                   2 (1.3%)
   Jagan Teki                        2 (1.3%)
   Stefano Babic                     1 (0.6%)
   Andre Przywara                    1 (0.6%)
   Vlad Zakharov                     1 (0.6%)
   Subhajit Paul                     1 (0.6%)
   Akshay Bhat                       1 (0.6%)
   Genevieve Chan                    1 (0.6%)
   Ebony Zhu                         1 (0.6%)
   Raghav Dogra                      1 (0.6%)
   Harninder Rai                     1 (0.6%)
   Bai Ping                          1 (0.6%)
   Jagannadha Sutradharudu Teki      1 (0.6%)
   Maxime Ripard                     1 (0.6%)
   Anurag Kumar Vulisha              1 (0.6%)
   Vignesh R                         1 (0.6%)
   Tomas Melin                       1 (0.6%)
   Yehuda Yitschak                   1 (0.6%)
   Marcel Ziswiler                   1 (0.6%)
   Peng Fan                          1 (0.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          120 (30.5%)
   Simon Glass                       109 (27.7%)
   York Sun                          45 (11.5%)
   Jagan Teki                        43 (10.9%)
   Fabio Estevam                     10 (2.5%)
   Hans de Goede                     8 (2.0%)
   Bin Meng                          8 (2.0%)
   Marek Vasut                       8 (2.0%)
   Stefan Roese                      7 (1.8%)
   Siva Durga Prasad Paladugu        7 (1.8%)
   Jaehoon Chung                     6 (1.5%)
   George McCollister                5 (1.3%)
   Lokesh Vutla                      3 (0.8%)
   Andrew F. Davis                   2 (0.5%)
   Benoît Thébaudeau                 2 (0.5%)
   Chen-Yu Tsai                      2 (0.5%)
   Stefano Babic                     1 (0.3%)
   Peng Fan                          1 (0.3%)
   Paul Burton                       1 (0.3%)
   Kedareswara rao Appana            1 (0.3%)
   Eric Nelson                       1 (0.3%)
   Mugunthan V N                     1 (0.3%)
   Sebastien Bourdelin               1 (0.3%)
   Alison Wang                       1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          11 (32.4%)
   Jagan Teki                        10 (29.4%)
   George McCollister                4 (11.8%)
   Hyun Kwon                         2 (5.9%)
   Simon Glass                       1 (2.9%)
   Paul Burton                       1 (2.9%)
   Sekhar Nori                       1 (2.9%)
   Carlos Hernandez                  1 (2.9%)
   Ravi Babu                         1 (2.9%)
   Dinh Nguyen                       1 (2.9%)
   Kever Yang                        1 (2.9%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       11 (32.4%)
   Jagan Teki                        10 (29.4%)
   Sven Ebenfeld                     4 (11.8%)
   Marek Vasut                       1 (2.9%)
   Andrew F. Davis                   1 (2.9%)
   Mugunthan V N                     1 (2.9%)
   Michal Simek                      1 (2.9%)
   Anurag Kumar Vulisha              1 (2.9%)
   Stefan Brüns                      1 (2.9%)
   Yann E. MORIN                     1 (2.9%)
   Stefan Agner                      1 (2.9%)
   Daniel Schwierzeck                1 (2.9%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Phani Kiran Kara                  2 (20.0%)
   Sai Pavan Boddu                   2 (20.0%)
   Sekhar Nori                       1 (10.0%)
   Kever Yang                        1 (10.0%)
   Vignesh R                         1 (10.0%)
   frostybytes@protonmail.com        1 (10.0%)
   Yan Liu                           1 (10.0%)
   Jason Brown                       1 (10.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Michal Simek                      2 (20.0%)
   Stefan Brüns                      2 (20.0%)
   Kedareswara rao Appana            2 (20.0%)
   Jagan Teki                        1 (10.0%)
   Mugunthan V N                     1 (10.0%)
   Mario Six                         1 (10.0%)
   Jean-Jacques Hiblot               1 (10.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         382 (43.3%)
   Texas Instruments                 76 (8.6%)
   Google, Inc.                      73 (8.3%)
   AMD                               54 (6.1%)
   Amarula Solutions                 42 (4.8%)
   DENX Software Engineering         36 (4.1%)
   Toradex                           27 (3.1%)
   Openedev                          26 (2.9%)
   Xilinx                            22 (2.5%)
   BayLibre SAS                      21 (2.4%)
   Konsulko Group                    19 (2.2%)
   Socionext Inc.                    16 (1.8%)
   Marvell                           12 (1.4%)
   Novell                            12 (1.4%)
   Renesas Electronics               11 (1.2%)
   ARM                               10 (1.1%)
   Samsung                           10 (1.1%)
   Linaro                            9 (1.0%)
   Rockchip                          6 (0.7%)
   CompuLab                          4 (0.5%)
   Free Electrons                    4 (0.5%)
   NXP                               3 (0.3%)
   MIPS                              2 (0.2%)
   Atmel                             1 (0.1%)
   Red Hat                           1 (0.1%)
   Guntermann & Drunck               1 (0.1%)
   Intel                             1 (0.1%)
   NVidia                            1 (0.1%)
   ST Microelectronics               1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Konsulko Group                    55400 (31.8%)
   AMD                               55205 (31.7%)
   (Unknown)                         27537 (15.8%)
   Google, Inc.                      9330 (5.4%)
   Texas Instruments                 5935 (3.4%)
   Amarula Solutions                 3848 (2.2%)
   Socionext Inc.                    3790 (2.2%)
   DENX Software Engineering         2892 (1.7%)
   Marvell                           2597 (1.5%)
   Toradex                           1431 (0.8%)
   Xilinx                            1403 (0.8%)
   Novell                            1184 (0.7%)
   Openedev                          1176 (0.7%)
   CompuLab                          908 (0.5%)
   NXP                               471 (0.3%)
   Samsung                           293 (0.2%)
   Linaro                            245 (0.1%)
   BayLibre SAS                      177 (0.1%)
   Renesas Electronics               124 (0.1%)
   Atmel                             63 (0.0%)
   Rockchip                          47 (0.0%)
   ARM                               21 (0.0%)
   NVidia                            18 (0.0%)
   Free Electrons                    17 (0.0%)
   ST Microelectronics               6 (0.0%)
   Intel                             4 (0.0%)
   MIPS                              2 (0.0%)
   Red Hat                           2 (0.0%)
   Guntermann & Drunck               1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Xilinx                            39 (25.0%)
   (Unknown)                         27 (17.3%)
   Texas Instruments                 22 (14.1%)
   DENX Software Engineering         18 (11.5%)
   Novell                            16 (10.3%)
   Konsulko Group                    8 (5.1%)
   NVidia                            6 (3.8%)
   Google, Inc.                      4 (2.6%)
   Red Hat                           4 (2.6%)
   CompuLab                          3 (1.9%)
   Samsung                           3 (1.9%)
   Openedev                          2 (1.3%)
   Marvell                           1 (0.6%)
   Toradex                           1 (0.6%)
   ARM                               1 (0.6%)
   Free Electrons                    1 (0.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         71 (51.1%)
   Texas Instruments                 14 (10.1%)
   Xilinx                            10 (7.2%)
   DENX Software Engineering         5 (3.6%)
   Samsung                           4 (2.9%)
   Toradex                           4 (2.9%)
   Marvell                           3 (2.2%)
   BayLibre SAS                      3 (2.2%)
   Novell                            2 (1.4%)
   CompuLab                          2 (1.4%)
   ARM                               2 (1.4%)
   Rockchip                          2 (1.4%)
   Konsulko Group                    1 (0.7%)
   NVidia                            1 (0.7%)
   Google, Inc.                      1 (0.7%)
   Red Hat                           1 (0.7%)
   Openedev                          1 (0.7%)
   Free Electrons                    1 (0.7%)
   AMD                               1 (0.7%)
   Amarula Solutions                 1 (0.7%)
   Socionext Inc.                    1 (0.7%)
   NXP                               1 (0.7%)
   Linaro                            1 (0.7%)
   Renesas Electronics               1 (0.7%)
   Atmel                             1 (0.7%)
   ST Microelectronics               1 (0.7%)
   Intel                             1 (0.7%)
   MIPS                              1 (0.7%)
   Guntermann & Drunck               1 (0.7%)
   ================================  =====
