:orphan:

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

* Processed 925 csets from 134 developers

* 31 employers found

* A total of 88011 lines added, 36373 removed (delta 51638)

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

   =====================================  =====
   Name                                   Count
   =====================================  =====
   Benoît Thébaudeau                      71 (7.7%)
   Tom Rini                               66 (7.1%)
   Marek Vasut                            51 (5.5%)
   Troy Kisky                             31 (3.4%)
   Joe Hershberger                        30 (3.2%)
   Nobuhiro Iwamatsu                      30 (3.2%)
   Stephen Warren                         28 (3.0%)
   Michal Simek                           27 (2.9%)
   Otavio Salvador                        26 (2.8%)
   Stefano Babic                          20 (2.2%)
   Allen Martin                           20 (2.2%)
   Rajeshwari Shinde                      19 (2.1%)
   Gerlando Falauto                       17 (1.8%)
   Tetsuyuki Kobayashi                    16 (1.7%)
   Fabio Estevam                          16 (1.7%)
   York Sun                               16 (1.7%)
   Łukasz Majewski                        15 (1.6%)
   Simon Glass                            14 (1.5%)
   Stephan Linz                           13 (1.4%)
   Rob Herring                            12 (1.3%)
   Timur Tabi                             12 (1.3%)
   Ilya Yanok                             11 (1.2%)
   Bo Shen                                11 (1.2%)
   Andreas Bießmann                       10 (1.1%)
   Matt Sealey                            10 (1.1%)
   Mike Frysinger                         10 (1.1%)
   Mathieu J. Poirier                     10 (1.1%)
   Anatolij Gustschin                     9 (1.0%)
   Alison Wang                            9 (1.0%)
   Donghwa Lee                            9 (1.0%)
   Stefan Roese                           8 (0.9%)
   Holger Brunck                          8 (0.9%)
   Lucas Stach                            8 (0.9%)
   Valentin Longchamp                     7 (0.8%)
   Daniel Schwierzeck                     7 (0.8%)
   Prabhakar Lad                          7 (0.8%)
   Scott Wood                             7 (0.8%)
   Wu, Josh                               7 (0.8%)
   Yoshihiro Shimoda                      7 (0.8%)
   Matthew McClintock                     7 (0.8%)
   Laurence Withers                       6 (0.6%)
   Bastian Ruppert                        6 (0.6%)
   Lei Wen                                6 (0.6%)
   Liu Gang                               6 (0.6%)
   Albert ARIBAUD                         5 (0.5%)
   Peter Meerwald                         5 (0.5%)
   Nikita Kiryanov                        5 (0.5%)
   Andrew Sharp                           5 (0.5%)
   Javier Martinez Canillas               5 (0.5%)
   Luka Perkov                            4 (0.4%)
   Karl O. Pinc                           4 (0.4%)
   Pavel Herrmann                         4 (0.4%)
   Kumar Gala                             4 (0.4%)
   Ira W. Snyder                          4 (0.4%)
   Ashok Kumar Reddy                      4 (0.4%)
   Jaehoon Chung                          4 (0.4%)
   Mikhail Kshevetskiy                    4 (0.4%)
   Markus Hubig                           4 (0.4%)
   Tomáš Hlaváček                         4 (0.4%)
   Viktor Krivak                          4 (0.4%)
   Prabhakar Kushwaha                     4 (0.4%)
   Shaohui Xie                            4 (0.4%)
   Igor Grinberg                          3 (0.3%)
   Wolfgang Denk                          3 (0.3%)
   Dinh Nguyen                            3 (0.3%)
   Zhong Hongbo                           3 (0.3%)
   Michael Walle                          3 (0.3%)
   Simon Guinot                           3 (0.3%)
   Sughosh Ganu                           3 (0.3%)
   Andy Fleming                           3 (0.3%)
   Jens Scharsig                          3 (0.3%)
   Joakim Tjernlund                       3 (0.3%)
   trem                                   3 (0.3%)
   Chandan Nath                           3 (0.3%)
   Steve Sakoman                          3 (0.3%)
   Pavel Machek                           2 (0.2%)
   Gabriel Huau                           2 (0.2%)
   Hideyuki Sano                          2 (0.2%)
   Stefan Kristiansson                    2 (0.2%)
   Koen Kooi                              2 (0.2%)
   Eric Nelson                            2 (0.2%)
   Tom Warren                             2 (0.2%)
   Veli-Pekka Peltola                     2 (0.2%)
   Thierry Reding                         2 (0.2%)
   Charles Manning                        2 (0.2%)
   Vikram Narayanan                       2 (0.2%)
   Rajashekhara, Sudhakar                 2 (0.2%)
   Horst Kronstorfer                      2 (0.2%)
   Uma Shankar                            2 (0.2%)
   Jeroen Hofstee                         1 (0.1%)
   Simon Baatz                            1 (0.1%)
   Rommel Custodio                        1 (0.1%)
   Ramesh Chandrasekaran                  1 (0.1%)
   Chan-Taek Park                         1 (0.1%)
   Wolfgang Grandegger                    1 (0.1%)
   Joel A Fernandes                       1 (0.1%)
   Brian Rzycki                           1 (0.1%)
   Chander Kashyap                        1 (0.1%)
   Priyanka Jain                          1 (0.1%)
   Jason Jin                              1 (0.1%)
   Richard Retanubun                      1 (0.1%)
   Iwo Mergler                            1 (0.1%)
   Tyler Olmstead                         1 (0.1%)
   Matthieu CASTET                        1 (0.1%)
   Jim Lin                                1 (0.1%)
   Jongman Heo                            1 (0.1%)
   Arnout Vandecappelle (Essensium/Mind)  1 (0.1%)
   Linus Walleij                          1 (0.1%)
   Jagan Teki                             1 (0.1%)
   Kaspter Ju                             1 (0.1%)
   Xu, Hong                               1 (0.1%)
   Matej Frančeškin                       1 (0.1%)
   Łukasz Dałek                           1 (0.1%)
   Jim Shimer                             1 (0.1%)
   John Rigby                             1 (0.1%)
   Heiko Schocher                         1 (0.1%)
   Satyanarayana, Sandhya                 1 (0.1%)
   Stathis Voukelatos                     1 (0.1%)
   Enric Balletbò i Serra                 1 (0.1%)
   Vaibhav Bedia                          1 (0.1%)
   Cyril Chemparathy                      1 (0.1%)
   Jeremy Andrus                          1 (0.1%)
   Paul Gortmaker                         1 (0.1%)
   Kenth Eriksson                         1 (0.1%)
   Khem Raj                               1 (0.1%)
   Jorgen Lundman                         1 (0.1%)
   Julius Baxter                          1 (0.1%)
   Dirk Eibach                            1 (0.1%)
   Timo Ketola                            1 (0.1%)
   Bernhard Walle                         1 (0.1%)
   Hongtao Jia                            1 (0.1%)
   David du Colombier                     1 (0.1%)
   Jayachandran Chandrasekharan Nair      1 (0.1%)
   Jérôme Carretero                       1 (0.1%)
   =====================================  =====


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

   =====================================  =====
   Name                                   Count
   =====================================  =====
   Charles Manning                        13922 (13.8%)
   Nobuhiro Iwamatsu                      9559 (9.5%)
   Marek Vasut                            5946 (5.9%)
   Uma Shankar                            5463 (5.4%)
   Jorgen Lundman                         4750 (4.7%)
   Lei Wen                                3818 (3.8%)
   Donghwa Lee                            3597 (3.6%)
   Wolfgang Denk                          3185 (3.2%)
   Anatolij Gustschin                     2534 (2.5%)
   Rajeshwari Shinde                      2433 (2.4%)
   Timur Tabi                             2252 (2.2%)
   Mathieu J. Poirier                     2180 (2.2%)
   Tom Rini                               2038 (2.0%)
   Rob Herring                            1962 (2.0%)
   Łukasz Majewski                        1940 (1.9%)
   Benoît Thébaudeau                      1637 (1.6%)
   Michal Simek                           1546 (1.5%)
   Allen Martin                           1429 (1.4%)
   Alison Wang                            1339 (1.3%)
   Jim Lin                                1287 (1.3%)
   Stephen Warren                         1224 (1.2%)
   Stefan Roese                           1207 (1.2%)
   Troy Kisky                             1148 (1.1%)
   Bo Shen                                1098 (1.1%)
   Joe Hershberger                        1083 (1.1%)
   Otavio Salvador                        1071 (1.1%)
   Cyril Chemparathy                      1043 (1.0%)
   Gabriel Huau                           1008 (1.0%)
   York Sun                               946 (0.9%)
   Wu, Josh                               945 (0.9%)
   Dinh Nguyen                            905 (0.9%)
   Gerlando Falauto                       869 (0.9%)
   Tomáš Hlaváček                         757 (0.8%)
   Matt Sealey                            698 (0.7%)
   Markus Hubig                           679 (0.7%)
   Pavel Herrmann                         673 (0.7%)
   Shaohui Xie                            647 (0.6%)
   Veli-Pekka Peltola                     620 (0.6%)
   Stefano Babic                          611 (0.6%)
   Hideyuki Sano                          566 (0.6%)
   Liu Gang                               544 (0.5%)
   Scott Wood                             509 (0.5%)
   Stephan Linz                           500 (0.5%)
   Valentin Longchamp                     488 (0.5%)
   Luka Perkov                            488 (0.5%)
   Viktor Krivak                          472 (0.5%)
   Simon Glass                            465 (0.5%)
   Mike Frysinger                         451 (0.4%)
   Andreas Bießmann                       448 (0.4%)
   Richard Retanubun                      415 (0.4%)
   Yoshihiro Shimoda                      330 (0.3%)
   Ilya Yanok                             299 (0.3%)
   Matthew McClintock                     241 (0.2%)
   Simon Guinot                           241 (0.2%)
   Prabhakar Lad                          219 (0.2%)
   John Rigby                             213 (0.2%)
   Lucas Stach                            209 (0.2%)
   Javier Martinez Canillas               209 (0.2%)
   trem                                   207 (0.2%)
   Bastian Ruppert                        205 (0.2%)
   Chandan Nath                           182 (0.2%)
   Łukasz Dałek                           159 (0.2%)
   Andrew Sharp                           157 (0.2%)
   Linus Walleij                          156 (0.2%)
   Fabio Estevam                          154 (0.2%)
   Tom Warren                             147 (0.1%)
   Sughosh Ganu                           128 (0.1%)
   Daniel Schwierzeck                     122 (0.1%)
   Nikita Kiryanov                        109 (0.1%)
   Steve Sakoman                          101 (0.1%)
   Tetsuyuki Kobayashi                    97 (0.1%)
   Laurence Withers                       97 (0.1%)
   Holger Brunck                          94 (0.1%)
   Ira W. Snyder                          93 (0.1%)
   Heiko Schocher                         69 (0.1%)
   Jason Jin                              68 (0.1%)
   Hongtao Jia                            49 (0.0%)
   Chander Kashyap                        48 (0.0%)
   Mikhail Kshevetskiy                    39 (0.0%)
   Ashok Kumar Reddy                      36 (0.0%)
   Kumar Gala                             33 (0.0%)
   Zhong Hongbo                           33 (0.0%)
   Karl O. Pinc                           32 (0.0%)
   Vikram Narayanan                       32 (0.0%)
   Prabhakar Kushwaha                     30 (0.0%)
   Michael Walle                          30 (0.0%)
   Eric Nelson                            30 (0.0%)
   Pavel Machek                           29 (0.0%)
   Kaspter Ju                             29 (0.0%)
   Kenth Eriksson                         27 (0.0%)
   Jaehoon Chung                          26 (0.0%)
   Igor Grinberg                          26 (0.0%)
   Wolfgang Grandegger                    26 (0.0%)
   Thierry Reding                         23 (0.0%)
   Jens Scharsig                          22 (0.0%)
   Albert ARIBAUD                         21 (0.0%)
   Joakim Tjernlund                       19 (0.0%)
   Andy Fleming                           18 (0.0%)
   Stefan Kristiansson                    14 (0.0%)
   Priyanka Jain                          14 (0.0%)
   Rajashekhara, Sudhakar                 13 (0.0%)
   Julius Baxter                          13 (0.0%)
   Koen Kooi                              12 (0.0%)
   Jim Shimer                             12 (0.0%)
   Paul Gortmaker                         12 (0.0%)
   Peter Meerwald                         11 (0.0%)
   Xu, Hong                               10 (0.0%)
   Simon Baatz                            7 (0.0%)
   Satyanarayana, Sandhya                 7 (0.0%)
   Stathis Voukelatos                     6 (0.0%)
   Enric Balletbò i Serra                 6 (0.0%)
   Jérôme Carretero                       6 (0.0%)
   Horst Kronstorfer                      5 (0.0%)
   Arnout Vandecappelle (Essensium/Mind)  5 (0.0%)
   Vaibhav Bedia                          5 (0.0%)
   Jeremy Andrus                          5 (0.0%)
   Khem Raj                               5 (0.0%)
   Dirk Eibach                            5 (0.0%)
   Ramesh Chandrasekaran                  4 (0.0%)
   Chan-Taek Park                         4 (0.0%)
   Joel A Fernandes                       4 (0.0%)
   Jagan Teki                             4 (0.0%)
   Timo Ketola                            4 (0.0%)
   Tyler Olmstead                         3 (0.0%)
   Brian Rzycki                           2 (0.0%)
   Matthieu CASTET                        2 (0.0%)
   Jeroen Hofstee                         1 (0.0%)
   Rommel Custodio                        1 (0.0%)
   Iwo Mergler                            1 (0.0%)
   Jongman Heo                            1 (0.0%)
   Matej Frančeškin                       1 (0.0%)
   Bernhard Walle                         1 (0.0%)
   David du Colombier                     1 (0.0%)
   Jayachandran Chandrasekharan Nair      1 (0.0%)
   =====================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Wolfgang Denk                     2612 (7.2%)
   Timur Tabi                        1845 (5.1%)
   Rob Herring                       1394 (3.8%)
   Mike Frysinger                    338 (0.9%)
   Marek Vasut                       129 (0.4%)
   Fabio Estevam                     90 (0.2%)
   Matt Sealey                       53 (0.1%)
   Linus Walleij                     45 (0.1%)
   Kaspter Ju                        29 (0.1%)
   Vikram Narayanan                  14 (0.0%)
   Jim Shimer                        12 (0.0%)
   Daniel Schwierzeck                4 (0.0%)
   Joakim Tjernlund                  4 (0.0%)
   Tom Warren                        3 (0.0%)
   Igor Grinberg                     2 (0.0%)
   Tyler Olmstead                    2 (0.0%)
   Ashok Kumar Reddy                 1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Andy Fleming                      70 (19.1%)
   Tom Warren                        31 (8.4%)
   Kyungmin Park                     28 (7.6%)
   Andreas Bießmann                  27 (7.4%)
   Minkyu Kang                       24 (6.5%)
   Tom Rini                          21 (5.7%)
   Scott Wood                        18 (4.9%)
   Nobuhiro Iwamatsu                 15 (4.1%)
   John Rigby                        10 (2.7%)
   Mike Frysinger                    9 (2.5%)
   Hadli, Manjunath                  9 (2.5%)
   Alim Akhtar                       7 (1.9%)
   Rajashekhara, Sudhakar            7 (1.9%)
   Stefan Roese                      6 (1.6%)
   Igor Grinberg                     4 (1.1%)
   Kim Phillips                      4 (1.1%)
   Hatim Ali                         4 (1.1%)
   Doug Anderson                     4 (1.1%)
   Ilya Yanok                        4 (1.1%)
   York Sun                          4 (1.1%)
   Abhilash Kesavan                  3 (0.8%)
   Holger Brunck                     3 (0.8%)
   Kumar Gala                        3 (0.8%)
   Simon Glass                       3 (0.8%)
   Hideyuki Sano                     3 (0.8%)
   Michal Simek                      3 (0.8%)
   Wolfgang Denk                     2 (0.5%)
   Daniel Schwierzeck                2 (0.5%)
   Jens Scharsig (BuS Elektronik)    2 (0.5%)
   Che-Liang Chiou                   2 (0.5%)
   Tom Wai-Hong Tam                  2 (0.5%)
   Manjunatha C Achar                2 (0.5%)
   Iqbal Shareef                     2 (0.5%)
   Hakgoo Lee                        2 (0.5%)
   Pavel Machek                      2 (0.5%)
   Prabhakar Lad                     2 (0.5%)
   Rob Herring                       1 (0.3%)
   Jim Shimer                        1 (0.3%)
   Chin Liang See                    1 (0.3%)
   Jate Sujjavanich                  1 (0.3%)
   Artem Bityutskiy                  1 (0.3%)
   David Woodhouse                   1 (0.3%)
   Prafulla Wadaskar                 1 (0.3%)
   Lauri Hintsala                    1 (0.3%)
   Radu Lazarescu                    1 (0.3%)
   Ralf Baechle                      1 (0.3%)
   Thomas Weber                      1 (0.3%)
   Li Yang                           1 (0.3%)
   Jerry Huang                       1 (0.3%)
   Jiang Yutang                      1 (0.3%)
   Satyanarayana, Sandhya            1 (0.3%)
   Simon Baatz                       1 (0.3%)
   Heiko Schocher                    1 (0.3%)
   Jason Jin                         1 (0.3%)
   Otavio Salvador                   1 (0.3%)
   Chandan Nath                      1 (0.3%)
   Anatolij Gustschin                1 (0.3%)
   Gerlando Falauto                  1 (0.3%)
   Mathieu J. Poirier                1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Marek Vasut                       14 (93.3%)
   Matthew Gerlach                   1 (6.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Thierry Reding                    14 (26.9%)
   Christian Riesch                  12 (23.1%)
   Fabio Estevam                     3 (5.8%)
   Michal Simek                      2 (3.8%)
   Albert ARIBAUD                    2 (3.8%)
   Sughosh Ganu                      2 (3.8%)
   Stefano Babic                     2 (3.8%)
   Allen Martin                      2 (3.8%)
   Andreas Bießmann                  1 (1.9%)
   Tom Rini                          1 (1.9%)
   Wolfgang Denk                     1 (1.9%)
   Jens Scharsig (BuS Elektronik)    1 (1.9%)
   Matt Sealey                       1 (1.9%)
   Wojciech Dubowik                  1 (1.9%)
   Tim Fletcher                      1 (1.9%)
   Matt Porter                       1 (1.9%)
   Jeroen Hofstee                    1 (1.9%)
   Jaehoon Chung                     1 (1.9%)
   Javier Martinez Canillas          1 (1.9%)
   Valentin Longchamp                1 (1.9%)
   Luka Perkov                       1 (1.9%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Allen Martin                      14 (26.9%)
   Prabhakar Lad                     7 (13.5%)
   Mikhail Kshevetskiy               4 (7.7%)
   Tom Rini                          3 (5.8%)
   Luka Perkov                       3 (5.8%)
   Stefano Babic                     2 (3.8%)
   Marek Vasut                       2 (3.8%)
   Rajashekhara, Sudhakar            2 (3.8%)
   Stefan Roese                      2 (3.8%)
   Anatolij Gustschin                2 (3.8%)
   Zhong Hongbo                      2 (3.8%)
   Stephan Linz                      2 (3.8%)
   Albert ARIBAUD                    1 (1.9%)
   Andreas Bießmann                  1 (1.9%)
   Andy Fleming                      1 (1.9%)
   Gerlando Falauto                  1 (1.9%)
   Enric Balletbò i Serra            1 (1.9%)
   Eric Nelson                       1 (1.9%)
   Veli-Pekka Peltola                1 (1.9%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Albert ARIBAUD                    3 (33.3%)
   Prabhakar Lad                     2 (22.2%)
   Stefano Babic                     1 (11.1%)
   Igor Grinberg                     1 (11.1%)
   Rafael Beims                      1 (11.1%)
   James Miller                      1 (11.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Nobuhiro Iwamatsu                 2 (22.2%)
   Stephen Warren                    2 (22.2%)
   Marek Vasut                       1 (11.1%)
   Anatolij Gustschin                1 (11.1%)
   Gerlando Falauto                  1 (11.1%)
   Matthieu CASTET                   1 (11.1%)
   Joe Hershberger                   1 (11.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         203 (21.9%)
   DENX Software Engineering         95 (10.3%)
   Freescale                         92 (9.9%)
   ADVANSEE                          71 (7.7%)
   Konsulko Group                    66 (7.1%)
   Samsung                           49 (5.3%)
   NVidia                            46 (5.0%)
   Renesas Electronics               37 (4.0%)
   Boundary Devices                  33 (3.6%)
   Keymile                           32 (3.5%)
   National Instruments              30 (3.2%)
   Xilinx                            27 (2.9%)
   O.S. Systems                      26 (2.8%)
   Atmel                             19 (2.1%)
   Texas Instruments                 17 (1.8%)
   Google, Inc.                      14 (1.5%)
   Linaro                            13 (1.4%)
   Calxeda                           12 (1.3%)
   Analog Devices                    10 (1.1%)
   CompuLab                          8 (0.9%)
   bct electronic GmbH               5 (0.5%)
   OVRO                              4 (0.4%)
   Transmode Systems                 4 (0.4%)
   Sakoman Inc.                      3 (0.3%)
   Bluegiga Technologies             2 (0.2%)
   Nobuhiro Iwamatsu                 2 (0.2%)
   Wind River                        1 (0.1%)
   Guntermann & Drunck               1 (0.1%)
   Motorola                          1 (0.1%)
   RuggedCom                         1 (0.1%)
   ST-Ericsson                       1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         32255 (32.1%)
   DENX Software Engineering         13607 (13.5%)
   Samsung                           13459 (13.4%)
   Renesas Electronics               10389 (10.3%)
   Freescale                         6846 (6.8%)
   NVidia                            3482 (3.5%)
   Linaro                            2597 (2.6%)
   Atmel                             2053 (2.0%)
   Konsulko Group                    2038 (2.0%)
   Calxeda                           1962 (2.0%)
   ADVANSEE                          1637 (1.6%)
   Xilinx                            1546 (1.5%)
   Texas Instruments                 1477 (1.5%)
   Keymile                           1451 (1.4%)
   Boundary Devices                  1178 (1.2%)
   National Instruments              1083 (1.1%)
   O.S. Systems                      1071 (1.1%)
   Bluegiga Technologies             620 (0.6%)
   Google, Inc.                      465 (0.5%)
   Analog Devices                    451 (0.4%)
   RuggedCom                         415 (0.4%)
   CompuLab                          135 (0.1%)
   Sakoman Inc.                      101 (0.1%)
   OVRO                              93 (0.1%)
   Nobuhiro Iwamatsu                 66 (0.1%)
   Transmode Systems                 46 (0.0%)
   Wind River                        12 (0.0%)
   Motorola                          12 (0.0%)
   bct electronic GmbH               11 (0.0%)
   Guntermann & Drunck               5 (0.0%)
   ST-Ericsson                       4 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Freescale                         104 (28.3%)
   Samsung                           72 (19.6%)
   (Unknown)                         42 (11.4%)
   Texas Instruments                 41 (11.2%)
   NVidia                            31 (8.4%)
   Nobuhiro Iwamatsu                 14 (3.8%)
   DENX Software Engineering         11 (3.0%)
   Linaro                            11 (3.0%)
   Google, Inc.                      11 (3.0%)
   Analog Devices                    9 (2.5%)
   Renesas Electronics               4 (1.1%)
   Keymile                           4 (1.1%)
   CompuLab                          4 (1.1%)
   BuS Elektronik                    2 (0.5%)
   Intel                             2 (0.5%)
   Calxeda                           1 (0.3%)
   O.S. Systems                      1 (0.3%)
   Bluegiga Technologies             1 (0.3%)
   Motorola                          1 (0.3%)
   Marvell                           1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         59 (43.4%)
   Freescale                         15 (11.0%)
   Texas Instruments                 8 (5.9%)
   DENX Software Engineering         8 (5.9%)
   Samsung                           5 (3.7%)
   NVidia                            4 (2.9%)
   Linaro                            4 (2.9%)
   Renesas Electronics               3 (2.2%)
   Keymile                           3 (2.2%)
   Atmel                             3 (2.2%)
   CompuLab                          2 (1.5%)
   Boundary Devices                  2 (1.5%)
   Transmode Systems                 2 (1.5%)
   Nobuhiro Iwamatsu                 1 (0.7%)
   Google, Inc.                      1 (0.7%)
   Analog Devices                    1 (0.7%)
   Calxeda                           1 (0.7%)
   O.S. Systems                      1 (0.7%)
   Bluegiga Technologies             1 (0.7%)
   Motorola                          1 (0.7%)
   Konsulko Group                    1 (0.7%)
   ADVANSEE                          1 (0.7%)
   Xilinx                            1 (0.7%)
   National Instruments              1 (0.7%)
   RuggedCom                         1 (0.7%)
   Sakoman Inc.                      1 (0.7%)
   OVRO                              1 (0.7%)
   Wind River                        1 (0.7%)
   bct electronic GmbH               1 (0.7%)
   Guntermann & Drunck               1 (0.7%)
   ST-Ericsson                       1 (0.7%)
   ================================  =====
