:orphan:

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

* Processed 915 changesets from 139 developers

* 29 employers found

* A total of 86135 lines added, 116801 removed (delta -30666)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       86 (9.4%)
   Stefan Roese                      37 (4.0%)
   Philipp Tomsich                   34 (3.7%)
   Konstantin Porotchkin             34 (3.7%)
   Heiko Stuebner                    33 (3.6%)
   Wenyou Yang                       30 (3.3%)
   Jagan Teki                        27 (3.0%)
   Tom Rini                          25 (2.7%)
   Thomas Petazzoni                  23 (2.5%)
   Peng Fan                          21 (2.3%)
   Heinrich Schuchardt               20 (2.2%)
   Kever Yang                        20 (2.2%)
   Masahiro Yamada                   19 (2.1%)
   Andrew F. Davis                   17 (1.9%)
   Tim Harvey                        17 (1.9%)
   Andre Przywara                    16 (1.7%)
   Lokesh Vutla                      15 (1.6%)
   Maxime Ripard                     15 (1.6%)
   York Sun                          15 (1.6%)
   Chen-Yu Tsai                      15 (1.6%)
   Vikas Manocha                     15 (1.6%)
   Hou Zhiqiang                      14 (1.5%)
   Jean-Jacques Hiblot               14 (1.5%)
   Stefan Agner                      14 (1.5%)
   Jaehoon Chung                     13 (1.4%)
   Patrice Chotard                   12 (1.3%)
   Eddie Cai                         11 (1.2%)
   Stefan Herbrechtsmeier            10 (1.1%)
   Dalon Westergreen                 9 (1.0%)
   Mylène Josserand                  9 (1.0%)
   Lukasz Majewski                   9 (1.0%)
   Vinitha Pillai                    8 (0.9%)
   Jernej Skrabec                    8 (0.9%)
   Felipe Balbi                      8 (0.9%)
   Markus Niebel                     8 (0.9%)
   Alexey Brodkin                    7 (0.8%)
   Bharat Bhushan                    7 (0.8%)
   Roger Quadros                     7 (0.8%)
   Sumit Garg                        6 (0.7%)
   Marek Vasut                       6 (0.7%)
   Yung-Ching LIN                    6 (0.7%)
   Sekhar Nori                       6 (0.7%)
   Vlad Zakharov                     6 (0.7%)
   Liam Beguin                       6 (0.7%)
   Stefano Babic                     5 (0.5%)
   Alexandru Gagniuc                 5 (0.5%)
   Madan Srinivas                    5 (0.5%)
   Mario Six                         5 (0.5%)
   Fabio Estevam                     4 (0.4%)
   Icenowy Zheng                     4 (0.4%)
   Santan Kumar                      4 (0.4%)
   Priyanka Jain                     4 (0.4%)
   Ruchika Gupta                     4 (0.4%)
   Eric Gao                          4 (0.4%)
   Ye Li                             4 (0.4%)
   Jacob Chen                        4 (0.4%)
   Adam Ford                         3 (0.3%)
   Udit Agarwal                      3 (0.3%)
   Tyler Hall                        3 (0.3%)
   George McCollister                3 (0.3%)
   Vignesh R                         3 (0.3%)
   Andy Shevchenko                   3 (0.3%)
   Vitaly Andrianov                  3 (0.3%)
   Robert Nelson                     3 (0.3%)
   Boris Brezillon                   3 (0.3%)
   Marcel Ziswiler                   3 (0.3%)
   Sébastien Szymanski               3 (0.3%)
   Yuantian Tang                     2 (0.2%)
   Kyle Edwards                      2 (0.2%)
   Bin Meng                          2 (0.2%)
   Jelle van der Waa                 2 (0.2%)
   Shengzhou Liu                     2 (0.2%)
   Ashish kumar                      2 (0.2%)
   Prabhakar Kushwaha                2 (0.2%)
   Songjun Wu                        2 (0.2%)
   Ley Foon Tan                      2 (0.2%)
   Heiner Kallweit                   2 (0.2%)
   Cooper Jr., Franklin              2 (0.2%)
   Nobuhiro Iwamatsu                 2 (0.2%)
   Dirk Eibach                       2 (0.2%)
   Rabeeh Khoury                     2 (0.2%)
   Xu Ziyuan                         2 (0.2%)
   Kevin Liu                         2 (0.2%)
   Suresh Gupta                      2 (0.2%)
   Olliver Schinagl                  2 (0.2%)
   Ladislav Michl                    2 (0.2%)
   Siarhei Siamashka                 2 (0.2%)
   Hannes Schmelzer                  1 (0.1%)
   Suniel Mahesh                     1 (0.1%)
   Moritz Fischer                    1 (0.1%)
   Vagrant Cascadian                 1 (0.1%)
   Andreas Färber                    1 (0.1%)
   Chris Packham                     1 (0.1%)
   Josua Mayer                       1 (0.1%)
   Michal Simek                      1 (0.1%)
   Mike Looijmans                    1 (0.1%)
   Alison Wang                       1 (0.1%)
   Yangbo Lu                         1 (0.1%)
   Thomas Schaefer                   1 (0.1%)
   Klaus Goger                       1 (0.1%)
   Mugunthan V N                     1 (0.1%)
   Troy Kisky                        1 (0.1%)
   Tien Fong Chee                    1 (0.1%)
   Georges Savoundararadj            1 (0.1%)
   Stephen Arnold                    1 (0.1%)
   Sanchayan Maity                   1 (0.1%)
   Alex Deymo                        1 (0.1%)
   Jocelyn Bohr                      1 (0.1%)
   Carlo Caione                      1 (0.1%)
   Alyssa Rosenzweig                 1 (0.1%)
   tim.chick                         1 (0.1%)
   Breno Lima                        1 (0.1%)
   Joel Stanley                      1 (0.1%)
   Vincent Tinelli                   1 (0.1%)
   Misael Lopez Cruz                 1 (0.1%)
   Joakim Tjernlund                  1 (0.1%)
   Robert Clausecker                 1 (0.1%)
   Florent Jacquet                   1 (0.1%)
   Rask Ingemann Lambertsen          1 (0.1%)
   Hans de Goede                     1 (0.1%)
   Jakob Unterwurzacher              1 (0.1%)
   Yingxi Yu                         1 (0.1%)
   Wenbin Song                       1 (0.1%)
   yuan linyu                        1 (0.1%)
   Sylvain Lemieux                   1 (0.1%)
   Felix Brack                       1 (0.1%)
   James Balean                      1 (0.1%)
   Tuomas Tynkkynen                  1 (0.1%)
   Alexandre Messier                 1 (0.1%)
   Suji Velupillai                   1 (0.1%)
   Jon Mason                         1 (0.1%)
   Axel Haslam                       1 (0.1%)
   Max Filippov                      1 (0.1%)
   Tero Kristo                       1 (0.1%)
   Robert P. J. Day                  1 (0.1%)
   Nishanth Menon                    1 (0.1%)
   Sebastien Colleur                 1 (0.1%)
   Phil Edworthy                     1 (0.1%)
   Tang Yuantian                     1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          101228 (52.1%)
   Peng Fan                          12134 (6.3%)
   Wenyou Yang                       8585 (4.4%)
   Kever Yang                        7187 (3.7%)
   Heiko Stuebner                    5956 (3.1%)
   Patrice Chotard                   5445 (2.8%)
   Dirk Eibach                       5152 (2.7%)
   Masahiro Yamada                   5117 (2.6%)
   Simon Glass                       3435 (1.8%)
   Philipp Tomsich                   3289 (1.7%)
   Marcel Ziswiler                   3125 (1.6%)
   Jernej Skrabec                    2535 (1.3%)
   Maxime Ripard                     2191 (1.1%)
   Dalon Westergreen                 1730 (0.9%)
   Stefan Roese                      1546 (0.8%)
   Jagan Teki                        1408 (0.7%)
   Sébastien Szymanski               1399 (0.7%)
   Konstantin Porotchkin             1380 (0.7%)
   Stefan Herbrechtsmeier            1311 (0.7%)
   Heiner Kallweit                   1207 (0.6%)
   Adam Ford                         1157 (0.6%)
   Ye Li                             1067 (0.5%)
   Vikas Manocha                     994 (0.5%)
   Tim Harvey                        886 (0.5%)
   York Sun                          828 (0.4%)
   Vlad Zakharov                     754 (0.4%)
   Thomas Petazzoni                  683 (0.4%)
   Icenowy Zheng                     620 (0.3%)
   Rabeeh Khoury                     588 (0.3%)
   Chen-Yu Tsai                      561 (0.3%)
   Mario Six                         516 (0.3%)
   Songjun Wu                        459 (0.2%)
   Felipe Balbi                      436 (0.2%)
   Stefan Agner                      417 (0.2%)
   Rask Ingemann Lambertsen          410 (0.2%)
   Andre Przywara                    402 (0.2%)
   Carlo Caione                      387 (0.2%)
   Jaehoon Chung                     361 (0.2%)
   Hou Zhiqiang                      339 (0.2%)
   Chris Packham                     283 (0.1%)
   Klaus Goger                       281 (0.1%)
   Markus Niebel                     278 (0.1%)
   Sumit Garg                        272 (0.1%)
   Ruchika Gupta                     270 (0.1%)
   Jean-Jacques Hiblot               268 (0.1%)
   Roger Quadros                     254 (0.1%)
   Andrew F. Davis                   237 (0.1%)
   Priyanka Jain                     227 (0.1%)
   Liam Beguin                       224 (0.1%)
   Andy Shevchenko                   211 (0.1%)
   Vignesh R                         192 (0.1%)
   Lokesh Vutla                      187 (0.1%)
   Mylène Josserand                  178 (0.1%)
   Lukasz Majewski                   172 (0.1%)
   Vinitha Pillai                    170 (0.1%)
   Jon Mason                         160 (0.1%)
   Felix Brack                       153 (0.1%)
   Stefano Babic                     151 (0.1%)
   Hannes Schmelzer                  146 (0.1%)
   Eddie Cai                         143 (0.1%)
   Stephen Arnold                    136 (0.1%)
   Bharat Bhushan                    133 (0.1%)
   Alexandru Gagniuc                 133 (0.1%)
   Vitaly Andrianov                  125 (0.1%)
   Jelle van der Waa                 121 (0.1%)
   Phil Edworthy                     118 (0.1%)
   Sekhar Nori                       114 (0.1%)
   Udit Agarwal                      105 (0.1%)
   Alexey Brodkin                    70 (0.0%)
   Nishanth Menon                    70 (0.0%)
   Prabhakar Kushwaha                66 (0.0%)
   Yung-Ching LIN                    64 (0.0%)
   Eric Gao                          64 (0.0%)
   Tyler Hall                        62 (0.0%)
   Suji Velupillai                   60 (0.0%)
   Bin Meng                          56 (0.0%)
   Cooper Jr., Franklin              47 (0.0%)
   Breno Lima                        47 (0.0%)
   Heinrich Schuchardt               45 (0.0%)
   Jacob Chen                        45 (0.0%)
   Axel Haslam                       41 (0.0%)
   Marek Vasut                       39 (0.0%)
   Madan Srinivas                    39 (0.0%)
   Yuantian Tang                     37 (0.0%)
   Thomas Schaefer                   36 (0.0%)
   Boris Brezillon                   32 (0.0%)
   Olliver Schinagl                  31 (0.0%)
   Siarhei Siamashka                 31 (0.0%)
   Sanchayan Maity                   30 (0.0%)
   Ashish kumar                      29 (0.0%)
   Ley Foon Tan                      28 (0.0%)
   Nobuhiro Iwamatsu                 28 (0.0%)
   Santan Kumar                      27 (0.0%)
   yuan linyu                        27 (0.0%)
   Moritz Fischer                    24 (0.0%)
   Mugunthan V N                     23 (0.0%)
   Robert Nelson                     21 (0.0%)
   Ladislav Michl                    20 (0.0%)
   Florent Jacquet                   19 (0.0%)
   Wenbin Song                       16 (0.0%)
   Tien Fong Chee                    14 (0.0%)
   Alex Deymo                        11 (0.0%)
   James Balean                      10 (0.0%)
   Fabio Estevam                     9 (0.0%)
   George McCollister                8 (0.0%)
   Shengzhou Liu                     8 (0.0%)
   Xu Ziyuan                         8 (0.0%)
   Kevin Liu                         8 (0.0%)
   Georges Savoundararadj            8 (0.0%)
   tim.chick                         8 (0.0%)
   Joel Stanley                      8 (0.0%)
   Robert P. J. Day                  8 (0.0%)
   Andreas Färber                    7 (0.0%)
   Hans de Goede                     7 (0.0%)
   Tuomas Tynkkynen                  7 (0.0%)
   Tero Kristo                       7 (0.0%)
   Kyle Edwards                      6 (0.0%)
   Jocelyn Bohr                      6 (0.0%)
   Suresh Gupta                      5 (0.0%)
   Josua Mayer                       5 (0.0%)
   Robert Clausecker                 4 (0.0%)
   Troy Kisky                        3 (0.0%)
   Sylvain Lemieux                   3 (0.0%)
   Yangbo Lu                         2 (0.0%)
   Vincent Tinelli                   2 (0.0%)
   Jakob Unterwurzacher              2 (0.0%)
   Yingxi Yu                         2 (0.0%)
   Sebastien Colleur                 2 (0.0%)
   Tang Yuantian                     2 (0.0%)
   Suniel Mahesh                     1 (0.0%)
   Vagrant Cascadian                 1 (0.0%)
   Michal Simek                      1 (0.0%)
   Mike Looijmans                    1 (0.0%)
   Alison Wang                       1 (0.0%)
   Alyssa Rosenzweig                 1 (0.0%)
   Misael Lopez Cruz                 1 (0.0%)
   Joakim Tjernlund                  1 (0.0%)
   Alexandre Messier                 1 (0.0%)
   Max Filippov                      1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          100727 (86.2%)
   Masahiro Yamada                   2626 (2.2%)
   Jaehoon Chung                     220 (0.2%)
   Alexandru Gagniuc                 110 (0.1%)
   Stefan Herbrechtsmeier            65 (0.1%)
   York Sun                          29 (0.0%)
   Nobuhiro Iwamatsu                 27 (0.0%)
   Mugunthan V N                     11 (0.0%)
   Xu Ziyuan                         8 (0.0%)
   Tien Fong Chee                    4 (0.0%)
   Sylvain Lemieux                   3 (0.0%)
   Kyle Edwards                      2 (0.0%)
   Troy Kisky                        2 (0.0%)
   Jakob Unterwurzacher              2 (0.0%)
   Tang Yuantian                     2 (0.0%)
   Suniel Mahesh                     1 (0.0%)
   Michal Simek                      1 (0.0%)
   Joakim Tjernlund                  1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Stefan Roese                      63 (22.7%)
   Simon Glass                       24 (8.6%)
   Tom Rini                          22 (7.9%)
   Maxime Ripard                     21 (7.6%)
   Minkyu Kang                       13 (4.7%)
   Sumit Garg                        12 (4.3%)
   Michal Simek                      11 (4.0%)
   Andrew F. Davis                   9 (3.2%)
   Ye Li                             8 (2.9%)
   Sylvain Lemieux                   7 (2.5%)
   William Zhang                     7 (2.5%)
   Vinitha Pillai                    6 (2.2%)
   Sanchayan Maity                   5 (1.8%)
   Andy Shevchenko                   5 (1.8%)
   Priyanka Jain                     4 (1.4%)
   Jagan Teki                        4 (1.4%)
   Peng Fan                          4 (1.4%)
   Vincent Tinelli                   3 (1.1%)
   Tom Warren                        3 (1.1%)
   Arpit Goel                        3 (1.1%)
   Andreas Färber                    3 (1.1%)
   Madan Srinivas                    3 (1.1%)
   Udit Agarwal                      3 (1.1%)
   Roger Quadros                     3 (1.1%)
   Tien Fong Chee                    2 (0.7%)
   Terry Zhou                        2 (0.7%)
   Ashish kumar                      2 (0.7%)
   Mario Six                         2 (0.7%)
   Rabeeh Khoury                     2 (0.7%)
   Konstantin Porotchkin             2 (0.7%)
   Philipp Tomsich                   2 (0.7%)
   York Sun                          1 (0.4%)
   Suman Anna                        1 (0.4%)
   Chenhui Zhao                      1 (0.4%)
   Steve Arnold                      1 (0.4%)
   Neil Armstrong                    1 (0.4%)
   Abhimanyu Saini                   1 (0.4%)
   Minghuan Lian                     1 (0.4%)
   Aneesh Bansal                     1 (0.4%)
   Saksham Jain                      1 (0.4%)
   Steve Rae                         1 (0.4%)
   Alex Deymo                        1 (0.4%)
   Prabhakar Kushwaha                1 (0.4%)
   Jean-Jacques Hiblot               1 (0.4%)
   Lokesh Vutla                      1 (0.4%)
   Carlo Caione                      1 (0.4%)
   Rask Ingemann Lambertsen          1 (0.4%)
   Felipe Balbi                      1 (0.4%)
   Heiner Kallweit                   1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       118 (25.7%)
   Tom Rini                          81 (17.6%)
   York Sun                          77 (16.8%)
   Jagan Teki                        30 (6.5%)
   Stefan Roese                      22 (4.8%)
   Stefano Babic                     19 (4.1%)
   Lokesh Vutla                      14 (3.1%)
   Bin Meng                          13 (2.8%)
   Andreas Bießmann                  10 (2.2%)
   Ziping Chen                       9 (2.0%)
   Kever Yang                        9 (2.0%)
   Lukasz Majewski                   6 (1.3%)
   Jaehoon Chung                     5 (1.1%)
   Joe Hershberger                   5 (1.1%)
   Heiko Schocher                    4 (0.9%)
   Alison Wang                       4 (0.9%)
   Hans de Goede                     4 (0.9%)
   Eddie Cai                         4 (0.9%)
   Heiko Stuebner                    3 (0.7%)
   Michal Simek                      2 (0.4%)
   Alexander Graf                    2 (0.4%)
   Fabio Estevam                     2 (0.4%)
   Ruchika Gupta                     2 (0.4%)
   Maxime Ripard                     1 (0.2%)
   Sumit Garg                        1 (0.2%)
   Andreas Färber                    1 (0.2%)
   Prabhakar Kushwaha                1 (0.2%)
   Dinh Nguyen                       1 (0.2%)
   Stefan Brüns                      1 (0.2%)
   Christian Gmeiner                 1 (0.2%)
   Arun Parameswaran                 1 (0.2%)
   JD Zheng                          1 (0.2%)
   Shamez Kurji                      1 (0.2%)
   Hannes Schmelzer                  1 (0.2%)
   Andre Przywara                    1 (0.2%)
   Stefan Agner                      1 (0.2%)
   Vikas Manocha                     1 (0.2%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Kever Yang                        16 (39.0%)
   Klaus Goger                       7 (17.1%)
   Heiko Stuebner                    3 (7.3%)
   Vinitha Pillai                    3 (7.3%)
   Vagrant Cascadian                 3 (7.3%)
   Andreas Färber                    2 (4.9%)
   Bin Meng                          1 (2.4%)
   Philipp Tomsich                   1 (2.4%)
   Masahiro Yamada                   1 (2.4%)
   Jakob Unterwurzacher              1 (2.4%)
   Nickey Yang                       1 (2.4%)
   Suji Velupillai                   1 (2.4%)
   Chen-Yu Tsai                      1 (2.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Heiko Stuebner                    15 (36.6%)
   Philipp Tomsich                   8 (19.5%)
   Simon Glass                       4 (9.8%)
   Sumit Garg                        3 (7.3%)
   Heinrich Schuchardt               3 (7.3%)
   Kever Yang                        1 (2.4%)
   Masahiro Yamada                   1 (2.4%)
   Jakob Unterwurzacher              1 (2.4%)
   Suji Velupillai                   1 (2.4%)
   Maxime Ripard                     1 (2.4%)
   Carlo Caione                      1 (2.4%)
   Eric Gao                          1 (2.4%)
   Jernej Skrabec                    1 (2.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Chen-Yu Tsai                      1 (14.3%)
   Lokesh Vutla                      1 (14.3%)
   Vishal Mahaveer                   1 (14.3%)
   Michael Krummsdorf                1 (14.3%)
   Richard Purdie                    1 (14.3%)
   Shunji Sato                       1 (14.3%)
   Sekhar Nori                       1 (14.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   2 (28.6%)
   Lokesh Vutla                      1 (14.3%)
   Maxime Ripard                     1 (14.3%)
   Tom Rini                          1 (14.3%)
   Tero Kristo                       1 (14.3%)
   Markus Niebel                     1 (14.3%)
   ================================  =====


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

   ==================================  =====
   Name                                Count
   ==================================  =====
   (Unknown)                           364 (39.8%)
   Google, Inc.                        88 (9.6%)
   Texas Instruments                   76 (8.3%)
   DENX Software Engineering           57 (6.2%)
   Free Electrons                      48 (5.2%)
   Marvell                             34 (3.7%)
   Atmel                               30 (3.3%)
   Rockchip                            29 (3.2%)
   ST Microelectronics                 27 (3.0%)
   Konsulko Group                      25 (2.7%)
   Amarula Solutions                   21 (2.3%)
   Socionext Inc.                      19 (2.1%)
   Toradex                             18 (2.0%)
   ARM                                 16 (1.7%)
   Intel                               16 (1.7%)
   Samsung                             13 (1.4%)
   Weidmüller Interface GmbH & Co. KG  10 (1.1%)
   Guntermann & Drunck                 7 (0.8%)
   Openedev                            6 (0.7%)
   Nobuhiro Iwamatsu                   2 (0.2%)
   AMD                                 1 (0.1%)
   BayLibre SAS                        1 (0.1%)
   Boundary Devices                    1 (0.1%)
   Broadcom                            1 (0.1%)
   Debian.org                          1 (0.1%)
   NXP                                 1 (0.1%)
   Red Hat                             1 (0.1%)
   Novell                              1 (0.1%)
   Renesas Electronics                 1 (0.1%)
   ==================================  =====


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

   ==================================  =====
   Name                                Count
   ==================================  =====
   Konsulko Group                      101228 (52.1%)
   (Unknown)                           40402 (20.8%)
   Atmel                               8585 (4.4%)
   Rockchip                            7303 (3.8%)
   ST Microelectronics                 6439 (3.3%)
   Guntermann & Drunck                 5668 (2.9%)
   Socionext Inc.                      5117 (2.6%)
   Toradex                             3572 (1.8%)
   Google, Inc.                        3452 (1.8%)
   Free Electrons                      3071 (1.6%)
   DENX Software Engineering           1908 (1.0%)
   Texas Instruments                   1564 (0.8%)
   Marvell                             1380 (0.7%)
   Weidmüller Interface GmbH & Co. KG  1311 (0.7%)
   Amarula Solutions                   1261 (0.6%)
   Intel                               693 (0.4%)
   ARM                                 402 (0.2%)
   Samsung                             361 (0.2%)
   Openedev                            147 (0.1%)
   Renesas Electronics                 118 (0.1%)
   Broadcom                            60 (0.0%)
   BayLibre SAS                        41 (0.0%)
   Nobuhiro Iwamatsu                   28 (0.0%)
   Red Hat                             7 (0.0%)
   Novell                              7 (0.0%)
   Boundary Devices                    3 (0.0%)
   AMD                                 1 (0.0%)
   Debian.org                          1 (0.0%)
   NXP                                 1 (0.0%)
   ==================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         65 (23.4%)
   DENX Software Engineering         63 (22.7%)
   Google, Inc.                      25 (9.0%)
   Konsulko Group                    22 (7.9%)
   Free Electrons                    21 (7.6%)
   Texas Instruments                 18 (6.5%)
   Samsung                           13 (4.7%)
   Intel                             11 (4.0%)
   Xilinx                            11 (4.0%)
   Rockchip                          7 (2.5%)
   Toradex                           5 (1.8%)
   Marvell                           4 (1.4%)
   Openedev                          4 (1.4%)
   Novell                            3 (1.1%)
   NVidia                            3 (1.1%)
   Guntermann & Drunck               2 (0.7%)
   BayLibre SAS                      1 (0.4%)
   ================================  =====


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

   ==================================  =====
   Name                                Count
   ==================================  =====
   (Unknown)                           81 (57.4%)
   Texas Instruments                   13 (9.2%)
   Intel                               6 (4.3%)
   DENX Software Engineering           4 (2.8%)
   Free Electrons                      4 (2.8%)
   Rockchip                            4 (2.8%)
   Google, Inc.                        3 (2.1%)
   Toradex                             3 (2.1%)
   Guntermann & Drunck                 2 (1.4%)
   ST Microelectronics                 2 (1.4%)
   Konsulko Group                      1 (0.7%)
   Samsung                             1 (0.7%)
   Marvell                             1 (0.7%)
   Openedev                            1 (0.7%)
   Novell                              1 (0.7%)
   BayLibre SAS                        1 (0.7%)
   Atmel                               1 (0.7%)
   Socionext Inc.                      1 (0.7%)
   Weidmüller Interface GmbH & Co. KG  1 (0.7%)
   Amarula Solutions                   1 (0.7%)
   ARM                                 1 (0.7%)
   Renesas Electronics                 1 (0.7%)
   Broadcom                            1 (0.7%)
   Nobuhiro Iwamatsu                   1 (0.7%)
   Red Hat                             1 (0.7%)
   Boundary Devices                    1 (0.7%)
   AMD                                 1 (0.7%)
   Debian.org                          1 (0.7%)
   NXP                                 1 (0.7%)
   ==================================  =====
