tree 6a808c54db2c8296c2706f6e546b3ac4fcbde1d5
parent 463311960e9312245418af98dce8c0161fd6b827
parent e603984823a9218857c599195aaa514c5343de03
author Linus Torvalds <torvalds@linux-foundation.org> 1412765418 -0400
committer Linus Torvalds <torvalds@linux-foundation.org> 1412765418 -0400
mergetag object e603984823a9218857c599195aaa514c5343de03
 type commit
 tag staging-3.18-rc1
 tagger Greg Kroah-Hartman <gregkh@linuxfoundation.org> 1412720388 -0700
 
 Staging patches for 3.18-rc1
 
 Here is the big staging patch set for 3.18-rc1.
 
 Once again, we are deleting more code than we added, with something like
 150000 lines deleted overall.  Some of this is due to drivers being
 added to the networking tree, so the old versions are removed here, but
 even then, the overall difference is quite good.
 
 Other than driver deletions, lots and lots and lots of minor cleanups
 all over the place.  Full details are in the shortlog below.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iEYEABECAAYFAlQ0Z2oACgkQMUfUDdst+ymy/wCffkFU9h0FAt8KYYQAUIrOQlRx
 iFgAnik8M5tVMm5BNCzbiELz8BDiXPTh
 =otKa
 -----END PGP SIGNATURE-----

Merge tag 'staging-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging

Pull staging updates from Greg KH:
 "Here is the big staging patch set for 3.18-rc1.

  Once again, we are deleting more code than we added, with something
  like 150000 lines deleted overall.  Some of this is due to drivers
  being added to the networking tree, so the old versions are removed
  here, but even then, the overall difference is quite good.

  Other than driver deletions, lots and lots and lots of minor cleanups
  all over the place.  Full details are in the changelog"

* tag 'staging-3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (1481 commits)
  staging: et131x: Remove et131x driver from drivers/staging
  staging: emxx_udc: Use min_t instead of min
  staging: emxx_udc: Fix replace printk(KERN_DEBUG ..) with dev_dbg
  staging: media: Fixed else after return or break warning
  staging: media: omap4iss: Fixed else after return or break warning
  staging: rtl8712: Fixed else not required after return
  staging: rtl8712: Fix missing blank line warning
  staging: rtl8192e: rtl8192e: Remove spaces before the semicolons
  staging: rtl8192e: rtl8192e: Remove unnecessary return statements
  staging: rtl8192e: Remove unneeded void return
  staging: rtl8192e: Fix void function return statements style
  staging: rtl8712: Fix unnecessary parentheses style warning
  staging: rtl8192e: Fix unnecessary space before function pointer arguments
  staging: rtl8192e: Array was made static const char * const
  staging: ft1000: ft1000-usb: Removed unnecessary else statement.
  staging: ft1000: ft1000-usb: Removed unnecessary else statement.
  staging: ft1000: ft1000-usb: Removed unnecessary parentheses.
  staging: ft1000: ft1000-usb: Added new line after declarations.
  staging: vt6655: Fixed C99 // comment errors in wpactl.c
  staging: speakup: Fixed warning <linux/serial.h> instead of <asm/serial.h>
  ...
