iommu/omap: add pdata ops for omap_device_enable/idle
authorSuman Anna <s-anna@ti.com>
Wed, 7 Aug 2019 08:26:46 +0000 (11:26 +0300)
committerJoerg Roedel <jroedel@suse.de>
Fri, 9 Aug 2019 15:37:09 +0000 (17:37 +0200)
Add two new platform data ops to allow the OMAP iommu driver to
be able to invoke the omap_device_enable and omap_device_idle
from within the driver. These are being added to streamline the
sequence between managing the hard reset lines and the clocks
during the suspend path, as the default device pm_domain callback
sequences in omap_device layer are not conducive for the OMAP
IOMMU driver.

This could have been done by expanding the existing pdata ops
for reset management (like in the OMAP remoteproc driver), but
this was chosen to avoid adding additional code in the separate
file in the mach-omap2 layer.

Signed-off-by: Suman Anna <s-anna@ti.com>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
include/linux/platform_data/iommu-omap.h

index 1ed6026..8474a02 100644 (file)
@@ -13,6 +13,8 @@ struct iommu_platform_data {
        const char *reset_name;
        int (*assert_reset)(struct platform_device *pdev, const char *name);
        int (*deassert_reset)(struct platform_device *pdev, const char *name);
+       int (*device_enable)(struct platform_device *pdev);
+       int (*device_idle)(struct platform_device *pdev);
        int (*set_pwrdm_constraint)(struct platform_device *pdev, bool request,
                                    u8 *pwrst);
 };