Update bcm2708.c to use CONFIG_BCM2708_SPIDEV rather than CONFIG_SPI
rtl8192cu: select required config options to allow builds without other wifi modules. Thanks UrsusArctos
Add USB_PRINTER config option
Only init gpio pins of selected i2c bus
Avoid responding to unexpected I2C interrupts
dwc_otg: Call usb_hcd_unlink_urb_from_ep with lock held in completion handler

usb_hcd_unlink_urb_from_ep must be called with the lock held.  Not doing so
resulted in corruption of the list, and doing it asynchronously in the tasklet
(see c4564d4a1a0a9b10d4419e48239f5d99e88d2667) made the problem more likely to
occur.

Also ensure the urb is OK to be unlinked before doing so, and unlink it from
the endpoint prior to queueing it for handling in the tasklet.

NULL pointer deref kernel oopses had been occurring in usb_hcd_giveback_urb
when a USB device was unplugged/replugged during data transfer.  This effect
was reproduced using automated USB port power control, hundreds of replug
events were performed during active transfers to confirm that the problem was
eliminated.