:orphan:

Release Statistics for U-Boot v2016.09
======================================

* Processed 987 csets from 129 developers

* 30 employers found

* A total of 76219 lines added, 14538 removed (delta 61681)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       172 (17.4%)
   Masahiro Yamada                   70 (7.1%)
   Stephen Warren                    37 (3.7%)
   Vignesh R                         36 (3.6%)
   Tom Rini                          24 (2.4%)
   Ladislav Michl                    24 (2.4%)
   Fabio Estevam                     23 (2.3%)
   Mugunthan V N                     22 (2.2%)
   Chen-Yu Tsai                      21 (2.1%)
   Jaehoon Chung                     21 (2.1%)
   Mario Six                         21 (2.1%)
   Bin Meng                          20 (2.0%)
   Joe Hershberger                   19 (1.9%)
   Hans de Goede                     19 (1.9%)
   Xu Ziyuan                         18 (1.8%)
   Kever Yang                        18 (1.8%)
   Max Filippov                      17 (1.7%)
   Stefan Agner                      16 (1.6%)
   Michal Simek                      16 (1.6%)
   Nobuhiro Iwamatsu                 15 (1.5%)
   Maxime Ripard                     14 (1.4%)
   York Sun                          13 (1.3%)
   Tim Harvey                        13 (1.3%)
   Stefan Roese                      12 (1.2%)
   Andreas Dannenberg                11 (1.1%)
   Hou Zhiqiang                      11 (1.1%)
   Wenyou Yang                       10 (1.0%)
   Alexander Graf                    9 (0.9%)
   Vanessa Maegima                   9 (0.9%)
   Ziyuan Xu                         9 (0.9%)
   Breno Lima                        8 (0.8%)
   Alexey Brodkin                    8 (0.8%)
   Sumit Garg                        8 (0.8%)
   Lokesh Vutla                      7 (0.7%)
   Stefano Babic                     7 (0.7%)
   Heiko Stübner                     7 (0.7%)
   Boris Brezillon                   7 (0.7%)
   Christopher Spinrath              6 (0.6%)
   Chris Packham                     6 (0.6%)
   Andreas Fenkart                   6 (0.6%)
   Rajesh Bhagat                     6 (0.6%)
   Siva Durga Prasad Paladugu        6 (0.6%)
   John Keeping                      5 (0.5%)
   Sekhar Nori                       5 (0.5%)
   Alban Bedel                       5 (0.5%)
   Wenbin Song                       4 (0.4%)
   Vagrant Cascadian                 4 (0.4%)
   Beniamino Galvani                 4 (0.4%)
   Scott Wood                        4 (0.4%)
   karl beldan                       4 (0.4%)
   Chris Zankel                      4 (0.4%)
   Bryan Wu                          4 (0.4%)
   Hongbo Zhang                      4 (0.4%)
   Hannes Schmelzer                  3 (0.3%)
   Robert P. J. Day                  3 (0.3%)
   Andre Przywara                    3 (0.3%)
   Andreas Färber                    3 (0.3%)
   Steve Rae                         3 (0.3%)
   Prabhakar Kushwaha                3 (0.3%)
   Diego Dorta                       3 (0.3%)
   Qianyu Gong                       3 (0.3%)
   Anatolij Gustschin                3 (0.3%)
   Toshifumi NISHINAGA               3 (0.3%)
   Daniel Allred                     3 (0.3%)
   Jonathan Gray                     2 (0.2%)
   Nishanth Menon                    2 (0.2%)
   Madan Srinivas                    2 (0.2%)
   Andreas Bießmann                  2 (0.2%)
   Soeren Moch                       2 (0.2%)
   Icenowy Zheng                     2 (0.2%)
   Tony Lindgren                     2 (0.2%)
   Karl Beldan                       2 (0.2%)
   Masakazu Mochizuki                2 (0.2%)
   George McCollister                2 (0.2%)
   Songjun Wu                        2 (0.2%)
   Peng Fan                          2 (0.2%)
   Mingkai Hu                        2 (0.2%)
   Russ Dill                         2 (0.2%)
   Hector Palacios                   2 (0.2%)
   Thomas Gleixner                   2 (0.2%)
   Kevin Hao                         2 (0.2%)
   Ricardo Salveti de Araujo         2 (0.2%)
   Andrej Rosano                     2 (0.2%)
   Yoshinori Sato                    2 (0.2%)
   Cyrille Pitchen                   1 (0.1%)
   Heiko Schocher                    1 (0.1%)
   Joshua Scott                      1 (0.1%)
   Guillaume GARDET                  1 (0.1%)
   Mian Yousaf Kaukab                1 (0.1%)
   Adam Ford                         1 (0.1%)
   Paul Kocialkowski                 1 (0.1%)
   Eric Nelson                       1 (0.1%)
   Akshay Bhat                       1 (0.1%)
   Siarhei Siamashka                 1 (0.1%)
   Stefan Mavrodiev                  1 (0.1%)
   Peter Chubb                       1 (0.1%)
   Jens Kuske                        1 (0.1%)
   Simon Baatz                       1 (0.1%)
   Dongpo Li                         1 (0.1%)
   James Byrne                       1 (0.1%)
   Yannick Gicquel                   1 (0.1%)
   Hiroyuki Yokoyama                 1 (0.1%)
   Yaroslav K                        1 (0.1%)
   Yangbo Lu                         1 (0.1%)
   Jon Medhurst (Tixy)               1 (0.1%)
   Bibek Basu                        1 (0.1%)
   Dirk Eibach                       1 (0.1%)
   Mike Looijmans                    1 (0.1%)
   Chin Liang See                    1 (0.1%)
   Teddy Reed                        1 (0.1%)
   Sandy Patterson                   1 (0.1%)
   Yunhui Cui                        1 (0.1%)
   Soren Brinkmann                   1 (0.1%)
   Angelo Dureghello                 1 (0.1%)
   Moritz Fischer                    1 (0.1%)
   Alison Wang                       1 (0.1%)
   Marcin Niestroj                   1 (0.1%)
   Karicheri, Muralidharan           1 (0.1%)
   Brian Norris                      1 (0.1%)
   yeongjun Kim                      1 (0.1%)
   Jeremy Hunt                       1 (0.1%)
   Benjamin Kamath                   1 (0.1%)
   Daniel Schwierzeck                1 (0.1%)
   Amit Singh Tomar                  1 (0.1%)
   Tobias Doerffel                   1 (0.1%)
   Bernhard Nortmann                 1 (0.1%)
   Gilles Chanteperdrix              1 (0.1%)
   Petr Kulhavy                      1 (0.1%)
   Hamish Martin                     1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Nobuhiro Iwamatsu                 6753 (8.5%)
   Simon Glass                       6075 (7.6%)
   Stephen Warren                    5971 (7.5%)
   Masakazu Mochizuki                5036 (6.3%)
   Chris Zankel                      4844 (6.1%)
   Hans de Goede                     4539 (5.7%)
   Kever Yang                        3372 (4.2%)
   Wenyou Yang                       3297 (4.1%)
   Tom Rini                          2867 (3.6%)
   Max Filippov                      2337 (2.9%)
   Masahiro Yamada                   2002 (2.5%)
   Boris Brezillon                   1927 (2.4%)
   Xu Ziyuan                         1795 (2.2%)
   Stefano Babic                     1788 (2.2%)
   Stefan Roese                      1472 (1.8%)
   Thomas Gleixner                   1468 (1.8%)
   Ziyuan Xu                         1390 (1.7%)
   Maxime Ripard                     1378 (1.7%)
   Beniamino Galvani                 1276 (1.6%)
   Akshay Bhat                       1244 (1.6%)
   Joe Hershberger                   1109 (1.4%)
   Stefan Agner                      1084 (1.4%)
   Peter Chubb                       1007 (1.3%)
   Amit Singh Tomar                  902 (1.1%)
   Vignesh R                         885 (1.1%)
   Mario Six                         787 (1.0%)
   Hou Zhiqiang                      707 (0.9%)
   Tim Harvey                        692 (0.9%)
   Toshifumi NISHINAGA               687 (0.9%)
   Ladislav Michl                    686 (0.9%)
   York Sun                          675 (0.8%)
   George McCollister                530 (0.7%)
   Mugunthan V N                     508 (0.6%)
   Angelo Dureghello                 501 (0.6%)
   Sumit Garg                        468 (0.6%)
   Songjun Wu                        452 (0.6%)
   Andreas Dannenberg                421 (0.5%)
   Bin Meng                          392 (0.5%)
   Mingkai Hu                        324 (0.4%)
   Jaehoon Chung                     321 (0.4%)
   Siarhei Siamashka                 311 (0.4%)
   Fabio Estevam                     310 (0.4%)
   Chen-Yu Tsai                      308 (0.4%)
   Hongbo Zhang                      304 (0.4%)
   Alexey Brodkin                    281 (0.4%)
   Stefan Mavrodiev                  275 (0.3%)
   Rajesh Bhagat                     272 (0.3%)
   Alban Bedel                       269 (0.3%)
   Vanessa Maegima                   255 (0.3%)
   Michal Simek                      243 (0.3%)
   Guillaume GARDET                  242 (0.3%)
   Bryan Wu                          228 (0.3%)
   Heiko Schocher                    222 (0.3%)
   Andreas Fenkart                   178 (0.2%)
   Peng Fan                          131 (0.2%)
   Diego Dorta                       122 (0.2%)
   Icenowy Zheng                     120 (0.2%)
   Siva Durga Prasad Paladugu        117 (0.1%)
   Alexander Graf                    110 (0.1%)
   Daniel Allred                     97 (0.1%)
   Lokesh Vutla                      96 (0.1%)
   Steve Rae                         90 (0.1%)
   Brian Norris                      73 (0.1%)
   Qianyu Gong                       71 (0.1%)
   James Byrne                       67 (0.1%)
   Heiko Stübner                     64 (0.1%)
   Robert P. J. Day                  64 (0.1%)
   Christopher Spinrath              52 (0.1%)
   Chris Packham                     48 (0.1%)
   Scott Wood                        48 (0.1%)
   Dirk Eibach                       45 (0.1%)
   Jon Medhurst (Tixy)               44 (0.1%)
   Andrej Rosano                     43 (0.1%)
   John Keeping                      41 (0.1%)
   karl beldan                       41 (0.1%)
   Yoshinori Sato                    38 (0.0%)
   Breno Lima                        36 (0.0%)
   Hamish Martin                     36 (0.0%)
   Sekhar Nori                       35 (0.0%)
   Wenbin Song                       32 (0.0%)
   Bernhard Nortmann                 29 (0.0%)
   Vagrant Cascadian                 20 (0.0%)
   Kevin Hao                         20 (0.0%)
   Jonathan Gray                     18 (0.0%)
   Gilles Chanteperdrix              18 (0.0%)
   Russ Dill                         16 (0.0%)
   Bibek Basu                        15 (0.0%)
   Jeremy Hunt                       15 (0.0%)
   Eric Nelson                       14 (0.0%)
   Jens Kuske                        14 (0.0%)
   Dongpo Li                         14 (0.0%)
   Hannes Schmelzer                  12 (0.0%)
   Adam Ford                         12 (0.0%)
   Madan Srinivas                    11 (0.0%)
   Soeren Moch                       10 (0.0%)
   Marcin Niestroj                   10 (0.0%)
   Hector Palacios                   8 (0.0%)
   Simon Baatz                       8 (0.0%)
   Andreas Färber                    7 (0.0%)
   Paul Kocialkowski                 7 (0.0%)
   Andre Przywara                    5 (0.0%)
   Nishanth Menon                    5 (0.0%)
   Tony Lindgren                     5 (0.0%)
   Joshua Scott                      5 (0.0%)
   Mian Yousaf Kaukab                5 (0.0%)
   Chin Liang See                    5 (0.0%)
   Tobias Doerffel                   5 (0.0%)
   Prabhakar Kushwaha                4 (0.0%)
   Yaroslav K                        4 (0.0%)
   Mike Looijmans                    4 (0.0%)
   Alison Wang                       4 (0.0%)
   Anatolij Gustschin                3 (0.0%)
   Andreas Bießmann                  3 (0.0%)
   Ricardo Salveti de Araujo         3 (0.0%)
   Yannick Gicquel                   3 (0.0%)
   Yangbo Lu                         3 (0.0%)
   Yunhui Cui                        3 (0.0%)
   Karl Beldan                       2 (0.0%)
   Hiroyuki Yokoyama                 2 (0.0%)
   Sandy Patterson                   2 (0.0%)
   Soren Brinkmann                   2 (0.0%)
   Karicheri, Muralidharan           2 (0.0%)
   Cyrille Pitchen                   1 (0.0%)
   Teddy Reed                        1 (0.0%)
   Moritz Fischer                    1 (0.0%)
   yeongjun Kim                      1 (0.0%)
   Benjamin Kamath                   1 (0.0%)
   Daniel Schwierzeck                1 (0.0%)
   Petr Kulhavy                      1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   York Sun                          120 (0.8%)
   Angelo Dureghello                 52 (0.4%)
   Siva Durga Prasad Paladugu        48 (0.3%)
   karl beldan                       29 (0.2%)
   Lokesh Vutla                      23 (0.2%)
   Breno Lima                        21 (0.1%)
   Adam Ford                         12 (0.1%)
   Eric Nelson                       4 (0.0%)
   Chris Packham                     3 (0.0%)
   Jeremy Hunt                       3 (0.0%)
   Russ Dill                         2 (0.0%)
   Karicheri, Muralidharan           2 (0.0%)
   Heiko Stübner                     1 (0.0%)
   Robert P. J. Day                  1 (0.0%)
   Tony Lindgren                     1 (0.0%)
   Cyrille Pitchen                   1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Warren                        37 (21.3%)
   Hans de Goede                     32 (18.4%)
   Xu Ziyuan                         9 (5.2%)
   Michal Simek                      8 (4.6%)
   Minkyu Kang                       7 (4.0%)
   Stefan Roese                      7 (4.0%)
   Daniel Allred                     5 (2.9%)
   Stephen Warren                    5 (2.9%)
   Nobuhiro Iwamatsu                 5 (2.9%)
   Karl Beldan                       4 (2.3%)
   Wang Dongsheng                    4 (2.3%)
   Jaehoon Chung                     4 (2.3%)
   Tom Rini                          4 (2.3%)
   Andreas Dannenberg                4 (2.3%)
   Max Filippov                      4 (2.3%)
   Simon Glass                       4 (2.3%)
   Andrew F. Davis                   3 (1.7%)
   Hiroyuki Yokoyama                 3 (1.7%)
   Qianyu Gong                       3 (1.7%)
   Calvin Johnson                    2 (1.1%)
   Aneesh Bansal                     2 (1.1%)
   Ladislav Michl                    2 (1.1%)
   Boris Brezillon                   2 (1.1%)
   York Sun                          1 (0.6%)
   Abhimanyu Saini                   1 (0.6%)
   Jagan Teki                        1 (0.6%)
   Shaohui Xie                       1 (0.6%)
   Mihai Bantea                      1 (0.6%)
   Olof Johansson                    1 (0.6%)
   Chris Johns                       1 (0.6%)
   Anatolij Gustschin                1 (0.6%)
   Wenbin Song                       1 (0.6%)
   Mingkai Hu                        1 (0.6%)
   Bin Meng                          1 (0.6%)
   Hou Zhiqiang                      1 (0.6%)
   Vignesh R                         1 (0.6%)
   Wenyou Yang                       1 (0.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          144 (27.1%)
   Simon Glass                       130 (24.4%)
   York Sun                          44 (8.3%)
   Jagan Teki                        31 (5.8%)
   Bin Meng                          29 (5.5%)
   Mugunthan V N                     19 (3.6%)
   Fabio Estevam                     18 (3.4%)
   Stefan Roese                      17 (3.2%)
   Heiko Schocher                    15 (2.8%)
   Teddy Reed                        11 (2.1%)
   Hans de Goede                     7 (1.3%)
   Stefano Babic                     7 (1.3%)
   Alexander Graf                    6 (1.1%)
   Jaehoon Chung                     4 (0.8%)
   Aneesh Bansal                     4 (0.8%)
   Lokesh Vutla                      4 (0.8%)
   Eric Nelson                       4 (0.8%)
   Andreas Bießmann                  3 (0.6%)
   Andreas Färber                    3 (0.6%)
   George McCollister                3 (0.6%)
   Minkyu Kang                       2 (0.4%)
   Stephen Warren                    2 (0.4%)
   Nikita Kiryanov                   2 (0.4%)
   Ruchika Gupta                     2 (0.4%)
   Igor Grinberg                     2 (0.4%)
   Marek Vasut                       2 (0.4%)
   Siarhei Siamashka                 2 (0.4%)
   Masahiro Yamada                   2 (0.4%)
   Stefan Agner                      2 (0.4%)
   Xu Ziyuan                         1 (0.2%)
   Daniel Schwierzeck                1 (0.2%)
   Keerthy                           1 (0.2%)
   Ryan Harkin                       1 (0.2%)
   Shawn Lin                         1 (0.2%)
   Eddie Cai                         1 (0.2%)
   Moritz Fischer                    1 (0.2%)
   Nishanth Menon                    1 (0.2%)
   Joe Hershberger                   1 (0.2%)
   Mario Six                         1 (0.2%)
   Kever Yang                        1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          3 (10.3%)
   Fabio Estevam                     3 (10.3%)
   George McCollister                3 (10.3%)
   Jaehoon Chung                     2 (6.9%)
   Stephen Warren                    2 (6.9%)
   Marek Vasut                       2 (6.9%)
   Lukasz Majewski                   2 (6.9%)
   Simon Glass                       1 (3.4%)
   Stefan Roese                      1 (3.4%)
   Lokesh Vutla                      1 (3.4%)
   Eric Nelson                       1 (3.4%)
   Andreas Färber                    1 (3.4%)
   Ryan Harkin                       1 (3.4%)
   Mario Six                         1 (3.4%)
   Ladislav Michl                    1 (3.4%)
   Breno Lima                        1 (3.4%)
   Kevin Hilman                      1 (3.4%)
   Michael Trimarchi                 1 (3.4%)
   Hannes Schmelzer                  1 (3.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          4 (13.8%)
   Fabio Estevam                     3 (10.3%)
   Bin Meng                          3 (10.3%)
   Jaehoon Chung                     2 (6.9%)
   Stefan Agner                      2 (6.9%)
   Xu Ziyuan                         2 (6.9%)
   Vignesh R                         2 (6.9%)
   Cyrille Pitchen                   2 (6.9%)
   Stephen Warren                    1 (3.4%)
   Simon Glass                       1 (3.4%)
   Mugunthan V N                     1 (3.4%)
   Stefano Babic                     1 (3.4%)
   Ricardo Salveti de Araujo         1 (3.4%)
   Hamish Martin                     1 (3.4%)
   Sekhar Nori                       1 (3.4%)
   Jon Medhurst (Tixy)               1 (3.4%)
   Ziyuan Xu                         1 (3.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          3 (12.5%)
   York Sun                          2 (8.3%)
   Teddy Reed                        2 (8.3%)
   Robert P. J. Day                  2 (8.3%)
   Guillaume GARDET                  2 (8.3%)
   Xu Ziyuan                         1 (4.2%)
   Eric Nelson                       1 (4.2%)
   Breno Lima                        1 (4.2%)
   Masahiro Yamada                   1 (4.2%)
   Sandy Patterson                   1 (4.2%)
   Stephen L Arnold                  1 (4.2%)
   Ravi Babu                         1 (4.2%)
   Andrew Bradford                   1 (4.2%)
   Thomas Schaefer                   1 (4.2%)
   Dave Liu                          1 (4.2%)
   Alon Bar-Lev                      1 (4.2%)
   Tom Van Deun                      1 (4.2%)
   Vinoth Eswaran                    1 (4.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       6 (25.0%)
   Tom Rini                          3 (12.5%)
   York Sun                          2 (8.3%)
   Fabio Estevam                     2 (8.3%)
   Stephen Warren                    2 (8.3%)
   Alexander Graf                    2 (8.3%)
   Joe Hershberger                   2 (8.3%)
   Kevin Hao                         2 (8.3%)
   Masahiro Yamada                   1 (4.2%)
   Daniel Schwierzeck                1 (4.2%)
   Michal Simek                      1 (4.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         246 (24.9%)
   Google, Inc.                      172 (17.4%)
   NXP                               100 (10.1%)
   Texas Instruments                 91 (9.2%)
   Socionext Inc.                    70 (7.1%)
   NVidia                            41 (4.2%)
   Rockchip                          36 (3.6%)
   Konsulko Group                    24 (2.4%)
   DENX Software Engineering         23 (2.3%)
   Guntermann & Drunck               22 (2.2%)
   Samsung                           21 (2.1%)
   Red Hat                           19 (1.9%)
   National Instruments              19 (1.9%)
   AMD                               16 (1.6%)
   Nobuhiro Iwamatsu                 15 (1.5%)
   Free Electrons                    14 (1.4%)
   Toradex                           14 (1.4%)
   Atmel                             13 (1.3%)
   Xilinx                            7 (0.7%)
   Debian.org                        4 (0.4%)
   ARM                               3 (0.3%)
   Novell                            3 (0.3%)
   Atomide                           2 (0.2%)
   BayLibre SAS                      2 (0.2%)
   Wind River                        2 (0.2%)
   Digi International                2 (0.2%)
   Hitachi                           2 (0.2%)
   linutronix                        2 (0.2%)
   Linaro                            1 (0.1%)
   Renesas Electronics               1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         21579 (27.0%)
   Nobuhiro Iwamatsu                 6753 (8.5%)
   NVidia                            6211 (7.8%)
   Google, Inc.                      6075 (7.6%)
   Rockchip                          5167 (6.5%)
   Hitachi                           5036 (6.3%)
   Red Hat                           4539 (5.7%)
   Atmel                             3750 (4.7%)
   NXP                               3590 (4.5%)
   DENX Software Engineering         3485 (4.4%)
   Konsulko Group                    2867 (3.6%)
   Texas Instruments                 2076 (2.6%)
   Socionext Inc.                    2002 (2.5%)
   linutronix                        1468 (1.8%)
   Free Electrons                    1378 (1.7%)
   National Instruments              1109 (1.4%)
   Toradex                           1079 (1.4%)
   Guntermann & Drunck               832 (1.0%)
   Samsung                           321 (0.4%)
   AMD                               243 (0.3%)
   Xilinx                            119 (0.1%)
   Linaro                            44 (0.1%)
   Debian.org                        20 (0.0%)
   Wind River                        20 (0.0%)
   Digi International                8 (0.0%)
   Novell                            7 (0.0%)
   ARM                               5 (0.0%)
   Atomide                           5 (0.0%)
   BayLibre SAS                      2 (0.0%)
   Renesas Electronics               2 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   NVidia                            42 (24.1%)
   Red Hat                           32 (18.4%)
   NXP                               18 (10.3%)
   Texas Instruments                 13 (7.5%)
   (Unknown)                         12 (6.9%)
   Samsung                           11 (6.3%)
   Rockchip                          9 (5.2%)
   DENX Software Engineering         8 (4.6%)
   Xilinx                            8 (4.6%)
   Nobuhiro Iwamatsu                 5 (2.9%)
   Google, Inc.                      4 (2.3%)
   Konsulko Group                    4 (2.3%)
   Renesas Electronics               3 (1.7%)
   Free Electrons                    2 (1.1%)
   Atmel                             1 (0.6%)
   IBM                               1 (0.6%)
   Openedev                          1 (0.6%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         68 (51.9%)
   NXP                               16 (12.2%)
   Texas Instruments                 10 (7.6%)
   DENX Software Engineering         4 (3.1%)
   NVidia                            3 (2.3%)
   Atmel                             3 (2.3%)
   Rockchip                          2 (1.5%)
   Xilinx                            2 (1.5%)
   Guntermann & Drunck               2 (1.5%)
   Red Hat                           1 (0.8%)
   Samsung                           1 (0.8%)
   Nobuhiro Iwamatsu                 1 (0.8%)
   Google, Inc.                      1 (0.8%)
   Konsulko Group                    1 (0.8%)
   Renesas Electronics               1 (0.8%)
   Free Electrons                    1 (0.8%)
   Hitachi                           1 (0.8%)
   Socionext Inc.                    1 (0.8%)
   linutronix                        1 (0.8%)
   National Instruments              1 (0.8%)
   Toradex                           1 (0.8%)
   AMD                               1 (0.8%)
   Linaro                            1 (0.8%)
   Debian.org                        1 (0.8%)
   Wind River                        1 (0.8%)
   Digi International                1 (0.8%)
   Novell                            1 (0.8%)
   ARM                               1 (0.8%)
   Atomide                           1 (0.8%)
   BayLibre SAS                      1 (0.8%)
   ================================  =====
