:orphan:

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

* Processed 1074 csets from 146 developers

* 30 employers found

* A total of 65681 lines added, 100024 removed (delta -34343)

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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   123 (11.5%)
   Stephen Warren                    91 (8.5%)
   Simon Glass                       82 (7.6%)
   Nobuhiro Iwamatsu                 49 (4.6%)
   Tom Rini                          40 (3.7%)
   Michal Simek                      33 (3.1%)
   Jeroen Hofstee                    33 (3.1%)
   Fabio Estevam                     24 (2.2%)
   Tim Harvey                        22 (2.0%)
   Prabhakar Kushwaha                20 (1.9%)
   Wu, Josh                          19 (1.8%)
   York Sun                          19 (1.8%)
   Heiko Schocher                    18 (1.7%)
   Ian Campbell                      15 (1.4%)
   pekon gupta                       15 (1.4%)
   Mateusz Zalega                    15 (1.4%)
   Marek Vasut                       14 (1.3%)
   Dirk Eibach                       13 (1.2%)
   Ash Charles                       13 (1.2%)
   Jaehoon Chung                     13 (1.2%)
   Lukasz Majewski                   12 (1.1%)
   Akshay Saraswat                   12 (1.1%)
   Siva Durga Prasad Paladugu        12 (1.1%)
   Shengzhou Liu                     12 (1.1%)
   Aneesh Bansal                     12 (1.1%)
   Paul Burton                       11 (1.0%)
   Nishanth Menon                    11 (1.0%)
   Vasili Galka                      10 (0.9%)
   Przemyslaw Marczak                10 (0.9%)
   Alexander Graf                    10 (0.9%)
   Lokesh Vutla                      9 (0.8%)
   Felipe Balbi                      8 (0.7%)
   Hannes Petermaier                 8 (0.7%)
   Andreas Bießmann                  8 (0.7%)
   Murali Karicheri                  8 (0.7%)
   Eric Benard                       8 (0.7%)
   Albert ARIBAUD                    7 (0.7%)
   Rob Herring                       7 (0.7%)
   Samuel Egli                       7 (0.7%)
   Steve Rae                         6 (0.6%)
   Bo Shen                           6 (0.6%)
   Dmitry Lifshitz                   6 (0.6%)
   Zhao Qiang                        6 (0.6%)
   Valentin Longchamp                6 (0.6%)
   Stefano Babic                     5 (0.5%)
   Shaveta Leekha                    5 (0.5%)
   Chunhe Lan                        5 (0.5%)
   Shaohui Xie                       5 (0.5%)
   Alexey Brodkin                    5 (0.5%)
   Nikhil Badola                     5 (0.5%)
   Tang Yuantian                     5 (0.5%)
   Vitaly Andrianov                  5 (0.5%)
   Eric Nelson                       4 (0.4%)
   Wolfgang Denk                     4 (0.4%)
   Chin Liang See                    4 (0.4%)
   Poddar, Sourav                    4 (0.4%)
   Stefan Agner                      4 (0.4%)
   Daniel Schwierzeck                4 (0.4%)
   Khoronzhuk, Ivan                  3 (0.3%)
   Thomas Betker                     3 (0.3%)
   Aaron Durbin                      3 (0.3%)
   Pierre Aubert                     3 (0.3%)
   Beomho Seo                        3 (0.3%)
   Thomas Diener                     3 (0.3%)
   Lothar Rubusch                    2 (0.2%)
   Cooper Jr., Franklin              2 (0.2%)
   Christian Riesch                  2 (0.2%)
   Darwin Rambo                      2 (0.2%)
   Axel Lin                          2 (0.2%)
   J. German Rivera                  2 (0.2%)
   Ilya Ledvich                      2 (0.2%)
   Yasuhisa Umano                    2 (0.2%)
   Jon Loeliger                      2 (0.2%)
   Chao Fu                           2 (0.2%)
   Doug Anderson                     2 (0.2%)
   Alison Wang                       2 (0.2%)
   Brian Norris                      2 (0.2%)
   Michael van der Westhuizen        2 (0.2%)
   Franck Jullien                    2 (0.2%)
   Charles Manning                   2 (0.2%)
   Hans de Goede                     2 (0.2%)
   Michael Walle                     2 (0.2%)
   Robert Nelson                     2 (0.2%)
   Stefan Bigler                     2 (0.2%)
   Manish Badarkhe                   2 (0.2%)
   Otavio Salvador                   2 (0.2%)
   Daniel Hellstrom                  2 (0.2%)
   Sebastian Siewior                 2 (0.2%)
   Adrian Cox                        2 (0.2%)
   vijay rai                         2 (0.2%)
   Codrin Ciubotariu                 2 (0.2%)
   Pavel Machek                      1 (0.1%)
   Andre Renaud                      1 (0.1%)
   Tyler Baker                       1 (0.1%)
   Alexey Ignatov                    1 (0.1%)
   Linus Walleij                     1 (0.1%)
   Shaibal.Dutta                     1 (0.1%)
   Łukasz Dałek                      1 (0.1%)
   Sergey Kostanbaev                 1 (0.1%)
   Minkyu Kang                       1 (0.1%)
   Michael Pratt                     1 (0.1%)
   Jon Nalley                        1 (0.1%)
   Dan Murphy                        1 (0.1%)
   Tushar Behera                     1 (0.1%)
   Shawn Guo                         1 (0.1%)
   Tim Schendekehl                   1 (0.1%)
   Chris Packham                     1 (0.1%)
   Darwin Dingel                     1 (0.1%)
   Mark Rutland                      1 (0.1%)
   Andrew Ruder                      1 (0.1%)
   WingMan Kwok                      1 (0.1%)
   David Mosberger                   1 (0.1%)
   Sandeep Singh                     1 (0.1%)
   poonam aggrwal                    1 (0.1%)
   Hou Zhiqiang                      1 (0.1%)
   Cormier, Jonathan                 1 (0.1%)
   Piotr Wilczek                     1 (0.1%)
   Tom Wai-Hong Tam                  1 (0.1%)
   David Feng                        1 (0.1%)
   Igor Grinberg                     1 (0.1%)
   Sergey Alyoshin                   1 (0.1%)
   Keerthy                           1 (0.1%)
   Peter A. Bigot                    1 (0.1%)
   Andrew Gabbasov                   1 (0.1%)
   Ye.Li                             1 (0.1%)
   Liu Gang                          1 (0.1%)
   Kim Phillips                      1 (0.1%)
   ramneek mehresh                   1 (0.1%)
   Ebony Zhu                         1 (0.1%)
   Mike Looijmans                    1 (0.1%)
   Belisko Marek                     1 (0.1%)
   Yegor Yefremov                    1 (0.1%)
   Ralph Siemsen                     1 (0.1%)
   Kristian Otnes                    1 (0.1%)
   Xiaobo Xie                        1 (0.1%)
   Jesper B. Christensen             1 (0.1%)
   Inha Song                         1 (0.1%)
   Stephan Linz                      1 (0.1%)
   Andrey Konovalov                  1 (0.1%)
   Matthias Fuchs                    1 (0.1%)
   Priyanka Jain                     1 (0.1%)
   Haijun.Zhang                      1 (0.1%)
   Scott Wood                        1 (0.1%)
   David Müller (ELSOFT AG)          1 (0.1%)
   Kees Cook                         1 (0.1%)
   Hung-ying Tyan                    1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   66904 (46.0%)
   Simon Glass                       7690 (5.3%)
   Stephen Warren                    7624 (5.2%)
   Daniel Schwierzeck                5276 (3.6%)
   York Sun                          4289 (3.0%)
   Vitaly Andrianov                  3725 (2.6%)
   Albert ARIBAUD                    3721 (2.6%)
   Akshay Saraswat                   3652 (2.5%)
   Ian Campbell                      3431 (2.4%)
   Nobuhiro Iwamatsu                 2613 (1.8%)
   Tim Harvey                        2387 (1.6%)
   Heiko Schocher                    2126 (1.5%)
   Sergey Kostanbaev                 1636 (1.1%)
   Fabio Estevam                     1581 (1.1%)
   Chunhe Lan                        1518 (1.0%)
   Murali Karicheri                  1477 (1.0%)
   Prabhakar Kushwaha                1463 (1.0%)
   Ash Charles                       1353 (0.9%)
   Eric Benard                       1178 (0.8%)
   Chin Liang See                    1094 (0.8%)
   Sebastian Siewior                 1039 (0.7%)
   Michal Simek                      896 (0.6%)
   Pierre Aubert                     892 (0.6%)
   Alexander Graf                    889 (0.6%)
   Tom Rini                          887 (0.6%)
   Stefan Agner                      788 (0.5%)
   vijay rai                         749 (0.5%)
   Shaveta Leekha                    733 (0.5%)
   Shengzhou Liu                     723 (0.5%)
   Wolfgang Denk                     649 (0.4%)
   Alison Wang                       612 (0.4%)
   Marek Vasut                       599 (0.4%)
   Dmitry Lifshitz                   590 (0.4%)
   pekon gupta                       582 (0.4%)
   Shaohui Xie                       555 (0.4%)
   Tom Wai-Hong Tam                  525 (0.4%)
   Dirk Eibach                       495 (0.3%)
   Andreas Bießmann                  494 (0.3%)
   Darwin Rambo                      468 (0.3%)
   Siva Durga Prasad Paladugu        426 (0.3%)
   Vasili Galka                      398 (0.3%)
   J. German Rivera                  391 (0.3%)
   Lukasz Majewski                   363 (0.2%)
   Wu, Josh                          321 (0.2%)
   Thomas Diener                     297 (0.2%)
   Mateusz Zalega                    289 (0.2%)
   Khoronzhuk, Ivan                  272 (0.2%)
   Jaehoon Chung                     267 (0.2%)
   Nishanth Menon                    259 (0.2%)
   Jeroen Hofstee                    250 (0.2%)
   Samuel Egli                       229 (0.2%)
   Cooper Jr., Franklin              225 (0.2%)
   Bo Shen                           188 (0.1%)
   Lothar Rubusch                    170 (0.1%)
   Alexey Brodkin                    161 (0.1%)
   Otavio Salvador                   155 (0.1%)
   Hung-ying Tyan                    153 (0.1%)
   Zhao Qiang                        141 (0.1%)
   Tang Yuantian                     134 (0.1%)
   Felipe Balbi                      115 (0.1%)
   Paul Burton                       111 (0.1%)
   Nikhil Badola                     109 (0.1%)
   Hou Zhiqiang                      106 (0.1%)
   Valentin Longchamp                104 (0.1%)
   Matthias Fuchs                    101 (0.1%)
   Przemyslaw Marczak                100 (0.1%)
   Charles Manning                   96 (0.1%)
   Steve Rae                         92 (0.1%)
   Stefano Babic                     92 (0.1%)
   Aneesh Bansal                     87 (0.1%)
   Sandeep Singh                     76 (0.1%)
   Beomho Seo                        73 (0.1%)
   Chao Fu                           72 (0.0%)
   Lokesh Vutla                      68 (0.0%)
   Adrian Cox                        56 (0.0%)
   Franck Jullien                    53 (0.0%)
   Hannes Petermaier                 52 (0.0%)
   Doug Anderson                     51 (0.0%)
   Stefan Bigler                     49 (0.0%)
   Poddar, Sourav                    48 (0.0%)
   Rob Herring                       43 (0.0%)
   Thomas Betker                     38 (0.0%)
   Michael Walle                     32 (0.0%)
   Keerthy                           32 (0.0%)
   Codrin Ciubotariu                 30 (0.0%)
   Liu Gang                          30 (0.0%)
   Daniel Hellstrom                  28 (0.0%)
   Hans de Goede                     24 (0.0%)
   Sergey Alyoshin                   23 (0.0%)
   Brian Norris                      20 (0.0%)
   Darwin Dingel                     20 (0.0%)
   Aaron Durbin                      18 (0.0%)
   Michael van der Westhuizen        18 (0.0%)
   Kim Phillips                      18 (0.0%)
   Ye.Li                             14 (0.0%)
   Andrew Ruder                      12 (0.0%)
   Priyanka Jain                     12 (0.0%)
   Jon Loeliger                      11 (0.0%)
   Dan Murphy                        11 (0.0%)
   Eric Nelson                       10 (0.0%)
   David Mosberger                   10 (0.0%)
   Michael Pratt                     9 (0.0%)
   Robert Nelson                     8 (0.0%)
   Manish Badarkhe                   8 (0.0%)
   Scott Wood                        8 (0.0%)
   poonam aggrwal                    6 (0.0%)
   ramneek mehresh                   6 (0.0%)
   Axel Lin                          5 (0.0%)
   Chris Packham                     5 (0.0%)
   Igor Grinberg                     5 (0.0%)
   Andrew Gabbasov                   5 (0.0%)
   Christian Riesch                  4 (0.0%)
   Alexey Ignatov                    4 (0.0%)
   Ebony Zhu                         4 (0.0%)
   Inha Song                         4 (0.0%)
   Andrey Konovalov                  4 (0.0%)
   Ilya Ledvich                      3 (0.0%)
   Yasuhisa Umano                    3 (0.0%)
   Cormier, Jonathan                 3 (0.0%)
   Yegor Yefremov                    3 (0.0%)
   Xiaobo Xie                        3 (0.0%)
   Minkyu Kang                       2 (0.0%)
   Tushar Behera                     2 (0.0%)
   Tim Schendekehl                   2 (0.0%)
   David Feng                        2 (0.0%)
   Peter A. Bigot                    2 (0.0%)
   Jesper B. Christensen             2 (0.0%)
   Haijun.Zhang                      2 (0.0%)
   Pavel Machek                      1 (0.0%)
   Andre Renaud                      1 (0.0%)
   Tyler Baker                       1 (0.0%)
   Linus Walleij                     1 (0.0%)
   Shaibal.Dutta                     1 (0.0%)
   Łukasz Dałek                      1 (0.0%)
   Jon Nalley                        1 (0.0%)
   Shawn Guo                         1 (0.0%)
   Mark Rutland                      1 (0.0%)
   WingMan Kwok                      1 (0.0%)
   Piotr Wilczek                     1 (0.0%)
   Mike Looijmans                    1 (0.0%)
   Belisko Marek                     1 (0.0%)
   Ralph Siemsen                     1 (0.0%)
   Kristian Otnes                    1 (0.0%)
   Stephan Linz                      1 (0.0%)
   David Müller (ELSOFT AG)          1 (0.0%)
   Kees Cook                         1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   64999 (65.0%)
   Daniel Schwierzeck                5230 (5.2%)
   Albert ARIBAUD                    2130 (2.1%)
   vijay rai                         671 (0.7%)
   Stephen Warren                    647 (0.6%)
   Nobuhiro Iwamatsu                 537 (0.5%)
   Stefan Agner                      507 (0.5%)
   Wolfgang Denk                     374 (0.4%)
   Vasili Galka                      329 (0.3%)
   Khoronzhuk, Ivan                  104 (0.1%)
   Jeroen Hofstee                    62 (0.1%)
   Hans de Goede                     18 (0.0%)
   Przemyslaw Marczak                9 (0.0%)
   Kim Phillips                      9 (0.0%)
   Rob Herring                       5 (0.0%)
   Ye.Li                             5 (0.0%)
   Manish Badarkhe                   3 (0.0%)
   Nishanth Menon                    2 (0.0%)
   Cormier, Jonathan                 2 (0.0%)
   Xiaobo Xie                        2 (0.0%)
   Minkyu Kang                       2 (0.0%)
   Shawn Guo                         1 (0.0%)
   David Müller (ELSOFT AG)          1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Minkyu Kang                       62 (20.9%)
   Tom Warren                        32 (10.8%)
   Michal Simek                      21 (7.1%)
   Andreas Bießmann                  18 (6.1%)
   Tom Rini                          8 (2.7%)
   Henrik Nordström                  6 (2.0%)
   Oliver Schinagl                   6 (2.0%)
   poonam aggrwal                    6 (2.0%)
   Simon Glass                       6 (2.0%)
   Jens Kuske                        5 (1.7%)
   Murali Karicheri                  5 (1.7%)
   Wolfgang Denk                     4 (1.4%)
   Hans de Goede                     4 (1.4%)
   Stefan Roese                      4 (1.4%)
   Luke Leighton                     4 (1.4%)
   Chen-Yu Tsai                      4 (1.4%)
   Vitaly Andrianov                  4 (1.4%)
   Kim Phillips                      3 (1.0%)
   Peter A. Bigot                    3 (1.0%)
   Alexandru Gagniuc                 3 (1.0%)
   Emilio López                      3 (1.0%)
   Kyungmin Park                     3 (1.0%)
   WingMan Kwok                      3 (1.0%)
   Jaehoon Chung                     3 (1.0%)
   pekon gupta                       3 (1.0%)
   Akshay Saraswat                   3 (1.0%)
   Khoronzhuk, Ivan                  2 (0.7%)
   Rob Herring                       2 (0.7%)
   Arnab Basu                        2 (0.7%)
   Alim Akhtar                       2 (0.7%)
   Hatim Ali                         2 (0.7%)
   Wills Wang                        2 (0.7%)
   Hisashi Nakamura                  2 (0.7%)
   Arkadiusz Wlodarczyk              2 (0.7%)
   Gaurav Kumar Rana                 2 (0.7%)
   ramneek mehresh                   2 (0.7%)
   Priyanka Jain                     2 (0.7%)
   Valentin Longchamp                2 (0.7%)
   Marek Vasut                       2 (0.7%)
   Siva Durga Prasad Paladugu        2 (0.7%)
   Nobuhiro Iwamatsu                 1 (0.3%)
   Mike Looijmans                    1 (0.3%)
   Bhupesh Sharma                    1 (0.3%)
   Lijun Pan                         1 (0.3%)
   Shruti Kanetkar                   1 (0.3%)
   Varun Sethi                       1 (0.3%)
   Vadim Bendebury                   1 (0.3%)
   Mårten Wikman                     1 (0.3%)
   Katie Roberts-Hoffman             1 (0.3%)
   Rong Chang                        1 (0.3%)
   Sean Paul                         1 (0.3%)
   Vincent Palatin                   1 (0.3%)
   Siarhei Siamashka                 1 (0.3%)
   Adam Sampson                      1 (0.3%)
   Aleksei Mamlin                    1 (0.3%)
   Luc Verhaegen                     1 (0.3%)
   Patrick Wood                      1 (0.3%)
   Ma Haijun                         1 (0.3%)
   Javier Martinez Canillas          1 (0.3%)
   Minghuan Lian                     1 (0.3%)
   Leela Krishna Amudala             1 (0.3%)
   Rajeshwari Shinde                 1 (0.3%)
   Josh Triplett                     1 (0.3%)
   Michal Marek                      1 (0.3%)
   Yoshiyuki Ito                     1 (0.3%)
   Anatolij Gustschin                1 (0.3%)
   Ruchika Gupta                     1 (0.3%)
   Rex Chang                         1 (0.3%)
   Sandeep Nair                      1 (0.3%)
   Igor Grinberg                     1 (0.3%)
   Aaron Durbin                      1 (0.3%)
   Poddar, Sourav                    1 (0.3%)
   Stefan Bigler                     1 (0.3%)
   Lokesh Vutla                      1 (0.3%)
   Chao Fu                           1 (0.3%)
   Sandeep Singh                     1 (0.3%)
   J. German Rivera                  1 (0.3%)
   Darwin Rambo                      1 (0.3%)
   Alison Wang                       1 (0.3%)
   Shaveta Leekha                    1 (0.3%)
   Heiko Schocher                    1 (0.3%)
   York Sun                          1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   York Sun                          85 (56.7%)
   Tom Rini                          12 (8.0%)
   Stefan Roese                      8 (5.3%)
   Marek Vasut                       8 (5.3%)
   Jagannadha Sutradharudu Teki      6 (4.0%)
   Lukasz Majewski                   6 (4.0%)
   Simon Glass                       5 (3.3%)
   Stephen Warren                    4 (2.7%)
   Yen Lin                           3 (2.0%)
   Roger Meier                       2 (1.3%)
   Wolfgang Denk                     1 (0.7%)
   Siarhei Siamashka                 1 (0.7%)
   Lokesh Vutla                      1 (0.7%)
   Darwin Rambo                      1 (0.7%)
   Masahiro Yamada                   1 (0.7%)
   Vipin Kumar                       1 (0.7%)
   Michael Trimarchi                 1 (0.7%)
   Their Name                        1 (0.7%)
   Steve Rae                         1 (0.7%)
   Alexey Brodkin                    1 (0.7%)
   Wu, Josh                          1 (0.7%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       15 (21.1%)
   Lukasz Majewski                   11 (15.5%)
   Wu, Josh                          4 (5.6%)
   Michal Simek                      4 (5.6%)
   Bo Shen                           4 (5.6%)
   Ash Charles                       4 (5.6%)
   Masahiro Yamada                   3 (4.2%)
   Piotr Wilczek                     3 (4.2%)
   Mateusz Zalega                    3 (4.2%)
   Stephen Warren                    2 (2.8%)
   Arkadiusz Wlodarczyk              2 (2.8%)
   Iain Paton                        2 (2.8%)
   Stefan Roese                      1 (1.4%)
   Siarhei Siamashka                 1 (1.4%)
   Their Name                        1 (1.4%)
   Alexey Brodkin                    1 (1.4%)
   Andreas Bießmann                  1 (1.4%)
   Heiko Schocher                    1 (1.4%)
   Hector Palacios                   1 (1.4%)
   Matthias Weißer                   1 (1.4%)
   Yebio Mesfin                      1 (1.4%)
   Eric Nelson                       1 (1.4%)
   Stefano Babic                     1 (1.4%)
   Otavio Salvador                   1 (1.4%)
   Samuel Egli                       1 (1.4%)
   Fabio Estevam                     1 (1.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Jaehoon Chung                     10 (14.1%)
   Masahiro Yamada                   9 (12.7%)
   Akshay Saraswat                   7 (9.9%)
   Mateusz Zalega                    5 (7.0%)
   Fabio Estevam                     4 (5.6%)
   Thomas Betker                     4 (5.6%)
   Simon Glass                       3 (4.2%)
   Bo Shen                           3 (4.2%)
   Ash Charles                       3 (4.2%)
   Stephen Warren                    3 (4.2%)
   Andreas Bießmann                  3 (4.2%)
   Beomho Seo                        3 (4.2%)
   Marek Vasut                       2 (2.8%)
   Heiko Schocher                    1 (1.4%)
   Eric Nelson                       1 (1.4%)
   Peter A. Bigot                    1 (1.4%)
   Nobuhiro Iwamatsu                 1 (1.4%)
   Poddar, Sourav                    1 (1.4%)
   Stefan Agner                      1 (1.4%)
   Jeroen Hofstee                    1 (1.4%)
   Ralph Siemsen                     1 (1.4%)
   Kees Cook                         1 (1.4%)
   Michael Pratt                     1 (1.4%)
   Doug Anderson                     1 (1.4%)
   Ian Campbell                      1 (1.4%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Masahiro Yamada                   2 (16.7%)
   Matthias Weißer                   1 (8.3%)
   Tom Rini                          1 (8.3%)
   Daniel Schwierzeck                1 (8.3%)
   Vasili Galka                      1 (8.3%)
   Tony Lindgren                     1 (8.3%)
   Stefan Herbrechtsmeier            1 (8.3%)
   Andrey Filippov                   1 (8.3%)
   Tom Taylor                        1 (8.3%)
   Jon Loeliger                      1 (8.3%)
   Dirk Eibach                       1 (8.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Simon Glass                       4 (33.3%)
   Michal Simek                      2 (16.7%)
   Kees Cook                         1 (8.3%)
   Stefano Babic                     1 (8.3%)
   Lokesh Vutla                      1 (8.3%)
   Christian Riesch                  1 (8.3%)
   Daniel Hellstrom                  1 (8.3%)
   Paul Burton                       1 (8.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         215 (20.0%)
   Freescale                         141 (13.1%)
   Socionext Inc.                    123 (11.5%)
   NVidia                            90 (8.4%)
   Google, Inc.                      85 (7.9%)
   Samsung                           69 (6.4%)
   Texas Instruments                 68 (6.3%)
   Renesas Electronics               51 (4.7%)
   DENX Software Engineering         44 (4.1%)
   Konsulko Group                    40 (3.7%)
   AMD                               30 (2.8%)
   Atmel                             25 (2.3%)
   Xilinx                            15 (1.4%)
   Guntermann & Drunck               13 (1.2%)
   MIPS                              11 (1.0%)
   Broadcom                          9 (0.8%)
   CompuLab                          9 (0.8%)
   Keymile                           8 (0.7%)
   Siemens                           7 (0.7%)
   Boundary Devices                  4 (0.4%)
   Linaro                            3 (0.3%)
   Gaisler Research                  2 (0.2%)
   Red Hat                           2 (0.2%)
   linutronix                        2 (0.2%)
   Oracle                            2 (0.2%)
   O.S. Systems                      2 (0.2%)
   ARM                               1 (0.1%)
   Bluewater Systems                 1 (0.1%)
   Cisco                             1 (0.1%)
   ESD Electronics                   1 (0.1%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Socionext Inc.                    66904 (46.0%)
   (Unknown)                         24960 (17.2%)
   Freescale                         13473 (9.3%)
   Google, Inc.                      8266 (5.7%)
   NVidia                            7623 (5.2%)
   Texas Instruments                 6815 (4.7%)
   Samsung                           4753 (3.3%)
   DENX Software Engineering         3637 (2.5%)
   Renesas Electronics               2616 (1.8%)
   linutronix                        1039 (0.7%)
   Konsulko Group                    887 (0.6%)
   AMD                               706 (0.5%)
   Xilinx                            616 (0.4%)
   CompuLab                          598 (0.4%)
   Broadcom                          561 (0.4%)
   Atmel                             509 (0.4%)
   Guntermann & Drunck               495 (0.3%)
   Siemens                           229 (0.2%)
   O.S. Systems                      155 (0.1%)
   Keymile                           153 (0.1%)
   MIPS                              111 (0.1%)
   ESD Electronics                   101 (0.1%)
   Gaisler Research                  28 (0.0%)
   Red Hat                           24 (0.0%)
   Oracle                            11 (0.0%)
   Boundary Devices                  10 (0.0%)
   Linaro                            6 (0.0%)
   ARM                               1 (0.0%)
   Bluewater Systems                 1 (0.0%)
   Cisco                             1 (0.0%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   Samsung                           79 (26.7%)
   (Unknown)                         68 (23.0%)
   NVidia                            32 (10.8%)
   Freescale                         29 (9.8%)
   Texas Instruments                 29 (9.8%)
   Xilinx                            23 (7.8%)
   DENX Software Engineering         12 (4.1%)
   Google, Inc.                      9 (3.0%)
   Red Hat                           4 (1.4%)
   Renesas Electronics               3 (1.0%)
   Keymile                           3 (1.0%)
   CompuLab                          1 (0.3%)
   Broadcom                          1 (0.3%)
   Collabora Ltd.                    1 (0.3%)
   Novell                            1 (0.3%)
   Nobuhiro Iwamatsu                 1 (0.3%)
   ================================  =====


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

   ================================  =====
   Name                              Count
   ================================  =====
   (Unknown)                         54 (36.5%)
   Freescale                         29 (19.6%)
   Texas Instruments                 12 (8.1%)
   Samsung                           10 (6.8%)
   DENX Software Engineering         6 (4.1%)
   Google, Inc.                      3 (2.0%)
   CompuLab                          3 (2.0%)
   Broadcom                          3 (2.0%)
   Linaro                            3 (2.0%)
   Xilinx                            2 (1.4%)
   Renesas Electronics               2 (1.4%)
   Keymile                           2 (1.4%)
   Atmel                             2 (1.4%)
   NVidia                            1 (0.7%)
   Red Hat                           1 (0.7%)
   Socionext Inc.                    1 (0.7%)
   linutronix                        1 (0.7%)
   Konsulko Group                    1 (0.7%)
   AMD                               1 (0.7%)
   Guntermann & Drunck               1 (0.7%)
   Siemens                           1 (0.7%)
   O.S. Systems                      1 (0.7%)
   MIPS                              1 (0.7%)
   ESD Electronics                   1 (0.7%)
   Gaisler Research                  1 (0.7%)
   Oracle                            1 (0.7%)
   Boundary Devices                  1 (0.7%)
   ARM                               1 (0.7%)
   Bluewater Systems                 1 (0.7%)
   Cisco                             1 (0.7%)
   ================================  =====
