:orphan:

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

* Processed 1624 changesets from 191 developers

* 28 employers found

* A total of 2308875 lines added, 242831 removed (delta 2066044)

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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Tom Rini                              324 (20.0%)
   Jonas Karlman                         155 (9.5%)
   Caleb Connolly                        98 (6.0%)
   Heinrich Schuchardt                   84 (5.2%)
   Quentin Schulz                        59 (3.6%)
   Marek Vasut                           52 (3.2%)
   Simon Glass                           44 (2.7%)
   Patrice Chotard                       32 (2.0%)
   Sumit Garg                            31 (1.9%)
   Svyatoslav Ryhel                      31 (1.9%)
   Michal Simek                          26 (1.6%)
   Ilias Apalodimas                      23 (1.4%)
   Neil Armstrong                        23 (1.4%)
   Jonathan Humphreys                    22 (1.4%)
   Andrew Davis                          18 (1.1%)
   Marek Behún                           18 (1.1%)
   Jagan Teki                            17 (1.0%)
   MD Danish Anwar                       15 (0.9%)
   Kongyang Liu                          15 (0.9%)
   Bryan Brattlof                        14 (0.9%)
   Janne Grunau                          14 (0.9%)
   Christophe Leroy                      13 (0.8%)
   Tim Harvey                            13 (0.8%)
   Apurva Nandan                         12 (0.7%)
   Wadim Egorov                          11 (0.7%)
   Andre Przywara                        11 (0.7%)
   Peng Fan                              11 (0.7%)
   Adam Ford                             10 (0.6%)
   Sam Protsenko                         10 (0.6%)
   Roger Quadros                         10 (0.6%)
   Igor Opaniuk                          9 (0.6%)
   Robert Marko                          9 (0.6%)
   Jonas Schwöbel                        9 (0.6%)
   Yang Xiwen                            9 (0.6%)
   Eugene Uriev                          9 (0.6%)
   Chris Morgan                          8 (0.5%)
   Judith Mendez                         8 (0.5%)
   Raymond Mao                           8 (0.5%)
   Alexander Dahl                        7 (0.4%)
   Fabio Estevam                         7 (0.4%)
   Jim Liu                               7 (0.4%)
   Venkatesh Yadav Abbarapu              7 (0.4%)
   Mattijs Korpershoek                   6 (0.4%)
   Daniel Schultz                        6 (0.4%)
   Weizhao Ouyang                        6 (0.4%)
   Ye Li                                 6 (0.4%)
   Conor Dooley                          5 (0.3%)
   Nishanth Menon                        5 (0.3%)
   Leo Yu-Chi Liang                      5 (0.3%)
   Bhargav Raviprakash                   5 (0.3%)
   Masahisa Kojima                       5 (0.3%)
   mwleeds@mailtundra.com                5 (0.3%)
   Michał Barnaś                         5 (0.3%)
   Leonard Anderweit                     5 (0.3%)
   Chen-Yu Tsai                          5 (0.3%)
   Javier Martinez Canillas              4 (0.2%)
   Francesco Dolcini                     4 (0.2%)
   Felipe Balbi                          4 (0.2%)
   Aniket Limaye                         4 (0.2%)
   Christopher Obbard                    4 (0.2%)
   Mathieu Othacehe                      4 (0.2%)
   Joao Paulo Goncalves                  4 (0.2%)
   Sughosh Ganu                          4 (0.2%)
   Volodymyr Babchuk                     4 (0.2%)
   Lukasz Majewski                       4 (0.2%)
   Jacky Chou                            4 (0.2%)
   Dan Carpenter                         4 (0.2%)
   Mihai Sain                            4 (0.2%)
   Arseniy Krasnov                       3 (0.2%)
   Fiona Klute                           3 (0.2%)
   Hanyuan Zhao                          3 (0.2%)
   Greg Malysa                           3 (0.2%)
   Nathan Barrett-Morrison               3 (0.2%)
   Peter Robinson                        3 (0.2%)
   Lukas Funke                           3 (0.2%)
   Yannic Moog                           3 (0.2%)
   Udit Kumar                            3 (0.2%)
   Michael Walle                         3 (0.2%)
   Devarsh Thakkar                       3 (0.2%)
   Christophe Kerello                    3 (0.2%)
   Viacheslav Bocharov                   3 (0.2%)
   Emanuele Ghidoli                      3 (0.2%)
   Hari Nagalla                          3 (0.2%)
   Love Kumar                            3 (0.2%)
   Thomas Weißschuh                      3 (0.2%)
   Weijie Gao                            3 (0.2%)
   Dragan Simic                          2 (0.1%)
   Michael Trimarchi                     2 (0.1%)
   Patrick Delaunay                      2 (0.1%)
   Tony Dinh                             2 (0.1%)
   Sam Povilus                           2 (0.1%)
   H Bell                                2 (0.1%)
   Thinh Nguyen                          2 (0.1%)
   Benjamin Hahn                         2 (0.1%)
   Neha Malcom Francis                   2 (0.1%)
   Ian Roberts                           2 (0.1%)
   Sean Anderson                         2 (0.1%)
   Kamlesh Gurudasani                    2 (0.1%)
   Stefan Eichenberger                   2 (0.1%)
   Parth Pancholi                        2 (0.1%)
   Maksim Kiselev                        2 (0.1%)
   Christophe Roullier                   2 (0.1%)
   Hugo Dubois                           2 (0.1%)
   CASAUBON Jean Michel                  2 (0.1%)
   Ahelenia Ziemiańska                   2 (0.1%)
   Yasuharu Shibata                      2 (0.1%)
   Wan Yee Lau                           2 (0.1%)
   Vincent Stehlé                        2 (0.1%)
   Marcel Ziswiler                       2 (0.1%)
   Maxim Moskalets                       2 (0.1%)
   Sébastien Szymanski                   2 (0.1%)
   Tejas Bhumkar                         2 (0.1%)
   Bhupesh Sharma                        2 (0.1%)
   Colin McAllister                      2 (0.1%)
   Andy Yan                              2 (0.1%)
   Dasnavis Sabiya                       2 (0.1%)
   Stefan Bosch                          2 (0.1%)
   Frank Wunderlich                      1 (0.1%)
   Jiaxun Yang                           1 (0.1%)
   Ravi Minnikanti                       1 (0.1%)
   John Watts                            1 (0.1%)
   Heiko Schocher                        1 (0.1%)
   Thomas Perl                           1 (0.1%)
   Kristian Amlie                        1 (0.1%)
   Heiko Stuebner                        1 (0.1%)
   Anand Moon                            1 (0.1%)
   Alexander Sverdlin                    1 (0.1%)
   Aswath Govindraju                     1 (0.1%)
   Sam Day                               1 (0.1%)
   Boon Khai Ng                          1 (0.1%)
   William Zhang                         1 (0.1%)
   Jaehoon Chung                         1 (0.1%)
   Sam Edwards                           1 (0.1%)
   Linus Walleij                         1 (0.1%)
   Kishan Dudhatra                       1 (0.1%)
   Yu Chien Peter Lin                    1 (0.1%)
   Nitin Yadav                           1 (0.1%)
   Andrea Calabrese                      1 (0.1%)
   Lukasz Czechowski                     1 (0.1%)
   Finley Xiao                           1 (0.1%)
   Jason Zhu                             1 (0.1%)
   Maximilian Brune                      1 (0.1%)
   cmachida                              1 (0.1%)
   Hector Martin                         1 (0.1%)
   Anton Bambura                         1 (0.1%)
   Khem Raj                              1 (0.1%)
   Jianan Huang                          1 (0.1%)
   Charles Hardin                        1 (0.1%)
   Gireesh Hiremath                      1 (0.1%)
   Alexey Romanov                        1 (0.1%)
   Eugeniu Rosca                         1 (0.1%)
   Bruce Suen                            1 (0.1%)
   Kunihiko Hayashi                      1 (0.1%)
   Hugo Cornelis                         1 (0.1%)
   Vitor Soares                          1 (0.1%)
   Martyn Welch                          1 (0.1%)
   Manorit Chawdhry                      1 (0.1%)
   Jixiong Hu                            1 (0.1%)
   Pierre-Clément Tosi                   1 (0.1%)
   Hiago De Franco                       1 (0.1%)
   Petr Zejdl                            1 (0.1%)
   Łukasz Stelmach                       1 (0.1%)
   Ben Dooks                             1 (0.1%)
   Javier Viguera                        1 (0.1%)
   Josua Mayer                           1 (0.1%)
   James Hilliard                        1 (0.1%)
   Marjolaine Amate                      1 (0.1%)
   Vishal Sagar                          1 (0.1%)
   Manikanta Guntupalli                  1 (0.1%)
   Shubhangi Shrikrushna Mahalle         1 (0.1%)
   Piotr Wojtaszczyk                     1 (0.1%)
   Kelly Hung                            1 (0.1%)
   Leon M. Busch-George                  1 (0.1%)
   Lukasz Wiecaszek                      1 (0.1%)
   Jit Loon Lim                          1 (0.1%)
   William Wu                            1 (0.1%)
   Ben Wolsieffer                        1 (0.1%)
   Elon Zhang                            1 (0.1%)
   Vignesh Raghavendra                   1 (0.1%)
   Maks Mishin                           1 (0.1%)
   Bob Wolff                             1 (0.1%)
   Romain Naour                          1 (0.1%)
   Dmitry Baryshkov                      1 (0.1%)
   Vishal Mahaveer                       1 (0.1%)
   Siddharth Vadapalli                   1 (0.1%)
   Ivan Orlov                            1 (0.1%)
   Nam Cao                               1 (0.1%)
   Massimiliano Minella                  1 (0.1%)
   BELOUARGA Mohamed                     1 (0.1%)
   Alexander Gendin                      1 (0.1%)
   Ivan Mikhaylov                        1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Tom Rini                              2187616 (86.6%)
   Jonas Karlman                         69460 (2.8%)
   Marek Vasut                           53285 (2.1%)
   Caleb Connolly                        47393 (1.9%)
   Apurva Nandan                         26241 (1.0%)
   Neil Armstrong                        23816 (0.9%)
   Tim Harvey                            10971 (0.4%)
   Christophe Leroy                      10210 (0.4%)
   Wadim Egorov                          8248 (0.3%)
   Bryan Brattlof                        7039 (0.3%)
   Tony Dinh                             5540 (0.2%)
   Marcel Ziswiler                       5068 (0.2%)
   Nathan Barrett-Morrison               4872 (0.2%)
   Adam Ford                             4867 (0.2%)
   Sumit Garg                            4743 (0.2%)
   Andrew Davis                          4066 (0.2%)
   Quentin Schulz                        3449 (0.1%)
   Peng Fan                              3071 (0.1%)
   Sam Protsenko                         3021 (0.1%)
   Jit Loon Lim                          2717 (0.1%)
   MD Danish Anwar                       2686 (0.1%)
   Anand Moon                            2526 (0.1%)
   Svyatoslav Ryhel                      2445 (0.1%)
   Andy Yan                              1978 (0.1%)
   Peter Robinson                        1907 (0.1%)
   Boon Khai Ng                          1709 (0.1%)
   Arseniy Krasnov                       1669 (0.1%)
   Heinrich Schuchardt                   1350 (0.1%)
   Jagan Teki                            1347 (0.1%)
   Fabio Estevam                         1209 (0.0%)
   Ilias Apalodimas                      1189 (0.0%)
   Simon Glass                           1137 (0.0%)
   Roger Quadros                         955 (0.0%)
   Marek Behún                           939 (0.0%)
   Elon Zhang                            889 (0.0%)
   Kongyang Liu                          846 (0.0%)
   Mihai Sain                            789 (0.0%)
   Bhupesh Sharma                        662 (0.0%)
   Jonas Schwöbel                        620 (0.0%)
   Javier Martinez Canillas              597 (0.0%)
   Michael Walle                         505 (0.0%)
   Eugene Uriev                          501 (0.0%)
   Christophe Kerello                    479 (0.0%)
   Chris Morgan                          452 (0.0%)
   Michal Simek                          449 (0.0%)
   Bhargav Raviprakash                   388 (0.0%)
   Janne Grunau                          386 (0.0%)
   Robert Marko                          332 (0.0%)
   Vignesh Raghavendra                   332 (0.0%)
   H Bell                                291 (0.0%)
   Yang Xiwen                            278 (0.0%)
   Bruce Suen                            269 (0.0%)
   Daniel Schultz                        265 (0.0%)
   Love Kumar                            258 (0.0%)
   Igor Opaniuk                          219 (0.0%)
   Raymond Mao                           208 (0.0%)
   Wan Yee Lau                           206 (0.0%)
   Sughosh Ganu                          201 (0.0%)
   Greg Malysa                           200 (0.0%)
   Patrice Chotard                       199 (0.0%)
   Masahisa Kojima                       193 (0.0%)
   Dasnavis Sabiya                       189 (0.0%)
   Neha Malcom Francis                   183 (0.0%)
   Jonathan Humphreys                    173 (0.0%)
   Anton Bambura                         167 (0.0%)
   Kelly Hung                            164 (0.0%)
   Andre Przywara                        163 (0.0%)
   Kamlesh Gurudasani                    163 (0.0%)
   Volodymyr Babchuk                     147 (0.0%)
   Parth Pancholi                        146 (0.0%)
   Piotr Wojtaszczyk                     144 (0.0%)
   Judith Mendez                         131 (0.0%)
   Joao Paulo Goncalves                  131 (0.0%)
   Leonard Anderweit                     117 (0.0%)
   BELOUARGA Mohamed                     114 (0.0%)
   Finley Xiao                           109 (0.0%)
   Jianan Huang                          99 (0.0%)
   Venkatesh Yadav Abbarapu              95 (0.0%)
   Chen-Yu Tsai                          92 (0.0%)
   Mathieu Othacehe                      92 (0.0%)
   Michał Barnaś                         86 (0.0%)
   Lukasz Majewski                       74 (0.0%)
   Alexander Dahl                        67 (0.0%)
   Nishanth Menon                        66 (0.0%)
   Conor Dooley                          64 (0.0%)
   Francesco Dolcini                     64 (0.0%)
   Maksim Kiselev                        64 (0.0%)
   Linus Walleij                         64 (0.0%)
   Weizhao Ouyang                        63 (0.0%)
   Yannic Moog                           61 (0.0%)
   Weijie Gao                            60 (0.0%)
   Ben Dooks                             60 (0.0%)
   Leo Yu-Chi Liang                      59 (0.0%)
   Fiona Klute                           56 (0.0%)
   Alexey Romanov                        56 (0.0%)
   Jim Liu                               55 (0.0%)
   Devarsh Thakkar                       53 (0.0%)
   Colin McAllister                      53 (0.0%)
   Maxim Moskalets                       51 (0.0%)
   Josua Mayer                           50 (0.0%)
   Ivan Mikhaylov                        50 (0.0%)
   Ian Roberts                           47 (0.0%)
   Christophe Roullier                   44 (0.0%)
   Vincent Stehlé                        44 (0.0%)
   Nam Cao                               43 (0.0%)
   Ben Wolsieffer                        42 (0.0%)
   Felipe Balbi                          41 (0.0%)
   Vishal Sagar                          40 (0.0%)
   Hanyuan Zhao                          38 (0.0%)
   Hugo Dubois                           37 (0.0%)
   Christopher Obbard                    34 (0.0%)
   Aniket Limaye                         33 (0.0%)
   Romain Naour                          33 (0.0%)
   Heiko Stuebner                        31 (0.0%)
   Emanuele Ghidoli                      30 (0.0%)
   Stefan Bosch                          30 (0.0%)
   mwleeds@mailtundra.com                28 (0.0%)
   Michael Trimarchi                     23 (0.0%)
   Thomas Weißschuh                      22 (0.0%)
   Thinh Nguyen                          21 (0.0%)
   Nitin Yadav                           19 (0.0%)
   Jixiong Hu                            18 (0.0%)
   Marjolaine Amate                      18 (0.0%)
   Dan Carpenter                         17 (0.0%)
   Stefan Eichenberger                   17 (0.0%)
   Sam Povilus                           15 (0.0%)
   Sébastien Szymanski                   15 (0.0%)
   Massimiliano Minella                  15 (0.0%)
   Mattijs Korpershoek                   14 (0.0%)
   Sean Anderson                         14 (0.0%)
   Lukas Funke                           13 (0.0%)
   Yasuharu Shibata                      13 (0.0%)
   Sam Edwards                           13 (0.0%)
   Kunihiko Hayashi                      13 (0.0%)
   Jacky Chou                            12 (0.0%)
   Vitor Soares                          12 (0.0%)
   Ye Li                                 11 (0.0%)
   Udit Kumar                            11 (0.0%)
   Hiago De Franco                       11 (0.0%)
   Hari Nagalla                          10 (0.0%)
   Maximilian Brune                      10 (0.0%)
   Leon M. Busch-George                  10 (0.0%)
   Viacheslav Bocharov                   9 (0.0%)
   Benjamin Hahn                         9 (0.0%)
   cmachida                              9 (0.0%)
   James Hilliard                        9 (0.0%)
   Lukasz Wiecaszek                      9 (0.0%)
   Charles Hardin                        8 (0.0%)
   Petr Zejdl                            8 (0.0%)
   Vishal Mahaveer                       8 (0.0%)
   Sam Day                               7 (0.0%)
   Manorit Chawdhry                      7 (0.0%)
   Łukasz Stelmach                       7 (0.0%)
   Andrea Calabrese                      6 (0.0%)
   Siddharth Vadapalli                   6 (0.0%)
   CASAUBON Jean Michel                  5 (0.0%)
   Ahelenia Ziemiańska                   5 (0.0%)
   Ravi Minnikanti                       5 (0.0%)
   Hugo Cornelis                         5 (0.0%)
   Bob Wolff                             5 (0.0%)
   Alexander Gendin                      5 (0.0%)
   Dragan Simic                          4 (0.0%)
   Aswath Govindraju                     4 (0.0%)
   Kishan Dudhatra                       4 (0.0%)
   Khem Raj                              4 (0.0%)
   Tejas Bhumkar                         3 (0.0%)
   Heiko Schocher                        3 (0.0%)
   Lukasz Czechowski                     3 (0.0%)
   Jason Zhu                             3 (0.0%)
   Maks Mishin                           3 (0.0%)
   Patrick Delaunay                      2 (0.0%)
   Jiaxun Yang                           2 (0.0%)
   William Zhang                         2 (0.0%)
   Eugeniu Rosca                         2 (0.0%)
   Pierre-Clément Tosi                   2 (0.0%)
   Javier Viguera                        2 (0.0%)
   Manikanta Guntupalli                  2 (0.0%)
   Dmitry Baryshkov                      2 (0.0%)
   Frank Wunderlich                      1 (0.0%)
   John Watts                            1 (0.0%)
   Thomas Perl                           1 (0.0%)
   Kristian Amlie                        1 (0.0%)
   Alexander Sverdlin                    1 (0.0%)
   Jaehoon Chung                         1 (0.0%)
   Yu Chien Peter Lin                    1 (0.0%)
   Hector Martin                         1 (0.0%)
   Gireesh Hiremath                      1 (0.0%)
   Martyn Welch                          1 (0.0%)
   Shubhangi Shrikrushna Mahalle         1 (0.0%)
   William Wu                            1 (0.0%)
   Ivan Orlov                            1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Jonas Karlman                         59892 (24.7%)
   Marek Vasut                           51731 (21.3%)
   Neil Armstrong                        19240 (7.9%)
   Tim Harvey                            10397 (4.3%)
   Tony Dinh                             5465 (2.3%)
   Marcel Ziswiler                       5061 (2.1%)
   Adam Ford                             4818 (2.0%)
   Andrew Davis                          3493 (1.4%)
   Peng Fan                              2778 (1.1%)
   Anand Moon                            2523 (1.0%)
   Sam Protsenko                         2273 (0.9%)
   Peter Robinson                        1907 (0.8%)
   Fabio Estevam                         1185 (0.5%)
   Sumit Garg                            845 (0.3%)
   Javier Martinez Canillas              582 (0.2%)
   Michael Walle                         494 (0.2%)
   Chen-Yu Tsai                          80 (0.0%)
   Igor Opaniuk                          72 (0.0%)
   Linus Walleij                         61 (0.0%)
   Francesco Dolcini                     36 (0.0%)
   Sam Edwards                           12 (0.0%)
   Ben Wolsieffer                        11 (0.0%)
   Hiago De Franco                       11 (0.0%)
   Kunihiko Hayashi                      10 (0.0%)
   Colin McAllister                      7 (0.0%)
   Heiko Schocher                        3 (0.0%)
   Dan Carpenter                         2 (0.0%)
   Dragan Simic                          2 (0.0%)
   Jiaxun Yang                           1 (0.0%)
   William Zhang                         1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Caleb Connolly                        41 (17.7%)
   Mattijs Korpershoek                   19 (8.2%)
   Michal Simek                          15 (6.5%)
   Dario Binacchi                        11 (4.8%)
   Chris Morgan                          10 (4.3%)
   Ilias Apalodimas                      10 (4.3%)
   Svyatoslav Ryhel                      10 (4.3%)
   Hari Nagalla                          8 (3.5%)
   Minkyu Kang                           7 (3.0%)
   Alexander Sverdlin                    6 (2.6%)
   Ian Roberts                           6 (2.6%)
   Greg Malysa                           5 (2.2%)
   Nathan Barrett-Morrison               5 (2.2%)
   Manorit Chawdhry                      4 (1.7%)
   Dasnavis Sabiya                       4 (1.7%)
   Christophe Leroy                      4 (1.7%)
   Apurva Nandan                         4 (1.7%)
   Neil Armstrong                        3 (1.3%)
   Francesco Dolcini                     3 (1.3%)
   Vasileios Bimpikas                    3 (1.3%)
   Utsav Agarwal                         3 (1.3%)
   Arturs Artamonovs                     3 (1.3%)
   Neha Malcom Francis                   3 (1.3%)
   Janne Grunau                          3 (1.3%)
   Heinrich Schuchardt                   3 (1.3%)
   Jonas Karlman                         2 (0.9%)
   Marek Vasut                           2 (0.9%)
   Sumit Garg                            2 (0.9%)
   Dhruva Gole                           2 (0.9%)
   Kever Yang                            2 (0.9%)
   Ravi Gunasekaran                      2 (0.9%)
   Parvathi Bhogaraju                    2 (0.9%)
   Jayesh Choudhary                      2 (0.9%)
   Bo-Cun Chen                           2 (0.9%)
   Daniel Schultz                        2 (0.9%)
   Jonas Schwöbel                        2 (0.9%)
   Bryan Brattlof                        2 (0.9%)
   Peng Fan                              1 (0.4%)
   Fabio Estevam                         1 (0.4%)
   Stefan Roese                          1 (0.4%)
   Greg Kroah-Hartman                    1 (0.4%)
   Angelo Dureghello                     1 (0.4%)
   Anatolij Gustschin                    1 (0.4%)
   Vaishnav Achath                       1 (0.4%)
   Ashok Reddy Soma                      1 (0.4%)
   Dong Huang                            1 (0.4%)
   Shubhangi Shrikrushna Mahalle         1 (0.4%)
   Felipe Balbi                          1 (0.4%)
   Judith Mendez                         1 (0.4%)
   Patrice Chotard                       1 (0.4%)
   Quentin Schulz                        1 (0.4%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Kever Yang                            223 (21.8%)
   Neil Armstrong                        71 (6.9%)
   Sumit Garg                            70 (6.8%)
   Dragan Simic                          45 (4.4%)
   Ilias Apalodimas                      42 (4.1%)
   Heinrich Schuchardt                   35 (3.4%)
   Patrick Delaunay                      33 (3.2%)
   Quentin Schulz                        32 (3.1%)
   Mattijs Korpershoek                   31 (3.0%)
   Leo Yu-Chi Liang                      31 (3.0%)
   Marek Vasut                           28 (2.7%)
   Jaehoon Chung                         28 (2.7%)
   Patrice Chotard                       22 (2.1%)
   Caleb Connolly                        21 (2.0%)
   Tom Rini                              21 (2.0%)
   Stefan Roese                          20 (2.0%)
   Neha Malcom Francis                   17 (1.7%)
   Simon Glass                           16 (1.6%)
   Peter Robinson                        13 (1.3%)
   Igor Opaniuk                          13 (1.3%)
   Thierry Reding                        12 (1.2%)
   Neal Gompa                            11 (1.1%)
   Heiko Schocher                        9 (0.9%)
   Michael Trimarchi                     9 (0.9%)
   Roger Quadros                         9 (0.9%)
   Tony Dinh                             8 (0.8%)
   Christopher Obbard                    8 (0.8%)
   Jonas Karlman                         6 (0.6%)
   Dhruva Gole                           6 (0.6%)
   E Shattow                             6 (0.6%)
   Christophe ROULLIER                   6 (0.6%)
   Richard Henderson                     6 (0.6%)
   Nishanth Menon                        6 (0.6%)
   Ravi Gunasekaran                      5 (0.5%)
   Teresa Remmet                         5 (0.5%)
   Mark Kettenis                         5 (0.5%)
   Paul Barker                           5 (0.5%)
   Udit Kumar                            5 (0.5%)
   Sean Anderson                         5 (0.5%)
   Fabio Estevam                         4 (0.4%)
   Sam Protsenko                         4 (0.4%)
   Enric Balletbo i Serra                4 (0.4%)
   Laurent Pinchart                      4 (0.4%)
   Bryan Brattlof                        3 (0.3%)
   Andrew Davis                          3 (0.3%)
   Sam Edwards                           3 (0.3%)
   Dan Carpenter                         3 (0.3%)
   William Zhang                         3 (0.3%)
   Chris Packham                         3 (0.3%)
   Nikhil M Jain                         3 (0.3%)
   Tianling Shen                         3 (0.3%)
   Anatolij Gustschin                    2 (0.2%)
   CASAUBON Jean Michel                  2 (0.2%)
   Ian Ray                               2 (0.2%)
   Oleksandr Suvorov                     2 (0.2%)
   Bin Meng                              2 (0.2%)
   Tien Fong Chee                        2 (0.2%)
   Minkyu Kang                           1 (0.1%)
   Tim Harvey                            1 (0.1%)
   Adam Ford                             1 (0.1%)
   Linus Walleij                         1 (0.1%)
   Eddie James                           1 (0.1%)
   Guillaume La Roque                    1 (0.1%)
   Julien Masson                         1 (0.1%)
   Miquel Raynal                         1 (0.1%)
   Tim Lunn                              1 (0.1%)
   Cédric Le Goater                      1 (0.1%)
   Biju Das                              1 (0.1%)
   Holger Brunck                         1 (0.1%)
   Otavio Salvador                       1 (0.1%)
   Chia-Wei Wang                         1 (0.1%)
   Keerthy                               1 (0.1%)
   Philipp Tomsich                       1 (0.1%)
   Gao Xiang                             1 (0.1%)
   Frieder Schrempf                      1 (0.1%)
   Dmitrii Merkurev                      1 (0.1%)
   Marc Zyngier                          1 (0.1%)
   Ramon Fried                           1 (0.1%)
   Jai Luthra                            1 (0.1%)
   Alexander Dahl                        1 (0.1%)
   Heiko Stuebner                        1 (0.1%)
   Hugo Dubois                           1 (0.1%)
   Weizhao Ouyang                        1 (0.1%)
   Andre Przywara                        1 (0.1%)
   Mathieu Othacehe                      1 (0.1%)
   Wadim Egorov                          1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Sumit Garg                            19 (11.4%)
   Marcel Ziswiler                       15 (9.0%)
   Svyatoslav Ryhel                      10 (6.0%)
   Mattijs Korpershoek                   9 (5.4%)
   Ion Agorria                           9 (5.4%)
   Tim Harvey                            7 (4.2%)
   Adam Ford                             7 (4.2%)
   Andreas Westman Dorcsak               7 (4.2%)
   Sam Edwards                           6 (3.6%)
   Agneli                                6 (3.6%)
   Robert Eckelmann                      6 (3.6%)
   Simon Glass                           5 (3.0%)
   Teresa Remmet                         5 (3.0%)
   Fabio Estevam                         5 (3.0%)
   Ilias Apalodimas                      4 (2.4%)
   Jonathan Humphreys                    4 (2.4%)
   Neil Armstrong                        3 (1.8%)
   Paul Barker                           3 (1.8%)
   Heiko Stuebner                        3 (1.8%)
   Christian Gmeiner                     3 (1.8%)
   Heinrich Schuchardt                   2 (1.2%)
   Caleb Connolly                        2 (1.2%)
   Tony Dinh                             2 (1.2%)
   Hiago De Franco                       2 (1.2%)
   Robert Nelson                         2 (1.2%)
   Leo Yu-Chi Liang                      1 (0.6%)
   Jaehoon Chung                         1 (0.6%)
   Patrice Chotard                       1 (0.6%)
   Dhruva Gole                           1 (0.6%)
   E Shattow                             1 (0.6%)
   Ravi Gunasekaran                      1 (0.6%)
   Bryan Brattlof                        1 (0.6%)
   Andrew Davis                          1 (0.6%)
   Tim Lunn                              1 (0.6%)
   Otavio Salvador                       1 (0.6%)
   Wadim Egorov                          1 (0.6%)
   Michal Simek                          1 (0.6%)
   Alexander Sverdlin                    1 (0.6%)
   Jonas Schwöbel                        1 (0.6%)
   Judith Mendez                         1 (0.6%)
   Michael Walle                         1 (0.6%)
   Patrick Bruenn                        1 (0.6%)
   Jethro Bull                           1 (0.6%)
   Kamlesh Gurudasani                    1 (0.6%)
   Robert Marko                          1 (0.6%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Svyatoslav Ryhel                      36 (21.7%)
   Caleb Connolly                        23 (13.9%)
   Sumit Garg                            15 (9.0%)
   Apurva Nandan                         12 (7.2%)
   Marek Vasut                           10 (6.0%)
   Ilias Apalodimas                      6 (3.6%)
   Quentin Schulz                        6 (3.6%)
   Tom Rini                              6 (3.6%)
   Neil Armstrong                        5 (3.0%)
   Andrew Davis                          5 (3.0%)
   Leonard Anderweit                     5 (3.0%)
   Jonas Schwöbel                        4 (2.4%)
   Fabio Estevam                         3 (1.8%)
   Heinrich Schuchardt                   3 (1.8%)
   Bryan Brattlof                        3 (1.8%)
   Alexander Sverdlin                    2 (1.2%)
   Dasnavis Sabiya                       2 (1.2%)
   Pierre-Clément Tosi                   2 (1.2%)
   Yasuharu Shibata                      2 (1.2%)
   Josua Mayer                           2 (1.2%)
   Masahisa Kojima                       2 (1.2%)
   Tim Harvey                            1 (0.6%)
   Simon Glass                           1 (0.6%)
   Tony Dinh                             1 (0.6%)
   Judith Mendez                         1 (0.6%)
   Igor Opaniuk                          1 (0.6%)
   Roger Quadros                         1 (0.6%)
   Nishanth Menon                        1 (0.6%)
   Anand Moon                            1 (0.6%)
   Sébastien Szymanski                   1 (0.6%)
   Maksim Kiselev                        1 (0.6%)
   Ben Dooks                             1 (0.6%)
   Yang Xiwen                            1 (0.6%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   E Shattow                             4 (14.8%)
   Sumit Garg                            2 (7.4%)
   Jonas Karlman                         2 (7.4%)
   Laurent Pinchart                      2 (7.4%)
   Suman Anna                            2 (7.4%)
   Marek Vasut                           1 (3.7%)
   Andrew Davis                          1 (3.7%)
   Heinrich Schuchardt                   1 (3.7%)
   Tim Harvey                            1 (3.7%)
   Simon Glass                           1 (3.7%)
   Jonathan Humphreys                    1 (3.7%)
   Patrice Chotard                       1 (3.7%)
   Dhruva Gole                           1 (3.7%)
   Dan Carpenter                         1 (3.7%)
   Christophe Leroy                      1 (3.7%)
   Eugeniu Rosca                         1 (3.7%)
   Janusz Dziedzic                       1 (3.7%)
   David Virag                           1 (3.7%)
   Jan Kiszka                            1 (3.7%)
   Aniket Limaye                         1 (3.7%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Heinrich Schuchardt                   6 (22.2%)
   Neha Malcom Francis                   3 (11.1%)
   Marek Vasut                           2 (7.4%)
   Caleb Connolly                        2 (7.4%)
   Tom Rini                              2 (7.4%)
   Fabio Estevam                         2 (7.4%)
   Bryan Brattlof                        2 (7.4%)
   Andrew Davis                          1 (3.7%)
   Ilias Apalodimas                      1 (3.7%)
   Quentin Schulz                        1 (3.7%)
   Yasuharu Shibata                      1 (3.7%)
   Nishanth Menon                        1 (3.7%)
   Sam Protsenko                         1 (3.7%)
   Felipe Balbi                          1 (3.7%)
   Alexander Gendin                      1 (3.7%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             645 (39.7%)
   Konsulko Group                        324 (20.0%)
   Linaro                                201 (12.4%)
   Texas Instruments                     119 (7.3%)
   Google LLC                            50 (3.1%)
   AMD                                   43 (2.6%)
   ST Microelectronics                   39 (2.4%)
   DENX Software Engineering             34 (2.1%)
   Phytec                                27 (1.7%)
   Renesas Electronics                   25 (1.5%)
   Toradex                               19 (1.2%)
   NXP                                   17 (1.0%)
   Edgeble AI Technologies Pvt. Ltd.     14 (0.9%)
   ARM                                   13 (0.8%)
   Intel                                 9 (0.6%)
   Amarula Solutions                     7 (0.4%)
   BayLibre SAS                          6 (0.4%)
   Socionext Inc.                        6 (0.4%)
   Collabora Ltd.                        5 (0.3%)
   Red Hat                               4 (0.2%)
   linutronix                            4 (0.2%)
   Rockchip                              4 (0.2%)
   Weidmüller Interface GmbH & Co. KG    3 (0.2%)
   Samsung                               2 (0.1%)
   Broadcom                              1 (0.1%)
   Digi International                    1 (0.1%)
   Marvell                               1 (0.1%)
   Siemens                               1 (0.1%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   Konsulko Group                        2187616 (86.6%)
   (Unknown)                             130949 (5.2%)
   Linaro                                80577 (3.2%)
   Renesas Electronics                   52143 (2.1%)
   Texas Instruments                     41420 (1.6%)
   Phytec                                8700 (0.3%)
   Toradex                               5479 (0.2%)
   Intel                                 4682 (0.2%)
   Edgeble AI Technologies Pvt. Ltd.     3856 (0.2%)
   NXP                                   3082 (0.1%)
   DENX Software Engineering             1283 (0.1%)
   Google LLC                            1225 (0.0%)
   Rockchip                              1002 (0.0%)
   AMD                                   863 (0.0%)
   ST Microelectronics                   724 (0.0%)
   Red Hat                               597 (0.0%)
   ARM                                   207 (0.0%)
   Socionext Inc.                        206 (0.0%)
   linutronix                            65 (0.0%)
   Amarula Solutions                     46 (0.0%)
   Collabora Ltd.                        35 (0.0%)
   BayLibre SAS                          14 (0.0%)
   Weidmüller Interface GmbH & Co. KG    13 (0.0%)
   Samsung                               8 (0.0%)
   Marvell                               5 (0.0%)
   Broadcom                              2 (0.0%)
   Digi International                    2 (0.0%)
   Siemens                               1 (0.0%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             56 (24.2%)
   Linaro                                56 (24.2%)
   Texas Instruments                     33 (14.3%)
   BayLibre SAS                          19 (8.2%)
   AMD                                   17 (7.4%)
   Amarula Solutions                     11 (4.8%)
   Analog Devices                        9 (3.9%)
   Samsung                               7 (3.0%)
   Siemens                               6 (2.6%)
   DENX Software Engineering             4 (1.7%)
   Toradex                               3 (1.3%)
   Canonical                             3 (1.3%)
   Phytec                                2 (0.9%)
   Rockchip                              2 (0.9%)
   Intel                                 1 (0.4%)
   NXP                                   1 (0.4%)
   ST Microelectronics                   1 (0.4%)
   ====================================  =====


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

   ====================================  =====
   Name                                  Count
   ====================================  =====
   (Unknown)                             98 (50.3%)
   Texas Instruments                     20 (10.3%)
   Linaro                                10 (5.1%)
   AMD                                   8 (4.1%)
   Toradex                               8 (4.1%)
   Phytec                                5 (2.6%)
   Intel                                 5 (2.6%)
   DENX Software Engineering             4 (2.1%)
   Rockchip                              4 (2.1%)
   ST Microelectronics                   4 (2.1%)
   Amarula Solutions                     3 (1.5%)
   Google LLC                            3 (1.5%)
   Samsung                               2 (1.0%)
   NXP                                   2 (1.0%)
   Edgeble AI Technologies Pvt. Ltd.     2 (1.0%)
   ARM                                   2 (1.0%)
   Socionext Inc.                        2 (1.0%)
   linutronix                            2 (1.0%)
   Collabora Ltd.                        2 (1.0%)
   BayLibre SAS                          1 (0.5%)
   Siemens                               1 (0.5%)
   Konsulko Group                        1 (0.5%)
   Renesas Electronics                   1 (0.5%)
   Red Hat                               1 (0.5%)
   Weidmüller Interface GmbH & Co. KG    1 (0.5%)
   Marvell                               1 (0.5%)
   Broadcom                              1 (0.5%)
   Digi International                    1 (0.5%)
   ====================================  =====

