mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
USB/PHY/EXTCON patches for 4.9-rc1
Here is the big USB, and PHY, and extcon, patchsets for 4.9-rc1. Full details are in the shortlog, but generally a lot of new hardware support, usb gadget updates, and Wolfram's great cleanup of USB error message handling, making the kernel image a tad bit smaller. All of this has been in linux-next with no reported issues. Signed-off-by: Greg Kroah-Hartman <[email protected]> -----BEGIN PGP SIGNATURE----- iFYEABECABYFAlfyNTEPHGdyZWdAa3JvYWguY29tAAoJEDFH1A3bLfspbuUAoJAn XD6k9A+0QgnJ/iLiT8pztawNAKCCVYZOzgdFRGsnaZ2p7lb9IHpPCA== =QUj+ -----END PGP SIGNATURE----- Merge tag 'usb-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull usb/phy/extcon updates from Greg KH: "Here is the big USB, and PHY, and extcon, patchsets for 4.9-rc1. Full details are in the shortlog, but generally a lot of new hardware support, usb gadget updates, and Wolfram's great cleanup of USB error message handling, making the kernel image a tad bit smaller. All of this has been in linux-next with no reported issues" * tag 'usb-4.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (343 commits) Revert "usbtmc: convert to devm_kzalloc" USB: serial: cp210x: Add ID for a Juniper console usb: Kconfig: using select for USB_COMMON dependency bluetooth: bcm203x: don't print error when allocating urb fails mmc: host: vub300: don't print error when allocating urb fails usb: hub: change CLEAR_FEATURE to SET_FEATURE usb: core: Introduce a USB port LED trigger USB: bcma: drop Northstar PHY 2.0 initialization code usb: core: hcd: add missing header dependencies usb: musb: da8xx: fix error handling message in probe usb: musb: Fix session based PM for first invalid VBUS usb: musb: Fix PM runtime for disconnect after unconfigure musb: Export musb_root_disconnect for use in modules usb: misc: legousbtower: Fix NULL pointer deference cdc-acm: hardening against malicious devices Revert "usb: gadget: NCM: Protect dev->port_usb using dev->lock" include: extcon: Fix compilation error caused because of incomplete merge MAINTAINERS: add tree entry for USB Serial phy-twl4030-usb: initialize charging-related stuff via pm_runtime phy-twl4030-usb: better handle musb_mailbox() failure ...
This commit is contained in:
commit
e6445f52d9
234 changed files with 7197 additions and 2122 deletions
|
|
@ -392,7 +392,6 @@ static int rtl2832_sdr_alloc_urbs(struct rtl2832_sdr_dev *dev)
|
|||
dev_dbg(&pdev->dev, "alloc urb=%d\n", i);
|
||||
dev->urb_list[i] = usb_alloc_urb(0, GFP_ATOMIC);
|
||||
if (!dev->urb_list[i]) {
|
||||
dev_dbg(&pdev->dev, "failed\n");
|
||||
for (j = 0; j < i; j++)
|
||||
usb_free_urb(dev->urb_list[j]);
|
||||
return -ENOMEM;
|
||||
|
|
|
|||
|
|
@ -627,7 +627,6 @@ static int si470x_usb_driver_probe(struct usb_interface *intf,
|
|||
|
||||
radio->int_in_urb = usb_alloc_urb(0, GFP_KERNEL);
|
||||
if (!radio->int_in_urb) {
|
||||
dev_info(&intf->dev, "could not allocate int_in_urb");
|
||||
retval = -ENOMEM;
|
||||
goto err_intbuffer;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2211,16 +2211,11 @@ static struct imon_context *imon_init_intf0(struct usb_interface *intf,
|
|||
goto exit;
|
||||
}
|
||||
rx_urb = usb_alloc_urb(0, GFP_KERNEL);
|
||||
if (!rx_urb) {
|
||||
dev_err(dev, "%s: usb_alloc_urb failed for IR urb", __func__);
|
||||
if (!rx_urb)
|
||||
goto rx_urb_alloc_failed;
|
||||
}
|
||||
tx_urb = usb_alloc_urb(0, GFP_KERNEL);
|
||||
if (!tx_urb) {
|
||||
dev_err(dev, "%s: usb_alloc_urb failed for display urb",
|
||||
__func__);
|
||||
if (!tx_urb)
|
||||
goto tx_urb_alloc_failed;
|
||||
}
|
||||
|
||||
mutex_init(&ictx->lock);
|
||||
spin_lock_init(&ictx->kc_lock);
|
||||
|
|
@ -2305,10 +2300,8 @@ static struct imon_context *imon_init_intf1(struct usb_interface *intf,
|
|||
int ret = -ENOMEM;
|
||||
|
||||
rx_urb = usb_alloc_urb(0, GFP_KERNEL);
|
||||
if (!rx_urb) {
|
||||
pr_err("usb_alloc_urb failed for IR urb\n");
|
||||
if (!rx_urb)
|
||||
goto rx_urb_alloc_failed;
|
||||
}
|
||||
|
||||
mutex_lock(&ictx->lock);
|
||||
|
||||
|
|
|
|||
|
|
@ -970,10 +970,8 @@ static int redrat3_dev_probe(struct usb_interface *intf,
|
|||
|
||||
/* set up bulk-in endpoint */
|
||||
rr3->read_urb = usb_alloc_urb(0, GFP_KERNEL);
|
||||
if (!rr3->read_urb) {
|
||||
dev_err(dev, "Read urb allocation failure\n");
|
||||
if (!rr3->read_urb)
|
||||
goto error;
|
||||
}
|
||||
|
||||
rr3->ep_in = ep_in;
|
||||
rr3->bulk_in_buf = usb_alloc_coherent(udev,
|
||||
|
|
|
|||
|
|
@ -426,7 +426,6 @@ static int airspy_alloc_urbs(struct airspy *s)
|
|||
dev_dbg(s->dev, "alloc urb=%d\n", i);
|
||||
s->urb_list[i] = usb_alloc_urb(0, GFP_ATOMIC);
|
||||
if (!s->urb_list[i]) {
|
||||
dev_dbg(s->dev, "failed\n");
|
||||
for (j = 0; j < i; j++)
|
||||
usb_free_urb(s->urb_list[j]);
|
||||
return -ENOMEM;
|
||||
|
|
|
|||
|
|
@ -270,8 +270,6 @@ static int as102_alloc_usb_stream_buffer(struct as102_dev_t *dev)
|
|||
|
||||
urb = usb_alloc_urb(0, GFP_ATOMIC);
|
||||
if (urb == NULL) {
|
||||
dev_dbg(&dev->bus_adap.usb_dev->dev,
|
||||
"%s: usb_alloc_urb failed\n", __func__);
|
||||
as102_free_usb_stream_buffer(dev);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -245,7 +245,6 @@ static int au0828_init_isoc(struct au0828_dev *dev, int max_packets,
|
|||
for (i = 0; i < dev->isoc_ctl.num_bufs; i++) {
|
||||
urb = usb_alloc_urb(max_packets, GFP_KERNEL);
|
||||
if (!urb) {
|
||||
au0828_isocdbg("cannot alloc isoc_ctl.urb %i\n", i);
|
||||
au0828_uninit_isoc(dev);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -662,7 +662,6 @@ static int submit_urbs(struct camera_data *cam)
|
|||
}
|
||||
urb = usb_alloc_urb(FRAMES_PER_DESC, GFP_KERNEL);
|
||||
if (!urb) {
|
||||
ERR("%s: usb_alloc_urb error!\n", __func__);
|
||||
for (j = 0; j < i; j++)
|
||||
usb_free_urb(cam->sbuf[j].urb);
|
||||
return -ENOMEM;
|
||||
|
|
|
|||
|
|
@ -293,7 +293,6 @@ static int cx231xx_init_audio_isoc(struct cx231xx *dev)
|
|||
memset(dev->adev.transfer_buffer[i], 0x80, sb_size);
|
||||
urb = usb_alloc_urb(CX231XX_ISO_NUM_AUDIO_PACKETS, GFP_ATOMIC);
|
||||
if (!urb) {
|
||||
dev_err(dev->dev, "usb_alloc_urb failed!\n");
|
||||
for (j = 0; j < i; j++) {
|
||||
usb_free_urb(dev->adev.urb[j]);
|
||||
kfree(dev->adev.transfer_buffer[j]);
|
||||
|
|
@ -355,7 +354,6 @@ static int cx231xx_init_audio_bulk(struct cx231xx *dev)
|
|||
memset(dev->adev.transfer_buffer[i], 0x80, sb_size);
|
||||
urb = usb_alloc_urb(CX231XX_NUM_AUDIO_PACKETS, GFP_ATOMIC);
|
||||
if (!urb) {
|
||||
dev_err(dev->dev, "usb_alloc_urb failed!\n");
|
||||
for (j = 0; j < i; j++) {
|
||||
usb_free_urb(dev->adev.urb[j]);
|
||||
kfree(dev->adev.transfer_buffer[j]);
|
||||
|
|
|
|||
|
|
@ -1035,8 +1035,6 @@ int cx231xx_init_isoc(struct cx231xx *dev, int max_packets,
|
|||
for (i = 0; i < dev->video_mode.isoc_ctl.num_bufs; i++) {
|
||||
urb = usb_alloc_urb(max_packets, GFP_KERNEL);
|
||||
if (!urb) {
|
||||
dev_err(dev->dev,
|
||||
"cannot alloc isoc_ctl.urb %i\n", i);
|
||||
cx231xx_uninit_isoc(dev);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
|
@ -1172,8 +1170,6 @@ int cx231xx_init_bulk(struct cx231xx *dev, int max_packets,
|
|||
for (i = 0; i < dev->video_mode.bulk_ctl.num_bufs; i++) {
|
||||
urb = usb_alloc_urb(0, GFP_KERNEL);
|
||||
if (!urb) {
|
||||
dev_err(dev->dev,
|
||||
"cannot alloc bulk_ctl.urb %i\n", i);
|
||||
cx231xx_uninit_bulk(dev);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -442,8 +442,6 @@ int cx231xx_init_vbi_isoc(struct cx231xx *dev, int max_packets,
|
|||
|
||||
urb = usb_alloc_urb(0, GFP_KERNEL);
|
||||
if (!urb) {
|
||||
dev_err(dev->dev,
|
||||
"cannot alloc bulk_ctl.urb %i\n", i);
|
||||
cx231xx_uninit_vbi_isoc(dev);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -783,10 +783,8 @@ int dib0700_rc_setup(struct dvb_usb_device *d, struct usb_interface *intf)
|
|||
/* Starting in firmware 1.20, the RC info is provided on a bulk pipe */
|
||||
|
||||
purb = usb_alloc_urb(0, GFP_KERNEL);
|
||||
if (purb == NULL) {
|
||||
err("rc usb alloc urb failed");
|
||||
if (purb == NULL)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
purb->transfer_buffer = kzalloc(RC_MSG_SIZE_V1_20, GFP_KERNEL);
|
||||
if (purb->transfer_buffer == NULL) {
|
||||
|
|
|
|||
|
|
@ -850,7 +850,6 @@ static int em28xx_audio_urb_init(struct em28xx *dev)
|
|||
|
||||
urb = usb_alloc_urb(npackets, GFP_ATOMIC);
|
||||
if (!urb) {
|
||||
em28xx_errdev("usb_alloc_urb failed!\n");
|
||||
em28xx_audio_free_urb(dev);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -934,7 +934,6 @@ int em28xx_alloc_urbs(struct em28xx *dev, enum em28xx_mode mode, int xfer_bulk,
|
|||
for (i = 0; i < usb_bufs->num_bufs; i++) {
|
||||
urb = usb_alloc_urb(usb_bufs->num_packets, GFP_KERNEL);
|
||||
if (!urb) {
|
||||
em28xx_err("cannot alloc usb_ctl.urb %i\n", i);
|
||||
em28xx_uninit_usb_xfer(dev, mode);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -95,10 +95,8 @@ static int sd_start(struct gspca_dev *gspca_dev)
|
|||
#define SD_NPKT 32
|
||||
for (n = 0; n < 4; n++) {
|
||||
urb = usb_alloc_urb(SD_NPKT, GFP_KERNEL);
|
||||
if (!urb) {
|
||||
pr_err("usb_alloc_urb failed\n");
|
||||
if (!urb)
|
||||
return -ENOMEM;
|
||||
}
|
||||
gspca_dev->urb[n] = urb;
|
||||
urb->transfer_buffer = usb_alloc_coherent(gspca_dev->dev,
|
||||
SD_PKT_SZ * SD_NPKT,
|
||||
|
|
|
|||
|
|
@ -795,10 +795,8 @@ static int create_urbs(struct gspca_dev *gspca_dev,
|
|||
|
||||
for (n = 0; n < nurbs; n++) {
|
||||
urb = usb_alloc_urb(npkt, GFP_KERNEL);
|
||||
if (!urb) {
|
||||
pr_err("usb_alloc_urb failed\n");
|
||||
if (!urb)
|
||||
return -ENOMEM;
|
||||
}
|
||||
gspca_dev->urb[n] = urb;
|
||||
urb->transfer_buffer = usb_alloc_coherent(gspca_dev->dev,
|
||||
bsize,
|
||||
|
|
|
|||
|
|
@ -208,10 +208,8 @@ static int sd_start(struct gspca_dev *gspca_dev)
|
|||
packet_size =
|
||||
le16_to_cpu(alt->endpoint[i].desc.wMaxPacketSize);
|
||||
urb = usb_alloc_urb(SD_NPKT, GFP_KERNEL);
|
||||
if (!urb) {
|
||||
pr_err("usb_alloc_urb failed\n");
|
||||
if (!urb)
|
||||
return -ENOMEM;
|
||||
}
|
||||
gspca_dev->urb[n] = urb;
|
||||
urb->transfer_buffer = usb_alloc_coherent(gspca_dev->dev,
|
||||
packet_size * SD_NPKT,
|
||||
|
|
|
|||
|
|
@ -691,7 +691,6 @@ static int hackrf_alloc_urbs(struct hackrf_dev *dev, bool rcv)
|
|||
dev_dbg(dev->dev, "alloc urb=%d\n", i);
|
||||
dev->urb_list[i] = usb_alloc_urb(0, GFP_ATOMIC);
|
||||
if (!dev->urb_list[i]) {
|
||||
dev_dbg(dev->dev, "failed\n");
|
||||
for (j = 0; j < i; j++)
|
||||
usb_free_urb(dev->urb_list[j]);
|
||||
return -ENOMEM;
|
||||
|
|
|
|||
|
|
@ -155,10 +155,8 @@ int hdpvr_alloc_buffers(struct hdpvr_device *dev, uint count)
|
|||
buf->dev = dev;
|
||||
|
||||
urb = usb_alloc_urb(0, GFP_KERNEL);
|
||||
if (!urb) {
|
||||
v4l2_err(&dev->v4l2_dev, "cannot allocate urb\n");
|
||||
if (!urb)
|
||||
goto exit_urb;
|
||||
}
|
||||
buf->urb = urb;
|
||||
|
||||
mem = usb_alloc_coherent(dev->udev, dev->bulk_in_size, GFP_KERNEL,
|
||||
|
|
|
|||
|
|
@ -509,7 +509,6 @@ static int msi2500_isoc_init(struct msi2500_dev *dev)
|
|||
for (i = 0; i < MAX_ISO_BUFS; i++) {
|
||||
urb = usb_alloc_urb(ISO_FRAMES_PER_DESC, GFP_KERNEL);
|
||||
if (urb == NULL) {
|
||||
dev_err(dev->dev, "Failed to allocate urb %d\n", i);
|
||||
msi2500_isoc_cleanup(dev);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -410,7 +410,6 @@ retry:
|
|||
for (i = 0; i < MAX_ISO_BUFS; i++) {
|
||||
urb = usb_alloc_urb(ISO_FRAMES_PER_DESC, GFP_KERNEL);
|
||||
if (urb == NULL) {
|
||||
PWC_ERROR("Failed to allocate urb %d\n", i);
|
||||
pwc_isoc_cleanup(pdev);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2113,11 +2113,8 @@ static int s2255_start_readpipe(struct s2255_dev *dev)
|
|||
pipe_info->state = 1;
|
||||
pipe_info->err_count = 0;
|
||||
pipe_info->stream_urb = usb_alloc_urb(0, GFP_KERNEL);
|
||||
if (!pipe_info->stream_urb) {
|
||||
dev_err(&dev->udev->dev,
|
||||
"ReadStream: Unable to alloc URB\n");
|
||||
if (!pipe_info->stream_urb)
|
||||
return -ENOMEM;
|
||||
}
|
||||
/* transfer buffer allocated in board_init */
|
||||
usb_fill_bulk_urb(pipe_info->stream_urb, dev->udev,
|
||||
pipe,
|
||||
|
|
@ -2290,10 +2287,8 @@ static int s2255_probe(struct usb_interface *interface,
|
|||
}
|
||||
|
||||
dev->fw_data->fw_urb = usb_alloc_urb(0, GFP_KERNEL);
|
||||
if (!dev->fw_data->fw_urb) {
|
||||
dev_err(&interface->dev, "out of memory!\n");
|
||||
if (!dev->fw_data->fw_urb)
|
||||
goto errorFWURB;
|
||||
}
|
||||
|
||||
dev->fw_data->pfw_data = kzalloc(CHUNK_SIZE, GFP_KERNEL);
|
||||
if (!dev->fw_data->pfw_data) {
|
||||
|
|
|
|||
|
|
@ -457,10 +457,8 @@ int stk1160_alloc_isoc(struct stk1160 *dev)
|
|||
for (i = 0; i < num_bufs; i++) {
|
||||
|
||||
urb = usb_alloc_urb(max_packets, GFP_KERNEL);
|
||||
if (!urb) {
|
||||
stk1160_err("cannot alloc urb[%d]\n", i);
|
||||
if (!urb)
|
||||
goto free_i_bufs;
|
||||
}
|
||||
dev->isoc_ctl.urb[i] = urb;
|
||||
|
||||
#ifndef CONFIG_DMA_NONCOHERENT
|
||||
|
|
|
|||
|
|
@ -452,10 +452,8 @@ static int stk_prepare_iso(struct stk_camera *dev)
|
|||
STK_ERROR("isobuf data already allocated\n");
|
||||
if (dev->isobufs[i].urb == NULL) {
|
||||
urb = usb_alloc_urb(ISO_FRAMES_PER_DESC, GFP_KERNEL);
|
||||
if (urb == NULL) {
|
||||
STK_ERROR("Failed to allocate URB %d\n", i);
|
||||
if (urb == NULL)
|
||||
goto isobufs_out;
|
||||
}
|
||||
dev->isobufs[i].urb = urb;
|
||||
} else {
|
||||
STK_ERROR("Killing URB\n");
|
||||
|
|
|
|||
|
|
@ -129,10 +129,8 @@ static int tm6000_start_stream(struct tm6000_core *dev)
|
|||
}
|
||||
|
||||
dvb->bulk_urb = usb_alloc_urb(0, GFP_KERNEL);
|
||||
if (dvb->bulk_urb == NULL) {
|
||||
printk(KERN_ERR "tm6000: couldn't allocate urb\n");
|
||||
if (dvb->bulk_urb == NULL)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
pipe = usb_rcvbulkpipe(dev->udev, dev->bulk_in.endp->desc.bEndpointAddress
|
||||
& USB_ENDPOINT_NUMBER_MASK);
|
||||
|
|
|
|||
|
|
@ -635,7 +635,6 @@ static int tm6000_prepare_isoc(struct tm6000_core *dev)
|
|||
for (i = 0; i < dev->isoc_ctl.num_bufs; i++) {
|
||||
urb = usb_alloc_urb(max_packets, GFP_KERNEL);
|
||||
if (!urb) {
|
||||
tm6000_err("cannot alloc isoc_ctl.urb %i\n", i);
|
||||
tm6000_uninit_isoc(dev);
|
||||
usb_free_urb(urb);
|
||||
return -ENOMEM;
|
||||
|
|
|
|||
|
|
@ -2303,11 +2303,8 @@ int usbvision_init_isoc(struct usb_usbvision *usbvision)
|
|||
struct urb *urb;
|
||||
|
||||
urb = usb_alloc_urb(USBVISION_URB_FRAMES, GFP_KERNEL);
|
||||
if (urb == NULL) {
|
||||
dev_err(&usbvision->dev->dev,
|
||||
"%s: usb_alloc_urb() failed\n", __func__);
|
||||
if (urb == NULL)
|
||||
return -ENOMEM;
|
||||
}
|
||||
usbvision->sbuf[buf_idx].urb = urb;
|
||||
usbvision->sbuf[buf_idx].data =
|
||||
usb_alloc_coherent(usbvision->dev,
|
||||
|
|
|
|||
|
|
@ -1045,10 +1045,8 @@ static int zr364xx_start_readpipe(struct zr364xx_camera *cam)
|
|||
pipe_info->state = 1;
|
||||
pipe_info->err_count = 0;
|
||||
pipe_info->stream_urb = usb_alloc_urb(0, GFP_KERNEL);
|
||||
if (!pipe_info->stream_urb) {
|
||||
dev_err(&cam->udev->dev, "ReadStream: Unable to alloc URB\n");
|
||||
if (!pipe_info->stream_urb)
|
||||
return -ENOMEM;
|
||||
}
|
||||
/* transfer buffer allocated in board_init */
|
||||
usb_fill_bulk_urb(pipe_info->stream_urb, cam->udev,
|
||||
pipe,
|
||||
|
|
|
|||
Loading…
Reference in a new issue