200-ARM-at91-udc-clockfix-backport.patch 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. --- a/drivers/usb/gadget/udc/at91_udc.c
  2. +++ b/drivers/usb/gadget/udc/at91_udc.c
  3. @@ -870,8 +870,6 @@ static void clk_on(struct at91_udc *udc)
  4. return;
  5. udc->clocked = 1;
  6. - if (IS_ENABLED(CONFIG_COMMON_CLK))
  7. - clk_enable(udc->uclk);
  8. clk_enable(udc->iclk);
  9. clk_enable(udc->fclk);
  10. }
  11. @@ -884,8 +882,6 @@ static void clk_off(struct at91_udc *udc
  12. udc->gadget.speed = USB_SPEED_UNKNOWN;
  13. clk_disable(udc->fclk);
  14. clk_disable(udc->iclk);
  15. - if (IS_ENABLED(CONFIG_COMMON_CLK))
  16. - clk_disable(udc->uclk);
  17. }
  18. /*
  19. @@ -1766,27 +1762,18 @@ static int at91udc_probe(struct platform
  20. udc_reinit(udc);
  21. /* get interface and function clocks */
  22. - udc->iclk = clk_get(dev, "udc_clk");
  23. - udc->fclk = clk_get(dev, "udpck");
  24. - if (IS_ENABLED(CONFIG_COMMON_CLK))
  25. - udc->uclk = clk_get(dev, "usb_clk");
  26. - if (IS_ERR(udc->iclk) || IS_ERR(udc->fclk) ||
  27. - (IS_ENABLED(CONFIG_COMMON_CLK) && IS_ERR(udc->uclk))) {
  28. + udc->iclk = clk_get(dev, "pclk");
  29. + udc->fclk = clk_get(dev, "hclk");
  30. + if (IS_ERR(udc->iclk) || IS_ERR(udc->fclk)) {
  31. DBG("clocks missing\n");
  32. retval = -ENODEV;
  33. goto fail1;
  34. }
  35. - /* don't do anything until we have both gadget driver and VBUS */
  36. - if (IS_ENABLED(CONFIG_COMMON_CLK)) {
  37. - clk_set_rate(udc->uclk, 48000000);
  38. - retval = clk_prepare(udc->uclk);
  39. - if (retval)
  40. - goto fail1;
  41. - }
  42. + clk_set_rate(udc->fclk, 48000000);
  43. retval = clk_prepare(udc->fclk);
  44. if (retval)
  45. - goto fail1a;
  46. + goto fail1;
  47. retval = clk_prepare_enable(udc->iclk);
  48. if (retval)
  49. @@ -1860,12 +1847,7 @@ fail1c:
  50. clk_unprepare(udc->iclk);
  51. fail1b:
  52. clk_unprepare(udc->fclk);
  53. -fail1a:
  54. - if (IS_ENABLED(CONFIG_COMMON_CLK))
  55. - clk_unprepare(udc->uclk);
  56. fail1:
  57. - if (IS_ENABLED(CONFIG_COMMON_CLK) && !IS_ERR(udc->uclk))
  58. - clk_put(udc->uclk);
  59. if (!IS_ERR(udc->fclk))
  60. clk_put(udc->fclk);
  61. if (!IS_ERR(udc->iclk))
  62. @@ -1911,15 +1893,11 @@ static int __exit at91udc_remove(struct
  63. res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
  64. release_mem_region(res->start, resource_size(res));
  65. - if (IS_ENABLED(CONFIG_COMMON_CLK))
  66. - clk_unprepare(udc->uclk);
  67. clk_unprepare(udc->fclk);
  68. clk_unprepare(udc->iclk);
  69. clk_put(udc->iclk);
  70. clk_put(udc->fclk);
  71. - if (IS_ENABLED(CONFIG_COMMON_CLK))
  72. - clk_put(udc->uclk);
  73. return 0;
  74. }