Commit 9ed714db authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull USB driver fixes from Greg KH:
 "Here are some small USB driver fixes and new device ids for 5.19-rc7.
  They include:

   - new usb-serial driver ids

   - typec uevent fix

   - uvc gadget driver fix

   - dwc3 driver fixes

   - ehci-fsl driver fix

  All of these have been in linux-next for a while with no reported
  issues"

* tag 'usb-5.19-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
  USB: serial: ftdi_sio: add Belimo device ids
  drivers/usb/host/ehci-fsl: Fix interrupt setup in host mode.
  usb: gadget: uvc: fix changing interface name via configfs
  usb: typec: add missing uevent when partner support PD
  usb: dwc3-am62: remove unnecesary clk_put()
  usb: dwc3: gadget: Fix event pending check
parents 8c91723a 3486af89
Loading
Loading
Loading
Loading
+2 −6
Original line number Original line Diff line number Diff line
@@ -195,8 +195,7 @@ static int dwc3_ti_probe(struct platform_device *pdev)


	if (i == ARRAY_SIZE(dwc3_ti_rate_table)) {
	if (i == ARRAY_SIZE(dwc3_ti_rate_table)) {
		dev_err(dev, "unsupported usb2_refclk rate: %lu KHz\n", rate);
		dev_err(dev, "unsupported usb2_refclk rate: %lu KHz\n", rate);
		ret = -EINVAL;
		return -EINVAL;
		goto err_clk_disable;
	}
	}


	data->rate_code = i;
	data->rate_code = i;
@@ -204,7 +203,7 @@ static int dwc3_ti_probe(struct platform_device *pdev)
	/* Read the syscon property and set the rate code */
	/* Read the syscon property and set the rate code */
	ret = phy_syscon_pll_refclk(data);
	ret = phy_syscon_pll_refclk(data);
	if (ret)
	if (ret)
		goto err_clk_disable;
		return ret;


	/* VBUS divider select */
	/* VBUS divider select */
	data->vbus_divider = device_property_read_bool(dev, "ti,vbus-divider");
	data->vbus_divider = device_property_read_bool(dev, "ti,vbus-divider");
@@ -245,8 +244,6 @@ static int dwc3_ti_probe(struct platform_device *pdev)
	clk_disable_unprepare(data->usb2_refclk);
	clk_disable_unprepare(data->usb2_refclk);
	pm_runtime_disable(dev);
	pm_runtime_disable(dev);
	pm_runtime_set_suspended(dev);
	pm_runtime_set_suspended(dev);
err_clk_disable:
	clk_put(data->usb2_refclk);
	return ret;
	return ret;
}
}


@@ -276,7 +273,6 @@ static int dwc3_ti_remove(struct platform_device *pdev)
	pm_runtime_disable(dev);
	pm_runtime_disable(dev);
	pm_runtime_set_suspended(dev);
	pm_runtime_set_suspended(dev);


	clk_put(data->usb2_refclk);
	platform_set_drvdata(pdev, NULL);
	platform_set_drvdata(pdev, NULL);
	return 0;
	return 0;
}
}
+3 −1
Original line number Original line Diff line number Diff line
@@ -4249,7 +4249,6 @@ static irqreturn_t dwc3_process_event_buf(struct dwc3_event_buffer *evt)
	}
	}


	evt->count = 0;
	evt->count = 0;
	evt->flags &= ~DWC3_EVENT_PENDING;
	ret = IRQ_HANDLED;
	ret = IRQ_HANDLED;


	/* Unmask interrupt */
	/* Unmask interrupt */
@@ -4261,6 +4260,9 @@ static irqreturn_t dwc3_process_event_buf(struct dwc3_event_buffer *evt)
		dwc3_writel(dwc->regs, DWC3_DEV_IMOD(0), dwc->imod_interval);
		dwc3_writel(dwc->regs, DWC3_DEV_IMOD(0), dwc->imod_interval);
	}
	}


	/* Keep the clearing of DWC3_EVENT_PENDING at the end */
	evt->flags &= ~DWC3_EVENT_PENDING;

	return ret;
	return ret;
}
}


+4 −2
Original line number Original line Diff line number Diff line
@@ -2371,6 +2371,7 @@ static ssize_t f_uvc_opts_string_##cname##_store(struct config_item *item,\
					  const char *page, size_t len)	\
					  const char *page, size_t len)	\
{									\
{									\
	struct f_uvc_opts *opts = to_f_uvc_opts(item);			\
	struct f_uvc_opts *opts = to_f_uvc_opts(item);			\
	int size = min(sizeof(opts->aname), len + 1);			\
	int ret = 0;							\
	int ret = 0;							\
									\
									\
	mutex_lock(&opts->lock);					\
	mutex_lock(&opts->lock);					\
@@ -2379,8 +2380,9 @@ static ssize_t f_uvc_opts_string_##cname##_store(struct config_item *item,\
		goto end;						\
		goto end;						\
	}								\
	}								\
									\
									\
	ret = snprintf(opts->aname, min(sizeof(opts->aname), len),	\
	ret = strscpy(opts->aname, page, size);				\
			"%s", page);					\
	if (ret == -E2BIG)						\
		ret = size - 1;						\
									\
									\
end:									\
end:									\
	mutex_unlock(&opts->lock);					\
	mutex_unlock(&opts->lock);					\
+3 −8
Original line number Original line Diff line number Diff line
@@ -76,14 +76,9 @@ static int fsl_ehci_drv_probe(struct platform_device *pdev)
		return -ENODEV;
		return -ENODEV;
	}
	}


	res = platform_get_resource(pdev, IORESOURCE_IRQ, 0);
	irq = platform_get_irq(pdev, 0);
	if (!res) {
	if (irq < 0)
		dev_err(&pdev->dev,
		return irq;
			"Found HC with no IRQ. Check %s setup!\n",
			dev_name(&pdev->dev));
		return -ENODEV;
	}
	irq = res->start;


	hcd = __usb_create_hcd(&fsl_ehci_hc_driver, pdev->dev.parent,
	hcd = __usb_create_hcd(&fsl_ehci_hc_driver, pdev->dev.parent,
			       &pdev->dev, dev_name(&pdev->dev), NULL);
			       &pdev->dev, dev_name(&pdev->dev), NULL);
+3 −0
Original line number Original line Diff line number Diff line
@@ -112,6 +112,9 @@ static struct platform_device *fsl_usb2_device_register(
			goto error;
			goto error;
	}
	}


	pdev->dev.of_node = ofdev->dev.of_node;
	pdev->dev.of_node_reused = true;

	retval = platform_device_add(pdev);
	retval = platform_device_add(pdev);
	if (retval)
	if (retval)
		goto error;
		goto error;
Loading