:orphan:

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

* Processed 1668 changesets from 187 developers

* 27 employers found

* A total of 120881 lines added, 46887 removed (delta 73994)

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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           224 (13.4%)
   Marek Vasut                           173 (10.4%)
   Pali Rohár                            92 (5.5%)
   Heinrich Schuchardt                   79 (4.7%)
   Tom Rini                              60 (3.6%)
   Jonas Karlman                         51 (3.1%)
   Christian Hewitt                      47 (2.8%)
   Peng Fan                              39 (2.3%)
   Johan Jonker                          39 (2.3%)
   Andrew Davis                          32 (1.9%)
   Ye Li                                 32 (1.9%)
   Christophe Leroy                      31 (1.9%)
   Hai Pham                              25 (1.5%)
   Bin Meng                              23 (1.4%)
   Ioana Ciornei                         23 (1.4%)
   Nikhil M Jain                         22 (1.3%)
   Fabio Estevam                         21 (1.3%)
   Manorit Chawdhry                      21 (1.3%)
   Samuel Holland                        21 (1.3%)
   Svyatoslav Ryhel                      21 (1.3%)
   Eugen Hristev                         20 (1.2%)
   Mathew McBride                        19 (1.1%)
   Safae Ouajih                          19 (1.1%)
   Rasmus Villemoes                      18 (1.1%)
   Yanhong Wang                          16 (1.0%)
   Eduard Strehlau                       14 (0.8%)
   Michal Simek                          13 (0.8%)
   Jan Kiszka                            13 (0.8%)
   Dzmitry Sankouski                     13 (0.8%)
   Kunihiko Hayashi                      12 (0.7%)
   Ilias Apalodimas                      11 (0.7%)
   FUKAUMI Naoki                         11 (0.7%)
   Ralph Siemsen                         10 (0.6%)
   Jernej Skrabec                        10 (0.6%)
   Tobias Waldekranz                     9 (0.5%)
   Tim Harvey                            8 (0.5%)
   Neha Francis                          8 (0.5%)
   John Keeping                          8 (0.5%)
   Ashok Reddy Soma                      8 (0.5%)
   Andre Przywara                        7 (0.4%)
   Andrejs Cainikovs                     7 (0.4%)
   Stefan Herbrechtsmeier                7 (0.4%)
   Vladimir Zapolskiy                    7 (0.4%)
   Abdellatif El Khlifi                  7 (0.4%)
   Angelo Dureghello                     7 (0.4%)
   Marcel Ziswiler                       7 (0.4%)
   Sean Edmond                           6 (0.4%)
   Jacky Bai                             6 (0.4%)
   Patrick Delaunay                      6 (0.4%)
   Linus Walleij                         6 (0.4%)
   Peter Hoyes                           6 (0.4%)
   Will Deacon                           6 (0.4%)
   Patrice Chotard                       6 (0.4%)
   Emanuele Ghidoli                      6 (0.4%)
   Álvaro Fernández Rojas                6 (0.4%)
   Algapally Santosh Sagar               5 (0.3%)
   Baruch Siach                          5 (0.3%)
   Chris Morgan                          5 (0.3%)
   Hugo Villeneuve                       5 (0.3%)
   Marc Zyngier                          5 (0.3%)
   Tho Vu                                5 (0.3%)
   Ovidiu Panait                         5 (0.3%)
   Chunfeng Yun                          5 (0.3%)
   Josua Mayer                           4 (0.2%)
   Thomas RIENOESSL                      4 (0.2%)
   Yang Xiwen                            4 (0.2%)
   Dario Binacchi                        4 (0.2%)
   Tony Dinh                             4 (0.2%)
   Evgeny Bachinin                       4 (0.2%)
   Sergiu Moga                           4 (0.2%)
   Xavier Drudis Ferran                  3 (0.2%)
   Sam Edwards                           3 (0.2%)
   Dhruva Gole                           3 (0.2%)
   Stefan Roese                          3 (0.2%)
   Jon Lin                               3 (0.2%)
   Christian Gmeiner                     3 (0.2%)
   Ehsan Mohandesi                       3 (0.2%)
   Nishanth Menon                        3 (0.2%)
   Dmitrii Merkurev                      3 (0.2%)
   Pavel Skripkin                        3 (0.2%)
   Karl Chan                             3 (0.2%)
   Frieder Schrempf                      3 (0.2%)
   Martin Rowe                           3 (0.2%)
   Loic Poulain                          3 (0.2%)
   Corentin Guillevic                    3 (0.2%)
   Markus Niebel                         3 (0.2%)
   Ivan Mikhaylov                        3 (0.2%)
   Stephen Carlson                       3 (0.2%)
   Krzysztof Kozlowski                   3 (0.2%)
   Kamal Dasu                            3 (0.2%)
   Francesco Dolcini                     2 (0.1%)
   Ondrej Jirman                         2 (0.1%)
   Mark Kettenis                         2 (0.1%)
   Neil Armstrong                        2 (0.1%)
   Quentin Schulz                        2 (0.1%)
   Henrik Grimler                        2 (0.1%)
   Neal Frager                           2 (0.1%)
   Judith Mendez                         2 (0.1%)
   Sergei Antonov                        2 (0.1%)
   Kishon Vijay Abraham I                2 (0.1%)
   Daniel Golle                          2 (0.1%)
   Bhupesh Sharma                        2 (0.1%)
   Konrad Dybcio                         2 (0.1%)
   Apurva Nandan                         2 (0.1%)
   Christophe Kerello                    2 (0.1%)
   Phong Hoang                           2 (0.1%)
   Roman Kopytin                         2 (0.1%)
   Chris Packham                         2 (0.1%)
   Philippe Schenker                     2 (0.1%)
   Janne Grunau                          2 (0.1%)
   Sinthu Raja                           2 (0.1%)
   chao zeng                             2 (0.1%)
   Su Baocheng                           2 (0.1%)
   Dylan Hung                            2 (0.1%)
   Heiko Schocher                        1 (0.1%)
   Ken Sloat                             1 (0.1%)
   Kever Yang                            1 (0.1%)
   Peter Robinson                        1 (0.1%)
   Mingli Yu                             1 (0.1%)
   Frank Wunderlich                      1 (0.1%)
   Teik Heng Chong                       1 (0.1%)
   Clément Léger                         1 (0.1%)
   Thomas Perrot                         1 (0.1%)
   Ilko Iliev                            1 (0.1%)
   Mayuresh Chitale                      1 (0.1%)
   Detlev Casanova                       1 (0.1%)
   Adam Ford                             1 (0.1%)
   LUU HOAI                              1 (0.1%)
   Hiroyuki Yokoyama                     1 (0.1%)
   Mattijs Korpershoek                   1 (0.1%)
   Ben Dooks                             1 (0.1%)
   Andrea Merello                        1 (0.1%)
   Dave Gerlach                          1 (0.1%)
   Bryan Brattlof                        1 (0.1%)
   Fedor Ross                            1 (0.1%)
   Wadim Egorov                          1 (0.1%)
   Wolfgang Zarre                        1 (0.1%)
   Christopher Obbard                    1 (0.1%)
   Joseph Chen                           1 (0.1%)
   Raphael Gallais-Pou                   1 (0.1%)
   Nuno Sá                               1 (0.1%)
   Tianling Shen                         1 (0.1%)
   Vignesh Raghavendra                   1 (0.1%)
   Dominique Martinet                    1 (0.1%)
   Christian Kohlschütter                1 (0.1%)
   Michael Trimarchi                     1 (0.1%)
   Ying-Chun Liu (PaulLiu)               1 (0.1%)
   Elmar Psilog                          1 (0.1%)
   Praneeth Bajjuri                      1 (0.1%)
   Alexander Shirokov                    1 (0.1%)
   Nitin Yadav                           1 (0.1%)
   Aradhya Bhatia                        1 (0.1%)
   Oliver Graute                         1 (0.1%)
   Patrick Wildt                         1 (0.1%)
   Jorge Ramirez-Ortiz                   1 (0.1%)
   Takahiro Kuwano                       1 (0.1%)
   Sinan Akman                           1 (0.1%)
   Devarsh Thakkar                       1 (0.1%)
   Jayesh Choudhary                      1 (0.1%)
   meitao                                1 (0.1%)
   Jim Liu                               1 (0.1%)
   Peter Geis                            1 (0.1%)
   Jonathan Liu                          1 (0.1%)
   Jianqun Xu                            1 (0.1%)
   Vasily Khoruzhick                     1 (0.1%)
   Kuan Lim Lee                          1 (0.1%)
   Jianlong Huang                        1 (0.1%)
   Lionel Debieve                        1 (0.1%)
   ETIENNE DUBLE                         1 (0.1%)
   Haibo Chen                            1 (0.1%)
   Francis Laniel                        1 (0.1%)
   Tim Lee                               1 (0.1%)
   Vladimir Oltean                       1 (0.1%)
   Luca Ceresoli                         1 (0.1%)
   Quanyang Wang                         1 (0.1%)
   Tommaso Merciai                       1 (0.1%)
   Igor Opaniuk                          1 (0.1%)
   Max Krummenacher                      1 (0.1%)
   Jean-Marie Lemetayer                  1 (0.1%)
   Stefan Eichenberger                   1 (0.1%)
   Claudiu Beznea                        1 (0.1%)
   Mikhail Lappo                         1 (0.1%)
   Jiajie Chen                           1 (0.1%)
   Michael Grzeschik                     1 (0.1%)
   Pierre-Clément Tosi                   1 (0.1%)
   Ryan Chen                             1 (0.1%)
   Claire Lin                            1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           14640 (10.3%)
   Marek Vasut                           11805 (8.3%)
   Dzmitry Sankouski                     9062 (6.4%)
   Tom Rini                              8562 (6.0%)
   Hai Pham                              7139 (5.0%)
   Yanhong Wang                          7001 (4.9%)
   Christophe Leroy                      6098 (4.3%)
   Peng Fan                              5493 (3.9%)
   Ralph Siemsen                         5477 (3.8%)
   Christian Hewitt                      5207 (3.7%)
   Ioana Ciornei                         4038 (2.8%)
   Adam Ford                             3578 (2.5%)
   Svyatoslav Ryhel                      3377 (2.4%)
   Chris Morgan                          3010 (2.1%)
   Andrew Davis                          2844 (2.0%)
   Phong Hoang                           2503 (1.8%)
   LUU HOAI                              2126 (1.5%)
   Manorit Chawdhry                      2116 (1.5%)
   Patrick Wildt                         1766 (1.2%)
   Ye Li                                 1710 (1.2%)
   Pali Rohár                            1592 (1.1%)
   Eugen Hristev                         1463 (1.0%)
   Heinrich Schuchardt                   1353 (0.9%)
   Kunihiko Hayashi                      1335 (0.9%)
   Tobias Waldekranz                     1242 (0.9%)
   Sean Edmond                           1182 (0.8%)
   Oliver Graute                         1155 (0.8%)
   FUKAUMI Naoki                         1140 (0.8%)
   Mathew McBride                        1129 (0.8%)
   Linus Walleij                         1117 (0.8%)
   Safae Ouajih                          1098 (0.8%)
   Jonas Karlman                         1005 (0.7%)
   Kuan Lim Lee                          1001 (0.7%)
   Johan Jonker                          872 (0.6%)
   Nikhil M Jain                         801 (0.6%)
   Jan Kiszka                            718 (0.5%)
   Abdellatif El Khlifi                  677 (0.5%)
   Tho Vu                                661 (0.5%)
   Neil Armstrong                        646 (0.5%)
   Neha Francis                          588 (0.4%)
   Yang Xiwen                            588 (0.4%)
   Fabio Estevam                         575 (0.4%)
   Jianqun Xu                            541 (0.4%)
   Jernej Skrabec                        525 (0.4%)
   Chris Packham                         498 (0.3%)
   Ehsan Mohandesi                       459 (0.3%)
   Samuel Holland                        441 (0.3%)
   Jianlong Huang                        427 (0.3%)
   Jacky Bai                             402 (0.3%)
   Andre Przywara                        388 (0.3%)
   Emanuele Ghidoli                      375 (0.3%)
   Dmitrii Merkurev                      366 (0.3%)
   Rasmus Villemoes                      341 (0.2%)
   Ivan Mikhaylov                        336 (0.2%)
   Angelo Dureghello                     335 (0.2%)
   Kever Yang                            319 (0.2%)
   Marc Zyngier                          315 (0.2%)
   Daniel Golle                          304 (0.2%)
   Karl Chan                             290 (0.2%)
   Roman Kopytin                         290 (0.2%)
   Su Baocheng                           249 (0.2%)
   Stephen Carlson                       245 (0.2%)
   Sergiu Moga                           244 (0.2%)
   Sergei Antonov                        242 (0.2%)
   Tim Harvey                            227 (0.2%)
   Chunfeng Yun                          208 (0.1%)
   Ilias Apalodimas                      192 (0.1%)
   Aradhya Bhatia                        187 (0.1%)
   Mark Kettenis                         177 (0.1%)
   Kamal Dasu                            165 (0.1%)
   Eduard Strehlau                       162 (0.1%)
   Tianling Shen                         162 (0.1%)
   Thomas RIENOESSL                      145 (0.1%)
   ETIENNE DUBLE                         142 (0.1%)
   Lionel Debieve                        132 (0.1%)
   Kishon Vijay Abraham I                131 (0.1%)
   chao zeng                             129 (0.1%)
   Will Deacon                           126 (0.1%)
   Vladimir Zapolskiy                    118 (0.1%)
   Martin Rowe                           118 (0.1%)
   Xavier Drudis Ferran                  114 (0.1%)
   Ashok Reddy Soma                      105 (0.1%)
   Álvaro Fernández Rojas                102 (0.1%)
   Jon Lin                               101 (0.1%)
   Bin Meng                              93 (0.1%)
   Algapally Santosh Sagar               85 (0.1%)
   Ovidiu Panait                         85 (0.1%)
   Takahiro Kuwano                       85 (0.1%)
   Michal Simek                          83 (0.1%)
   Evgeny Bachinin                       83 (0.1%)
   Marcel Ziswiler                       82 (0.1%)
   Stefan Herbrechtsmeier                80 (0.1%)
   Joseph Chen                           77 (0.1%)
   Dario Binacchi                        76 (0.1%)
   Josua Mayer                           70 (0.0%)
   Andrejs Cainikovs                     67 (0.0%)
   Claudiu Beznea                        64 (0.0%)
   Patrice Chotard                       59 (0.0%)
   Jim Liu                               59 (0.0%)
   Jayesh Choudhary                      53 (0.0%)
   Sinthu Raja                           51 (0.0%)
   Stefan Roese                          48 (0.0%)
   Pavel Skripkin                        43 (0.0%)
   Apurva Nandan                         43 (0.0%)
   Patrick Delaunay                      42 (0.0%)
   Hugo Villeneuve                       39 (0.0%)
   Loic Poulain                          37 (0.0%)
   Markus Niebel                         36 (0.0%)
   Christophe Kerello                    36 (0.0%)
   Nitin Yadav                           36 (0.0%)
   Sinan Akman                           35 (0.0%)
   Peter Hoyes                           34 (0.0%)
   John Keeping                          31 (0.0%)
   Judith Mendez                         28 (0.0%)
   Teik Heng Chong                       26 (0.0%)
   Francesco Dolcini                     25 (0.0%)
   Tony Dinh                             24 (0.0%)
   Quanyang Wang                         24 (0.0%)
   Tommaso Merciai                       24 (0.0%)
   Nishanth Menon                        22 (0.0%)
   Christopher Obbard                    22 (0.0%)
   Christian Gmeiner                     18 (0.0%)
   Francis Laniel                        17 (0.0%)
   Frieder Schrempf                      16 (0.0%)
   Elmar Psilog                          15 (0.0%)
   meitao                                13 (0.0%)
   Max Krummenacher                      13 (0.0%)
   Thomas Perrot                         12 (0.0%)
   Peter Geis                            12 (0.0%)
   Neal Frager                           11 (0.0%)
   Jorge Ramirez-Ortiz                   11 (0.0%)
   Quentin Schulz                        10 (0.0%)
   Nuno Sá                               10 (0.0%)
   Dhruva Gole                           9 (0.0%)
   Luca Ceresoli                         9 (0.0%)
   Pierre-Clément Tosi                   9 (0.0%)
   Baruch Siach                          8 (0.0%)
   Ondrej Jirman                         8 (0.0%)
   Detlev Casanova                       8 (0.0%)
   Wolfgang Zarre                        8 (0.0%)
   Vladimir Oltean                       8 (0.0%)
   Konrad Dybcio                         7 (0.0%)
   Hiroyuki Yokoyama                     7 (0.0%)
   Krzysztof Kozlowski                   6 (0.0%)
   Bhupesh Sharma                        6 (0.0%)
   Frank Wunderlich                      6 (0.0%)
   Devarsh Thakkar                       6 (0.0%)
   Dylan Hung                            5 (0.0%)
   Ben Dooks                             5 (0.0%)
   Sam Edwards                           4 (0.0%)
   Philippe Schenker                     4 (0.0%)
   Mattijs Korpershoek                   4 (0.0%)
   Christian Kohlschütter                4 (0.0%)
   Mikhail Lappo                         4 (0.0%)
   Ryan Chen                             4 (0.0%)
   Claire Lin                            4 (0.0%)
   Corentin Guillevic                    3 (0.0%)
   Janne Grunau                          3 (0.0%)
   Andrea Merello                        3 (0.0%)
   Bryan Brattlof                        3 (0.0%)
   Dominique Martinet                    3 (0.0%)
   Vasily Khoruzhick                     3 (0.0%)
   Tim Lee                               3 (0.0%)
   Jiajie Chen                           3 (0.0%)
   Henrik Grimler                        2 (0.0%)
   Mingli Yu                             2 (0.0%)
   Ilko Iliev                            2 (0.0%)
   Mayuresh Chitale                      2 (0.0%)
   Dave Gerlach                          2 (0.0%)
   Raphael Gallais-Pou                   2 (0.0%)
   Vignesh Raghavendra                   2 (0.0%)
   Michael Trimarchi                     2 (0.0%)
   Ying-Chun Liu (PaulLiu)               2 (0.0%)
   Praneeth Bajjuri                      2 (0.0%)
   Alexander Shirokov                    2 (0.0%)
   Jonathan Liu                          2 (0.0%)
   Haibo Chen                            2 (0.0%)
   Michael Grzeschik                     2 (0.0%)
   Heiko Schocher                        1 (0.0%)
   Ken Sloat                             1 (0.0%)
   Peter Robinson                        1 (0.0%)
   Clément Léger                         1 (0.0%)
   Fedor Ross                            1 (0.0%)
   Wadim Egorov                          1 (0.0%)
   Igor Opaniuk                          1 (0.0%)
   Jean-Marie Lemetayer                  1 (0.0%)
   Stefan Eichenberger                   1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Tom Rini                              5481 (11.7%)
   Ioana Ciornei                         3633 (7.7%)
   Christophe Leroy                      2651 (5.7%)
   Manorit Chawdhry                      1764 (3.8%)
   Andrew Davis                          443 (0.9%)
   Emanuele Ghidoli                      240 (0.5%)
   Fabio Estevam                         235 (0.5%)
   Tim Harvey                            197 (0.4%)
   Stefan Roese                          36 (0.1%)
   Hugo Villeneuve                       34 (0.1%)
   Bin Meng                              33 (0.1%)
   Ovidiu Panait                         24 (0.1%)
   Francesco Dolcini                     23 (0.0%)
   Andrejs Cainikovs                     22 (0.0%)
   Teik Heng Chong                       14 (0.0%)
   Quentin Schulz                        8 (0.0%)
   Nishanth Menon                        5 (0.0%)
   Krzysztof Kozlowski                   2 (0.0%)
   Sam Edwards                           2 (0.0%)
   Mikhail Lappo                         2 (0.0%)
   Quanyang Wang                         1 (0.0%)
   Dylan Hung                            1 (0.0%)
   Jiajie Chen                           1 (0.0%)
   Dave Gerlach                          1 (0.0%)
   Heiko Schocher                        1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Neil Armstrong                        51 (13.1%)
   Peng Fan                              49 (12.6%)
   Marek Vasut                           33 (8.5%)
   Andre Przywara                        30 (7.7%)
   Michal Simek                          25 (6.4%)
   Dario Binacchi                        21 (5.4%)
   Fabio Estevam                         14 (3.6%)
   Ying-Chun Liu (PaulLiu)               13 (3.3%)
   Hai Pham                              12 (3.1%)
   Andrejs Cainikovs                     10 (2.6%)
   Miquel Raynal                         10 (2.6%)
   Linus Walleij                         10 (2.6%)
   Simon Glass                           7 (1.8%)
   Ashok Reddy Soma                      5 (1.3%)
   Marcel Ziswiler                       5 (1.3%)
   Jonas Karlman                         5 (1.3%)
   Eugen Hristev                         5 (1.3%)
   Tom Rini                              4 (1.0%)
   Claudiu Beznea                        4 (1.0%)
   Ilias Apalodimas                      4 (1.0%)
   Jan Kiszka                            4 (1.0%)
   Heinrich Schuchardt                   4 (1.0%)
   Pierre-Clément Tosi                   3 (0.8%)
   Christian Hewitt                      3 (0.8%)
   Manorit Chawdhry                      2 (0.5%)
   Francesco Dolcini                     2 (0.5%)
   Vignesh Raghavendra                   2 (0.5%)
   Stefano Babic                         2 (0.5%)
   Siddharth Vadapalli                   2 (0.5%)
   Yifeng Zhao                           2 (0.5%)
   Emil Renner Berthing                  2 (0.5%)
   Takeshi Kihara                        2 (0.5%)
   Anatolij Gustschin                    2 (0.5%)
   Dhruva Gole                           2 (0.5%)
   Vladimir Zapolskiy                    2 (0.5%)
   Ivan Mikhaylov                        2 (0.5%)
   Ye Li                                 2 (0.5%)
   LUU HOAI                              2 (0.5%)
   Yanhong Wang                          2 (0.5%)
   Bin Meng                              1 (0.3%)
   Frank Wunderlich                      1 (0.3%)
   Geert Uytterhoeven                    1 (0.3%)
   Jagan Teki                            1 (0.3%)
   Tero Kristo                           1 (0.3%)
   Kamlesh Gurudasani                    1 (0.3%)
   Ren Jianing                           1 (0.3%)
   Frank Wang                            1 (0.3%)
   William Wu                            1 (0.3%)
   Stephen Chen                          1 (0.3%)
   Manoj Sai                             1 (0.3%)
   Paweł Jarosz                          1 (0.3%)
   Cong Dang                             1 (0.3%)
   Lin Jinhan                            1 (0.3%)
   Nam Nguyen                            1 (0.3%)
   Bryan Brattlof                        1 (0.3%)
   Patrick Delaunay                      1 (0.3%)
   Thomas Perrot                         1 (0.3%)
   Apurva Nandan                         1 (0.3%)
   Neha Francis                          1 (0.3%)
   Will Deacon                           1 (0.3%)
   Kamal Dasu                            1 (0.3%)
   Samuel Holland                        1 (0.3%)
   Kever Yang                            1 (0.3%)
   Jianlong Huang                        1 (0.3%)
   Kuan Lim Lee                          1 (0.3%)
   Phong Hoang                           1 (0.3%)
   Svyatoslav Ryhel                      1 (0.3%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Simon Glass                           291 (29.4%)
   Kever Yang                            117 (11.8%)
   Marek Vasut                           69 (7.0%)
   Peng Fan                              54 (5.4%)
   Ramon Fried                           49 (4.9%)
   Bin Meng                              34 (3.4%)
   Stefan Roese                          29 (2.9%)
   Tom Rini                              23 (2.3%)
   Andre Przywara                        21 (2.1%)
   Ioana Ciornei                         20 (2.0%)
   Mattijs Korpershoek                   20 (2.0%)
   Michael Trimarchi                     19 (1.9%)
   Jagan Teki                            15 (1.5%)
   Neil Armstrong                        13 (1.3%)
   Devarsh Thakkar                       13 (1.3%)
   Fabio Estevam                         12 (1.2%)
   Ilias Apalodimas                      12 (1.2%)
   Heiko Schocher                        12 (1.2%)
   Christian Gmeiner                     12 (1.2%)
   Heinrich Schuchardt                   11 (1.1%)
   Ye Li                                 10 (1.0%)
   Patrick Delaunay                      8 (0.8%)
   Rick Chen                             8 (0.8%)
   Patrice Chotard                       8 (0.8%)
   Michal Simek                          7 (0.7%)
   Kamlesh Gurudasani                    7 (0.7%)
   Leo Yu-Chi Liang                      7 (0.7%)
   Jaehoon Chung                         7 (0.7%)
   Bryan Brattlof                        6 (0.6%)
   Konrad Dybcio                         5 (0.5%)
   Jacky Bai                             5 (0.5%)
   Jernej Skrabec                        5 (0.5%)
   Claudiu Beznea                        4 (0.4%)
   Sean Anderson                         4 (0.4%)
   Douglas Anderson                      4 (0.4%)
   Vladimir Oltean                       4 (0.4%)
   Jonas Karlman                         3 (0.3%)
   Viacheslav Mitrofanov                 3 (0.3%)
   Mark Kettenis                         3 (0.3%)
   Andrejs Cainikovs                     2 (0.2%)
   Minkyu Kang                           2 (0.2%)
   Sumit Garg                            2 (0.2%)
   Joel Stanley                          2 (0.2%)
   Ying-Chun Liu (PaulLiu)               1 (0.1%)
   Miquel Raynal                         1 (0.1%)
   Marcel Ziswiler                       1 (0.1%)
   Eugen Hristev                         1 (0.1%)
   Manorit Chawdhry                      1 (0.1%)
   Francesco Dolcini                     1 (0.1%)
   Dhruva Gole                           1 (0.1%)
   Geert Uytterhoeven                    1 (0.1%)
   Neha Francis                          1 (0.1%)
   Andrew Davis                          1 (0.1%)
   Tim Harvey                            1 (0.1%)
   Quentin Schulz                        1 (0.1%)
   Krzysztof Kozlowski                   1 (0.1%)
   Qu Wenruo                             1 (0.1%)
   Marek Behún                           1 (0.1%)
   Pratyush Yadav                        1 (0.1%)
   Shawn Lin                             1 (0.1%)
   Alexander Kochetkov                   1 (0.1%)
   Andrew Pinski                         1 (0.1%)
   Alice Guo                             1 (0.1%)
   Chia-Wei Wang                         1 (0.1%)
   Ray Jui                               1 (0.1%)
   Peter Robinson                        1 (0.1%)
   Frieder Schrempf                      1 (0.1%)
   John Keeping                          1 (0.1%)
   Sergei Antonov                        1 (0.1%)
   Chris Packham                         1 (0.1%)
   Pali Rohár                            1 (0.1%)
   Adam Ford                             1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Michal Simek                          41 (19.5%)
   Mattijs Korpershoek                   19 (9.0%)
   Ioana Ciornei                         18 (8.6%)
   Svyatoslav Ryhel                      17 (8.1%)
   Conor Dooley                          17 (8.1%)
   Andreas Westman Dorcsak               15 (7.1%)
   Simon Glass                           12 (5.7%)
   Tony Dinh                             8 (3.8%)
   Robert Eckelmann                      7 (3.3%)
   Nicolas Chauvet                       7 (3.3%)
   Martin Rowe                           7 (3.3%)
   Bin Meng                              6 (2.9%)
   Tom Rini                              4 (1.9%)
   Heiko Schocher                        4 (1.9%)
   Jonas Karlman                         4 (1.9%)
   Marek Vasut                           2 (1.0%)
   Jagan Teki                            2 (1.0%)
   Viacheslav Mitrofanov                 2 (1.0%)
   Quentin Schulz                        2 (1.0%)
   Vagrant Cascadian                     2 (1.0%)
   Nikhil M Jain                         2 (1.0%)
   Fabio Estevam                         1 (0.5%)
   Christian Gmeiner                     1 (0.5%)
   Patrick Delaunay                      1 (0.5%)
   Mark Kettenis                         1 (0.5%)
   Eugen Hristev                         1 (0.5%)
   Francesco Dolcini                     1 (0.5%)
   Peter Robinson                        1 (0.5%)
   Sergei Antonov                        1 (0.5%)
   Frank Wunderlich                      1 (0.5%)
   Ion Agorria                           1 (0.5%)
   Jonas Schwöbel                        1 (0.5%)
   Alexandre Ghiti                       1 (0.5%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Svyatoslav Ryhel                      45 (21.4%)
   Marek Vasut                           41 (19.5%)
   Safae Ouajih                          19 (9.0%)
   Pali Rohár                            18 (8.6%)
   Mathew McBride                        18 (8.6%)
   Yanhong Wang                          15 (7.1%)
   Simon Glass                           13 (6.2%)
   Johan Jonker                          7 (3.3%)
   Nikhil M Jain                         5 (2.4%)
   Jonas Karlman                         3 (1.4%)
   Fabio Estevam                         3 (1.4%)
   Marcel Ziswiler                       3 (1.4%)
   Xavier Drudis Ferran                  3 (1.4%)
   Ehsan Mohandesi                       3 (1.4%)
   Dhruva Gole                           2 (1.0%)
   Patrick Wildt                         2 (1.0%)
   Heinrich Schuchardt                   1 (0.5%)
   Tim Harvey                            1 (0.5%)
   Linus Walleij                         1 (0.5%)
   Jianlong Huang                        1 (0.5%)
   Kuan Lim Lee                          1 (0.5%)
   Ondrej Jirman                         1 (0.5%)
   Francis Laniel                        1 (0.5%)
   Lionel Debieve                        1 (0.5%)
   Daniel Golle                          1 (0.5%)
   Jianqun Xu                            1 (0.5%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Tom Rini                              7 (35.0%)
   Francesco Dolcini                     2 (10.0%)
   Mark Millard                          2 (10.0%)
   Pali Rohár                            1 (5.0%)
   Heinrich Schuchardt                   1 (5.0%)
   Patrick Delaunay                      1 (5.0%)
   Mark Kettenis                         1 (5.0%)
   Frank Wunderlich                      1 (5.0%)
   Alexandre Ghiti                       1 (5.0%)
   Andre Przywara                        1 (5.0%)
   AdityaK                               1 (5.0%)
   Rob Herring                           1 (5.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Heinrich Schuchardt                   5 (25.0%)
   Simon Glass                           3 (15.0%)
   Nishanth Menon                        3 (15.0%)
   Tom Rini                              2 (10.0%)
   Patrick Delaunay                      2 (10.0%)
   Fabio Estevam                         2 (10.0%)
   Ilias Apalodimas                      1 (5.0%)
   Ying-Chun Liu (PaulLiu)               1 (5.0%)
   Krzysztof Kozlowski                   1 (5.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             704 (42.2%)
   Google, Inc.                          234 (14.0%)
   Renesas Electronics                   163 (9.8%)
   Texas Instruments                     105 (6.3%)
   NXP                                   102 (6.1%)
   DENX Software Engineering             69 (4.1%)
   Konsulko Group                        60 (3.6%)
   Linaro                                47 (2.8%)
   AMD                                   28 (1.7%)
   Collabora Ltd.                        22 (1.3%)
   ARM                                   20 (1.2%)
   BayLibre SAS                          20 (1.2%)
   Toradex                               19 (1.1%)
   Siemens                               17 (1.0%)
   ST Microelectronics                   16 (1.0%)
   Socionext Inc.                        12 (0.7%)
   Weidmüller Interface GmbH & Co. KG    7 (0.4%)
   Amarula Solutions                     6 (0.4%)
   Rockchip                              6 (0.4%)
   Bootlin                               3 (0.2%)
   Wind River                            2 (0.1%)
   Analog Devices                        1 (0.1%)
   Broadcom                              1 (0.1%)
   Intel                                 1 (0.1%)
   Pengutronix                           1 (0.1%)
   Phytec                                1 (0.1%)
   Ronetix                               1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             59395 (41.6%)
   Renesas Electronics                   16879 (11.8%)
   Google, Inc.                          15141 (10.6%)
   NXP                                   11653 (8.2%)
   Konsulko Group                        8562 (6.0%)
   DENX Software Engineering             7986 (5.6%)
   Linaro                                7608 (5.3%)
   Texas Instruments                     6924 (4.9%)
   Collabora Ltd.                        1493 (1.0%)
   Socionext Inc.                        1335 (0.9%)
   BayLibre SAS                          1102 (0.8%)
   ARM                                   1099 (0.8%)
   Siemens                               1096 (0.8%)
   Rockchip                              1038 (0.7%)
   Toradex                               500 (0.4%)
   AMD                                   284 (0.2%)
   ST Microelectronics                   271 (0.2%)
   Amarula Solutions                     95 (0.1%)
   Weidmüller Interface GmbH & Co. KG    80 (0.1%)
   Wind River                            26 (0.0%)
   Intel                                 26 (0.0%)
   Bootlin                               22 (0.0%)
   Analog Devices                        10 (0.0%)
   Broadcom                              4 (0.0%)
   Pengutronix                           2 (0.0%)
   Ronetix                               2 (0.0%)
   Phytec                                1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Linaro                                80 (20.6%)
   Renesas Electronics                   52 (13.4%)
   NXP                                   51 (13.1%)
   ARM                                   30 (7.7%)
   AMD                                   30 (7.7%)
   (Unknown)                             29 (7.5%)
   Amarula Solutions                     23 (5.9%)
   DENX Software Engineering             18 (4.6%)
   Toradex                               17 (4.4%)
   Texas Instruments                     12 (3.1%)
   Google, Inc.                          11 (2.8%)
   Bootlin                               11 (2.8%)
   Rockchip                              7 (1.8%)
   Collabora Ltd.                        5 (1.3%)
   Konsulko Group                        4 (1.0%)
   Siemens                               4 (1.0%)
   Canonical                             4 (1.0%)
   ST Microelectronics                   1 (0.3%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             93 (49.5%)
   Texas Instruments                     18 (9.6%)
   Linaro                                10 (5.3%)
   Renesas Electronics                   6 (3.2%)
   NXP                                   6 (3.2%)
   Toradex                               6 (3.2%)
   ST Microelectronics                   5 (2.7%)
   AMD                                   4 (2.1%)
   DENX Software Engineering             4 (2.1%)
   Google, Inc.                          4 (2.1%)
   Rockchip                              4 (2.1%)
   ARM                                   3 (1.6%)
   Amarula Solutions                     3 (1.6%)
   Bootlin                               3 (1.6%)
   Collabora Ltd.                        3 (1.6%)
   Siemens                               3 (1.6%)
   BayLibre SAS                          2 (1.1%)
   Wind River                            2 (1.1%)
   Konsulko Group                        1 (0.5%)
   Socionext Inc.                        1 (0.5%)
   Weidmüller Interface GmbH & Co. KG    1 (0.5%)
   Intel                                 1 (0.5%)
   Analog Devices                        1 (0.5%)
   Broadcom                              1 (0.5%)
   Pengutronix                           1 (0.5%)
   Ronetix                               1 (0.5%)
   Phytec                                1 (0.5%)
   ====================================  =====

