diff --git a/doc/develop/statistics/u-boot-stats-v2018.09.rst b/doc/develop/statistics/u-boot-stats-v2018.09.rst
new file mode 100644
index 0000000..2a5a979
--- /dev/null
+++ b/doc/develop/statistics/u-boot-stats-v2018.09.rst
@@ -0,0 +1,678 @@
+:orphan:
+
+Release Statistics for U-Boot v2018.09
+======================================
+
+* Processed 983 csets from 138 developers
+
+* 32 employers found
+
+* A total of 62059 lines added, 23685 removed (delta 38374)
+
+.. table:: Developers with the most changesets
+   :widths: auto
+
+   ================================  =====
+   Name                              Count
+   ================================  =====
+   Simon Glass                       75 (7.6%)
+   Michal Simek                      66 (6.7%)
+   Heinrich Schuchardt               54 (5.5%)
+   Marek Vasut                       49 (5.0%)
+   Bin Meng                          43 (4.4%)
+   Adam Ford                         38 (3.9%)
+   Tom Rini                          29 (3.0%)
+   Ley Foon Tan                      27 (2.7%)
+   Patrice Chotard                   25 (2.5%)
+   Joe Hershberger                   24 (2.4%)
+   Patrick Delaunay                  20 (2.0%)
+   Ramon Fried                       17 (1.7%)
+   Alexander Graf                    16 (1.6%)
+   Jagan Teki                        16 (1.6%)
+   Stefan Agner                      15 (1.5%)
+   Icenowy Zheng                     15 (1.5%)
+   York Sun                          13 (1.3%)
+   Mario Six                         13 (1.3%)
+   Baruch Siach                      13 (1.3%)
+   Hannes Schmelzer                  13 (1.3%)
+   Masahiro Yamada                   12 (1.2%)
+   Siva Durga Prasad Paladugu        12 (1.2%)
+   Lukasz Majewski                   11 (1.1%)
+   Fabio Estevam                     10 (1.0%)
+   Alex Kiernan                      10 (1.0%)
+   Manivannan Sadhasivam             10 (1.0%)
+   Miquel Raynal                     10 (1.0%)
+   Otavio Salvador                   9 (0.9%)
+   Ye Li                             9 (0.9%)
+   Simon Goldschmidt                 9 (0.9%)
+   Eugeniu Rosca                     9 (0.9%)
+   Stephen Warren                    9 (0.9%)
+   Andre Przywara                    9 (0.9%)
+   Sam Protsenko                     8 (0.8%)
+   Peng Fan                          8 (0.8%)
+   Laurentiu Tudor                   8 (0.8%)
+   Chris Packham                     8 (0.8%)
+   Vipul Kumar                       8 (0.8%)
+   Jean-Jacques Hiblot               7 (0.7%)
+   Alberto Panizzo                   7 (0.7%)
+   Luis Araneda                      7 (0.7%)
+   Jon Nettleton                     7 (0.7%)
+   Grygorii Strashko                 7 (0.7%)
+   Ludwig Zenz                       7 (0.7%)
+   Quentin Schulz                    6 (0.6%)
+   Lothar Felten                     6 (0.6%)
+   Paul Burton                       6 (0.6%)
+   Eugeniy Paltsev                   5 (0.5%)
+   Mark Kettenis                     5 (0.5%)
+   Fabrice Gasnier                   5 (0.5%)
+   Philippe Reynes                   5 (0.5%)
+   Michael Trimarchi                 5 (0.5%)
+   Alexey Brodkin                    4 (0.4%)
+   Philipp Tomsich                   4 (0.4%)
+   Thomas Fitzsimmons                4 (0.4%)
+   Ran Wang                          4 (0.4%)
+   Vagrant Cascadian                 4 (0.4%)
+   Adam Sampson                      4 (0.4%)
+   Yuantian Tang                     4 (0.4%)
+   Christophe Kerello                4 (0.4%)
+   Yaniv Levinsky                    4 (0.4%)
+   Shreenidhi Shedi                  4 (0.4%)
+   Anson Huang                       3 (0.3%)
+   Igor Opaniuk                      3 (0.3%)
+   Jagdish Gediya                    3 (0.3%)
+   Vinitha V Pillai                  3 (0.3%)
+   Minkyu Kang                       3 (0.3%)
+   Neil Armstrong                    3 (0.3%)
+   Carlo Caione                      3 (0.3%)
+   Loic Devulder                     3 (0.3%)
+   Ivan Gorinov                      3 (0.3%)
+   Tuomas Tynkkynen                  2 (0.2%)
+   Chen-Yu Tsai                      2 (0.2%)
+   Stefano Babic                     2 (0.2%)
+   Martin Kaiser                     2 (0.2%)
+   AKASHI Takahiro                   2 (0.2%)
+   Christian Gmeiner                 2 (0.2%)
+   Pankaj Bansal                     2 (0.2%)
+   Willy Tarreau                     2 (0.2%)
+   Mylène Josserand                  2 (0.2%)
+   Guillaume GARDET                  2 (0.2%)
+   Ashish Kumar                      2 (0.2%)
+   Klaus Goger                       2 (0.2%)
+   Alexander Kochetkov               2 (0.2%)
+   Teddy Reed                        2 (0.2%)
+   Fabio Berton                      1 (0.1%)
+   Jasper kcoding                    1 (0.1%)
+   Kever Yang                        1 (0.1%)
+   Praneeth Bajjuri                  1 (0.1%)
+   Christian Amann                   1 (0.1%)
+   Neil Stainton                     1 (0.1%)
+   Beniamino Galvani                 1 (0.1%)
+   Ievgen Maliarenko                 1 (0.1%)
+   Tom Warren                        1 (0.1%)
+   Nicolas Chauvet                   1 (0.1%)
+   Pierre-Jean Texier                1 (0.1%)
+   Andreas Dannenberg                1 (0.1%)
+   Andy Shevchenko                   1 (0.1%)
+   Derald D. Woods                   1 (0.1%)
+   Eugen Hristev                     1 (0.1%)
+   Caliph Nomble                     1 (0.1%)
+   Rob Bracero                       1 (0.1%)
+   Darwin Dingel                     1 (0.1%)
+   Troy Kisky                        1 (0.1%)
+   Seung-Woo Kim                     1 (0.1%)
+   Joakim Tjernlund                  1 (0.1%)
+   Daniel Schwierzeck                1 (0.1%)
+   Brendan Shanks                    1 (0.1%)
+   Vladimir Vid                      1 (0.1%)
+   Stefan Roese                      1 (0.1%)
+   Koen Kooi                         1 (0.1%)
+   Stefan Mavrodiev                  1 (0.1%)
+   Clément Laigle                    1 (0.1%)
+   Yannick Fertré                    1 (0.1%)
+   Simon Baatz                       1 (0.1%)
+   Nicholas Faustini                 1 (0.1%)
+   Jens Wiklander                    1 (0.1%)
+   Bibek Basu                        1 (0.1%)
+   Murali Karicheri                  1 (0.1%)
+   Andrew Thomas                     1 (0.1%)
+   Jeremy Gebben                     1 (0.1%)
+   Alison Wang                       1 (0.1%)
+   Breno Lima                        1 (0.1%)
+   Paulo Zaneti                      1 (0.1%)
+   Zubair Lutfullah Kakakhel         1 (0.1%)
+   Kay Potthoff                      1 (0.1%)
+   Rafał Miłecki                     1 (0.1%)
+   Holger Dengler                    1 (0.1%)
+   Mark Jonas                        1 (0.1%)
+   Uri Mashiach                      1 (0.1%)
+   Jakob Unterwurzacher              1 (0.1%)
+   Marek Behún                       1 (0.1%)
+   Thomas McKahan                    1 (0.1%)
+   Luca Ceresoli                     1 (0.1%)
+   Gao Pan                           1 (0.1%)
+   Tien Fong Chee                    1 (0.1%)
+   Ben Whitten                       1 (0.1%)
+   Michael Pratt                     1 (0.1%)
+   ================================  =====
+
+
+.. table:: Developers with the most changed lines
+   :widths: auto
+
+   ================================  =====
+   Name                              Count
+   ================================  =====
+   Mario Six                         9524 (13.2%)
+   Tom Rini                          8252 (11.4%)
+   Simon Glass                       5942 (8.2%)
+   Andre Przywara                    3869 (5.4%)
+   Adam Ford                         3850 (5.3%)
+   Jagan Teki                        3167 (4.4%)
+   Icenowy Zheng                     2387 (3.3%)
+   Siva Durga Prasad Paladugu        2374 (3.3%)
+   Patrick Delaunay                  2317 (3.2%)
+   Ley Foon Tan                      2240 (3.1%)
+   Michal Simek                      1880 (2.6%)
+   Marek Vasut                       1831 (2.5%)
+   Stefan Agner                      1772 (2.5%)
+   Hannes Schmelzer                  1726 (2.4%)
+   Ramon Fried                       1468 (2.0%)
+   Heinrich Schuchardt               1458 (2.0%)
+   Ye Li                             1412 (2.0%)
+   Bin Meng                          1374 (1.9%)
+   Thomas Fitzsimmons                1353 (1.9%)
+   Manivannan Sadhasivam             955 (1.3%)
+   Chris Packham                     954 (1.3%)
+   Fabrice Gasnier                   727 (1.0%)
+   Anson Huang                       639 (0.9%)
+   Jean-Jacques Hiblot               584 (0.8%)
+   Laurentiu Tudor                   489 (0.7%)
+   Luis Araneda                      463 (0.6%)
+   Stefan Mavrodiev                  462 (0.6%)
+   Joe Hershberger                   428 (0.6%)
+   Jon Nettleton                     412 (0.6%)
+   Eugeniy Paltsev                   396 (0.5%)
+   York Sun                          386 (0.5%)
+   Neil Armstrong                    361 (0.5%)
+   Sam Protsenko                     356 (0.5%)
+   Alexander Graf                    324 (0.4%)
+   Baruch Siach                      299 (0.4%)
+   Philippe Reynes                   290 (0.4%)
+   Fabio Estevam                     273 (0.4%)
+   Vipul Kumar                       261 (0.4%)
+   Patrice Chotard                   253 (0.4%)
+   Thomas McKahan                    252 (0.3%)
+   Alberto Panizzo                   250 (0.3%)
+   Michael Pratt                     224 (0.3%)
+   Ludwig Zenz                       223 (0.3%)
+   Masahiro Yamada                   217 (0.3%)
+   Shreenidhi Shedi                  210 (0.3%)
+   Stephen Warren                    200 (0.3%)
+   Yuantian Tang                     181 (0.3%)
+   Ran Wang                          179 (0.2%)
+   Alex Kiernan                      178 (0.2%)
+   Daniel Schwierzeck                166 (0.2%)
+   Quentin Schulz                    147 (0.2%)
+   Lothar Felten                     138 (0.2%)
+   Miquel Raynal                     133 (0.2%)
+   Otavio Salvador                   123 (0.2%)
+   Simon Goldschmidt                 118 (0.2%)
+   Peng Fan                          108 (0.1%)
+   Klaus Goger                       108 (0.1%)
+   Jagdish Gediya                    98 (0.1%)
+   Alexander Kochetkov               95 (0.1%)
+   Rob Bracero                       78 (0.1%)
+   Philipp Tomsich                   77 (0.1%)
+   Grygorii Strashko                 71 (0.1%)
+   Luca Ceresoli                     60 (0.1%)
+   Lukasz Majewski                   55 (0.1%)
+   Teddy Reed                        55 (0.1%)
+   Eugeniu Rosca                     52 (0.1%)
+   Michael Trimarchi                 51 (0.1%)
+   Igor Opaniuk                      50 (0.1%)
+   Bibek Basu                        50 (0.1%)
+   Yaniv Levinsky                    48 (0.1%)
+   Mark Kettenis                     45 (0.1%)
+   Christophe Kerello                41 (0.1%)
+   Darwin Dingel                     39 (0.1%)
+   Paul Burton                       30 (0.0%)
+   Yannick Fertré                    29 (0.0%)
+   Minkyu Kang                       25 (0.0%)
+   Vagrant Cascadian                 24 (0.0%)
+   Carlo Caione                      24 (0.0%)
+   Alexey Brodkin                    23 (0.0%)
+   Ashish Kumar                      22 (0.0%)
+   Koen Kooi                         20 (0.0%)
+   Nicholas Faustini                 19 (0.0%)
+   Tuomas Tynkkynen                  18 (0.0%)
+   Kever Yang                        18 (0.0%)
+   Ivan Gorinov                      17 (0.0%)
+   Jens Wiklander                    15 (0.0%)
+   Chen-Yu Tsai                      14 (0.0%)
+   Murali Karicheri                  13 (0.0%)
+   Beniamino Galvani                 12 (0.0%)
+   Caliph Nomble                     12 (0.0%)
+   Ben Whitten                       12 (0.0%)
+   Loic Devulder                     11 (0.0%)
+   Nicolas Chauvet                   10 (0.0%)
+   Gao Pan                           10 (0.0%)
+   Holger Dengler                    9 (0.0%)
+   Martin Kaiser                     8 (0.0%)
+   Jeremy Gebben                     8 (0.0%)
+   Rafał Miłecki                     8 (0.0%)
+   Mark Jonas                        8 (0.0%)
+   Adam Sampson                      7 (0.0%)
+   Derald D. Woods                   7 (0.0%)
+   Uri Mashiach                      7 (0.0%)
+   Vinitha V Pillai                  6 (0.0%)
+   Pankaj Bansal                     6 (0.0%)
+   Guillaume GARDET                  6 (0.0%)
+   Tom Warren                        6 (0.0%)
+   Eugen Hristev                     6 (0.0%)
+   Joakim Tjernlund                  6 (0.0%)
+   Stefano Babic                     4 (0.0%)
+   AKASHI Takahiro                   4 (0.0%)
+   Neil Stainton                     4 (0.0%)
+   Andy Shevchenko                   4 (0.0%)
+   Willy Tarreau                     3 (0.0%)
+   Mylène Josserand                  3 (0.0%)
+   Fabio Berton                      3 (0.0%)
+   Ievgen Maliarenko                 3 (0.0%)
+   Simon Baatz                       3 (0.0%)
+   Christian Gmeiner                 2 (0.0%)
+   Jasper kcoding                    2 (0.0%)
+   Praneeth Bajjuri                  2 (0.0%)
+   Christian Amann                   2 (0.0%)
+   Troy Kisky                        2 (0.0%)
+   Seung-Woo Kim                     2 (0.0%)
+   Brendan Shanks                    2 (0.0%)
+   Vladimir Vid                      2 (0.0%)
+   Zubair Lutfullah Kakakhel         2 (0.0%)
+   Jakob Unterwurzacher              2 (0.0%)
+   Pierre-Jean Texier                1 (0.0%)
+   Andreas Dannenberg                1 (0.0%)
+   Stefan Roese                      1 (0.0%)
+   Clément Laigle                    1 (0.0%)
+   Andrew Thomas                     1 (0.0%)
+   Alison Wang                       1 (0.0%)
+   Paulo Zaneti                      1 (0.0%)
+   Kay Potthoff                      1 (0.0%)
+   Marek Behún                       1 (0.0%)
+   Tien Fong Chee                    1 (0.0%)
+   ================================  =====
+
+
+.. table:: Developers with the most lines removed
+   :widths: auto
+
+   ================================  =====
+   Name                              Count
+   ================================  =====
+   Tom Rini                          6291 (26.6%)
+   Baruch Siach                      228 (1.0%)
+   Yuantian Tang                     30 (0.1%)
+   Minkyu Kang                       24 (0.1%)
+   Kever Yang                        18 (0.1%)
+   Lukasz Majewski                   14 (0.1%)
+   Ivan Gorinov                      12 (0.1%)
+   Beniamino Galvani                 12 (0.1%)
+   Tom Warren                        6 (0.0%)
+   Ben Whitten                       3 (0.0%)
+   Fabio Estevam                     2 (0.0%)
+   Yaniv Levinsky                    2 (0.0%)
+   Nicholas Faustini                 2 (0.0%)
+   Jeremy Gebben                     2 (0.0%)
+   Paulo Zaneti                      1 (0.0%)
+   ================================  =====
+
+
+.. table:: Developers with the most signoffs (total 188)
+   :widths: auto
+
+   ================================  =====
+   Name                              Count
+   ================================  =====
+   Alexander Graf                    51 (27.1%)
+   Michal Simek                      24 (12.8%)
+   Stefan Roese                      18 (9.6%)
+   Minkyu Kang                       13 (6.9%)
+   Chin Liang See                    9 (4.8%)
+   Tom Warren                        8 (4.3%)
+   Patrice Chotard                   8 (4.3%)
+   Otavio Salvador                   8 (4.3%)
+   Tom Rini                          7 (3.7%)
+   Baruch Siach                      7 (3.7%)
+   Alexey Brodkin                    4 (2.1%)
+   Vipul Kumar                       3 (1.6%)
+   Jagan Teki                        3 (1.6%)
+   Philipp Tomsich                   2 (1.1%)
+   Peng Fan                          2 (1.1%)
+   Fabrice Gasnier                   2 (1.1%)
+   Simon Glass                       2 (1.1%)
+   Yaniv Levinsky                    1 (0.5%)
+   Dave Gerlach                      1 (0.5%)
+   Tony Lindgren                     1 (0.5%)
+   Kurt Kanzenbach                   1 (0.5%)
+   Luka Perkov                       1 (0.5%)
+   Anatolij Gustschin                1 (0.5%)
+   Sandipan Patra                    1 (0.5%)
+   Ruchika Gupta                     1 (0.5%)
+   Boris Brezillon                   1 (0.5%)
+   AKASHI Takahiro                   1 (0.5%)
+   Fabio Berton                      1 (0.5%)
+   Eugeniu Rosca                     1 (0.5%)
+   Stephen Warren                    1 (0.5%)
+   Masahiro Yamada                   1 (0.5%)
+   Philippe Reynes                   1 (0.5%)
+   Neil Armstrong                    1 (0.5%)
+   Siva Durga Prasad Paladugu        1 (0.5%)
+   ================================  =====
+
+
+.. table:: Developers with the most reviews (total 356)
+   :widths: auto
+
+   ================================  =====
+   Name                              Count
+   ================================  =====
+   Simon Glass                       153 (43.0%)
+   Jagan Teki                        36 (10.1%)
+   York Sun                          32 (9.0%)
+   Philipp Tomsich                   15 (4.2%)
+   Tom Rini                          12 (3.4%)
+   Stephen Warren                    10 (2.8%)
+   Joe Hershberger                   8 (2.2%)
+   Bharat Bhushan                    7 (2.0%)
+   Igor Opaniuk                      7 (2.0%)
+   Heinrich Schuchardt               7 (2.0%)
+   Andre Przywara                    7 (2.0%)
+   Stefan Herbrechtsmeier            6 (1.7%)
+   Bin Meng                          6 (1.7%)
+   Daniel Schwierzeck                5 (1.4%)
+   Fabio Estevam                     4 (1.1%)
+   Heiko Schocher                    4 (1.1%)
+   Marek Vasut                       4 (1.1%)
+   Alexander Graf                    3 (0.8%)
+   Dennis Gilmore                    3 (0.8%)
+   Christian Gmeiner                 3 (0.8%)
+   Anatolij Gustschin                2 (0.6%)
+   Lukasz Majewski                   2 (0.6%)
+   Vikas Manocha                     2 (0.6%)
+   Stefano Babic                     2 (0.6%)
+   Michal Simek                      1 (0.3%)
+   Stefan Roese                      1 (0.3%)
+   Peng Fan                          1 (0.3%)
+   Eugeniu Rosca                     1 (0.3%)
+   Masahiro Yamada                   1 (0.3%)
+   Kever Yang                        1 (0.3%)
+   Jonathan Gray                     1 (0.3%)
+   Prabhakar Kushwaha                1 (0.3%)
+   Horia Geantă                      1 (0.3%)
+   Felix Brack                       1 (0.3%)
+   Igor Grinberg                     1 (0.3%)
+   Vadim Bendebury                   1 (0.3%)
+   Tuomas Tynkkynen                  1 (0.3%)
+   Simon Goldschmidt                 1 (0.3%)
+   Sam Protsenko                     1 (0.3%)
+   Hannes Schmelzer                  1 (0.3%)
+   ================================  =====
+
+
+.. table:: Developers with the most test credits (total 82)
+   :widths: auto
+
+   ================================  =====
+   Name                              Count
+   ================================  =====
+   Jagan Teki                        32 (39.0%)
+   Anand Moon                        8 (9.8%)
+   Stephen Warren                    6 (7.3%)
+   Chen-Yu Tsai                      6 (7.3%)
+   Siva Durga Prasad Paladugu        4 (4.9%)
+   Andy Shevchenko                   4 (4.9%)
+   Dennis Gilmore                    3 (3.7%)
+   Klaus Goger                       3 (3.7%)
+   Michal Simek                      2 (2.4%)
+   Eugeniu Rosca                     2 (2.4%)
+   Heinrich Schuchardt               1 (1.2%)
+   Bin Meng                          1 (1.2%)
+   Jonathan Gray                     1 (1.2%)
+   Tuomas Tynkkynen                  1 (1.2%)
+   Kurt Kanzenbach                   1 (1.2%)
+   Michael Walle                     1 (1.2%)
+   Bryan O'Donoghue                  1 (1.2%)
+   Vagrant Cascadian                 1 (1.2%)
+   Alex Kiernan                      1 (1.2%)
+   Mark Kettenis                     1 (1.2%)
+   Patrick Delaunay                  1 (1.2%)
+   Stefan Agner                      1 (1.2%)
+   ================================  =====
+
+
+.. table:: Developers who gave the most tested-by credits (total 82)
+   :widths: auto
+
+   ================================  =====
+   Name                              Count
+   ================================  =====
+   Jagan Teki                        15 (18.3%)
+   Icenowy Zheng                     13 (15.9%)
+   Lukasz Majewski                   8 (9.8%)
+   Lothar Felten                     6 (7.3%)
+   Quentin Schulz                    6 (7.3%)
+   Bin Meng                          4 (4.9%)
+   Andre Przywara                    4 (4.9%)
+   Philipp Tomsich                   3 (3.7%)
+   Grygorii Strashko                 3 (3.7%)
+   Andy Shevchenko                   2 (2.4%)
+   Heinrich Schuchardt               2 (2.4%)
+   Igor Opaniuk                      2 (2.4%)
+   Baruch Siach                      2 (2.4%)
+   Klaus Goger                       1 (1.2%)
+   Tuomas Tynkkynen                  1 (1.2%)
+   Stefan Agner                      1 (1.2%)
+   Simon Glass                       1 (1.2%)
+   Marek Vasut                       1 (1.2%)
+   Yuantian Tang                     1 (1.2%)
+   Holger Dengler                    1 (1.2%)
+   Darwin Dingel                     1 (1.2%)
+   Murali Karicheri                  1 (1.2%)
+   Jon Nettleton                     1 (1.2%)
+   Anson Huang                       1 (1.2%)
+   Chris Packham                     1 (1.2%)
+   ================================  =====
+
+
+.. table:: Developers with the most report credits (total 24)
+   :widths: auto
+
+   ================================  =====
+   Name                              Count
+   ================================  =====
+   Stefan Herbrechtsmeier            5 (20.8%)
+   Tuomas Tynkkynen                  4 (16.7%)
+   Tom Rini                          3 (12.5%)
+   Marek Vasut                       2 (8.3%)
+   Ioana Ciornei                     2 (8.3%)
+   Jagan Teki                        1 (4.2%)
+   Heinrich Schuchardt               1 (4.2%)
+   Eugeniu Rosca                     1 (4.2%)
+   Jonathan Gray                     1 (4.2%)
+   Mark Kettenis                     1 (4.2%)
+   AKASHI Takahiro                   1 (4.2%)
+   Mark Olsson                       1 (4.2%)
+   ericywl                           1 (4.2%)
+   ================================  =====
+
+
+.. table:: Developers who gave the most report credits (total 24)
+   :widths: auto
+
+   ================================  =====
+   Name                              Count
+   ================================  =====
+   Michal Simek                      5 (20.8%)
+   Patrice Chotard                   5 (20.8%)
+   Tom Rini                          2 (8.3%)
+   Heinrich Schuchardt               2 (8.3%)
+   Masahiro Yamada                   2 (8.3%)
+   Pankaj Bansal                     2 (8.3%)
+   Miquel Raynal                     2 (8.3%)
+   Tuomas Tynkkynen                  1 (4.2%)
+   Andy Shevchenko                   1 (4.2%)
+   Igor Opaniuk                      1 (4.2%)
+   Fabio Estevam                     1 (4.2%)
+   ================================  =====
+
+
+.. table:: Top changeset contributors by employer
+   :widths: auto
+
+   ================================  =====
+   Name                              Count
+   ================================  =====
+   (Unknown)                         360 (36.6%)
+   Google, Inc.                      75 (7.6%)
+   AMD                               66 (6.7%)
+   NXP                               65 (6.6%)
+   DENX Software Engineering         63 (6.4%)
+   ST Microelectronics               55 (5.6%)
+   Intel                             32 (3.3%)
+   Konsulko Group                    29 (3.0%)
+   Amarula Solutions                 28 (2.8%)
+   National Instruments              24 (2.4%)
+   Linaro                            21 (2.1%)
+   Xilinx                            20 (2.0%)
+   Bootlin                           18 (1.8%)
+   Texas Instruments                 17 (1.7%)
+   Toradex                           15 (1.5%)
+   Guntermann & Drunck               13 (1.3%)
+   Socionext Inc.                    12 (1.2%)
+   NVidia                            11 (1.1%)
+   O.S. Systems                      10 (1.0%)
+   ARM                               9 (0.9%)
+   Pepperl+Fuchs                     9 (0.9%)
+   MIPS                              6 (0.6%)
+   CompuLab                          5 (0.5%)
+   Debian.org                        4 (0.4%)
+   Samsung                           4 (0.4%)
+   BayLibre SAS                      3 (0.3%)
+   SUSE                              3 (0.3%)
+   Bosch                             2 (0.2%)
+   Boundary Devices                  1 (0.1%)
+   linutronix                        1 (0.1%)
+   Oracle                            1 (0.1%)
+   Rockchip                          1 (0.1%)
+   ================================  =====
+
+
+.. table:: Top lines changed by employer
+   :widths: auto
+
+   ================================  =====
+   Name                              Count
+   ================================  =====
+   (Unknown)                         19740 (27.4%)
+   Guntermann & Drunck               9524 (13.2%)
+   Konsulko Group                    8252 (11.4%)
+   Google, Inc.                      5942 (8.2%)
+   ARM                               3869 (5.4%)
+   NXP                               3586 (5.0%)
+   Amarula Solutions                 3468 (4.8%)
+   ST Microelectronics               3367 (4.7%)
+   Xilinx                            2635 (3.7%)
+   Intel                             2262 (3.1%)
+   DENX Software Engineering         1891 (2.6%)
+   AMD                               1880 (2.6%)
+   Toradex                           1772 (2.5%)
+   Linaro                            1330 (1.8%)
+   Texas Instruments                 671 (0.9%)
+   National Instruments              428 (0.6%)
+   BayLibre SAS                      361 (0.5%)
+   Bootlin                           283 (0.4%)
+   NVidia                            256 (0.4%)
+   Socionext Inc.                    217 (0.3%)
+   O.S. Systems                      126 (0.2%)
+   Pepperl+Fuchs                     118 (0.2%)
+   CompuLab                          55 (0.1%)
+   MIPS                              30 (0.0%)
+   Samsung                           27 (0.0%)
+   Debian.org                        24 (0.0%)
+   Rockchip                          18 (0.0%)
+   SUSE                              11 (0.0%)
+   Bosch                             10 (0.0%)
+   linutronix                        9 (0.0%)
+   Boundary Devices                  2 (0.0%)
+   Oracle                            1 (0.0%)
+   ================================  =====
+
+
+.. table:: Employers with the most signoffs (total 188)
+   :widths: auto
+
+   ================================  =====
+   Name                              Count
+   ================================  =====
+   SUSE                              51 (27.1%)
+   Xilinx                            28 (14.9%)
+   DENX Software Engineering         19 (10.1%)
+   (Unknown)                         16 (8.5%)
+   Samsung                           13 (6.9%)
+   ST Microelectronics               10 (5.3%)
+   NVidia                            10 (5.3%)
+   Intel                             9 (4.8%)
+   O.S. Systems                      9 (4.8%)
+   Konsulko Group                    7 (3.7%)
+   NXP                               3 (1.6%)
+   Amarula Solutions                 3 (1.6%)
+   Google, Inc.                      2 (1.1%)
+   Linaro                            1 (0.5%)
+   Texas Instruments                 1 (0.5%)
+   BayLibre SAS                      1 (0.5%)
+   Bootlin                           1 (0.5%)
+   Socionext Inc.                    1 (0.5%)
+   CompuLab                          1 (0.5%)
+   linutronix                        1 (0.5%)
+   Atomide                           1 (0.5%)
+   ================================  =====
+
+
+.. table:: Employers with the most hackers (total 139)
+   :widths: auto
+
+   ================================  =====
+   Name                              Count
+   ================================  =====
+   (Unknown)                         66 (47.5%)
+   NXP                               15 (10.8%)
+   ST Microelectronics               5 (3.6%)
+   Texas Instruments                 5 (3.6%)
+   DENX Software Engineering         4 (2.9%)
+   Intel                             4 (2.9%)
+   Linaro                            4 (2.9%)
+   NVidia                            3 (2.2%)
+   Amarula Solutions                 3 (2.2%)
+   Bootlin                           3 (2.2%)
+   Xilinx                            2 (1.4%)
+   Samsung                           2 (1.4%)
+   O.S. Systems                      2 (1.4%)
+   CompuLab                          2 (1.4%)
+   Bosch                             2 (1.4%)
+   SUSE                              1 (0.7%)
+   Konsulko Group                    1 (0.7%)
+   Google, Inc.                      1 (0.7%)
+   BayLibre SAS                      1 (0.7%)
+   Socionext Inc.                    1 (0.7%)
+   linutronix                        1 (0.7%)
+   Guntermann & Drunck               1 (0.7%)
+   ARM                               1 (0.7%)
+   AMD                               1 (0.7%)
+   Toradex                           1 (0.7%)
+   National Instruments              1 (0.7%)
+   Pepperl+Fuchs                     1 (0.7%)
+   MIPS                              1 (0.7%)
+   Debian.org                        1 (0.7%)
+   Rockchip                          1 (0.7%)
+   Boundary Devices                  1 (0.7%)
+   Oracle                            1 (0.7%)
+   ================================  =====
