:orphan:

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

* Processed 1396 changesets from 152 developers

* 24 employers found

* A total of 91252 lines added, 42422 removed (delta 48830)

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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           266 (19.1%)
   Heinrich Schuchardt                   103 (7.4%)
   Pali Rohár                            57 (4.1%)
   Tom Rini                              48 (3.4%)
   Michal Simek                          45 (3.2%)
   Marek Vasut                           39 (2.8%)
   Michal Suchanek                       35 (2.5%)
   Weijie Gao                            32 (2.3%)
   Stefan Roese                          28 (2.0%)
   Marcel Ziswiler                       28 (2.0%)
   Masahisa Kojima                       27 (1.9%)
   William Zhang                         27 (1.9%)
   Frieder Schrempf                      25 (1.8%)
   Andre Przywara                        24 (1.7%)
   Ashok Reddy Soma                      23 (1.6%)
   Quentin Schulz                        21 (1.5%)
   Patrick Delaunay                      20 (1.4%)
   Viacheslav Mitrofanov                 20 (1.4%)
   Sughosh Ganu                          20 (1.4%)
   Tim Harvey                            18 (1.3%)
   Rasmus Villemoes                      18 (1.3%)
   Patrice Chotard                       17 (1.2%)
   Adam Ford                             16 (1.1%)
   Sumit Garg                            15 (1.1%)
   Fabio Estevam                         14 (1.0%)
   Andrew Davis                          14 (1.0%)
   Chin-Ting Kuo                         14 (1.0%)
   Venkatesh Yadav Abbarapu              13 (0.9%)
   Paul Barker                           13 (0.9%)
   Roger Quadros                         12 (0.9%)
   Michael Trimarchi                     11 (0.8%)
   Ovidiu Panait                         11 (0.8%)
   Alexander Dahl                        11 (0.8%)
   Sean Anderson                         10 (0.7%)
   Ilias Apalodimas                      9 (0.6%)
   Jim Liu                               9 (0.6%)
   Johan Jonker                          9 (0.6%)
   Bin Meng                              8 (0.6%)
   Conor Dooley                          8 (0.6%)
   Oliver Graute                         8 (0.6%)
   Takahiro Kuwano                       8 (0.6%)
   Dario Binacchi                        7 (0.5%)
   Chris Packham                         7 (0.5%)
   Etienne Carriere                      6 (0.4%)
   John Keeping                          6 (0.4%)
   Martyn Welch                          5 (0.4%)
   Robert Marko                          5 (0.4%)
   Sergiu Moga                           5 (0.4%)
   Bernhard Messerklinger                5 (0.4%)
   Stefan Herbrechtsmeier                5 (0.4%)
   Manoj Sai                             4 (0.3%)
   Daniel Schwierzeck                    4 (0.3%)
   Yann Gautier                          4 (0.3%)
   Ying-Chun Liu (PaulLiu)               4 (0.3%)
   Padmarao Begari                       4 (0.3%)
   Sergei Antonov                        4 (0.3%)
   Cédric Le Goater                      4 (0.3%)
   Alice Guo                             4 (0.3%)
   Jay Buddhabhatti                      4 (0.3%)
   Jagan Teki                            3 (0.2%)
   Philippe Schenker                     3 (0.2%)
   Bryan Brattlof                        3 (0.2%)
   FUKAUMI Naoki                         3 (0.2%)
   Samuel Holland                        3 (0.2%)
   Alistair Delva                        3 (0.2%)
   Rick Chen                             3 (0.2%)
   Kautuk Consul                         3 (0.2%)
   Gabriel Fernandez                     3 (0.2%)
   T Karthik Reddy                       3 (0.2%)
   Mihai Sain                            3 (0.2%)
   Dylan Hung                            3 (0.2%)
   Yu Chien Peter Lin                    3 (0.2%)
   Andrejs Cainikovs                     3 (0.2%)
   Ye Li                                 3 (0.2%)
   Mattijs Korpershoek                   3 (0.2%)
   Samuel Mendoza-Jonas                  3 (0.2%)
   Philip Oberfichtner                   3 (0.2%)
   Samuel Obuch                          3 (0.2%)
   Durai Manickam KR                     3 (0.2%)
   Dai Okamura                           2 (0.1%)
   Michael Walle                         2 (0.1%)
   Vincent Stehlé                        2 (0.1%)
   Maxim Cournoyer                       2 (0.1%)
   Olivier Moysan                        2 (0.1%)
   Andy Chiu                             2 (0.1%)
   Joel Stanley                          2 (0.1%)
   Baruch Siach                          2 (0.1%)
   Edoardo Tomelleri                     2 (0.1%)
   Stefano Babic                         2 (0.1%)
   Julien Masson                         2 (0.1%)
   Francesco Dolcini                     2 (0.1%)
   Kunihiko Hayashi                      2 (0.1%)
   Holger Brunck                         2 (0.1%)
   Soeren Moch                           2 (0.1%)
   Icenowy Zheng                         2 (0.1%)
   Dave Gerlach                          2 (0.1%)
   Roger Knecht                          2 (0.1%)
   Steven Lawrance                       2 (0.1%)
   Ravi Gunasekaran                      2 (0.1%)
   Jassi Brar                            2 (0.1%)
   Jayesh Choudhary                      2 (0.1%)
   Kever Yang                            1 (0.1%)
   Peter Robinson                        1 (0.1%)
   Mark Kettenis                         1 (0.1%)
   Derek LaHousse                        1 (0.1%)
   Szymon Heidrich                       1 (0.1%)
   Hugo SIMELIERE                        1 (0.1%)
   Zong Li                               1 (0.1%)
   Algapally Santosh Sagar               1 (0.1%)
   Jan Kiszka                            1 (0.1%)
   Dhruva Gole                           1 (0.1%)
   Luca Ceresoli                         1 (0.1%)
   Lukas Funke                           1 (0.1%)
   Matthias Brugger                      1 (0.1%)
   Yaron Micher                          1 (0.1%)
   Balaji Prakash J                      1 (0.1%)
   Christian Hewitt                      1 (0.1%)
   Christian Kohn                        1 (0.1%)
   Mikhail Ilin                          1 (0.1%)
   Alexandre Mergnat                     1 (0.1%)
   Matthias Schiffer                     1 (0.1%)
   Loic Poulain                          1 (0.1%)
   Hamish Martin                         1 (0.1%)
   AKASHI Takahiro                       1 (0.1%)
   Janne Grunau                          1 (0.1%)
   Nylon Chen                            1 (0.1%)
   Christian Gmeiner                     1 (0.1%)
   Takumi Sueda                          1 (0.1%)
   Neha Malcom Francis                   1 (0.1%)
   Benjamin Bara                         1 (0.1%)
   Ariel D'Alessandro                    1 (0.1%)
   Andy Yan                              1 (0.1%)
   Xavier Drudis Ferran                  1 (0.1%)
   Matt Ranostay                         1 (0.1%)
   Wei Lu                                1 (0.1%)
   Ignacio Zamora                        1 (0.1%)
   Oleksandr Suvorov                     1 (0.1%)
   Nick Desaulniers                      1 (0.1%)
   Alexandre Ghiti                       1 (0.1%)
   Nikita Shubin                         1 (0.1%)
   Christophe Kerello                    1 (0.1%)
   Xiang W                               1 (0.1%)
   Alexander Sowarka                     1 (0.1%)
   Nathan Barrett-Morrison               1 (0.1%)
   Aaron Williams                        1 (0.1%)
   Piyush Mehta                          1 (0.1%)
   Harini Katakam                        1 (0.1%)
   Amit Kumar Mahapatra                  1 (0.1%)
   Janne Ylalehto                        1 (0.1%)
   Samuel Dionne-Riel                    1 (0.1%)
   Matwey V. Kornilov                    1 (0.1%)
   Davidson K                            1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           19199 (17.5%)
   Weijie Gao                            9580 (8.7%)
   Marcel Ziswiler                       6676 (6.1%)
   Tom Rini                              6622 (6.0%)
   William Zhang                         4635 (4.2%)
   Masahisa Kojima                       4438 (4.0%)
   Martyn Welch                          3311 (3.0%)
   Sughosh Ganu                          3208 (2.9%)
   Frieder Schrempf                      3180 (2.9%)
   Manoj Sai                             2829 (2.6%)
   Holger Brunck                         2622 (2.4%)
   Jim Liu                               2607 (2.4%)
   Roger Quadros                         2152 (2.0%)
   Gabriel Fernandez                     2100 (1.9%)
   Viacheslav Mitrofanov                 1922 (1.8%)
   FUKAUMI Naoki                         1899 (1.7%)
   Chin-Ting Kuo                         1877 (1.7%)
   Heinrich Schuchardt                   1856 (1.7%)
   Ying-Chun Liu (PaulLiu)               1850 (1.7%)
   Andre Przywara                        1550 (1.4%)
   Michal Simek                          1425 (1.3%)
   Bernhard Messerklinger                1404 (1.3%)
   Adam Ford                             1378 (1.3%)
   Chris Packham                         1299 (1.2%)
   Tim Harvey                            1229 (1.1%)
   Stefan Roese                          1195 (1.1%)
   Sumit Garg                            1110 (1.0%)
   Andy Yan                              1025 (0.9%)
   Andrew Davis                          848 (0.8%)
   Johan Jonker                          839 (0.8%)
   Ashok Reddy Soma                      813 (0.7%)
   Pali Rohár                            788 (0.7%)
   Marek Vasut                           756 (0.7%)
   Sergiu Moga                           612 (0.6%)
   Padmarao Begari                       594 (0.5%)
   Patrice Chotard                       569 (0.5%)
   Patrick Delaunay                      533 (0.5%)
   Michal Suchanek                       476 (0.4%)
   Stefan Herbrechtsmeier                419 (0.4%)
   Roger Knecht                          412 (0.4%)
   Jayesh Choudhary                      398 (0.4%)
   Rasmus Villemoes                      385 (0.4%)
   Michael Trimarchi                     382 (0.3%)
   Alice Guo                             348 (0.3%)
   Oliver Graute                         313 (0.3%)
   Joel Stanley                          308 (0.3%)
   Kautuk Consul                         305 (0.3%)
   Bryan Brattlof                        292 (0.3%)
   Ravi Gunasekaran                      280 (0.3%)
   Conor Dooley                          278 (0.3%)
   Quentin Schulz                        275 (0.3%)
   Ilias Apalodimas                      272 (0.2%)
   Alexander Dahl                        268 (0.2%)
   Dave Gerlach                          249 (0.2%)
   Etienne Carriere                      242 (0.2%)
   Robert Marko                          239 (0.2%)
   Aaron Williams                        200 (0.2%)
   Paul Barker                           160 (0.1%)
   Dylan Hung                            157 (0.1%)
   Samuel Dionne-Riel                    143 (0.1%)
   Ovidiu Panait                         140 (0.1%)
   Sergei Antonov                        139 (0.1%)
   Edoardo Tomelleri                     120 (0.1%)
   Sean Anderson                         114 (0.1%)
   Fabio Estevam                         113 (0.1%)
   Venkatesh Yadav Abbarapu              111 (0.1%)
   Daniel Schwierzeck                    102 (0.1%)
   Samuel Holland                        92 (0.1%)
   Dario Binacchi                        89 (0.1%)
   Olivier Moysan                        79 (0.1%)
   Samuel Mendoza-Jonas                  78 (0.1%)
   Takahiro Kuwano                       74 (0.1%)
   Kunihiko Hayashi                      72 (0.1%)
   Matt Ranostay                         72 (0.1%)
   Andy Chiu                             68 (0.1%)
   Steven Lawrance                       51 (0.0%)
   Wei Lu                                50 (0.0%)
   Ye Li                                 48 (0.0%)
   Yu Chien Peter Lin                    44 (0.0%)
   Yaron Micher                          39 (0.0%)
   AKASHI Takahiro                       38 (0.0%)
   Julien Masson                         37 (0.0%)
   Philip Oberfichtner                   35 (0.0%)
   Jassi Brar                            35 (0.0%)
   Maxim Cournoyer                       34 (0.0%)
   Neha Malcom Francis                   34 (0.0%)
   Balaji Prakash J                      33 (0.0%)
   Bin Meng                              32 (0.0%)
   Matwey V. Kornilov                    32 (0.0%)
   Lukas Funke                           29 (0.0%)
   Andrejs Cainikovs                     28 (0.0%)
   Rick Chen                             26 (0.0%)
   Durai Manickam KR                     25 (0.0%)
   Nathan Barrett-Morrison               25 (0.0%)
   Baruch Siach                          22 (0.0%)
   Yann Gautier                          20 (0.0%)
   Christian Gmeiner                     20 (0.0%)
   Mattijs Korpershoek                   18 (0.0%)
   Derek LaHousse                        17 (0.0%)
   John Keeping                          16 (0.0%)
   Vincent Stehlé                        15 (0.0%)
   Nikita Shubin                         15 (0.0%)
   Samuel Obuch                          12 (0.0%)
   Francesco Dolcini                     12 (0.0%)
   Alexandre Mergnat                     10 (0.0%)
   Alexandre Ghiti                       10 (0.0%)
   Piyush Mehta                          10 (0.0%)
   Cédric Le Goater                      9 (0.0%)
   Jagan Teki                            9 (0.0%)
   Jan Kiszka                            9 (0.0%)
   Philippe Schenker                     8 (0.0%)
   Christian Hewitt                      7 (0.0%)
   Amit Kumar Mahapatra                  7 (0.0%)
   T Karthik Reddy                       6 (0.0%)
   Stefano Babic                         6 (0.0%)
   Soeren Moch                           6 (0.0%)
   Szymon Heidrich                       6 (0.0%)
   Matthias Schiffer                     6 (0.0%)
   Harini Katakam                        6 (0.0%)
   Jay Buddhabhatti                      5 (0.0%)
   Takumi Sueda                          5 (0.0%)
   Alistair Delva                        4 (0.0%)
   Mihai Sain                            4 (0.0%)
   Dai Okamura                           4 (0.0%)
   Hugo SIMELIERE                        4 (0.0%)
   Ignacio Zamora                        4 (0.0%)
   Alexander Sowarka                     4 (0.0%)
   Davidson K                            4 (0.0%)
   Janne Ylalehto                        3 (0.0%)
   Michael Walle                         2 (0.0%)
   Icenowy Zheng                         2 (0.0%)
   Matthias Brugger                      2 (0.0%)
   Benjamin Bara                         2 (0.0%)
   Christophe Kerello                    2 (0.0%)
   Kever Yang                            1 (0.0%)
   Peter Robinson                        1 (0.0%)
   Mark Kettenis                         1 (0.0%)
   Zong Li                               1 (0.0%)
   Algapally Santosh Sagar               1 (0.0%)
   Dhruva Gole                           1 (0.0%)
   Luca Ceresoli                         1 (0.0%)
   Christian Kohn                        1 (0.0%)
   Mikhail Ilin                          1 (0.0%)
   Loic Poulain                          1 (0.0%)
   Hamish Martin                         1 (0.0%)
   Janne Grunau                          1 (0.0%)
   Nylon Chen                            1 (0.0%)
   Ariel D'Alessandro                    1 (0.0%)
   Xavier Drudis Ferran                  1 (0.0%)
   Oleksandr Suvorov                     1 (0.0%)
   Nick Desaulniers                      1 (0.0%)
   Xiang W                               1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Holger Brunck                         2621 (6.2%)
   Bernhard Messerklinger                1180 (2.8%)
   Tom Rini                              1163 (2.7%)
   Adam Ford                             728 (1.7%)
   Andre Przywara                        353 (0.8%)
   Patrice Chotard                       75 (0.2%)
   Samuel Holland                        72 (0.2%)
   Michal Suchanek                       49 (0.1%)
   Daniel Schwierzeck                    32 (0.1%)
   AKASHI Takahiro                       26 (0.1%)
   Venkatesh Yadav Abbarapu              19 (0.0%)
   Philippe Schenker                     4 (0.0%)
   Stefano Babic                         4 (0.0%)
   Soeren Moch                           3 (0.0%)
   Ignacio Zamora                        2 (0.0%)
   Icenowy Zheng                         1 (0.0%)
   Mark Kettenis                         1 (0.0%)
   Oleksandr Suvorov                     1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Michal Simek                          75 (44.4%)
   Dario Binacchi                        22 (13.0%)
   Peng Fan                              6 (3.6%)
   Andre Przywara                        4 (2.4%)
   Ashok Reddy Soma                      4 (2.4%)
   Marek Vasut                           4 (2.4%)
   Heinrich Schuchardt                   4 (2.4%)
   Duncan Hare                           3 (1.8%)
   Jagan Teki                            3 (1.8%)
   Ilias Apalodimas                      3 (1.8%)
   Joel Stanley                          3 (1.8%)
   Simon Glass                           3 (1.8%)
   Tom Rini                              2 (1.2%)
   Neil Armstrong                        2 (1.2%)
   Alexandre Torgue                      2 (1.2%)
   Anand Gadiyar                         2 (1.2%)
   Fabio Estevam                         2 (1.2%)
   Sean Anderson                         2 (1.2%)
   Michael Trimarchi                     2 (1.2%)
   Stefan Roese                          2 (1.2%)
   Alistair Delva                        1 (0.6%)
   Da Xue                                1 (0.6%)
   dsx724                                1 (0.6%)
   Mikhail Kshevetskiy                   1 (0.6%)
   Anup Patel                            1 (0.6%)
   Jerome Brunet                         1 (0.6%)
   Julien STEPHAN                        1 (0.6%)
   Naga Sureshkumar Relli                1 (0.6%)
   Stanley Chu                           1 (0.6%)
   Anatolij Gustschin                    1 (0.6%)
   SkyLake.Huang                         1 (0.6%)
   Philip Oberfichtner                   1 (0.6%)
   Yann Gautier                          1 (0.6%)
   Baruch Siach                          1 (0.6%)
   Conor Dooley                          1 (0.6%)
   Patrick Delaunay                      1 (0.6%)
   Alice Guo                             1 (0.6%)
   Jayesh Choudhary                      1 (0.6%)
   Pali Rohár                            1 (0.6%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           203 (26.4%)
   Ilias Apalodimas                      50 (6.5%)
   Ramon Fried                           42 (5.5%)
   Fabio Estevam                         41 (5.3%)
   Kever Yang                            38 (4.9%)
   Patrice Chotard                       37 (4.8%)
   Heinrich Schuchardt                   34 (4.4%)
   Patrick Delaunay                      33 (4.3%)
   Stefan Roese                          28 (3.6%)
   Peng Fan                              19 (2.5%)
   Jaehoon Chung                         19 (2.5%)
   Rick Chen                             18 (2.3%)
   Michael Trimarchi                     16 (2.1%)
   Philippe Reynes                       15 (2.0%)
   Dario Binacchi                        14 (1.8%)
   Sean Anderson                         14 (1.8%)
   Jagan Teki                            13 (1.7%)
   Leo Yu-Chi Liang                      13 (1.7%)
   Marek Vasut                           10 (1.3%)
   Padmarao Begari                       10 (1.3%)
   Heiko Schocher                        8 (1.0%)
   Tom Rini                              7 (0.9%)
   Jernej Skrabec                        7 (0.9%)
   Cédric Le Goater                      7 (0.9%)
   Conor Dooley                          5 (0.7%)
   Bin Meng                              5 (0.7%)
   Florian Fainelli                      5 (0.7%)
   Wolfgang Wallner                      5 (0.7%)
   Andre Przywara                        4 (0.5%)
   Samuel Holland                        4 (0.5%)
   Marek Behún                           4 (0.5%)
   Joel Stanley                          3 (0.4%)
   Peter Robinson                        3 (0.4%)
   Dhruva Gole                           3 (0.4%)
   Etienne Carriere                      3 (0.4%)
   Michal Simek                          2 (0.3%)
   Neil Armstrong                        2 (0.3%)
   Jens Wiklander                        2 (0.3%)
   Greentime Hu                          2 (0.3%)
   Quentin Schulz                        2 (0.3%)
   Yann Gautier                          1 (0.1%)
   Pali Rohár                            1 (0.1%)
   Daniel Schwierzeck                    1 (0.1%)
   Luca Ceresoli                         1 (0.1%)
   Peter Hoyes                           1 (0.1%)
   Sultan Qasim Khan                     1 (0.1%)
   Linus Walleij                         1 (0.1%)
   François-Frédéric Ozog                1 (0.1%)
   Giulio Benetti                        1 (0.1%)
   Gaurav Jain                           1 (0.1%)
   Heiko Thiery                          1 (0.1%)
   Wadim Egorov                          1 (0.1%)
   Claudiu Beznea                        1 (0.1%)
   Eugen Hristev                         1 (0.1%)
   Jason Liu                             1 (0.1%)
   Jan Kiszka                            1 (0.1%)
   Ye Li                                 1 (0.1%)
   Tim Harvey                            1 (0.1%)
   Viacheslav Mitrofanov                 1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Daniel Golle                          21 (23.3%)
   Tony Dinh                             9 (10.0%)
   Tom Rini                              8 (8.9%)
   Tim Harvey                            8 (8.9%)
   Waldemar Brodkorb                     7 (7.8%)
   Stefan Roese                          5 (5.6%)
   Padmarao Begari                       3 (3.3%)
   Samuel Holland                        3 (3.3%)
   Marek Vasut                           2 (2.2%)
   Peter Robinson                        2 (2.2%)
   Quentin Schulz                        2 (2.2%)
   Pali Rohár                            2 (2.2%)
   Ivan Shishkin                         2 (2.2%)
   Fabio Estevam                         1 (1.1%)
   Patrice Chotard                       1 (1.1%)
   Heinrich Schuchardt                   1 (1.1%)
   Patrick Delaunay                      1 (1.1%)
   Heiko Schocher                        1 (1.1%)
   Peter Hoyes                           1 (1.1%)
   Giulio Benetti                        1 (1.1%)
   Mikhail Kshevetskiy                   1 (1.1%)
   Michal Suchanek                       1 (1.1%)
   Leo Yan                               1 (1.1%)
   Jerome Forissier                      1 (1.1%)
   Yangjie Zhang                         1 (1.1%)
   Heiko Stuebner                        1 (1.1%)
   Christian Stewart                     1 (1.1%)
   Felix Yan                             1 (1.1%)
   Janne Grunau                          1 (1.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Weijie Gao                            21 (23.3%)
   Stefan Roese                          14 (15.6%)
   Rasmus Villemoes                      10 (11.1%)
   Patrice Chotard                       7 (7.8%)
   Andre Przywara                        5 (5.6%)
   Marek Vasut                           4 (4.4%)
   Marcel Ziswiler                       4 (4.4%)
   Alexandre Ghiti                       3 (3.3%)
   Tom Rini                              2 (2.2%)
   Pali Rohár                            2 (2.2%)
   Conor Dooley                          2 (2.2%)
   John Keeping                          2 (2.2%)
   Quentin Schulz                        1 (1.1%)
   Heinrich Schuchardt                   1 (1.1%)
   Patrick Delaunay                      1 (1.1%)
   Michal Suchanek                       1 (1.1%)
   Simon Glass                           1 (1.1%)
   Ilias Apalodimas                      1 (1.1%)
   Dario Binacchi                        1 (1.1%)
   Bin Meng                              1 (1.1%)
   Baruch Siach                          1 (1.1%)
   Hugo SIMELIERE                        1 (1.1%)
   Xavier Drudis Ferran                  1 (1.1%)
   Xiang W                               1 (1.1%)
   Gabriel Fernandez                     1 (1.1%)
   William Zhang                         1 (1.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Pali Rohár                            2 (10.0%)
   Marek Vasut                           1 (5.0%)
   Marcel Ziswiler                       1 (5.0%)
   Tom Rini                              1 (5.0%)
   Quentin Schulz                        1 (5.0%)
   Bin Meng                              1 (5.0%)
   Tim Harvey                            1 (5.0%)
   Peter Robinson                        1 (5.0%)
   Mikhail Kshevetskiy                   1 (5.0%)
   Yangjie Zhang                         1 (5.0%)
   Neil Armstrong                        1 (5.0%)
   François-Frédéric Ozog                1 (5.0%)
   Heiko Thiery                          1 (5.0%)
   Venkatesh Yadav Abbarapu              1 (5.0%)
   Mihai Sain                            1 (5.0%)
   Marcin Gołaś                          1 (5.0%)
   Andreas Buerkler                      1 (5.0%)
   Shravan Chippa                        1 (5.0%)
   Manoj Sai                             1 (5.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Tom Rini                              5 (25.0%)
   Conor Dooley                          2 (10.0%)
   Simon Glass                           2 (10.0%)
   Fabio Estevam                         2 (10.0%)
   Bin Meng                              1 (5.0%)
   Heinrich Schuchardt                   1 (5.0%)
   Patrick Delaunay                      1 (5.0%)
   Michael Trimarchi                     1 (5.0%)
   Jagan Teki                            1 (5.0%)
   Michal Simek                          1 (5.0%)
   Stefano Babic                         1 (5.0%)
   Sergiu Moga                           1 (5.0%)
   Frieder Schrempf                      1 (5.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             556 (39.8%)
   Google, Inc.                          270 (19.3%)
   AMD                                   90 (6.4%)
   DENX Software Engineering             86 (6.2%)
   Linaro                                85 (6.1%)
   Konsulko Group                        48 (3.4%)
   ST Microelectronics                   47 (3.4%)
   SUSE                                  36 (2.6%)
   Toradex                               36 (2.6%)
   ARM                                   27 (1.9%)
   Broadcom                              27 (1.9%)
   Texas Instruments                     26 (1.9%)
   Amarula Solutions                     24 (1.7%)
   NXP                                   8 (0.6%)
   BayLibre SAS                          6 (0.4%)
   Collabora Ltd.                        6 (0.4%)
   Weidmüller Interface GmbH & Co. KG    6 (0.4%)
   Socionext Inc.                        4 (0.3%)
   Xilinx                                3 (0.2%)
   Edgeble AI Technologies Pvt. Ltd.     1 (0.1%)
   Marvell                               1 (0.1%)
   Rockchip                              1 (0.1%)
   Siemens                               1 (0.1%)
   Canonical                             1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             41551 (37.8%)
   Google, Inc.                          19204 (17.5%)
   Linaro                                11194 (10.2%)
   Toradex                               6724 (6.1%)
   Konsulko Group                        6622 (6.0%)
   Broadcom                              4635 (4.2%)
   Collabora Ltd.                        3312 (3.0%)
   Amarula Solutions                     3308 (3.0%)
   ST Microelectronics                   3303 (3.0%)
   AMD                                   2379 (2.2%)
   Texas Instruments                     2174 (2.0%)
   DENX Software Engineering             2105 (1.9%)
   ARM                                   1569 (1.4%)
   SUSE                                  478 (0.4%)
   Weidmüller Interface GmbH & Co. KG    448 (0.4%)
   NXP                                   446 (0.4%)
   Marvell                               200 (0.2%)
   Socionext Inc.                        76 (0.1%)
   BayLibre SAS                          65 (0.1%)
   Canonical                             10 (0.0%)
   Siemens                               9 (0.0%)
   Xilinx                                6 (0.0%)
   Edgeble AI Technologies Pvt. Ltd.     1 (0.0%)
   Rockchip                              1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   AMD                                   79 (46.7%)
   Amarula Solutions                     27 (16.0%)
   (Unknown)                             18 (10.7%)
   DENX Software Engineering             10 (5.9%)
   NXP                                   7 (4.1%)
   Linaro                                5 (3.0%)
   Google, Inc.                          4 (2.4%)
   ST Microelectronics                   4 (2.4%)
   ARM                                   4 (2.4%)
   Canonical                             4 (2.4%)
   Texas Instruments                     3 (1.8%)
   Konsulko Group                        2 (1.2%)
   BayLibre SAS                          2 (1.2%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             80 (52.3%)
   AMD                                   9 (5.9%)
   Linaro                                9 (5.9%)
   Texas Instruments                     8 (5.2%)
   ST Microelectronics                   6 (3.9%)
   DENX Software Engineering             5 (3.3%)
   Amarula Solutions                     4 (2.6%)
   Toradex                               4 (2.6%)
   NXP                                   3 (2.0%)
   Google, Inc.                          3 (2.0%)
   ARM                                   3 (2.0%)
   BayLibre SAS                          3 (2.0%)
   Collabora Ltd.                        2 (1.3%)
   SUSE                                  2 (1.3%)
   Weidmüller Interface GmbH & Co. KG    2 (1.3%)
   Socionext Inc.                        2 (1.3%)
   Canonical                             1 (0.7%)
   Konsulko Group                        1 (0.7%)
   Broadcom                              1 (0.7%)
   Marvell                               1 (0.7%)
   Siemens                               1 (0.7%)
   Xilinx                                1 (0.7%)
   Edgeble AI Technologies Pvt. Ltd.     1 (0.7%)
   Rockchip                              1 (0.7%)
   ====================================  =====

