:orphan:

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

* Processed 1308 csets from 130 developers

* 27 employers found

* A total of 64047 lines added, 36307 removed (delta 27740)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       246 (18.8%)
   Bin Meng                          126 (9.6%)
   Philipp Tomsich                   102 (7.8%)
   Heinrich Schuchardt               56 (4.3%)
   Kever Yang                        54 (4.1%)
   Tom Rini                          49 (3.7%)
   Masahiro Yamada                   42 (3.2%)
   Patrice Chotard                   41 (3.1%)
   Marek Vasut                       38 (2.9%)
   Franklin S Cooper Jr              31 (2.4%)
   Jagan Teki                        17 (1.3%)
   Rob Clark                         17 (1.3%)
   Grygorii Strashko                 17 (1.3%)
   Stefan Roese                      16 (1.2%)
   Thomas Petazzoni                  15 (1.1%)
   Adam Ford                         15 (1.1%)
   Wenyou Yang                       15 (1.1%)
   Peng Fan                          15 (1.1%)
   Christophe Leroy                  14 (1.1%)
   Stefan Agner                      13 (1.0%)
   Andy Shevchenko                   13 (1.0%)
   Andy Yan                          13 (1.0%)
   Alison Chaiken                    12 (0.9%)
   Fabio Estevam                     12 (0.9%)
   Siva Durga Prasad Paladugu        12 (0.9%)
   Keerthy                           12 (0.9%)
   Anatolij Gustschin                10 (0.8%)
   Stefan Chulski                    10 (0.8%)
   Andrew F. Davis                   10 (0.8%)
   Alexandru Gagniuc                 9 (0.7%)
   Eric Gao                          9 (0.7%)
   Meng Dongyang                     9 (0.7%)
   Chris Packham                     8 (0.6%)
   Wadim Egorov                      8 (0.6%)
   Santan Kumar                      8 (0.6%)
   Tien Fong Chee                    8 (0.6%)
   Maxime Ripard                     7 (0.5%)
   Marek Behún                       7 (0.5%)
   Michal Simek                      7 (0.5%)
   Alexander Graf                    6 (0.5%)
   Sam Protsenko                     5 (0.4%)
   Angelo Dureghello                 5 (0.4%)
   Lokesh Vutla                      5 (0.4%)
   Karl Beldan                       5 (0.4%)
   Jorge Ramirez-Ortiz               4 (0.3%)
   Stefano Babic                     4 (0.3%)
   Marcel Ziswiler                   4 (0.3%)
   Zhikang Zhang                     4 (0.3%)
   Hou Zhiqiang                      4 (0.3%)
   Patrick Delaunay                  4 (0.3%)
   Srinivas, Madan                   4 (0.3%)
   Baruch Siach                      4 (0.3%)
   Nobuhiro Iwamatsu                 3 (0.2%)
   Madalin Bucur                     3 (0.2%)
   Lukasz Majewski                   3 (0.2%)
   Derald D. Woods                   3 (0.2%)
   Breno Lima                        3 (0.2%)
   Sumit Garg                        3 (0.2%)
   Nishanth Menon                    3 (0.2%)
   Icenowy Zheng                     3 (0.2%)
   Alison Wang                       3 (0.2%)
   Qianyu Gong                       3 (0.2%)
   Jean-Jacques Hiblot               3 (0.2%)
   Leo Wen                           3 (0.2%)
   Romain Perier                     3 (0.2%)
   Beniamino Galvani                 3 (0.2%)
   Paul Burton                       3 (0.2%)
   Fabio Berton                      3 (0.2%)
   Heiko Schocher                    2 (0.2%)
   Niko Mauno                        2 (0.2%)
   Hannes Schmelzer                  2 (0.2%)
   Christophe Kerello                2 (0.2%)
   Clément Bœsch                     2 (0.2%)
   Sébastien Szymanski               2 (0.2%)
   Yuiko Oshino                      2 (0.2%)
   Jon Nettleton                     2 (0.2%)
   Emmanuel Vadot                    2 (0.2%)
   Joe Hershberger                   2 (0.2%)
   Christian Gmeiner                 2 (0.2%)
   Felipe Balbi                      2 (0.2%)
   Lothar Waßmann                    2 (0.2%)
   Holger Brunck                     2 (0.2%)
   Fiach Antaw                       2 (0.2%)
   Patrick Bruenn                    2 (0.2%)
   Vanessa Maegima                   2 (0.2%)
   Paul Barker                       1 (0.1%)
   Jonathan Gray                     1 (0.1%)
   Peter Robinson                    1 (0.1%)
   Clemens Gruber                    1 (0.1%)
   Dave Prue                         1 (0.1%)
   Chen-Yu Tsai                      1 (0.1%)
   Dai Okamura                       1 (0.1%)
   Wilson Lee                        1 (0.1%)
   Stephen Boyd                      1 (0.1%)
   Vikas Manocha                     1 (0.1%)
   Pau Pajuelo                       1 (0.1%)
   Ladislav Michl                    1 (0.1%)
   Ruchika Gupta                     1 (0.1%)
   Reno Farnesi                      1 (0.1%)
   Suniel Mahesh                     1 (0.1%)
   John Keeping                      1 (0.1%)
   Peter Chubb                       1 (0.1%)
   Vladimir Zapolskiy                1 (0.1%)
   Peter Griffin                     1 (0.1%)
   Prabhakar Kushwaha                1 (0.1%)
   Klaus Goger                       1 (0.1%)
   Olliver Schinagl                  1 (0.1%)
   Igal Liberman                     1 (0.1%)
   York Sun                          1 (0.1%)
   Rajesh Bhagat                     1 (0.1%)
   Yang Li                           1 (0.1%)
   Sebastien Bourdelin               1 (0.1%)
   Denis Pynkin                      1 (0.1%)
   Holger Dengler                    1 (0.1%)
   Arun Parameswaran                 1 (0.1%)
   Suji Velupillai                   1 (0.1%)
   Jimmy Du                          1 (0.1%)
   VINITHA PILLAI                    1 (0.1%)
   Zhang Ying-22455                  1 (0.1%)
   Shengzhou Liu                     1 (0.1%)
   Alexander Stein                   1 (0.1%)
   Kishon Vijay Abraham I            1 (0.1%)
   Vagrant Cascadian                 1 (0.1%)
   Zubair Lutfullah Kakakhel         1 (0.1%)
   Michael Heimpold                  1 (0.1%)
   Diego Dorta                       1 (0.1%)
   Gautam Bhat                       1 (0.1%)
   Florian Fainelli                  1 (0.1%)
   Mugunthan V N                     1 (0.1%)
   Sjoerd Simons                     1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       15119 (18.7%)
   Marek Vasut                       6778 (8.4%)
   Bin Meng                          5289 (6.5%)
   Tom Rini                          4891 (6.0%)
   Philipp Tomsich                   4645 (5.7%)
   Masahiro Yamada                   4108 (5.1%)
   Kever Yang                        4042 (5.0%)
   Patrice Chotard                   3266 (4.0%)
   Zhikang Zhang                     2142 (2.6%)
   Marek Behún                       1999 (2.5%)
   Yuiko Oshino                      1565 (1.9%)
   Alexandru Gagniuc                 1479 (1.8%)
   Thomas Petazzoni                  1456 (1.8%)
   Wenyou Yang                       1453 (1.8%)
   Stefano Babic                     1441 (1.8%)
   Jorge Ramirez-Ortiz               1387 (1.7%)
   Wadim Egorov                      1200 (1.5%)
   Vanessa Maegima                   1136 (1.4%)
   Heinrich Schuchardt               1105 (1.4%)
   Stefan Agner                      1016 (1.3%)
   Tien Fong Chee                    949 (1.2%)
   Stefan Roese                      817 (1.0%)
   Angelo Dureghello                 796 (1.0%)
   Siva Durga Prasad Paladugu        764 (0.9%)
   Franklin S Cooper Jr              741 (0.9%)
   Paul Burton                       674 (0.8%)
   Beniamino Galvani                 606 (0.7%)
   Sam Protsenko                     596 (0.7%)
   Christophe Leroy                  594 (0.7%)
   Andy Shevchenko                   590 (0.7%)
   Andrew F. Davis                   576 (0.7%)
   Jagan Teki                        566 (0.7%)
   Alison Chaiken                    547 (0.7%)
   Eric Gao                          433 (0.5%)
   Adam Ford                         420 (0.5%)
   Derald D. Woods                   398 (0.5%)
   Felipe Balbi                      383 (0.5%)
   Chris Packham                     354 (0.4%)
   Alexander Graf                    324 (0.4%)
   Sjoerd Simons                     296 (0.4%)
   Peng Fan                          270 (0.3%)
   Andy Yan                          215 (0.3%)
   Breno Lima                        204 (0.3%)
   Stefan Chulski                    169 (0.2%)
   Fiach Antaw                       166 (0.2%)
   Rob Clark                         163 (0.2%)
   Meng Dongyang                     152 (0.2%)
   Ladislav Michl                    149 (0.2%)
   Ruchika Gupta                     142 (0.2%)
   Igal Liberman                     142 (0.2%)
   Pau Pajuelo                       124 (0.2%)
   Alison Wang                       111 (0.1%)
   Grygorii Strashko                 103 (0.1%)
   Jean-Jacques Hiblot               100 (0.1%)
   Sumit Garg                        90 (0.1%)
   Patrick Delaunay                  88 (0.1%)
   Maxime Ripard                     83 (0.1%)
   Diego Dorta                       83 (0.1%)
   Santan Kumar                      77 (0.1%)
   Nishanth Menon                    73 (0.1%)
   Fabio Estevam                     68 (0.1%)
   Mugunthan V N                     65 (0.1%)
   Arun Parameswaran                 63 (0.1%)
   Baruch Siach                      61 (0.1%)
   Qianyu Gong                       55 (0.1%)
   VINITHA PILLAI                    53 (0.1%)
   Shengzhou Liu                     50 (0.1%)
   Christophe Kerello                49 (0.1%)
   Zhang Ying-22455                  48 (0.1%)
   Anatolij Gustschin                47 (0.1%)
   Olliver Schinagl                  41 (0.1%)
   Joe Hershberger                   40 (0.0%)
   Michal Simek                      38 (0.0%)
   Peter Griffin                     37 (0.0%)
   Lokesh Vutla                      33 (0.0%)
   Srinivas, Madan                   33 (0.0%)
   Suji Velupillai                   31 (0.0%)
   Hou Zhiqiang                      28 (0.0%)
   Sebastien Bourdelin               28 (0.0%)
   Lothar Waßmann                    27 (0.0%)
   Holger Brunck                     27 (0.0%)
   Keerthy                           23 (0.0%)
   Marcel Ziswiler                   23 (0.0%)
   Florian Fainelli                  22 (0.0%)
   Madalin Bucur                     19 (0.0%)
   Sébastien Szymanski               19 (0.0%)
   Peter Robinson                    17 (0.0%)
   Romain Perier                     16 (0.0%)
   Nobuhiro Iwamatsu                 14 (0.0%)
   Lukasz Majewski                   13 (0.0%)
   Icenowy Zheng                     13 (0.0%)
   Patrick Bruenn                    12 (0.0%)
   Michael Heimpold                  12 (0.0%)
   Denis Pynkin                      11 (0.0%)
   Niko Mauno                        10 (0.0%)
   Fabio Berton                      9 (0.0%)
   Hannes Schmelzer                  8 (0.0%)
   Christian Gmeiner                 8 (0.0%)
   Alexander Stein                   8 (0.0%)
   Leo Wen                           7 (0.0%)
   Karl Beldan                       6 (0.0%)
   Dave Prue                         6 (0.0%)
   Suniel Mahesh                     6 (0.0%)
   Gautam Bhat                       6 (0.0%)
   Heiko Schocher                    4 (0.0%)
   Clément Bœsch                     4 (0.0%)
   Emmanuel Vadot                    4 (0.0%)
   Paul Barker                       4 (0.0%)
   Stephen Boyd                      4 (0.0%)
   Rajesh Bhagat                     4 (0.0%)
   Zubair Lutfullah Kakakhel         4 (0.0%)
   Jon Nettleton                     3 (0.0%)
   Dai Okamura                       3 (0.0%)
   Prabhakar Kushwaha                3 (0.0%)
   Kishon Vijay Abraham I            3 (0.0%)
   Clemens Gruber                    2 (0.0%)
   Wilson Lee                        2 (0.0%)
   Vladimir Zapolskiy                2 (0.0%)
   Klaus Goger                       2 (0.0%)
   York Sun                          2 (0.0%)
   Yang Li                           2 (0.0%)
   Holger Dengler                    2 (0.0%)
   Jimmy Du                          2 (0.0%)
   Jonathan Gray                     1 (0.0%)
   Chen-Yu Tsai                      1 (0.0%)
   Vikas Manocha                     1 (0.0%)
   Reno Farnesi                      1 (0.0%)
   John Keeping                      1 (0.0%)
   Peter Chubb                       1 (0.0%)
   Vagrant Cascadian                 1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Bin Meng                          3221 (8.9%)
   Masahiro Yamada                   2888 (8.0%)
   Thomas Petazzoni                  1407 (3.9%)
   Christophe Leroy                  371 (1.0%)
   Tom Rini                          207 (0.6%)
   Breno Lima                        181 (0.5%)
   Igal Liberman                     89 (0.2%)
   Derald D. Woods                   67 (0.2%)
   Vanessa Maegima                   51 (0.1%)
   Fiach Antaw                       38 (0.1%)
   Hou Zhiqiang                      10 (0.0%)
   Stefan Chulski                    9 (0.0%)
   Suniel Mahesh                     6 (0.0%)
   Patrick Delaunay                  4 (0.0%)
   Yang Li                           2 (0.0%)
   Zhang Ying-22455                  1 (0.0%)
   Dave Prue                         1 (0.0%)
   Heiko Schocher                    1 (0.0%)
   Kishon Vijay Abraham I            1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Alexander Graf                    52 (23.2%)
   Nobuhiro Iwamatsu                 29 (12.9%)
   Stefan Roese                      26 (11.6%)
   Tom Rini                          16 (7.1%)
   Michal Simek                      16 (7.1%)
   Philipp Tomsich                   13 (5.8%)
   Bin Meng                          8 (3.6%)
   Tom Warren                        4 (1.8%)
   Wenbin Song                       4 (1.8%)
   Priyanka Jain                     4 (1.8%)
   Jaehoon Chung                     4 (1.8%)
   Jagan Teki                        4 (1.8%)
   Vincent Tinelli                   3 (1.3%)
   Otavio Salvador                   3 (1.3%)
   Tomas Hlavacek                    3 (1.3%)
   Masahiro Yamada                   2 (0.9%)
   Anatolij Gustschin                2 (0.9%)
   Shengzhou Liu                     2 (0.9%)
   Andy Shevchenko                   2 (0.9%)
   Simon Glass                       2 (0.9%)
   Hou Zhiqiang                      1 (0.4%)
   Keerthy                           1 (0.4%)
   Steve Rae                         1 (0.4%)
   Ashish Kumar                      1 (0.4%)
   Ziyuan Xu                         1 (0.4%)
   Rajat Srivastava                  1 (0.4%)
   yinbo.zhu                         1 (0.4%)
   Thanh Tran                        1 (0.4%)
   Jason Zhu                         1 (0.4%)
   Sriramakrishnan                   1 (0.4%)
   Vitaly Wool                       1 (0.4%)
   Tero Kristo                       1 (0.4%)
   Jon Nettleton                     1 (0.4%)
   Romain Perier                     1 (0.4%)
   Ladislav Michl                    1 (0.4%)
   Grygorii Strashko                 1 (0.4%)
   Christophe Kerello                1 (0.4%)
   Olliver Schinagl                  1 (0.4%)
   Maxime Ripard                     1 (0.4%)
   Sumit Garg                        1 (0.4%)
   Jean-Jacques Hiblot               1 (0.4%)
   Meng Dongyang                     1 (0.4%)
   Felipe Balbi                      1 (0.4%)
   Franklin S Cooper Jr              1 (0.4%)
   Patrice Chotard                   1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       283 (32.7%)
   Philipp Tomsich                   133 (15.4%)
   Tom Rini                          124 (14.3%)
   Bin Meng                          121 (14.0%)
   Stefan Roese                      32 (3.7%)
   York Sun                          27 (3.1%)
   Jagan Teki                        16 (1.8%)
   Lukasz Majewski                   12 (1.4%)
   Stefano Babic                     12 (1.4%)
   Igal Liberman                     10 (1.2%)
   Fabio Estevam                     10 (1.2%)
   Andy Shevchenko                   9 (1.0%)
   Dinh Nguyen                       8 (0.9%)
   Ley Foon Tan                      8 (0.9%)
   Lokesh Vutla                      8 (0.9%)
   Heiko Schocher                    7 (0.8%)
   Nadav Haklai                      6 (0.7%)
   Nobuhiro Iwamatsu                 3 (0.3%)
   Joe Hershberger                   3 (0.3%)
   Marek Vasut                       3 (0.3%)
   Vikas Manocha                     2 (0.2%)
   Wolfgang Denk                     2 (0.2%)
   Daniel Schwierzeck                2 (0.2%)
   Hannes Schmelzer                  2 (0.2%)
   Jaehoon Chung                     1 (0.1%)
   Keerthy                           1 (0.1%)
   Sumit Garg                        1 (0.1%)
   Franklin S Cooper Jr              1 (0.1%)
   Vladimir Zapolskiy                1 (0.1%)
   Klaus Goger                       1 (0.1%)
   Jonathan Gray                     1 (0.1%)
   Mark Kettenis                     1 (0.1%)
   Jason Cooper                      1 (0.1%)
   Stefan Brüns                      1 (0.1%)
   Jakob Unterwurzacher              1 (0.1%)
   Kostya Porotchkin                 1 (0.1%)
   Yauheni Kaliuta                   1 (0.1%)
   JD Zheng                          1 (0.1%)
   Scott Branden                     1 (0.1%)
   Moritz Fischer                    1 (0.1%)
   Andreas Färber                    1 (0.1%)
   Marcel Ziswiler                   1 (0.1%)
   Christian Gmeiner                 1 (0.1%)
   Sam Protsenko                     1 (0.1%)
   Rob Clark                         1 (0.1%)
   Heinrich Schuchardt               1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Marcel Ziswiler                   36 (27.1%)
   Stephen Warren                    26 (19.5%)
   Stefan Roese                      19 (14.3%)
   iSoC Platform CI                  10 (7.5%)
   Bin Meng                          8 (6.0%)
   Jagan Teki                        4 (3.0%)
   Chen-Yu Tsai                      3 (2.3%)
   VINITHA PILLAI                    3 (2.3%)
   Simon Glass                       2 (1.5%)
   Daniel Schwierzeck                2 (1.5%)
   Jonathan Gray                     2 (1.5%)
   Pau Pajuelo                       2 (1.5%)
   Philipp Tomsich                   1 (0.8%)
   Dinh Nguyen                       1 (0.8%)
   Heiko Schocher                    1 (0.8%)
   Marek Vasut                       1 (0.8%)
   Hannes Schmelzer                  1 (0.8%)
   Mark Kettenis                     1 (0.8%)
   Heinrich Schuchardt               1 (0.8%)
   Steve Rae                         1 (0.8%)
   Joël Esponde                      1 (0.8%)
   Vagrant Cascadian                 1 (0.8%)
   Paul Barker                       1 (0.8%)
   Peter Robinson                    1 (0.8%)
   Suji Velupillai                   1 (0.8%)
   Adam Ford                         1 (0.8%)
   Peng Fan                          1 (0.8%)
   Kever Yang                        1 (0.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       70 (52.6%)
   Bin Meng                          22 (16.5%)
   Stefan Chulski                    10 (7.5%)
   Jagan Teki                        3 (2.3%)
   Tom Rini                          3 (2.3%)
   Sumit Garg                        3 (2.3%)
   Maxime Ripard                     2 (1.5%)
   Icenowy Zheng                     2 (1.5%)
   Paul Burton                       2 (1.5%)
   Stefan Roese                      1 (0.8%)
   Pau Pajuelo                       1 (0.8%)
   Philipp Tomsich                   1 (0.8%)
   Paul Barker                       1 (0.8%)
   Suji Velupillai                   1 (0.8%)
   Peng Fan                          1 (0.8%)
   Kever Yang                        1 (0.8%)
   Andy Shevchenko                   1 (0.8%)
   Christian Gmeiner                 1 (0.8%)
   Sam Protsenko                     1 (0.8%)
   Jon Nettleton                     1 (0.8%)
   Ladislav Michl                    1 (0.8%)
   Dave Prue                         1 (0.8%)
   John Keeping                      1 (0.8%)
   Alison Chaiken                    1 (0.8%)
   Stefan Agner                      1 (0.8%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Tom Rini                          2 (8.0%)
   Patrick Delaunay                  2 (8.0%)
   Ran Wang                          2 (8.0%)
   Sumit Garg                        1 (4.0%)
   Maxime Ripard                     1 (4.0%)
   Stefan Roese                      1 (4.0%)
   Andy Shevchenko                   1 (4.0%)
   Heiko Schocher                    1 (4.0%)
   Marek Vasut                       1 (4.0%)
   Heinrich Schuchardt               1 (4.0%)
   Joël Esponde                      1 (4.0%)
   Peter Robinson                    1 (4.0%)
   Stefano Babic                     1 (4.0%)
   Alexander Graf                    1 (4.0%)
   Jean-Jacques Hiblot               1 (4.0%)
   Måns Rullgård                     1 (4.0%)
   Artturi Alm                       1 (4.0%)
   Bo Shen                           1 (4.0%)
   Miquel RAYNAL                     1 (4.0%)
   Takashi Matsuzawa                 1 (4.0%)
   Kevin Hilman                      1 (4.0%)
   Andy Yan                          1 (4.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Patrice Chotard                   5 (20.0%)
   Tom Rini                          4 (16.0%)
   Simon Glass                       4 (16.0%)
   Bin Meng                          3 (12.0%)
   Philipp Tomsich                   3 (12.0%)
   Fabio Estevam                     3 (12.0%)
   Heinrich Schuchardt               1 (4.0%)
   Alexander Graf                    1 (4.0%)
   Stefan Agner                      1 (4.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         520 (39.8%)
   Google, Inc.                      246 (18.8%)
   Rockchip                          87 (6.7%)
   Texas Instruments                 87 (6.7%)
   DENX Software Engineering         73 (5.6%)
   Konsulko Group                    49 (3.7%)
   ST Microelectronics               48 (3.7%)
   Socionext Inc.                    43 (3.3%)
   Intel                             23 (1.8%)
   Free Electrons                    22 (1.7%)
   Amarula Solutions                 17 (1.3%)
   Toradex                           17 (1.3%)
   Xilinx                            12 (0.9%)
   Linaro                            11 (0.8%)
   Marvell                           11 (0.8%)
   Phytec                            8 (0.6%)
   AMD                               7 (0.5%)
   Collabora Ltd.                    5 (0.4%)
   National Instruments              4 (0.3%)
   NXP                               3 (0.2%)
   MIPS                              3 (0.2%)
   O.S. Systems                      3 (0.2%)
   Nobuhiro Iwamatsu                 3 (0.2%)
   Broadcom                          2 (0.2%)
   Keymile                           2 (0.2%)
   Debian.org                        1 (0.1%)
   linutronix                        1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         26993 (33.4%)
   Google, Inc.                      15119 (18.7%)
   DENX Software Engineering         9100 (11.2%)
   Konsulko Group                    4891 (6.0%)
   Rockchip                          4848 (6.0%)
   Socionext Inc.                    4111 (5.1%)
   ST Microelectronics               3404 (4.2%)
   Linaro                            2024 (2.5%)
   Intel                             1922 (2.4%)
   Texas Instruments                 1750 (2.2%)
   Free Electrons                    1539 (1.9%)
   Phytec                            1200 (1.5%)
   Toradex                           1039 (1.3%)
   Xilinx                            764 (0.9%)
   MIPS                              674 (0.8%)
   Amarula Solutions                 566 (0.7%)
   Collabora Ltd.                    323 (0.4%)
   Marvell                           311 (0.4%)
   NXP                               111 (0.1%)
   Broadcom                          94 (0.1%)
   National Instruments              44 (0.1%)
   AMD                               38 (0.0%)
   Keymile                           27 (0.0%)
   Nobuhiro Iwamatsu                 14 (0.0%)
   O.S. Systems                      9 (0.0%)
   linutronix                        2 (0.0%)
   Debian.org                        1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Novell                            52 (23.2%)
   (Unknown)                         43 (19.2%)
   Nobuhiro Iwamatsu                 29 (12.9%)
   DENX Software Engineering         28 (12.5%)
   Konsulko Group                    17 (7.6%)
   Xilinx                            16 (7.1%)
   Texas Instruments                 7 (3.1%)
   Intel                             6 (2.7%)
   NVidia                            4 (1.8%)
   Samsung                           4 (1.8%)
   Rockchip                          3 (1.3%)
   O.S. Systems                      3 (1.3%)
   Google, Inc.                      2 (0.9%)
   Socionext Inc.                    2 (0.9%)
   ST Microelectronics               2 (0.9%)
   Amarula Solutions                 2 (0.9%)
   Openedev                          2 (0.9%)
   Free Electrons                    1 (0.4%)
   Collabora Ltd.                    1 (0.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         70 (53.4%)
   Texas Instruments                 10 (7.6%)
   DENX Software Engineering         6 (4.6%)
   Rockchip                          5 (3.8%)
   ST Microelectronics               4 (3.1%)
   Linaro                            4 (3.1%)
   Intel                             3 (2.3%)
   Collabora Ltd.                    3 (2.3%)
   National Instruments              3 (2.3%)
   Socionext Inc.                    2 (1.5%)
   Free Electrons                    2 (1.5%)
   Toradex                           2 (1.5%)
   Marvell                           2 (1.5%)
   Broadcom                          2 (1.5%)
   Nobuhiro Iwamatsu                 1 (0.8%)
   Konsulko Group                    1 (0.8%)
   Xilinx                            1 (0.8%)
   O.S. Systems                      1 (0.8%)
   Google, Inc.                      1 (0.8%)
   Amarula Solutions                 1 (0.8%)
   Phytec                            1 (0.8%)
   MIPS                              1 (0.8%)
   NXP                               1 (0.8%)
   AMD                               1 (0.8%)
   Keymile                           1 (0.8%)
   linutronix                        1 (0.8%)
   Debian.org                        1 (0.8%)
   ================================  =====
