:orphan:

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

* Processed 1530 changesets from 208 developers

* 31 employers found

* A total of 128954 lines added, 38436 removed (delta 90518)

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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           273 (17.8%)
   Heinrich Schuchardt                   71 (4.6%)
   Marek Vasut                           62 (4.1%)
   Tom Rini                              57 (3.7%)
   Jonas Karlman                         54 (3.5%)
   Nishanth Menon                        35 (2.3%)
   Bin Meng                              32 (2.1%)
   Michal Simek                          31 (2.0%)
   Camelia Groza                         30 (2.0%)
   Weijie Gao                            29 (1.9%)
   Patrick Delaunay                      25 (1.6%)
   Lukasz Majewski                       23 (1.5%)
   Neha Malcom Francis                   22 (1.4%)
   Abdellatif El Khlifi                  21 (1.4%)
   Fabio Estevam                         19 (1.2%)
   Jim Liu                               18 (1.2%)
   Tim Harvey                            17 (1.1%)
   Peng Fan                              17 (1.1%)
   Mathew McBride                        17 (1.1%)
   Manorit Chawdhry                      16 (1.0%)
   Masahisa Kojima                       16 (1.0%)
   Andre Przywara                        15 (1.0%)
   Ioana Ciornei                         14 (0.9%)
   Ilias Apalodimas                      13 (0.8%)
   Jagan Teki                            13 (0.8%)
   Nikhil M Jain                         13 (0.8%)
   Lukas Funke                           13 (0.8%)
   Ashok Reddy Soma                      13 (0.8%)
   Eugen Hristev                         12 (0.8%)
   Shengyu Qu                            12 (0.8%)
   Algapally Santosh Sagar               12 (0.8%)
   Adam Ford                             11 (0.7%)
   Ondrej Jirman                         11 (0.7%)
   Stefan Herbrechtsmeier                11 (0.7%)
   Yanhong Wang                          11 (0.7%)
   Jassi Brar                            11 (0.7%)
   Andrew Davis                          10 (0.7%)
   Joshua Watt                           10 (0.7%)
   Alper Nebi Yasak                      10 (0.7%)
   Troy Kisky                            10 (0.7%)
   Minda Chen                            9 (0.6%)
   Chris Packham                         9 (0.6%)
   Oleksandr Suvorov                     8 (0.5%)
   Marcel Ziswiler                       8 (0.5%)
   Venkatesh Yadav Abbarapu              8 (0.5%)
   Jens Wiklander                        8 (0.5%)
   Ye Li                                 8 (0.5%)
   Massimo Pegorer                       7 (0.5%)
   Patrice Chotard                       7 (0.5%)
   Emanuele Ghidoli                      7 (0.5%)
   Chris Morgan                          7 (0.5%)
   Valentine Barshak                     7 (0.5%)
   Jan Kiszka                            6 (0.4%)
   Paul Barker                           6 (0.4%)
   Hai Pham                              6 (0.4%)
   Andrejs Cainikovs                     6 (0.4%)
   Angelo Dureghello                     6 (0.4%)
   William Zhang                         6 (0.4%)
   Tobias Deiminger                      6 (0.4%)
   Svyatoslav Ryhel                      6 (0.4%)
   Rui Miguel Silva                      6 (0.4%)
   Bhavya Kapoor                         6 (0.4%)
   Chanho Park                           5 (0.3%)
   Peter Robinson                        5 (0.3%)
   Pegorer Massimo                       5 (0.3%)
   Vignesh Raghavendra                   5 (0.3%)
   Xingyu Wu                             5 (0.3%)
   Hugo Villeneuve                       5 (0.3%)
   Rasmus Villemoes                      5 (0.3%)
   Igor Prusov                           5 (0.3%)
   Ravi Gunasekaran                      4 (0.3%)
   Sam Edwards                           4 (0.3%)
   AKASHI Takahiro                       4 (0.3%)
   Mayuresh Chitale                      4 (0.3%)
   Alex Bee                              4 (0.3%)
   Tianling Shen                         4 (0.3%)
   Christian Taedcke                     4 (0.3%)
   Kamlesh Gurudasani                    4 (0.3%)
   Yixun Lan                             4 (0.3%)
   Ben Dooks                             4 (0.3%)
   Eduard Strehlau                       3 (0.2%)
   Maxim Cournoyer                       3 (0.2%)
   Dario Binacchi                        3 (0.2%)
   Quentin Schulz                        3 (0.2%)
   Sergei Antonov                        3 (0.2%)
   Max Krummenacher                      3 (0.2%)
   Dan Carpenter                         3 (0.2%)
   Mason Huo                             3 (0.2%)
   Christopher Obbard                    3 (0.2%)
   Harini Katakam                        3 (0.2%)
   Raymond Mao                           3 (0.2%)
   Christophe Leroy                      3 (0.2%)
   Ying Sun                              3 (0.2%)
   Conor Dooley                          3 (0.2%)
   Alexey Romanov                        3 (0.2%)
   Ferass El Hafidi                      3 (0.2%)
   Udit Kumar                            3 (0.2%)
   Bhupesh Sharma                        2 (0.1%)
   Francois Berder                       2 (0.1%)
   Alexander Dahl                        2 (0.1%)
   Kunihiko Hayashi                      2 (0.1%)
   Torsten Duwe                          2 (0.1%)
   Stefan Roese                          2 (0.1%)
   Yifan Zhao                            2 (0.1%)
   Bryan Brattlof                        2 (0.1%)
   Roger Quadros                         2 (0.1%)
   Sjoerd Simons                         2 (0.1%)
   Ehsan Mohandesi                       2 (0.1%)
   Philippe Reynes                       2 (0.1%)
   Radhey Shyam Pandey                   2 (0.1%)
   Mikhail Kalashnikov                   2 (0.1%)
   Andreas Dannenberg                    2 (0.1%)
   Luca Ellero                           2 (0.1%)
   Teresa Remmet                         2 (0.1%)
   Yannic Moog                           2 (0.1%)
   Bruce Suen                            2 (0.1%)
   Tony Dinh                             2 (0.1%)
   Yu Chien Peter Lin                    2 (0.1%)
   Thierry Reding                        2 (0.1%)
   Florin Chiculita                      2 (0.1%)
   Masami Hiramatsu                      2 (0.1%)
   Leo Yan                               2 (0.1%)
   Mickaël Tansorier                     1 (0.1%)
   Fei Shao                              1 (0.1%)
   Rong Tao                              1 (0.1%)
   Ryosuke Saito                         1 (0.1%)
   Richard Weinberger                    1 (0.1%)
   Jaewon Jung                           1 (0.1%)
   Joao Marcos Costa                     1 (0.1%)
   Bo Gan                                1 (0.1%)
   Seung-Woo Kim                         1 (0.1%)
   Elena Popa                            1 (0.1%)
   Ricardo Salveti                       1 (0.1%)
   Daniel Golle                          1 (0.1%)
   Frank Wunderlich                      1 (0.1%)
   Sumit Garg                            1 (0.1%)
   Thomas Mittelstaedt                   1 (0.1%)
   Jonathan Humphreys                    1 (0.1%)
   Siddharth Vadapalli                   1 (0.1%)
   Puhan Zhou                            1 (0.1%)
   Kever Yang                            1 (0.1%)
   Valentin Caron                        1 (0.1%)
   Dmitry Dunaev                         1 (0.1%)
   Meng Li                               1 (0.1%)
   Jason Wessel                          1 (0.1%)
   FUKAUMI Naoki                         1 (0.1%)
   Damon Ding                            1 (0.1%)
   Anton                                 1 (0.1%)
   Alvaro Fernando García                1 (0.1%)
   Andy Yan                              1 (0.1%)
   Mattijs Korpershoek                   1 (0.1%)
   Shenlin Liang                         1 (0.1%)
   Miquel Raynal                         1 (0.1%)
   Jit Loon Lim                          1 (0.1%)
   Jason Kacines                         1 (0.1%)
   Jaehoon Chung                         1 (0.1%)
   Sean Anderson                         1 (0.1%)
   Maxime Ripard                         1 (0.1%)
   Paul Kocialkowski                     1 (0.1%)
   Jon Lin                               1 (0.1%)
   Johan Jonker                          1 (0.1%)
   Joseph Chen                           1 (0.1%)
   Frank Wang                            1 (0.1%)
   Nate Drude                            1 (0.1%)
   Karsten Wiese                         1 (0.1%)
   Richard Habeeb                        1 (0.1%)
   Zixun LI                              1 (0.1%)
   Samuel Dionne-Riel                    1 (0.1%)
   Maksim Kiselev                        1 (0.1%)
   Piyush Mehta                          1 (0.1%)
   Parth Gajjar                          1 (0.1%)
   Manikanta Guntupalli                  1 (0.1%)
   Varalaxmi Bingi                       1 (0.1%)
   Raju Kumar Pothuraju                  1 (0.1%)
   Sharath Kumar Dasari                  1 (0.1%)
   John Clark                            1 (0.1%)
   John Keeping                          1 (0.1%)
   Alexey Brodkin                        1 (0.1%)
   Julien Delbergue                      1 (0.1%)
   Emmanuel Di Fede                      1 (0.1%)
   Matthias Schiffer                     1 (0.1%)
   Cem Tenruh                            1 (0.1%)
   Utkarsh Gupta                         1 (0.1%)
   Maximus Sun                           1 (0.1%)
   Gaurav Jain                           1 (0.1%)
   Nitin Garg                            1 (0.1%)
   Clement Faure                         1 (0.1%)
   Stefan Eichenberger                   1 (0.1%)
   Pali Rohár                            1 (0.1%)
   Sergio Prado                          1 (0.1%)
   Giulio Benetti                        1 (0.1%)
   Malte Schmidt                         1 (0.1%)
   Hoegeun Kwon                          1 (0.1%)
   Kshitiz Varshney                      1 (0.1%)
   Peter Korsgaard                       1 (0.1%)
   Jonas Schwöbel                        1 (0.1%)
   Tomasz Maciej Nowak                   1 (0.1%)
   Masahiro Yamada                       1 (0.1%)
   Julien Panis                          1 (0.1%)
   Stefano Babic                         1 (0.1%)
   Mario Kicherer                        1 (0.1%)
   Marcus Comstedt                       1 (0.1%)
   Geert Uytterhoeven                    1 (0.1%)
   Cong Dang                             1 (0.1%)
   Yegor Yefremov                        1 (0.1%)
   Baruch Siach                          1 (0.1%)
   Samuel Holland                        1 (0.1%)
   Martin Hundebøll                      1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Neha Malcom Francis                   25668 (17.1%)
   Tom Rini                              15768 (10.5%)
   Nishanth Menon                        13251 (8.8%)
   Simon Glass                           12357 (8.2%)
   Abdellatif El Khlifi                  8383 (5.6%)
   Marcel Ziswiler                       7482 (5.0%)
   Jonas Karlman                         5997 (4.0%)
   Weijie Gao                            5559 (3.7%)
   Svyatoslav Ryhel                      5053 (3.4%)
   Ioana Ciornei                         4033 (2.7%)
   Venkatesh Yadav Abbarapu              2938 (2.0%)
   Patrick Delaunay                      2366 (1.6%)
   Tim Harvey                            1825 (1.2%)
   Tianling Shen                         1806 (1.2%)
   Yanhong Wang                          1725 (1.2%)
   Valentine Barshak                     1545 (1.0%)
   Masahisa Kojima                       1497 (1.0%)
   Heinrich Schuchardt                   1462 (1.0%)
   Jassi Brar                            1358 (0.9%)
   Igor Prusov                           1306 (0.9%)
   Marek Vasut                           1236 (0.8%)
   Jason Kacines                         1190 (0.8%)
   Eugen Hristev                         1140 (0.8%)
   Peng Fan                              969 (0.6%)
   Frank Wang                            958 (0.6%)
   Masami Hiramatsu                      939 (0.6%)
   Lukas Funke                           906 (0.6%)
   Andy Yan                              854 (0.6%)
   William Zhang                         813 (0.5%)
   Adam Ford                             800 (0.5%)
   Yixun Lan                             790 (0.5%)
   Cem Tenruh                            744 (0.5%)
   Ashok Reddy Soma                      680 (0.5%)
   Mason Huo                             658 (0.4%)
   Yifan Zhao                            645 (0.4%)
   Conor Dooley                          536 (0.4%)
   Manorit Chawdhry                      523 (0.3%)
   Joshua Watt                           454 (0.3%)
   Chris Packham                         439 (0.3%)
   Raymond Mao                           432 (0.3%)
   Chris Morgan                          431 (0.3%)
   Christian Taedcke                     428 (0.3%)
   Michal Simek                          422 (0.3%)
   Xingyu Wu                             386 (0.3%)
   Camelia Groza                         380 (0.3%)
   Ondrej Jirman                         377 (0.3%)
   Stefan Roese                          362 (0.2%)
   Ye Li                                 360 (0.2%)
   Ferass El Hafidi                      339 (0.2%)
   Udit Kumar                            338 (0.2%)
   Angelo Dureghello                     335 (0.2%)
   Andrew Davis                          308 (0.2%)
   Andre Przywara                        303 (0.2%)
   Luca Ellero                           300 (0.2%)
   Emanuele Ghidoli                      296 (0.2%)
   Jan Kiszka                            292 (0.2%)
   Jagan Teki                            290 (0.2%)
   Jim Liu                               283 (0.2%)
   Patrice Chotard                       264 (0.2%)
   Hugo Villeneuve                       256 (0.2%)
   Mikhail Kalashnikov                   254 (0.2%)
   Bin Meng                              244 (0.2%)
   Alexey Romanov                        244 (0.2%)
   Ilias Apalodimas                      232 (0.2%)
   Jens Wiklander                        232 (0.2%)
   Mayuresh Chitale                      214 (0.1%)
   Joseph Chen                           198 (0.1%)
   Christopher Obbard                    185 (0.1%)
   Nikhil M Jain                         175 (0.1%)
   Lukasz Majewski                       155 (0.1%)
   Tobias Deiminger                      145 (0.1%)
   Florin Chiculita                      144 (0.1%)
   Yannic Moog                           131 (0.1%)
   Tony Dinh                             128 (0.1%)
   Massimo Pegorer                       124 (0.1%)
   Philippe Reynes                       124 (0.1%)
   Mathew McBride                        123 (0.1%)
   Algapally Santosh Sagar               121 (0.1%)
   Stefan Herbrechtsmeier                120 (0.1%)
   Alex Bee                              118 (0.1%)
   Peter Robinson                        103 (0.1%)
   Rui Miguel Silva                      98 (0.1%)
   Cong Dang                             94 (0.1%)
   Hai Pham                              92 (0.1%)
   Clement Faure                         91 (0.1%)
   Karsten Wiese                         89 (0.1%)
   Vignesh Raghavendra                   85 (0.1%)
   Thomas Mittelstaedt                   84 (0.1%)
   Fabio Estevam                         82 (0.1%)
   Shengyu Qu                            77 (0.1%)
   Roger Quadros                         74 (0.0%)
   Troy Kisky                            71 (0.0%)
   Kamlesh Gurudasani                    67 (0.0%)
   Alper Nebi Yasak                      66 (0.0%)
   Miquel Raynal                         62 (0.0%)
   Maxime Ripard                         61 (0.0%)
   Christophe Leroy                      59 (0.0%)
   Max Krummenacher                      53 (0.0%)
   Sergei Antonov                        52 (0.0%)
   Oleksandr Suvorov                     50 (0.0%)
   Manikanta Guntupalli                  49 (0.0%)
   Sam Edwards                           48 (0.0%)
   Ryosuke Saito                         41 (0.0%)
   Quentin Schulz                        39 (0.0%)
   Leo Yan                               38 (0.0%)
   Zixun LI                              37 (0.0%)
   Bruce Suen                            36 (0.0%)
   Torsten Duwe                          35 (0.0%)
   Minda Chen                            34 (0.0%)
   Ben Dooks                             33 (0.0%)
   Yu Chien Peter Lin                    31 (0.0%)
   Chanho Park                           29 (0.0%)
   Pegorer Massimo                       29 (0.0%)
   Yegor Yefremov                        29 (0.0%)
   Andrejs Cainikovs                     28 (0.0%)
   Ravi Gunasekaran                      28 (0.0%)
   Paul Barker                           27 (0.0%)
   Nitin Garg                            27 (0.0%)
   Bo Gan                                24 (0.0%)
   Gaurav Jain                           24 (0.0%)
   Bhavya Kapoor                         21 (0.0%)
   Johan Jonker                          21 (0.0%)
   Emmanuel Di Fede                      19 (0.0%)
   Julien Panis                          17 (0.0%)
   Jonas Schwöbel                        16 (0.0%)
   Masahiro Yamada                       15 (0.0%)
   Stefano Babic                         15 (0.0%)
   Eduard Strehlau                       14 (0.0%)
   Radhey Shyam Pandey                   14 (0.0%)
   Nate Drude                            14 (0.0%)
   Kever Yang                            13 (0.0%)
   Sean Anderson                         13 (0.0%)
   John Keeping                          13 (0.0%)
   Pali Rohár                            13 (0.0%)
   AKASHI Takahiro                       12 (0.0%)
   Harini Katakam                        12 (0.0%)
   Valentin Caron                        12 (0.0%)
   Sharath Kumar Dasari                  11 (0.0%)
   Rasmus Villemoes                      9 (0.0%)
   Bryan Brattlof                        9 (0.0%)
   Richard Weinberger                    9 (0.0%)
   Alexey Brodkin                        9 (0.0%)
   Dario Binacchi                        8 (0.0%)
   Alexander Dahl                        8 (0.0%)
   Ricardo Salveti                       8 (0.0%)
   Sumit Garg                            8 (0.0%)
   Jon Lin                               8 (0.0%)
   Andreas Dannenberg                    7 (0.0%)
   Elena Popa                            7 (0.0%)
   Maximus Sun                           7 (0.0%)
   Tomasz Maciej Nowak                   7 (0.0%)
   Maxim Cournoyer                       6 (0.0%)
   Dan Carpenter                         6 (0.0%)
   Kunihiko Hayashi                      6 (0.0%)
   Francois Berder                       5 (0.0%)
   Alvaro Fernando García                5 (0.0%)
   Shenlin Liang                         5 (0.0%)
   Thierry Reding                        4 (0.0%)
   Jaewon Jung                           4 (0.0%)
   Anton                                 4 (0.0%)
   Mattijs Korpershoek                   4 (0.0%)
   Parth Gajjar                          4 (0.0%)
   Varalaxmi Bingi                       4 (0.0%)
   John Clark                            4 (0.0%)
   Stefan Eichenberger                   4 (0.0%)
   Ying Sun                              3 (0.0%)
   Ehsan Mohandesi                       3 (0.0%)
   Jonathan Humphreys                    3 (0.0%)
   Siddharth Vadapalli                   3 (0.0%)
   Puhan Zhou                            3 (0.0%)
   Jason Wessel                          3 (0.0%)
   Jit Loon Lim                          3 (0.0%)
   Paul Kocialkowski                     3 (0.0%)
   Bhupesh Sharma                        2 (0.0%)
   Sjoerd Simons                         2 (0.0%)
   Teresa Remmet                         2 (0.0%)
   Fei Shao                              2 (0.0%)
   Joao Marcos Costa                     2 (0.0%)
   Daniel Golle                          2 (0.0%)
   Frank Wunderlich                      2 (0.0%)
   Meng Li                               2 (0.0%)
   Piyush Mehta                          2 (0.0%)
   Utkarsh Gupta                         2 (0.0%)
   Geert Uytterhoeven                    2 (0.0%)
   Mickaël Tansorier                     1 (0.0%)
   Rong Tao                              1 (0.0%)
   Seung-Woo Kim                         1 (0.0%)
   Dmitry Dunaev                         1 (0.0%)
   FUKAUMI Naoki                         1 (0.0%)
   Damon Ding                            1 (0.0%)
   Jaehoon Chung                         1 (0.0%)
   Richard Habeeb                        1 (0.0%)
   Samuel Dionne-Riel                    1 (0.0%)
   Maksim Kiselev                        1 (0.0%)
   Raju Kumar Pothuraju                  1 (0.0%)
   Julien Delbergue                      1 (0.0%)
   Matthias Schiffer                     1 (0.0%)
   Sergio Prado                          1 (0.0%)
   Giulio Benetti                        1 (0.0%)
   Malte Schmidt                         1 (0.0%)
   Hoegeun Kwon                          1 (0.0%)
   Kshitiz Varshney                      1 (0.0%)
   Peter Korsgaard                       1 (0.0%)
   Mario Kicherer                        1 (0.0%)
   Marcus Comstedt                       1 (0.0%)
   Baruch Siach                          1 (0.0%)
   Samuel Holland                        1 (0.0%)
   Martin Hundebøll                      1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Tom Rini                              14691 (38.2%)
   Ioana Ciornei                         1157 (3.0%)
   Jan Kiszka                            111 (0.3%)
   Jassi Brar                            99 (0.3%)
   Conor Dooley                          96 (0.2%)
   Jens Wiklander                        92 (0.2%)
   Andrew Davis                          86 (0.2%)
   Peter Robinson                        82 (0.2%)
   Stefan Herbrechtsmeier                75 (0.2%)
   Vignesh Raghavendra                   50 (0.1%)
   Christophe Leroy                      36 (0.1%)
   Cong Dang                             16 (0.0%)
   Oleksandr Suvorov                     15 (0.0%)
   Masahiro Yamada                       15 (0.0%)
   Sean Anderson                         12 (0.0%)
   Pali Rohár                            11 (0.0%)
   Pegorer Massimo                       10 (0.0%)
   Alex Bee                              8 (0.0%)
   Alexey Brodkin                        8 (0.0%)
   John Keeping                          7 (0.0%)
   Dario Binacchi                        7 (0.0%)
   Yegor Yefremov                        6 (0.0%)
   Shenlin Liang                         5 (0.0%)
   Bryan Brattlof                        3 (0.0%)
   Cem Tenruh                            2 (0.0%)
   Stefan Eichenberger                   2 (0.0%)
   Piyush Mehta                          2 (0.0%)
   Richard Habeeb                        1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Peng Fan                              61 (20.0%)
   Michal Simek                          48 (15.7%)
   Neil Armstrong                        11 (3.6%)
   Marek Vasut                           11 (3.6%)
   Manorit Chawdhry                      9 (3.0%)
   Ashok Reddy Soma                      9 (3.0%)
   Heinrich Schuchardt                   8 (2.6%)
   Andrew Davis                          7 (2.3%)
   Sam Shih                              7 (2.3%)
   Francesco Dolcini                     7 (2.3%)
   Thierry Reding                        7 (2.3%)
   Hai Pham                              7 (2.3%)
   Nishanth Menon                        7 (2.3%)
   Bo Gan                                6 (2.0%)
   Bin Meng                              6 (2.0%)
   Simon Glass                           6 (2.0%)
   Tam Nguyen                            5 (1.6%)
   Nicolas Frattaroli                    5 (1.6%)
   Hal Feng                              5 (1.6%)
   Patrick Delaunay                      5 (1.6%)
   Marcel Ziswiler                       5 (1.6%)
   Tom Rini                              4 (1.3%)
   Venkatesh Yadav Abbarapu              4 (1.3%)
   Stefan Herbrechtsmeier                3 (1.0%)
   Tom                                   3 (1.0%)
   Minda Chen                            3 (1.0%)
   Andrejs Cainikovs                     3 (1.0%)
   Fabio Estevam                         3 (1.0%)
   Eugen Hristev                         3 (1.0%)
   Neha Malcom Francis                   3 (1.0%)
   Ioana Ciornei                         2 (0.7%)
   Jassi Brar                            2 (0.7%)
   SkyLake.Huang                         2 (0.7%)
   Andre Przywara                        2 (0.7%)
   Kever Yang                            2 (0.7%)
   Kamlesh Gurudasani                    2 (0.7%)
   Clement Faure                         2 (0.7%)
   Jonas Karlman                         2 (0.7%)
   Vignesh Raghavendra                   1 (0.3%)
   Cong Dang                             1 (0.3%)
   Oleksandr Suvorov                     1 (0.3%)
   Bryan Brattlof                        1 (0.3%)
   Xueliang Zhong                        1 (0.3%)
   Tarun Sahu                            1 (0.3%)
   Vishal Sagar                          1 (0.3%)
   faqiang.zhu                           1 (0.3%)
   Evgeny Bachinin                       1 (0.3%)
   Sughosh Ganu                          1 (0.3%)
   Meng Li                               1 (0.3%)
   Massimo Pegorer                       1 (0.3%)
   Nikhil M Jain                         1 (0.3%)
   Patrice Chotard                       1 (0.3%)
   Jagan Teki                            1 (0.3%)
   Ye Li                                 1 (0.3%)
   Emanuele Ghidoli                      1 (0.3%)
   Svyatoslav Ryhel                      1 (0.3%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           220 (22.9%)
   Kever Yang                            109 (11.3%)
   Bin Meng                              105 (10.9%)
   Leo Yu-Chi Liang                      52 (5.4%)
   Peng Fan                              43 (4.5%)
   Patrice Chotard                       39 (4.1%)
   Tom Rini                              38 (4.0%)
   Ilias Apalodimas                      38 (4.0%)
   Heinrich Schuchardt                   31 (3.2%)
   Marek Vasut                           30 (3.1%)
   Ramon Fried                           28 (2.9%)
   Andy Shevchenko                       22 (2.3%)
   Jagan Teki                            19 (2.0%)
   Stefan Roese                          16 (1.7%)
   Rick Chen                             12 (1.2%)
   Patrick Delaunay                      11 (1.1%)
   Jernej Skrabec                        10 (1.0%)
   Neil Armstrong                        9 (0.9%)
   Fabio Estevam                         9 (0.9%)
   Nikhil M Jain                         8 (0.8%)
   Devarsh Thakkar                       7 (0.7%)
   Nishanth Menon                        6 (0.6%)
   Neha Malcom Francis                   6 (0.6%)
   Bryan Brattlof                        6 (0.6%)
   Quentin Schulz                        5 (0.5%)
   Torsten Duwe                          5 (0.5%)
   Heiko Schocher                        4 (0.4%)
   Wei Fu                                4 (0.4%)
   Mattijs Korpershoek                   4 (0.4%)
   Eugen Hristev                         3 (0.3%)
   Ye Li                                 3 (0.3%)
   Siddharth Vadapalli                   3 (0.3%)
   Jaehoon Chung                         3 (0.3%)
   Padmarao Begari                       3 (0.3%)
   Etienne Carriere                      3 (0.3%)
   Roger Quadros                         3 (0.3%)
   Mayuresh Chitale                      3 (0.3%)
   Andrew Davis                          2 (0.2%)
   Jens Wiklander                        2 (0.2%)
   Pali Rohár                            2 (0.2%)
   Xavier Drudis Ferran                  2 (0.2%)
   Michael Trimarchi                     2 (0.2%)
   Viacheslav Mitrofanov                 2 (0.2%)
   Takeshi Kihara                        2 (0.2%)
   Oliver Graute                         2 (0.2%)
   Radhey Shyam Pandey                   2 (0.2%)
   Andre Przywara                        1 (0.1%)
   Sean Anderson                         1 (0.1%)
   Yoann Congal                          1 (0.1%)
   Biju Das                              1 (0.1%)
   Gao Xiang                             1 (0.1%)
   elaine.zhang                          1 (0.1%)
   Stefan Agner                          1 (0.1%)
   Mark Kettenis                         1 (0.1%)
   Huang Jianan                          1 (0.1%)
   Haibo Chen                            1 (0.1%)
   Horia Geanta                          1 (0.1%)
   Frieder Schrempf                      1 (0.1%)
   Anup Patel                            1 (0.1%)
   Minkyu Kang                           1 (0.1%)
   Claudiu Manoil                        1 (0.1%)
   Qu Wenruo                             1 (0.1%)
   Andrew Lunn                           1 (0.1%)
   Paul Barker                           1 (0.1%)
   Gaurav Jain                           1 (0.1%)
   Maxime Ripard                         1 (0.1%)
   Miquel Raynal                         1 (0.1%)
   Adam Ford                             1 (0.1%)
   Weijie Gao                            1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           13 (14.9%)
   Milan P. Stanić                       8 (9.2%)
   Sughosh Ganu                          7 (8.0%)
   Andreas Westman Dorcsak               7 (8.0%)
   Svyatoslav Ryhel                      6 (6.9%)
   Bin Meng                              4 (4.6%)
   Tom Rini                              4 (4.6%)
   Roland Ruckerbauer                    4 (4.6%)
   Nikhil M Jain                         3 (3.4%)
   Maxime Ripard                         3 (3.4%)
   Miquel Raynal                         3 (3.4%)
   Heinrich Schuchardt                   2 (2.3%)
   Mattijs Korpershoek                   2 (2.3%)
   Padmarao Begari                       2 (2.3%)
   Oliver Graute                         2 (2.3%)
   Michal Simek                          2 (2.3%)
   Gowtham Suresh Kumar                  2 (2.3%)
   Mihai Sain                            2 (2.3%)
   Ravi Gunasekaran                      2 (2.3%)
   Sam Edwards                           2 (2.3%)
   Xavier Drudis Ferran                  1 (1.1%)
   Stefan Agner                          1 (1.1%)
   Marcel Ziswiler                       1 (1.1%)
   FUKAUMI Naoki                         1 (1.1%)
   Ion Agorria                           1 (1.1%)
   Masahisa Kojima                       1 (1.1%)
   Tim Harvey                            1 (1.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Svyatoslav Ryhel                      12 (13.8%)
   Bin Meng                              8 (9.2%)
   Marek Vasut                           7 (8.0%)
   Jassi Brar                            7 (8.0%)
   Simon Glass                           6 (6.9%)
   Chanho Park                           6 (6.9%)
   Sjoerd Simons                         6 (6.9%)
   Shengyu Qu                            4 (4.6%)
   Peng Fan                              2 (2.3%)
   Stefan Roese                          2 (2.3%)
   Jonas Karlman                         2 (2.3%)
   Conor Dooley                          2 (2.3%)
   John Keeping                          2 (2.3%)
   Jonas Schwöbel                        2 (2.3%)
   Alper Nebi Yasak                      2 (2.3%)
   Abdellatif El Khlifi                  2 (2.3%)
   Tom Rini                              1 (1.1%)
   Heinrich Schuchardt                   1 (1.1%)
   Tim Harvey                            1 (1.1%)
   Nishanth Menon                        1 (1.1%)
   Quentin Schulz                        1 (1.1%)
   Eugen Hristev                         1 (1.1%)
   Andre Przywara                        1 (1.1%)
   Adam Ford                             1 (1.1%)
   Manorit Chawdhry                      1 (1.1%)
   AKASHI Takahiro                       1 (1.1%)
   Rasmus Villemoes                      1 (1.1%)
   Alvaro Fernando García                1 (1.1%)
   Ryosuke Saito                         1 (1.1%)
   Yifan Zhao                            1 (1.1%)
   Udit Kumar                            1 (1.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Heinrich Schuchardt                   3 (12.0%)
   Milan P. Stanić                       2 (8.0%)
   Michal Simek                          2 (8.0%)
   Da Xue                                2 (8.0%)
   John Toomey                           2 (8.0%)
   Simon Glass                           1 (4.0%)
   Tom Rini                              1 (4.0%)
   Xavier Drudis Ferran                  1 (4.0%)
   Peter Robinson                        1 (4.0%)
   Alexey Brodkin                        1 (4.0%)
   Dan Carpenter                         1 (4.0%)
   Aniket Limaye                         1 (4.0%)
   Lorenzo Bianconi                      1 (4.0%)
   Thomas Nizan                          1 (4.0%)
   Vincent Stehlé                        1 (4.0%)
   Suniel Mahesh                         1 (4.0%)
   Mickael GARDET                        1 (4.0%)
   Harry Lockyer                         1 (4.0%)
   Eduard Strehlau                       1 (4.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Heinrich Schuchardt                   4 (16.0%)
   Nishanth Menon                        4 (16.0%)
   Simon Glass                           3 (12.0%)
   Marek Vasut                           2 (8.0%)
   AKASHI Takahiro                       2 (8.0%)
   Radhey Shyam Pandey                   2 (8.0%)
   Tom Rini                              1 (4.0%)
   Jonas Karlman                         1 (4.0%)
   Manorit Chawdhry                      1 (4.0%)
   Patrick Delaunay                      1 (4.0%)
   Fabio Estevam                         1 (4.0%)
   Siddharth Vadapalli                   1 (4.0%)
   Venkatesh Yadav Abbarapu              1 (4.0%)
   Daniel Golle                          1 (4.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             524 (34.2%)
   Google, Inc.                          273 (17.8%)
   Texas Instruments                     125 (8.2%)
   NXP                                   78 (5.1%)
   AMD                                   74 (4.8%)
   Linaro                                71 (4.6%)
   DENX Software Engineering             70 (4.6%)
   Konsulko Group                        57 (3.7%)
   Renesas Electronics                   50 (3.3%)
   ARM                                   36 (2.4%)
   ST Microelectronics                   33 (2.2%)
   Weidmüller Interface GmbH & Co. KG    29 (1.9%)
   Toradex                               24 (1.6%)
   Collabora Ltd.                        17 (1.1%)
   Amarula Solutions                     10 (0.7%)
   Samsung                               8 (0.5%)
   Broadcom                              6 (0.4%)
   Edgeble AI Technologies Pvt. Ltd.     6 (0.4%)
   linutronix                            6 (0.4%)
   Siemens                               6 (0.4%)
   Phytec                                5 (0.3%)
   Rockchip                              5 (0.3%)
   Gentoo                                4 (0.3%)
   BayLibre SAS                          2 (0.1%)
   Bootlin                               2 (0.1%)
   Wind River                            2 (0.1%)
   NVidia                                2 (0.1%)
   Socionext Inc.                        2 (0.1%)
   Bosch                                 1 (0.1%)
   Intel                                 1 (0.1%)
   Xilinx                                1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Texas Instruments                     41676 (27.8%)
   (Unknown)                             36288 (24.2%)
   Konsulko Group                        15768 (10.5%)
   Google, Inc.                          12357 (8.2%)
   ARM                                   8686 (5.8%)
   Toradex                               7854 (5.2%)
   NXP                                   6045 (4.0%)
   Linaro                                4894 (3.3%)
   AMD                                   4247 (2.8%)
   ST Microelectronics                   2642 (1.8%)
   Weidmüller Interface GmbH & Co. KG    1455 (1.0%)
   Collabora Ltd.                        1327 (0.9%)
   Rockchip                              1178 (0.8%)
   DENX Software Engineering             1147 (0.8%)
   Renesas Electronics                   916 (0.6%)
   Phytec                                877 (0.6%)
   Broadcom                              813 (0.5%)
   Gentoo                                790 (0.5%)
   Siemens                               292 (0.2%)
   Edgeble AI Technologies Pvt. Ltd.     179 (0.1%)
   linutronix                            145 (0.1%)
   Amarula Solutions                     119 (0.1%)
   Bosch                                 84 (0.1%)
   Bootlin                               65 (0.0%)
   Samsung                               32 (0.0%)
   BayLibre SAS                          21 (0.0%)
   Xilinx                                11 (0.0%)
   Socionext Inc.                        6 (0.0%)
   Wind River                            5 (0.0%)
   NVidia                                4 (0.0%)
   Intel                                 3 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   NXP                                   67 (22.0%)
   AMD                                   62 (20.3%)
   (Unknown)                             40 (13.1%)
   Texas Instruments                     32 (10.5%)
   Renesas Electronics                   24 (7.9%)
   Toradex                               16 (5.2%)
   Linaro                                14 (4.6%)
   NVidia                                10 (3.3%)
   Canonical                             8 (2.6%)
   Google, Inc.                          6 (2.0%)
   ST Microelectronics                   6 (2.0%)
   Konsulko Group                        4 (1.3%)
   ARM                                   3 (1.0%)
   Weidmüller Interface GmbH & Co. KG    3 (1.0%)
   Collabora Ltd.                        3 (1.0%)
   DENX Software Engineering             3 (1.0%)
   Rockchip                              2 (0.7%)
   Amarula Solutions                     1 (0.3%)
   Wind River                            1 (0.3%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             102 (48.1%)
   Texas Instruments                     15 (7.1%)
   Linaro                                13 (6.1%)
   NXP                                   12 (5.7%)
   AMD                                   11 (5.2%)
   Toradex                               6 (2.8%)
   DENX Software Engineering             5 (2.4%)
   Rockchip                              5 (2.4%)
   Renesas Electronics                   4 (1.9%)
   Weidmüller Interface GmbH & Co. KG    4 (1.9%)
   Samsung                               4 (1.9%)
   ST Microelectronics                   3 (1.4%)
   Collabora Ltd.                        3 (1.4%)
   Phytec                                3 (1.4%)
   ARM                                   2 (0.9%)
   Amarula Solutions                     2 (0.9%)
   Wind River                            2 (0.9%)
   Bootlin                               2 (0.9%)
   BayLibre SAS                          2 (0.9%)
   NVidia                                1 (0.5%)
   Google, Inc.                          1 (0.5%)
   Konsulko Group                        1 (0.5%)
   Broadcom                              1 (0.5%)
   Gentoo                                1 (0.5%)
   Siemens                               1 (0.5%)
   Edgeble AI Technologies Pvt. Ltd.     1 (0.5%)
   linutronix                            1 (0.5%)
   Bosch                                 1 (0.5%)
   Xilinx                                1 (0.5%)
   Socionext Inc.                        1 (0.5%)
   Intel                                 1 (0.5%)
   ====================================  =====
