[PATCH 6/7] omap: iommu: remove unused exported API

Hiroshi DOYU Hiroshi.DOYU at nokia.com
Thu Aug 18 06:49:47 EDT 2011


Hi Ohad,

Just small question inlined....

From: ext Ohad Ben-Cohen <ohad at wizery.com>
Subject: [PATCH 6/7] omap: iommu: remove unused exported API
Date: Thu, 18 Aug 2011 02:10:07 +0300

> Remove unused public APIs from OMAP's iommu driver.
> 
> IOMMU functionality should be exposed only via the generic IOMMU API;
> this way drivers stay generic, and different IOMMU drivers
> don't need to duplicate similar functionalities.
> 
> The rest of the API still exposed by OMAP's iommu will be evaluated
> and eventually either added to the generic IOMMU API (if relevant),
> or completely removed.
> 
> The intention is that OMAP's iommu driver will eventually not expose
> any public API.
> 
> Signed-off-by: Ohad Ben-Cohen <ohad at wizery.com>
> ---
>  arch/arm/plat-omap/include/plat/iommu.h |    3 --
>  drivers/iommu/omap-iommu.c              |   59 -------------------------------
>  2 files changed, 0 insertions(+), 62 deletions(-)
> 
> diff --git a/arch/arm/plat-omap/include/plat/iommu.h b/arch/arm/plat-omap/include/plat/iommu.h
> index 961b64f..eed5bdc 100644
> --- a/arch/arm/plat-omap/include/plat/iommu.h
> +++ b/arch/arm/plat-omap/include/plat/iommu.h
> @@ -153,12 +153,9 @@ struct iommu_platform_data {
>  extern u32 iommu_arch_version(void);
>  
>  extern void iotlb_cr_to_e(struct cr_regs *cr, struct iotlb_entry *e);
> -extern void iommu_set_twl(struct iommu *obj, bool on);

This function was introduced by "Hari Kanigeri" for some OMAP4 case,
which is only using TLB, not H/W table walk.

> -extern void flush_iotlb_range(struct iommu *obj, u32 start, u32 end);
> -extern int iommu_set_da_range(struct iommu *obj, u32 start, u32 end);

This function was introduced by "David Cohen" to specify the available
ISP virtual address range.

Both requirements were quite reasonable at that time. Not necessary anymore?

>  extern int iommu_set_isr(const char *name,
>  			 int (*isr)(struct iommu *obj, u32 da, u32 iommu_errs,
>  				    void *priv),
> diff --git a/drivers/iommu/omap-iommu.c b/drivers/iommu/omap-iommu.c
> index 7280e5b..d6b77c4 100644
> --- a/drivers/iommu/omap-iommu.c
> +++ b/drivers/iommu/omap-iommu.c
> @@ -357,26 +357,6 @@ static void flush_iotlb_page(struct iommu *obj, u32 da)
>  }
>  
>  /**
> - * flush_iotlb_range - Clear an iommu tlb entries
> - * @obj:	target iommu
> - * @start:	iommu device virtual address(start)
> - * @end:	iommu device virtual address(end)
> - *
> - * Clear an iommu tlb entry which includes 'da' address.
> - **/
> -void flush_iotlb_range(struct iommu *obj, u32 start, u32 end)
> -{
> -	u32 da = start;
> -
> -	while (da < end) {
> -		flush_iotlb_page(obj, da);
> -		/* FIXME: Optimize for multiple page size */
> -		da += IOPTE_SIZE;
> -	}
> -}
> -EXPORT_SYMBOL_GPL(flush_iotlb_range);
> -
> -/**
>   * flush_iotlb_all - Clear all iommu tlb entries
>   * @obj:	target iommu
>   **/
> @@ -395,23 +375,6 @@ static void flush_iotlb_all(struct iommu *obj)
>  	clk_disable(obj->clk);
>  }
>  
> -/**
> - * iommu_set_twl - enable/disable table walking logic
> - * @obj:	target iommu
> - * @on:		enable/disable
> - *
> - * Function used to enable/disable TWL. If one wants to work
> - * exclusively with locked TLB entries and receive notifications
> - * for TLB miss then call this function to disable TWL.
> - */
> -void iommu_set_twl(struct iommu *obj, bool on)
> -{
> -	clk_enable(obj->clk);
> -	arch_iommu->set_twl(obj, on);
> -	clk_disable(obj->clk);
> -}
> -EXPORT_SYMBOL_GPL(iommu_set_twl);
> -
>  #if defined(CONFIG_OMAP_IOMMU_DEBUG_MODULE)
>  
>  ssize_t iommu_dump_ctx(struct iommu *obj, char *buf, ssize_t bytes)
> @@ -848,28 +811,6 @@ static int device_match_by_alias(struct device *dev, void *data)
>  }
>  
>  /**
> - * iommu_set_da_range - Set a valid device address range
> - * @obj:		target iommu
> - * @start		Start of valid range
> - * @end			End of valid range
> - **/
> -int iommu_set_da_range(struct iommu *obj, u32 start, u32 end)
> -{
> -
> -	if (!obj)
> -		return -EFAULT;
> -
> -	if (end < start || !PAGE_ALIGN(start | end))
> -		return -EINVAL;
> -
> -	obj->da_start = start;
> -	obj->da_end = end;
> -
> -	return 0;
> -}
> -EXPORT_SYMBOL_GPL(iommu_set_da_range);
> -
> -/**
>   * omap_find_iommu_device() - find an omap iommu device by name
>   * @name:	name of the iommu device
>   *
> -- 
> 1.7.4.1
> 



More information about the linux-arm-kernel mailing list