:orphan:

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

* Processed 1074 changesets 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%)
   ================================  =====
