aboutsummaryrefslogtreecommitdiff
path: root/drivers/usb/chipidea/ci_hdrc_tegra.c
AgeCommit message (Collapse)AuthorFilesLines
2024-06-27usb: chipidea: ci_hdrc_tegra: Switch to RUNTIME_PM_OPS()Fabio Estevam1-5/+4
Replace SET_RUNTIME_PM_OPS() with its modern RUNTIME_PM_OPS() alternative. The combined usage of pm_ptr() and RUNTIME_PM_OPS allows the compiler to evaluate if the runtime suspend/resume() functions are used at build time or are simply dead code. This allows removing the __maybe_unused notation from the runtime suspend/resume() functions. Signed-off-by: Fabio Estevam <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2023-10-02usb: chipidea: tegra: Consistently use dev_err_probe()Michał Mirosław1-9/+7
Convert all error exits from probe() to dev_err_probe(). Acked-by: Peter Chen <[email protected]> Signed-off-by: Michał Mirosław <[email protected]> Link: https://lore.kernel.org/r/43d03aad1c394d9995f69d13ca1176f9ff8a8dab.1695934946.git.mirq-linux@rere.qmqm.pl Signed-off-by: Greg Kroah-Hartman <[email protected]>
2023-07-25usb: Explicitly include correct DT includesRob Herring1-1/+2
The DT of_device.h and of_platform.h date back to the separate of_platform_bus_type before it as merged into the regular platform bus. As part of that merge prepping Arm DT support 13 years ago, they "temporarily" include each other. They also include platform_device.h and of.h. As a result, there's a pretty much random mix of those include files used throughout the tree. In order to detangle these headers and replace the implicit includes with struct declarations, users need to explicitly include the correct includes. Acked-by: Herve Codina <[email protected]> Signed-off-by: Rob Herring <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2023-05-28usb: chipidea/ci_hdrc_tegra: Convert to platform remove callback returning voidUwe Kleine-König1-4/+2
The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new() which already returns void. Eventually after all drivers are converted, .remove_new() is renamed to .remove(). Trivially convert this driver from always returning zero in the remove callback to the void returning variant. Signed-off-by: Uwe Kleine-König <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2021-12-16usb: chipidea: tegra: Add runtime PM and OPP supportDmitry Osipenko1-7/+46
The Tegra USB controller belongs to the core power domain and we're going to enable GENPD support for the core domain. Now USB controller must be resumed using runtime PM API in order to initialize the USB power state. We already support runtime PM for the CI device, but CI's PM is separated from the RPM managed by tegra-usb driver. Add runtime PM and OPP support to the driver. Acked-by: Peter Chen <[email protected]> Reviewed-by: Ulf Hansson <[email protected]> Signed-off-by: Dmitry Osipenko <[email protected]> Signed-off-by: Thierry Reding <[email protected]>
2021-03-23usb: chipidea: tegra: Silence deferred probe errorDmitry Osipenko1-5/+3
Silence deferred probe error caused by the PHY driver which is probed later than the ChipIdea driver. Signed-off-by: Dmitry Osipenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2021-01-13usb: chipidea: tegra: Specify TX FIFO threshold in UDC SoC infoDmitry Osipenko1-5/+14
The UDC/OTG controller could be switched to a host mode and the TXFILLTUNING register needs to be programmed properly for the host mode. Hence specify the TX FIFO threshold in the UDC SoC info. Acked-by: Peter Chen <[email protected]> Signed-off-by: Dmitry Osipenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2021-01-13usb: chipidea: tegra: Support runtime PMDmitry Osipenko1-3/+10
Tegra PHY driver now supports waking up controller from a low power mode. Enable runtime PM in order to put controller into the LPM during idle. Tested-by: Matt Merhar <[email protected]> Tested-by: Nicolas Chauvet <[email protected]> Tested-by: Peter Geis <[email protected]> Tested-by: Ion Agorria <[email protected]> Acked-by: Peter Chen <[email protected]> Signed-off-by: Dmitry Osipenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2021-01-13usb: chipidea: tegra: Support host modePeter Geis1-4/+239
Add USB host mode to the Tegra HDRC driver. This allows us to benefit from support provided by the generic ChipIdea driver instead of duplicating the effort in a separate ehci-tegra driver. Tested-by: Matt Merhar <[email protected]> Tested-by: Nicolas Chauvet <[email protected]> Tested-by: Ion Agorria <[email protected]> Acked-by: Thierry Reding <[email protected]> Acked-by: Peter Chen <[email protected]> Signed-off-by: Peter Geis <[email protected]> Signed-off-by: Dmitry Osipenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2021-01-13usb: chipidea: tegra: Rename UDC to USBDmitry Osipenko1-39/+39
Rename all occurrences in the code from "udc" to "usb" and change the Kconfig entry in order to show that this driver supports USB modes other than device-only mode. The follow up patch will add host-mode support and it will be cleaner to perform the renaming separately, i.e. in this patch. Tested-by: Matt Merhar <[email protected]> Tested-by: Nicolas Chauvet <[email protected]> Tested-by: Peter Geis <[email protected]> Tested-by: Ion Agorria <[email protected]> Acked-by: Thierry Reding <[email protected]> Acked-by: Peter Chen <[email protected]> Signed-off-by: Dmitry Osipenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2021-01-13usb: chipidea: tegra: Remove MODULE_ALIASDmitry Osipenko1-1/+0
The OF core adds an alias based on the OF device ID table, which is enough to have the driver autoloaded. The legacy MODULE_ALIAS macro was relevant to a pre-OF board files which manually created platform devices, this is irrelevant to the modern ARM kernels since devices are created by the OF core. Remove the unnecessary macro in order to keep the driver's code cleaner. Tested-by: Matt Merhar <[email protected]> Tested-by: Nicolas Chauvet <[email protected]> Tested-by: Peter Geis <[email protected]> Tested-by: Ion Agorria <[email protected]> Acked-by: Thierry Reding <[email protected]> Acked-by: Peter Chen <[email protected]> Signed-off-by: Dmitry Osipenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2020-01-09usb: chipidea: tegra: Stop managing PHY's powerDmitry Osipenko1-9/+0
Tegra's USB PHY driver now provides generic PHY init/shutdown callbacks and thus the custom PHY management could be removed from Tegra-specific part of the ChipIdea driver. Signed-off-by: Dmitry Osipenko <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2019-10-04usb: chipidea: tegra: clean up tegra_udc flag codePeter Geis1-17/+5
All Tegra devices handled by tegra-udc use the same flags. Consolidate all the entries under one roof. Signed-off-by: Peter Geis <[email protected]> Acked-by: Thierry Reding <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
2019-02-26usb: chipidea: tegra: Fix missed ci_hdrc_remove_device()Dmitry Osipenko1-0/+1
The ChipIdea's platform device need to be unregistered on Tegra's driver module removal. Fixes: dfebb5f43a78827a ("usb: chipidea: Add support for Tegra20/30/114/124") Signed-off-by: Dmitry Osipenko <[email protected]> Acked-by: Peter Chen <[email protected]> Cc: stable <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2018-06-26usb: chipidea: tegra: Use aligned DMA on Tegra114/124Marcel Ziswiler1-2/+2
USB Ethernet gadget now works on Tegra114 and Tegra124. Similar to commit 061e20e9899e ("usb: chipidea: tegra: Use aligned DMA on Tegra30"). Signed-off-by: Marcel Ziswiler <[email protected]> Signed-off-by: Peter Chen <[email protected]>
2017-12-21usb: chipidea: tegra: Use aligned DMA on Tegra30Dmitry Osipenko1-1/+1
USB Ethernet gadget now works on Tegra30. Acked-by: Thierry Reding <[email protected]> Signed-off-by: Dmitry Osipenko <[email protected]> Signed-off-by: Peter Chen <[email protected]>
2017-11-07USB: chipidea: ci_hdrc_tegra.c: add SPDX lineGreg Kroah-Hartman1-0/+1
The license text was removed from this file, yet they somehow missed the big "add SPDX tags to all files" sweep due to them being new. So add the proper SPDX license tag to them, based on the original license text in the file. Cc: Thierry Reding <[email protected]> Cc: Jonathan Hunter <[email protected]> Acked-by: Peter Chen <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2017-11-07USB: chipidea: Remove redundant license textGreg Kroah-Hartman1-4/+0
Now that the SPDX tag is in all USB files, that identifies the license in a specific and legally-defined manner. So the extra GPL text wording can be removed as it is no longer needed at all. This is done on a quest to remove the 700+ different ways that files in the kernel describe the GPL license text. And there's unneeded stuff like the address (sometimes incorrect) for the FSF which is never needed. No copyright headers or other non-license-description text was removed. Cc: Thierry Reding <[email protected]> Cc: Jonathan Hunter <[email protected]> Acked-by: Peter Chen <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
2017-08-24usb: chipidea: Add support for Tegra20/30/114/124Thierry Reding1-0/+155
All of these Tegra SoC generations have a ChipIdea UDC IP block that can be used for device mode communication with a host. Implement rudimentary support that doesn't allow switching between host and device modes. Tested-by: Michał Mirosław <[email protected]> Signed-off-by: Thierry Reding <[email protected]> [[email protected]: rebased patches and added DMA alignment quirk for Tegra20] Signed-off-by: Dmitry Osipenko <[email protected]> Acked-by: Peter Chen <[email protected]> Signed-off-by: Peter Chen <[email protected]>