aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorSebastien Jan <s-jan@ti.com>2011-08-30 12:02:03 -0400
committerPaolo Pisati <paolo.pisati@canonical.com>2012-08-17 04:19:17 -0400
commitaa1a747e2e01b5967bf6612807b9a2e2c3498e26 (patch)
tree418c3d1db9cf01a220b7e1b003d70b8391e6b42b /arch
parenta7f3f9708169cdabee03f6ff020d6786bddc1a9b (diff)
fix: remove isr callback
Signed-off-by: Sebastien Jan <s-jan@ti.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/plat-omap/include/plat/iommu.h5
-rw-r--r--arch/arm/plat-omap/iommu.c31
2 files changed, 0 insertions, 36 deletions
diff --git a/arch/arm/plat-omap/include/plat/iommu.h b/arch/arm/plat-omap/include/plat/iommu.h
index c81882ca4c1..a03823a81ac 100644
--- a/arch/arm/plat-omap/include/plat/iommu.h
+++ b/arch/arm/plat-omap/include/plat/iommu.h
@@ -32,7 +32,6 @@ struct iommu {
32 struct module *owner; 32 struct module *owner;
33 void __iomem *regbase; 33 void __iomem *regbase;
34 struct device *dev; 34 struct device *dev;
35 void *isr_priv;
36 35
37 unsigned int refcount; 36 unsigned int refcount;
38 struct mutex iommu_lock; /* global for this whole object */ 37 struct mutex iommu_lock; /* global for this whole object */
@@ -190,10 +189,6 @@ extern void iopgtable_clear_entry_all(struct iommu *obj);
190extern int iommu_set_da_range(struct iommu *obj, u32 start, u32 end); 189extern int iommu_set_da_range(struct iommu *obj, u32 start, u32 end);
191extern struct iommu *iommu_get(const char *name); 190extern struct iommu *iommu_get(const char *name);
192extern void iommu_put(struct iommu *obj); 191extern void iommu_put(struct iommu *obj);
193extern int iommu_set_isr(const char *name,
194 int (*isr)(struct iommu *obj, u32 da, u32 iommu_errs,
195 void *priv),
196 void *isr_priv);
197 192
198u32 iommu_save_ctx(struct iommu *obj); 193u32 iommu_save_ctx(struct iommu *obj);
199u32 iommu_restore_ctx(struct iommu *obj); 194u32 iommu_restore_ctx(struct iommu *obj);
diff --git a/arch/arm/plat-omap/iommu.c b/arch/arm/plat-omap/iommu.c
index 4f9e9b85647..06635f40e4d 100644
--- a/arch/arm/plat-omap/iommu.c
+++ b/arch/arm/plat-omap/iommu.c
@@ -877,10 +877,6 @@ static irqreturn_t iommu_fault_handler(int irq, void *data)
877 if (errs == 0) 877 if (errs == 0)
878 return IRQ_HANDLED; 878 return IRQ_HANDLED;
879 879
880 /* Fault callback or TLB/PTE Dynamic loading */
881 if (obj->isr && !obj->isr(obj, da, errs, obj->isr_priv))
882 return IRQ_HANDLED;
883
884 iommu_disable(obj); 880 iommu_disable(obj);
885 881
886 iopgd = iopgd_offset(obj, da); 882 iopgd = iopgd_offset(obj, da);
@@ -999,33 +995,6 @@ void iommu_put(struct iommu *obj)
999} 995}
1000EXPORT_SYMBOL_GPL(iommu_put); 996EXPORT_SYMBOL_GPL(iommu_put);
1001 997
1002int iommu_set_isr(const char *name,
1003 int (*isr)(struct iommu *obj, u32 da, u32 iommu_errs,
1004 void *priv),
1005 void *isr_priv)
1006{
1007 struct device *dev;
1008 struct iommu *obj;
1009
1010 dev = driver_find_device(&omap_iommu_driver.driver, NULL, (void *)name,
1011 device_match_by_alias);
1012 if (!dev)
1013 return -ENODEV;
1014
1015 obj = to_iommu(dev);
1016 mutex_lock(&obj->iommu_lock);
1017 if (obj->refcount != 0) {
1018 mutex_unlock(&obj->iommu_lock);
1019 return -EBUSY;
1020 }
1021 obj->isr = isr;
1022 obj->isr_priv = isr_priv;
1023 mutex_unlock(&obj->iommu_lock);
1024
1025 return 0;
1026}
1027EXPORT_SYMBOL_GPL(iommu_set_isr);
1028
1029/* 998/*
1030 * OMAP Device MMU(IOMMU) detection 999 * OMAP Device MMU(IOMMU) detection
1031 */ 1000 */