:orphan:

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

* Processed 980 csets from 154 developers

* 31 employers found

* A total of 68855 lines added, 50005 removed (delta 18850)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   127 (13.0%)
   Nobuhiro Iwamatsu                 50 (5.1%)
   Fabio Estevam                     43 (4.4%)
   Tom Rini                          34 (3.5%)
   Jagan Teki                        31 (3.2%)
   Paul Burton                       24 (2.4%)
   Simon Glass                       22 (2.2%)
   Andreas Bießmann                  22 (2.2%)
   Troy Kisky                        21 (2.1%)
   Bo Shen                           19 (1.9%)
   Łukasz Majewski                   18 (1.8%)
   Heiko Schocher                    18 (1.8%)
   Jagannadha Sutradharudu Teki      17 (1.7%)
   Lokesh Vutla                      17 (1.7%)
   Nikita Kiryanov                   16 (1.6%)
   Prabhakar Kushwaha                16 (1.6%)
   Rob Herring                       16 (1.6%)
   Marek Vasut                       15 (1.5%)
   Piotr Wilczek                     13 (1.3%)
   Rajeshwari S Shinde               13 (1.3%)
   Shengzhou Liu                     13 (1.3%)
   Dan Murphy                        12 (1.2%)
   Roger Quadros                     11 (1.1%)
   Valentin Longchamp                11 (1.1%)
   Alexey Brodkin                    10 (1.0%)
   York Sun                          10 (1.0%)
   Stefan Roese                      10 (1.0%)
   Sonic Zhang                       10 (1.0%)
   Claudiu Manoil                    10 (1.0%)
   Przemyslaw Marczak                9 (0.9%)
   Kuo-Jung Su                       9 (0.9%)
   Eric Nelson                       9 (0.9%)
   Otavio Salvador                   8 (0.8%)
   Shaohui Xie                       8 (0.8%)
   Priyanka Jain                     8 (0.8%)
   Vivek Gautam                      8 (0.8%)
   Albert ARIBAUD                    7 (0.7%)
   Miao Yan                          7 (0.7%)
   David Feng                        7 (0.7%)
   Luka Perkov                       7 (0.7%)
   Stefano Babic                     7 (0.7%)
   Igor Grinberg                     7 (0.7%)
   Axel Lin                          6 (0.6%)
   Thierry Reding                    6 (0.6%)
   Jaehoon Chung                     5 (0.5%)
   Sergei Ianovich                   5 (0.5%)
   pekon gupta                       5 (0.5%)
   Giuseppe Pagano                   5 (0.5%)
   Po Liu                            5 (0.5%)
   Zhao Qiang                        5 (0.5%)
   Wu, Josh                          5 (0.5%)
   Stephen Warren                    4 (0.4%)
   Jeroen Hofstee                    4 (0.4%)
   Minkyu Kang                       4 (0.4%)
   Scott Wood                        4 (0.4%)
   Alban Bedel                       4 (0.4%)
   Guilherme Maciel Ferreira         4 (0.4%)
   Michal Simek                      4 (0.4%)
   Jens Scharsig (BuS Elektronik)    4 (0.4%)
   SRICHARAN R                       4 (0.4%)
   ramneek mehresh                   4 (0.4%)
   Haijun.Zhang                      4 (0.4%)
   Liu Ying                          3 (0.3%)
   Chin Liang See                    3 (0.3%)
   Naveen Krishna Chatradhi          3 (0.3%)
   Yoshihiro Shimoda                 3 (0.3%)
   Mike Frysinger                    3 (0.3%)
   Ilya Ledvich                      3 (0.3%)
   Andrew Ruder                      3 (0.3%)
   Laurentiu TUDOR                   3 (0.3%)
   Egbert Eich                       3 (0.3%)
   Thomas Weber                      3 (0.3%)
   trem                              3 (0.3%)
   Ying Zhang                        3 (0.3%)
   Andre Heider                      2 (0.2%)
   Ionut Nicu                        2 (0.2%)
   Ma Haijun                         2 (0.2%)
   Bhupesh Sharma                    2 (0.2%)
   Pierre Aubert                     2 (0.2%)
   Darwin Rambo                      2 (0.2%)
   Lubomir Popov                     2 (0.2%)
   Poddar, Sourav                    2 (0.2%)
   Sekhar Nori                       2 (0.2%)
   Vladimir Zapolskiy                2 (0.2%)
   Soren Brinkmann                   2 (0.2%)
   Mateusz Kulikowski                2 (0.2%)
   Michael Trimarchi                 2 (0.2%)
   Viktar Palstsiuk                  2 (0.2%)
   Oleg Kosheliev                    2 (0.2%)
   Wolfgang Denk                     2 (0.2%)
   David Dueck                       2 (0.2%)
   Gabor Juhos                       2 (0.2%)
   Anatolij Gustschin                2 (0.2%)
   Suriyan Ramasami                  2 (0.2%)
   Mark Langsdorf                    2 (0.2%)
   Javier Martinez Canillas          2 (0.2%)
   Julius Werner                     2 (0.2%)
   Charles Manning                   1 (0.1%)
   Robert Nelson                     1 (0.1%)
   Ezequiel Garcia                   1 (0.1%)
   Andrew Gabbasov                   1 (0.1%)
   Antonios Vamporakis               1 (0.1%)
   Inderpal Singh                    1 (0.1%)
   Chander Kashyap                   1 (0.1%)
   Christian Gmeiner                 1 (0.1%)
   John Weber                        1 (0.1%)
   Hisashi Nakamura                  1 (0.1%)
   Siva Durga Prasad Paladugu        1 (0.1%)
   Markus Niebel                     1 (0.1%)
   Che-Liang Chiou                   1 (0.1%)
   Henrik Nordström                  1 (0.1%)
   Lad, Prabhakar                    1 (0.1%)
   Mugunthan V N                     1 (0.1%)
   Holger Brunck                     1 (0.1%)
   Karlheinz Jerg                    1 (0.1%)
   Sergey Alyoshin                   1 (0.1%)
   Yen Lin                           1 (0.1%)
   Jim Lin                           1 (0.1%)
   Vidya Sagar                       1 (0.1%)
   Jimmy Zhang                       1 (0.1%)
   Frank Li                          1 (0.1%)
   Stany MARCEL                      1 (0.1%)
   Kees Jongenburger                 1 (0.1%)
   Yegor Yefremov                    1 (0.1%)
   Tapani Utriainen                  1 (0.1%)
   Ian Campbell                      1 (0.1%)
   Roger Meier                       1 (0.1%)
   Zang Roy-R61911                   1 (0.1%)
   Dave Liu                          1 (0.1%)
   Vladimir Koutny                   1 (0.1%)
   Hardik Patel                      1 (0.1%)
   Matt Porter                       1 (0.1%)
   Lars Poeschel                     1 (0.1%)
   Tang Yuantian                     1 (0.1%)
   Srikanth Thokala                  1 (0.1%)
   Rojhalat Ibrahim                  1 (0.1%)
   Chunhe Lan                        1 (0.1%)
   Arpit Goel                        1 (0.1%)
   Sascha Silbe                      1 (0.1%)
   Stephan Bauroth                   1 (0.1%)
   rockly                            1 (0.1%)
   Daniel Schwierzeck                1 (0.1%)
   Michael Heimpold                  1 (0.1%)
   Samuel Egli                       1 (0.1%)
   Andrew Bradford                   1 (0.1%)
   Tim Harvey                        1 (0.1%)
   jason                             1 (0.1%)
   Radhey Shyam Pandey               1 (0.1%)
   Steven Miao                       1 (0.1%)
   Minal Shah                        1 (0.1%)
   Christoph G. Baumann              1 (0.1%)
   Oliver Metz                       1 (0.1%)
   Mateusz Zalega                    1 (0.1%)
   Michael Burr                      1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   25093 (24.7%)
   Nobuhiro Iwamatsu                 8890 (8.8%)
   Eric Nelson                       5909 (5.8%)
   Rajeshwari S Shinde               5438 (5.4%)
   Vivek Gautam                      4654 (4.6%)
   Tom Rini                          4245 (4.2%)
   Shengzhou Liu                     3428 (3.4%)
   Priyanka Jain                     2799 (2.8%)
   David Feng                        2200 (2.2%)
   Prabhakar Kushwaha                1977 (1.9%)
   Rob Herring                       1811 (1.8%)
   Heiko Schocher                    1630 (1.6%)
   Fabio Estevam                     1491 (1.5%)
   Valentin Longchamp                1405 (1.4%)
   Yoshihiro Shimoda                 1377 (1.4%)
   Łukasz Majewski                   1372 (1.4%)
   Simon Glass                       1340 (1.3%)
   Albert ARIBAUD                    1211 (1.2%)
   Paul Burton                       1184 (1.2%)
   Lokesh Vutla                      1177 (1.2%)
   Stefan Roese                      1055 (1.0%)
   York Sun                          1029 (1.0%)
   Wolfgang Denk                     994 (1.0%)
   Andreas Bießmann                  987 (1.0%)
   Naveen Krishna Chatradhi          922 (0.9%)
   Jagannadha Sutradharudu Teki      900 (0.9%)
   Dan Murphy                        898 (0.9%)
   Mike Frysinger                    895 (0.9%)
   Guilherme Maciel Ferreira         863 (0.9%)
   Tapani Utriainen                  841 (0.8%)
   Kuo-Jung Su                       816 (0.8%)
   Ilya Ledvich                      689 (0.7%)
   Marek Vasut                       684 (0.7%)
   Bo Shen                           668 (0.7%)
   Alban Bedel                       664 (0.7%)
   Jagan Teki                        595 (0.6%)
   Troy Kisky                        589 (0.6%)
   Roger Quadros                     514 (0.5%)
   Nikita Kiryanov                   488 (0.5%)
   Chin Liang See                    476 (0.5%)
   Giuseppe Pagano                   435 (0.4%)
   Przemyslaw Marczak                419 (0.4%)
   Piotr Wilczek                     346 (0.3%)
   pekon gupta                       346 (0.3%)
   Mateusz Kulikowski                333 (0.3%)
   Claudiu Manoil                    320 (0.3%)
   SRICHARAN R                       308 (0.3%)
   Samuel Egli                       305 (0.3%)
   Ying Zhang                        298 (0.3%)
   Zhao Qiang                        273 (0.3%)
   Viktar Palstsiuk                  262 (0.3%)
   Scott Wood                        232 (0.2%)
   Henrik Nordström                  223 (0.2%)
   Miao Yan                          215 (0.2%)
   Igor Grinberg                     155 (0.2%)
   trem                              153 (0.2%)
   Mateusz Zalega                    138 (0.1%)
   Stefano Babic                     112 (0.1%)
   Vladimir Zapolskiy                106 (0.1%)
   Oleg Kosheliev                    106 (0.1%)
   Stephen Warren                    105 (0.1%)
   Sekhar Nori                       103 (0.1%)
   Otavio Salvador                   96 (0.1%)
   Alexey Brodkin                    95 (0.1%)
   Thierry Reding                    84 (0.1%)
   ramneek mehresh                   82 (0.1%)
   Sonic Zhang                       73 (0.1%)
   Shaohui Xie                       68 (0.1%)
   Arpit Goel                        68 (0.1%)
   Hardik Patel                      66 (0.1%)
   Haijun.Zhang                      59 (0.1%)
   Jimmy Zhang                       59 (0.1%)
   Chander Kashyap                   53 (0.1%)
   Srikanth Thokala                  53 (0.1%)
   Luka Perkov                       50 (0.0%)
   Sergei Ianovich                   49 (0.0%)
   Lars Poeschel                     49 (0.0%)
   Axel Lin                          48 (0.0%)
   Pierre Aubert                     47 (0.0%)
   Markus Niebel                     44 (0.0%)
   Po Liu                            39 (0.0%)
   Yegor Yefremov                    38 (0.0%)
   Rojhalat Ibrahim                  38 (0.0%)
   Michal Simek                      37 (0.0%)
   Andrew Ruder                      36 (0.0%)
   Julius Werner                     34 (0.0%)
   Wu, Josh                          31 (0.0%)
   Laurentiu TUDOR                   31 (0.0%)
   Egbert Eich                       31 (0.0%)
   Jaehoon Chung                     30 (0.0%)
   Ma Haijun                         29 (0.0%)
   Sergey Alyoshin                   28 (0.0%)
   Inderpal Singh                    27 (0.0%)
   Steven Miao                       21 (0.0%)
   Darwin Rambo                      20 (0.0%)
   Suriyan Ramasami                  16 (0.0%)
   Oliver Metz                       15 (0.0%)
   Yen Lin                           13 (0.0%)
   Christoph G. Baumann              13 (0.0%)
   Thomas Weber                      12 (0.0%)
   Andre Heider                      12 (0.0%)
   Jens Scharsig (BuS Elektronik)    11 (0.0%)
   Mark Langsdorf                    11 (0.0%)
   Karlheinz Jerg                    11 (0.0%)
   John Weber                        10 (0.0%)
   Minal Shah                        10 (0.0%)
   Minkyu Kang                       9 (0.0%)
   Lubomir Popov                     9 (0.0%)
   Anatolij Gustschin                9 (0.0%)
   Soren Brinkmann                   8 (0.0%)
   Zang Roy-R61911                   8 (0.0%)
   Tim Harvey                        8 (0.0%)
   Jeroen Hofstee                    7 (0.0%)
   Poddar, Sourav                    7 (0.0%)
   Roger Meier                       7 (0.0%)
   Michael Burr                      7 (0.0%)
   Bhupesh Sharma                    6 (0.0%)
   Javier Martinez Canillas          6 (0.0%)
   Michael Trimarchi                 5 (0.0%)
   David Dueck                       5 (0.0%)
   Gabor Juhos                       5 (0.0%)
   Andrew Bradford                   5 (0.0%)
   Antonios Vamporakis               4 (0.0%)
   Mugunthan V N                     4 (0.0%)
   Kees Jongenburger                 4 (0.0%)
   Dave Liu                          4 (0.0%)
   Liu Ying                          3 (0.0%)
   Ionut Nicu                        3 (0.0%)
   Che-Liang Chiou                   3 (0.0%)
   Stany MARCEL                      3 (0.0%)
   Sascha Silbe                      3 (0.0%)
   Robert Nelson                     2 (0.0%)
   Ezequiel Garcia                   2 (0.0%)
   Andrew Gabbasov                   2 (0.0%)
   Christian Gmeiner                 2 (0.0%)
   Hisashi Nakamura                  2 (0.0%)
   Siva Durga Prasad Paladugu        2 (0.0%)
   Jim Lin                           2 (0.0%)
   Vidya Sagar                       2 (0.0%)
   Frank Li                          2 (0.0%)
   Tang Yuantian                     2 (0.0%)
   Stephan Bauroth                   2 (0.0%)
   Daniel Schwierzeck                2 (0.0%)
   Michael Heimpold                  2 (0.0%)
   jason                             2 (0.0%)
   Radhey Shyam Pandey               2 (0.0%)
   Charles Manning                   1 (0.0%)
   Lad, Prabhakar                    1 (0.0%)
   Holger Brunck                     1 (0.0%)
   Ian Campbell                      1 (0.0%)
   Vladimir Koutny                   1 (0.0%)
   Matt Porter                       1 (0.0%)
   Chunhe Lan                        1 (0.0%)
   rockly                            1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   20766 (41.5%)
   Tom Rini                          3933 (7.9%)
   Rob Herring                       1586 (3.2%)
   Eric Nelson                       1163 (2.3%)
   Wolfgang Denk                     986 (2.0%)
   Albert ARIBAUD                    945 (1.9%)
   Stefan Roese                      570 (1.1%)
   Vladimir Zapolskiy                100 (0.2%)
   Luka Perkov                       13 (0.0%)
   Axel Lin                          8 (0.0%)
   Soren Brinkmann                   8 (0.0%)
   Sergei Ianovich                   7 (0.0%)
   Jens Scharsig (BuS Elektronik)    7 (0.0%)
   Yen Lin                           5 (0.0%)
   Michael Trimarchi                 3 (0.0%)
   Egbert Eich                       2 (0.0%)
   Che-Liang Chiou                   2 (0.0%)
   Radhey Shyam Pandey               2 (0.0%)
   Charles Manning                   1 (0.0%)
   Lad, Prabhakar                    1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jagannadha Sutradharudu Teki      34 (14.5%)
   Minkyu Kang                       26 (11.1%)
   Andreas Bießmann                  25 (10.6%)
   Kyungmin Park                     14 (6.0%)
   Simon Glass                       11 (4.7%)
   Hisashi Nakamura                  9 (3.8%)
   Tom Warren                        9 (3.8%)
   Akshay Saraswat                   7 (3.0%)
   Igor Grinberg                     6 (2.6%)
   Tom Rini                          5 (2.1%)
   Poonam Aggrwal                    5 (2.1%)
   Sonic Zhang                       5 (2.1%)
   Michal Simek                      5 (2.1%)
   Nobuhiro Iwamatsu                 5 (2.1%)
   Kouei Abe                         4 (1.7%)
   Scott Wood                        4 (1.7%)
   Anson Huang                       3 (1.3%)
   Vadim Bendebury                   3 (1.3%)
   Vikas C Sajjan                    3 (1.3%)
   David Feng                        3 (1.3%)
   Bhupesh Sharma                    2 (0.9%)
   Mathias Rulf                      2 (0.9%)
   Jon Nettleton                     2 (0.9%)
   Jason Liu                         2 (0.9%)
   Alim Akhtar                       2 (0.9%)
   Ryo Kataoka                       2 (0.9%)
   Anatolij Gustschin                2 (0.9%)
   Roger Meier                       2 (0.9%)
   Shaohui Xie                       2 (0.9%)
   Lokesh Vutla                      2 (0.9%)
   Naveen Krishna Chatradhi          2 (0.9%)
   Prabhakar Kushwaha                2 (0.9%)
   Vivek Gautam                      2 (0.9%)
   Stefan Roese                      1 (0.4%)
   Daniel Schwierzeck                1 (0.4%)
   Holger Brunck                     1 (0.4%)
   Måns Rullgård                     1 (0.4%)
   Rabeeh Khoury                     1 (0.4%)
   Boris Schmidt                     1 (0.4%)
   Tom Wai-Hong Tam                  1 (0.4%)
   Rockly                            1 (0.4%)
   Their Name                        1 (0.4%)
   Pascal Bach                       1 (0.4%)
   Jason Jin                         1 (0.4%)
   Xie Shaohui-B21989                1 (0.4%)
   Stefan Bigler                     1 (0.4%)
   R. Chandrasekar                   1 (0.4%)
   Zang Roy-R61911                   1 (0.4%)
   Julius Werner                     1 (0.4%)
   Inderpal Singh                    1 (0.4%)
   Chander Kashyap                   1 (0.4%)
   Thierry Reding                    1 (0.4%)
   Otavio Salvador                   1 (0.4%)
   Stephen Warren                    1 (0.4%)
   Heiko Schocher                    1 (0.4%)
   Priyanka Jain                     1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jagannadha Sutradharudu Teki      9 (20.0%)
   Hung-ying Tyan                    6 (13.3%)
   Simon Glass                       5 (11.1%)
   Fabio Estevam                     5 (11.1%)
   Stefan Roese                      4 (8.9%)
   Benoît Thébaudeau                 4 (8.9%)
   Heiko Schocher                    3 (6.7%)
   Tom Warren                        1 (2.2%)
   Naveen Krishna Chatradhi          1 (2.2%)
   Stephen Warren                    1 (2.2%)
   Che-Liang Chiou                   1 (2.2%)
   Tim Kryger                        1 (2.2%)
   Steve Rae                         1 (2.2%)
   Julian Scheel                     1 (2.2%)
   Andre Heider                      1 (2.2%)
   Łukasz Majewski                   1 (2.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Nikita Kiryanov                   3 (10.0%)
   Fabio Estevam                     2 (6.7%)
   Stephen Warren                    2 (6.7%)
   Łukasz Majewski                   2 (6.7%)
   Jens Scharsig (BuS Elektronik)    2 (6.7%)
   Yebio Mesfin                      2 (6.7%)
   Bo Shen                           2 (6.7%)
   Ilya Ledvich                      2 (6.7%)
   Stefan Roese                      1 (3.3%)
   Naveen Krishna Chatradhi          1 (3.3%)
   Che-Liang Chiou                   1 (3.3%)
   Tom Rini                          1 (3.3%)
   Michal Simek                      1 (3.3%)
   Eric Nelson                       1 (3.3%)
   Matt Porter                       1 (3.3%)
   Thomas Petazzoni                  1 (3.3%)
   Ryan Barnett                      1 (3.3%)
   Jaehoon Chung                     1 (3.3%)
   Lubomir Popov                     1 (3.3%)
   Piotr Wilczek                     1 (3.3%)
   Rajeshwari S Shinde               1 (3.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Igor Grinberg                     5 (16.7%)
   Heiko Schocher                    4 (13.3%)
   Nikita Kiryanov                   2 (6.7%)
   Andreas Bießmann                  2 (6.7%)
   Poddar, Sourav                    2 (6.7%)
   Giuseppe Pagano                   2 (6.7%)
   Fabio Estevam                     1 (3.3%)
   Bo Shen                           1 (3.3%)
   Che-Liang Chiou                   1 (3.3%)
   Tom Rini                          1 (3.3%)
   Piotr Wilczek                     1 (3.3%)
   Albert ARIBAUD                    1 (3.3%)
   Axel Lin                          1 (3.3%)
   Egbert Eich                       1 (3.3%)
   Jim Lin                           1 (3.3%)
   Haijun.Zhang                      1 (3.3%)
   Alexey Brodkin                    1 (3.3%)
   pekon gupta                       1 (3.3%)
   Alban Bedel                       1 (3.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tomi Valkeinen                    3 (16.7%)
   Otavio Salvador                   2 (11.1%)
   Robin Gong                        2 (11.1%)
   Stefan Roese                      1 (5.6%)
   Andre Heider                      1 (5.6%)
   Ian Campbell                      1 (5.6%)
   Alexey Smishlayev                 1 (5.6%)
   Nishanth Menon                    1 (5.6%)
   Rajendran, Vinothkumar            1 (5.6%)
   Chao Xu                           1 (5.6%)
   Griffis, Brad                     1 (5.6%)
   Pavel Nakonechny                  1 (5.6%)
   Sven Schwermer                    1 (5.6%)
   Pierre Aubert                     1 (5.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Lokesh Vutla                      4 (22.2%)
   Roger Quadros                     3 (16.7%)
   Fabio Estevam                     2 (11.1%)
   Liu Ying                          2 (11.1%)
   Heiko Schocher                    1 (5.6%)
   Andreas Bießmann                  1 (5.6%)
   Tom Rini                          1 (5.6%)
   pekon gupta                       1 (5.6%)
   Stephen Warren                    1 (5.6%)
   Michal Simek                      1 (5.6%)
   Rob Herring                       1 (5.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         165 (16.8%)
   Freescale                         147 (15.0%)
   Socionext Inc.                    127 (13.0%)
   Samsung                           74 (7.6%)
   Texas Instruments                 57 (5.8%)
   DENX Software Engineering         54 (5.5%)
   Xilinx                            53 (5.4%)
   Renesas Electronics               43 (4.4%)
   Konsulko Group                    34 (3.5%)
   Boundary Devices                  30 (3.1%)
   CompuLab                          26 (2.7%)
   MIPS                              24 (2.4%)
   Google, Inc.                      23 (2.3%)
   Atmel                             23 (2.3%)
   Calxeda                           18 (1.8%)
   Analog Devices                    13 (1.3%)
   Keymile                           13 (1.3%)
   Nobuhiro Iwamatsu                 11 (1.1%)
   O.S. Systems                      8 (0.8%)
   Wind River                        7 (0.7%)
   NVidia                            6 (0.6%)
   AMD                               4 (0.4%)
   BuS Elektronik                    4 (0.4%)
   Linaro                            3 (0.3%)
   Novell                            3 (0.3%)
   Amarula Solutions                 2 (0.2%)
   Broadcom                          2 (0.2%)
   Promwad                           2 (0.2%)
   Siemens                           2 (0.2%)
   Free Electrons                    1 (0.1%)
   TQ Systems                        1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Socionext Inc.                    25093 (24.7%)
   Samsung                           13328 (13.1%)
   Freescale                         12220 (12.0%)
   (Unknown)                         10272 (10.1%)
   Renesas Electronics               10033 (9.9%)
   Boundary Devices                  6498 (6.4%)
   DENX Software Engineering         4484 (4.4%)
   Konsulko Group                    4245 (4.2%)
   Texas Instruments                 3473 (3.4%)
   Calxeda                           1822 (1.8%)
   Xilinx                            1560 (1.5%)
   Keymile                           1417 (1.4%)
   Google, Inc.                      1343 (1.3%)
   CompuLab                          1332 (1.3%)
   MIPS                              1184 (1.2%)
   Analog Devices                    968 (1.0%)
   Atmel                             695 (0.7%)
   Siemens                           312 (0.3%)
   Promwad                           262 (0.3%)
   Nobuhiro Iwamatsu                 236 (0.2%)
   Wind River                        215 (0.2%)
   NVidia                            99 (0.1%)
   O.S. Systems                      96 (0.1%)
   Linaro                            81 (0.1%)
   TQ Systems                        44 (0.0%)
   AMD                               37 (0.0%)
   Novell                            31 (0.0%)
   Broadcom                          20 (0.0%)
   BuS Elektronik                    11 (0.0%)
   Amarula Solutions                 5 (0.0%)
   Free Electrons                    2 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Samsung                           57 (24.3%)
   Xilinx                            39 (16.6%)
   (Unknown)                         37 (15.7%)
   Freescale                         24 (10.2%)
   Renesas Electronics               16 (6.8%)
   Google, Inc.                      15 (6.4%)
   NVidia                            11 (4.7%)
   Texas Instruments                 7 (3.0%)
   CompuLab                          6 (2.6%)
   Analog Devices                    5 (2.1%)
   DENX Software Engineering         4 (1.7%)
   Siemens                           4 (1.7%)
   Nobuhiro Iwamatsu                 4 (1.7%)
   Keymile                           2 (0.9%)
   Linaro                            2 (0.9%)
   O.S. Systems                      1 (0.4%)
   Funky                             1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         61 (38.9%)
   Freescale                         22 (14.0%)
   Texas Instruments                 10 (6.4%)
   Samsung                           9 (5.7%)
   Xilinx                            6 (3.8%)
   DENX Software Engineering         6 (3.8%)
   NVidia                            5 (3.2%)
   Renesas Electronics               3 (1.9%)
   CompuLab                          3 (1.9%)
   Keymile                           3 (1.9%)
   Linaro                            3 (1.9%)
   Google, Inc.                      2 (1.3%)
   Analog Devices                    2 (1.3%)
   Siemens                           2 (1.3%)
   Boundary Devices                  2 (1.3%)
   Calxeda                           2 (1.3%)
   Atmel                             2 (1.3%)
   Nobuhiro Iwamatsu                 1 (0.6%)
   O.S. Systems                      1 (0.6%)
   Socionext Inc.                    1 (0.6%)
   Konsulko Group                    1 (0.6%)
   MIPS                              1 (0.6%)
   Promwad                           1 (0.6%)
   Wind River                        1 (0.6%)
   TQ Systems                        1 (0.6%)
   AMD                               1 (0.6%)
   Novell                            1 (0.6%)
   Broadcom                          1 (0.6%)
   BuS Elektronik                    1 (0.6%)
   Amarula Solutions                 1 (0.6%)
   Free Electrons                    1 (0.6%)
   ================================  =====
