blob: 2c32ca09df02504447222d744d5459eaa2a3e9cb [file] [log] [blame]
David Brazdil0f672f62019-12-10 10:32:29 +00001/* SPDX-License-Identifier: GPL-2.0-only */
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00002/*
3 * omap iommu: simple virtual address space management
4 *
5 * Copyright (C) 2008-2009 Nokia Corporation
6 *
7 * Written by Hiroshi DOYU <Hiroshi.DOYU@nokia.com>
Andrew Scullb4b6d4a2019-01-02 15:54:55 +00008 */
9
10#ifndef _OMAP_IOMMU_H_
11#define _OMAP_IOMMU_H_
12
David Brazdil0f672f62019-12-10 10:32:29 +000013struct iommu_domain;
14
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000015#ifdef CONFIG_OMAP_IOMMU
16extern void omap_iommu_save_ctx(struct device *dev);
17extern void omap_iommu_restore_ctx(struct device *dev);
David Brazdil0f672f62019-12-10 10:32:29 +000018
19int omap_iommu_domain_deactivate(struct iommu_domain *domain);
20int omap_iommu_domain_activate(struct iommu_domain *domain);
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000021#else
22static inline void omap_iommu_save_ctx(struct device *dev) {}
23static inline void omap_iommu_restore_ctx(struct device *dev) {}
David Brazdil0f672f62019-12-10 10:32:29 +000024
25static inline int omap_iommu_domain_deactivate(struct iommu_domain *domain)
26{
27 return -ENODEV;
28}
29
30static inline int omap_iommu_domain_activate(struct iommu_domain *domain)
31{
32 return -ENODEV;
33}
Andrew Scullb4b6d4a2019-01-02 15:54:55 +000034#endif
35
36#endif