:orphan:

Release Statistics for U-Boot v2012.04
======================================

* Processed 773 changesets from 126 developers

* 36 employers found

* A total of 132602 lines added, 56539 removed (delta 76063)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       106 (13.7%)
   Marek Vasut                       69 (8.9%)
   Fabio Estevam                     38 (4.9%)
   Stefano Babic                     28 (3.6%)
   Tom Rini                          20 (2.6%)
   Mike Frysinger                    20 (2.6%)
   Eric Nelson                       18 (2.3%)
   Graeme Russ                       17 (2.2%)
   Christian Riesch                  16 (2.1%)
   Stefan Kristiansson               13 (1.7%)
   Wolfgang Denk                     12 (1.6%)
   Nobuhiro Iwamatsu                 11 (1.4%)
   Anatolij Gustschin                11 (1.4%)
   Heiko Schocher                    11 (1.4%)
   Thierry Reding                    11 (1.4%)
   Rob Herring                       10 (1.3%)
   Chander Kashyap                   10 (1.3%)
   Paul Gortmaker                    10 (1.3%)
   Stephan Linz                      9 (1.2%)
   Dirk Behme                        9 (1.2%)
   David Wagner                      9 (1.2%)
   Jason Liu                         9 (1.2%)
   Troy Kisky                        8 (1.0%)
   Vipin Kumar                       8 (1.0%)
   Simon Schwarz                     8 (1.0%)
   Scott Wood                        8 (1.0%)
   Macpaul Lin                       8 (1.0%)
   Peter Meerwald                    8 (1.0%)
   Thomas Weber                      7 (0.9%)
   Linus Walleij                     7 (0.9%)
   David Müller (ELSOFT AG)          7 (0.9%)
   Helmut Raiger                     7 (0.9%)
   Andreas Müller                    7 (0.9%)
   Christian Hitz                    7 (0.9%)
   Gabe Black                        7 (0.9%)
   Andreas Bießmann                  6 (0.8%)
   Govindraj.R                       6 (0.8%)
   Nikita Kiryanov                   6 (0.8%)
   Lukasz Majewski                   5 (0.6%)
   Joe Hershberger                   5 (0.6%)
   Tom Warren                        5 (0.6%)
   Robert Delien                     5 (0.6%)
   Hadli, Manjunath                  5 (0.6%)
   Matthias Fuchs                    5 (0.6%)
   Holger Brunck                     5 (0.6%)
   Albert ARIBAUD                    5 (0.6%)
   Chandan Nath                      5 (0.6%)
   Kyle Moffett                      5 (0.6%)
   Vikram Narayanan                  4 (0.5%)
   Igor Grinberg                     4 (0.5%)
   Minkyu Kang                       4 (0.5%)
   Ajay Bhargav                      4 (0.5%)
   Stephen Warren                    4 (0.5%)
   Horst Kronstorfer                 4 (0.5%)
   Phil Edworthy                     3 (0.4%)
   Amit Virdi                        3 (0.4%)
   Daniel Schwierzeck                3 (0.4%)
   Wolfgang Grandegger               3 (0.4%)
   Donggeun Kim                      3 (0.4%)
   Vincent Palatin                   3 (0.4%)
   Aneesh V                          3 (0.4%)
   Peter Barada                      3 (0.4%)
   HeungJun, Kim                     3 (0.4%)
   Michael Walle                     3 (0.4%)
   Vladimir Zapolskiy                3 (0.4%)
   Patil, Rachna                     3 (0.4%)
   Bernhard Walle                    2 (0.3%)
   Armando Visconti                  2 (0.3%)
   Jason Hobbs                       2 (0.3%)
   Matt Porter                       2 (0.3%)
   Vasily Khoruzhick                 2 (0.3%)
   Yoshihiro Shimoda                 2 (0.3%)
   Reinhard Arlt                     2 (0.3%)
   Sven Schnelle                     2 (0.3%)
   Allen Martin                      2 (0.3%)
   Prabhakar Lad                     2 (0.3%)
   Prabhakar Kushwaha                2 (0.3%)
   Daniel Gorsulowski                2 (0.3%)
   Alex Hornung                      2 (0.3%)
   Jan Kloetzke                      2 (0.3%)
   ramneek mehresh                   2 (0.3%)
   Dimitar Penev                     2 (0.3%)
   Sughosh Ganu                      2 (0.3%)
   Ilya Yanok                        2 (0.3%)
   Frans Meulenbroeks                2 (0.3%)
   Jens Scharsig (BuS Elektronik)    2 (0.3%)
   Sonny Rao                         2 (0.3%)
   Jens Scharsig                     1 (0.1%)
   Jeroen Hofstee                    1 (0.1%)
   Joel Fernandes                    1 (0.1%)
   Michael Jones                     1 (0.1%)
   Vikas Manocha                     1 (0.1%)
   Eric Miao                         1 (0.1%)
   Stefan Bigler                     1 (0.1%)
   Valentin Longchamp                1 (0.1%)
   Maximilian Schwerin               1 (0.1%)
   Yen Lin                           1 (0.1%)
   Doug Anderson                     1 (0.1%)
   jacopo mondi                      1 (0.1%)
   Grazvydas Ignotas                 1 (0.1%)
   Tim Kientzle                      1 (0.1%)
   Otavio Salvador                   1 (0.1%)
   Liming Wang                       1 (0.1%)
   Tao Hou                           1 (0.1%)
   Shiraz Hashim                     1 (0.1%)
   Detlev Zundel                     1 (0.1%)
   Chase Maupin                      1 (0.1%)
   Shawn Guo                         1 (0.1%)
   Robert Nelson                     1 (0.1%)
   Schuyler Patton                   1 (0.1%)
   Prafulla Wadaskar                 1 (0.1%)
   Stefan                            1 (0.1%)
   Ian Campbell                      1 (0.1%)
   Dechesne, Nicolas                 1 (0.1%)
   Grant Erickson                    1 (0.1%)
   Yegor Yefremov                    1 (0.1%)
   Pali Rohár                        1 (0.1%)
   Ben Gardiner                      1 (0.1%)
   Shengzhou Liu                     1 (0.1%)
   Zach Sadecki                      1 (0.1%)
   Veli-Pekka Peltola                1 (0.1%)
   Kumar Gala                        1 (0.1%)
   Marco Schmid                      1 (0.1%)
   Dirk Eibach                       1 (0.1%)
   Ira Snyder                        1 (0.1%)
   Sergei Shtylyov                   1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Marek Vasut                       85149 (61.3%)
   Simon Glass                       9071 (6.5%)
   Stefan Kristiansson               4042 (2.9%)
   Chander Kashyap                   2956 (2.1%)
   Christian Hitz                    2867 (2.1%)
   Tom Rini                          2418 (1.7%)
   Stefano Babic                     2140 (1.5%)
   Stephan Linz                      1972 (1.4%)
   HeungJun, Kim                     1564 (1.1%)
   Gabe Black                        1538 (1.1%)
   Graeme Russ                       1319 (0.9%)
   Christian Riesch                  1232 (0.9%)
   Fabio Estevam                     1205 (0.9%)
   Ilya Yanok                        1102 (0.8%)
   David Müller (ELSOFT AG)          1049 (0.8%)
   Heiko Schocher                    1004 (0.7%)
   Thomas Weber                      934 (0.7%)
   Jason Liu                         887 (0.6%)
   Peter Barada                      747 (0.5%)
   Govindraj.R                       743 (0.5%)
   Yen Lin                           731 (0.5%)
   Robert Delien                     709 (0.5%)
   Thierry Reding                    666 (0.5%)
   Rob Herring                       659 (0.5%)
   Stefan                            646 (0.5%)
   Simon Schwarz                     636 (0.5%)
   Linus Walleij                     598 (0.4%)
   Sven Schnelle                     583 (0.4%)
   Joe Hershberger                   567 (0.4%)
   Dimitar Penev                     541 (0.4%)
   Chandan Nath                      479 (0.3%)
   Eric Nelson                       456 (0.3%)
   Patil, Rachna                     427 (0.3%)
   Paul Gortmaker                    385 (0.3%)
   Tom Warren                        365 (0.3%)
   Sughosh Ganu                      339 (0.2%)
   Troy Kisky                        300 (0.2%)
   Scott Wood                        283 (0.2%)
   Hadli, Manjunath                  282 (0.2%)
   Ajay Bhargav                      263 (0.2%)
   Wolfgang Grandegger               258 (0.2%)
   Macpaul Lin                       250 (0.2%)
   Sonny Rao                         246 (0.2%)
   Vipin Kumar                       240 (0.2%)
   Helmut Raiger                     238 (0.2%)
   Mike Frysinger                    225 (0.2%)
   Nikita Kiryanov                   224 (0.2%)
   Andreas Müller                    223 (0.2%)
   Stephen Warren                    198 (0.1%)
   Holger Brunck                     178 (0.1%)
   Prabhakar Lad                     175 (0.1%)
   Maximilian Schwerin               159 (0.1%)
   Wolfgang Denk                     151 (0.1%)
   Minkyu Kang                       147 (0.1%)
   Anatolij Gustschin                136 (0.1%)
   Kyle Moffett                      134 (0.1%)
   David Wagner                      105 (0.1%)
   Matthias Fuchs                    105 (0.1%)
   Lukasz Majewski                   100 (0.1%)
   Michael Walle                     98 (0.1%)
   Nobuhiro Iwamatsu                 97 (0.1%)
   Matt Porter                       94 (0.1%)
   Donggeun Kim                      86 (0.1%)
   Allen Martin                      78 (0.1%)
   Albert ARIBAUD                    72 (0.1%)
   Prafulla Wadaskar                 72 (0.1%)
   jacopo mondi                      65 (0.0%)
   Igor Grinberg                     60 (0.0%)
   Joel Fernandes                    57 (0.0%)
   Dirk Behme                        52 (0.0%)
   Peter Meerwald                    52 (0.0%)
   Amit Virdi                        49 (0.0%)
   Vincent Palatin                   46 (0.0%)
   Andreas Bießmann                  43 (0.0%)
   Vladimir Zapolskiy                43 (0.0%)
   Prabhakar Kushwaha                42 (0.0%)
   Doug Anderson                     42 (0.0%)
   Yoshihiro Shimoda                 36 (0.0%)
   Daniel Schwierzeck                35 (0.0%)
   Reinhard Arlt                     35 (0.0%)
   ramneek mehresh                   33 (0.0%)
   Vikas Manocha                     29 (0.0%)
   Alex Hornung                      23 (0.0%)
   Horst Kronstorfer                 22 (0.0%)
   Jan Kloetzke                      22 (0.0%)
   Dirk Eibach                       20 (0.0%)
   Vasily Khoruzhick                 19 (0.0%)
   Jason Hobbs                       17 (0.0%)
   Aneesh V                          15 (0.0%)
   Jens Scharsig                     14 (0.0%)
   Grazvydas Ignotas                 14 (0.0%)
   Marco Schmid                      14 (0.0%)
   Vikram Narayanan                  13 (0.0%)
   Shawn Guo                         13 (0.0%)
   Bernhard Walle                    11 (0.0%)
   Shiraz Hashim                     11 (0.0%)
   Grant Erickson                    11 (0.0%)
   Phil Edworthy                     10 (0.0%)
   Liming Wang                       10 (0.0%)
   Shengzhou Liu                     10 (0.0%)
   Ben Gardiner                      9 (0.0%)
   Daniel Gorsulowski                8 (0.0%)
   Robert Nelson                     7 (0.0%)
   Frans Meulenbroeks                6 (0.0%)
   Veli-Pekka Peltola                6 (0.0%)
   Armando Visconti                  5 (0.0%)
   Michael Jones                     5 (0.0%)
   Jens Scharsig (BuS Elektronik)    4 (0.0%)
   Zach Sadecki                      4 (0.0%)
   Tim Kientzle                      3 (0.0%)
   Jeroen Hofstee                    2 (0.0%)
   Eric Miao                         2 (0.0%)
   Stefan Bigler                     2 (0.0%)
   Valentin Longchamp                2 (0.0%)
   Tao Hou                           2 (0.0%)
   Detlev Zundel                     2 (0.0%)
   Dechesne, Nicolas                 2 (0.0%)
   Yegor Yefremov                    2 (0.0%)
   Pali Rohár                        2 (0.0%)
   Ira Snyder                        2 (0.0%)
   Sergei Shtylyov                   2 (0.0%)
   Otavio Salvador                   1 (0.0%)
   Chase Maupin                      1 (0.0%)
   Schuyler Patton                   1 (0.0%)
   Ian Campbell                      1 (0.0%)
   Kumar Gala                        1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          1564 (2.8%)
   David Müller (ELSOFT AG)          660 (1.2%)
   Sven Schnelle                     502 (0.9%)
   Sughosh Ganu                      213 (0.4%)
   Prabhakar Lad                     169 (0.3%)
   Holger Brunck                     113 (0.2%)
   Allen Martin                      49 (0.1%)
   Joel Fernandes                    48 (0.1%)
   Andreas Bießmann                  34 (0.1%)
   Igor Grinberg                     29 (0.1%)
   Vladimir Zapolskiy                17 (0.0%)
   Vikram Narayanan                  6 (0.0%)
   Veli-Pekka Peltola                6 (0.0%)
   Jason Hobbs                       2 (0.0%)
   Michael Jones                     2 (0.0%)
   Eric Miao                         1 (0.0%)
   Valentin Longchamp                1 (0.0%)
   Yegor Yefremov                    1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Warren                        66 (28.3%)
   Mike Frysinger                    15 (6.4%)
   Minkyu Kang                       14 (6.0%)
   Kyungmin Park                     13 (5.6%)
   Scott Wood                        13 (5.6%)
   Tom Rini                          12 (5.2%)
   Kumar Gala                        12 (5.2%)
   Amit Virdi                        12 (5.2%)
   Kim Phillips                      9 (3.9%)
   Stefan Roese                      8 (3.4%)
   Igor Grinberg                     6 (2.6%)
   Wolfgang Denk                     6 (2.6%)
   Nobuhiro Iwamatsu                 5 (2.1%)
   Stefano Babic                     4 (1.7%)
   Thomas Chou                       3 (1.3%)
   Anatolij Gustschin                3 (1.3%)
   Andreas Bießmann                  2 (0.9%)
   Poonam Aggrwal                    2 (0.9%)
   Maximilian Schwerin               2 (0.9%)
   Chandan Nath                      2 (0.9%)
   Rob Herring                       2 (0.9%)
   Simon Glass                       2 (0.9%)
   Holger Brunck                     1 (0.4%)
   Jason Hobbs                       1 (0.4%)
   Eric Miao                         1 (0.4%)
   Valentin Longchamp                1 (0.4%)
   Their Name                        1 (0.4%)
   Jason Kridner                     1 (0.4%)
   Michal Simek                      1 (0.4%)
   Stefan Herbrechtsmeier            1 (0.4%)
   Philip, Avinash                   1 (0.4%)
   Hebbar, Gururaja                  1 (0.4%)
   Martin Mueller                    1 (0.4%)
   Dirk Behme                        1 (0.4%)
   Doug Anderson                     1 (0.4%)
   Prafulla Wadaskar                 1 (0.4%)
   Troy Kisky                        1 (0.4%)
   Christian Riesch                  1 (0.4%)
   Fabio Estevam                     1 (0.4%)
   Thomas Weber                      1 (0.4%)
   Heiko Schocher                    1 (0.4%)
   HeungJun, Kim                     1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jason Liu                         9 (15.5%)
   Stefano Babic                     8 (13.8%)
   Marek Vasut                       8 (13.8%)
   Heiko Schocher                    6 (10.3%)
   Simon Glass                       5 (8.6%)
   Fabio Estevam                     5 (8.6%)
   Dirk Behme                        2 (3.4%)
   Tom Rini                          1 (1.7%)
   Holger Brunck                     1 (1.7%)
   Their Name                        1 (1.7%)
   Thomas Weber                      1 (1.7%)
   Will Deacon                       1 (1.7%)
   Peter A. Bigot                    1 (1.7%)
   Sebastien Jan                     1 (1.7%)
   Robert P. J. Day                  1 (1.7%)
   Raúl Porcel                       1 (1.7%)
   Robert Nelson                     1 (1.7%)
   Grant Erickson                    1 (1.7%)
   Lukasz Majewski                   1 (1.7%)
   Andreas Müller                    1 (1.7%)
   Stephen Warren                    1 (1.7%)
   Wolfgang Grandegger               1 (1.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Eric Nelson                       6 (10.3%)
   Thierry Reding                    6 (10.3%)
   Tom Rini                          5 (8.6%)
   Govindraj.R                       5 (8.6%)
   Marek Vasut                       3 (5.2%)
   Fabio Estevam                     3 (5.2%)
   Christian Riesch                  3 (5.2%)
   Matthias Fuchs                    3 (5.2%)
   Robert Delien                     3 (5.2%)
   Stefano Babic                     2 (3.4%)
   Stephen Warren                    2 (3.4%)
   Wolfgang Denk                     2 (3.4%)
   Aneesh V                          2 (3.4%)
   Jason Liu                         1 (1.7%)
   Dirk Behme                        1 (1.7%)
   Tom Warren                        1 (1.7%)
   Chandan Nath                      1 (1.7%)
   Sughosh Ganu                      1 (1.7%)
   Ian Campbell                      1 (1.7%)
   Dechesne, Nicolas                 1 (1.7%)
   Peter Meerwald                    1 (1.7%)
   Vincent Palatin                   1 (1.7%)
   Matt Porter                       1 (1.7%)
   Linus Walleij                     1 (1.7%)
   Simon Schwarz                     1 (1.7%)
   Ilya Yanok                        1 (1.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Michal Simek                      3 (30.0%)
   Wolfgang Denk                     2 (20.0%)
   Marek Vasut                       1 (10.0%)
   Sughosh Ganu                      1 (10.0%)
   Mike Frysinger                    1 (10.0%)
   Otavio Salvador                   1 (10.0%)
   Jim Lentz                         1 (10.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Stephan Linz                      3 (30.0%)
   Linus Walleij                     2 (20.0%)
   Fabio Estevam                     1 (10.0%)
   Christian Riesch                  1 (10.0%)
   Nobuhiro Iwamatsu                 1 (10.0%)
   Jason Hobbs                       1 (10.0%)
   Ira Snyder                        1 (10.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         206 (26.6%)
   DENX Software Engineering         135 (17.5%)
   Google, Inc.                      119 (15.4%)
   Linaro                            28 (3.6%)
   Texas Instruments                 27 (3.5%)
   Boundary Devices                  26 (3.4%)
   Freescale                         23 (3.0%)
   Analog Devices                    20 (2.6%)
   Konsulko Group                    20 (2.6%)
   Graeme Russ                       17 (2.2%)
   Samsung                           15 (1.9%)
   ST Microelectronics               15 (1.9%)
   Calxeda                           12 (1.6%)
   Renesas Electronics               12 (1.6%)
   CompuLab                          10 (1.3%)
   Wind River                        10 (1.3%)
   ESD Electronics                   9 (1.2%)
   Free Electrons                    9 (1.2%)
   NVidia                            9 (1.2%)
   bct electronic GmbH               8 (1.0%)
   Bosch                             8 (1.0%)
   Keymile                           8 (1.0%)
   Boeing                            5 (0.6%)
   National Instruments              5 (0.6%)
   Nobuhiro Iwamatsu                 4 (0.5%)
   BuS Elektronik                    2 (0.3%)
   EmCraft Systems                   2 (0.3%)
   Bluegiga Technologies             1 (0.1%)
   Guntermann & Drunck               1 (0.1%)
   Marvell                           1 (0.1%)
   Matrix Vision                     1 (0.1%)
   MontaVista                        1 (0.1%)
   O.S. Systems                      1 (0.1%)
   OVRO                              1 (0.1%)
   Dirk Behme                        1 (0.1%)
   Grazvydas Ignotas                 1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   DENX Software Engineering         88840 (63.9%)
   (Unknown)                         20221 (14.5%)
   Google, Inc.                      10943 (7.9%)
   Linaro                            4456 (3.2%)
   Konsulko Group                    2418 (1.7%)
   Texas Instruments                 2044 (1.5%)
   Samsung                           1897 (1.4%)
   Graeme Russ                       1319 (0.9%)
   EmCraft Systems                   1102 (0.8%)
   NVidia                            1016 (0.7%)
   Boundary Devices                  756 (0.5%)
   Calxeda                           676 (0.5%)
   Freescale                         576 (0.4%)
   National Instruments              567 (0.4%)
   Wind River                        385 (0.3%)
   ST Microelectronics               334 (0.2%)
   CompuLab                          284 (0.2%)
   Analog Devices                    225 (0.2%)
   Keymile                           196 (0.1%)
   ESD Electronics                   148 (0.1%)
   Boeing                            134 (0.1%)
   Renesas Electronics               122 (0.1%)
   Free Electrons                    105 (0.1%)
   Marvell                           72 (0.1%)
   bct electronic GmbH               52 (0.0%)
   Bosch                             50 (0.0%)
   Nobuhiro Iwamatsu                 21 (0.0%)
   Guntermann & Drunck               20 (0.0%)
   Grazvydas Ignotas                 14 (0.0%)
   Bluegiga Technologies             6 (0.0%)
   Matrix Vision                     5 (0.0%)
   BuS Elektronik                    4 (0.0%)
   MontaVista                        2 (0.0%)
   OVRO                              2 (0.0%)
   Dirk Behme                        2 (0.0%)
   O.S. Systems                      1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   NVidia                            66 (28.3%)
   Freescale                         36 (15.5%)
   Samsung                           28 (12.0%)
   DENX Software Engineering         22 (9.4%)
   Texas Instruments                 17 (7.3%)
   Analog Devices                    15 (6.4%)
   (Unknown)                         12 (5.2%)
   ST Microelectronics               12 (5.2%)
   CompuLab                          6 (2.6%)
   Nobuhiro Iwamatsu                 5 (2.1%)
   Google, Inc.                      3 (1.3%)
   Calxeda                           3 (1.3%)
   Keymile                           2 (0.9%)
   Bosch                             2 (0.9%)
   Linaro                            1 (0.4%)
   Boundary Devices                  1 (0.4%)
   Marvell                           1 (0.4%)
   Funky                             1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         48 (36.9%)
   Texas Instruments                 9 (6.9%)
   DENX Software Engineering         7 (5.4%)
   Freescale                         6 (4.6%)
   ST Microelectronics               5 (3.8%)
   Google, Inc.                      5 (3.8%)
   Linaro                            5 (3.8%)
   NVidia                            4 (3.1%)
   Samsung                           4 (3.1%)
   Keymile                           4 (3.1%)
   ESD Electronics                   3 (2.3%)
   Renesas Electronics               3 (2.3%)
   CompuLab                          2 (1.5%)
   Calxeda                           2 (1.5%)
   Boundary Devices                  2 (1.5%)
   Analog Devices                    1 (0.8%)
   Nobuhiro Iwamatsu                 1 (0.8%)
   Bosch                             1 (0.8%)
   Marvell                           1 (0.8%)
   Konsulko Group                    1 (0.8%)
   Graeme Russ                       1 (0.8%)
   EmCraft Systems                   1 (0.8%)
   National Instruments              1 (0.8%)
   Wind River                        1 (0.8%)
   Boeing                            1 (0.8%)
   Free Electrons                    1 (0.8%)
   bct electronic GmbH               1 (0.8%)
   Guntermann & Drunck               1 (0.8%)
   Grazvydas Ignotas                 1 (0.8%)
   Bluegiga Technologies             1 (0.8%)
   Matrix Vision                     1 (0.8%)
   BuS Elektronik                    1 (0.8%)
   MontaVista                        1 (0.8%)
   OVRO                              1 (0.8%)
   Dirk Behme                        1 (0.8%)
   O.S. Systems                      1 (0.8%)
   ================================  =====
