:orphan:

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

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