Lines Matching refs:l3
129 * @l3: struct omap3_l3 *
139 static irqreturn_t omap3_l3_block_irq(struct omap3_l3 *l3,
158 struct omap3_l3 *l3 = _l3;
167 int_type = irq == l3->app_irq ? L3_APPLICATION_ERROR : L3_DEBUG_ERROR;
169 status = omap3_l3_readll(l3->rt, L3_SI_FLAG_STATUS_0);
171 status = omap3_l3_readll(l3->rt, L3_SI_FLAG_STATUS_1);
176 base = l3->rt + omap3_l3_bases[int_type][err_source];
180 ret |= omap3_l3_block_irq(l3, error, error_addr);
205 .compatible = "ti,omap3-l3-smx",
214 struct omap3_l3 *l3;
218 l3 = kzalloc(sizeof(*l3), GFP_KERNEL);
219 if (!l3)
222 platform_set_drvdata(pdev, l3);
230 l3->rt = ioremap(res->start, resource_size(res));
231 if (!l3->rt) {
237 l3->debug_irq = platform_get_irq(pdev, 0);
238 ret = request_irq(l3->debug_irq, omap3_l3_app_irq, IRQF_TRIGGER_RISING,
239 "l3-debug-irq", l3);
245 l3->app_irq = platform_get_irq(pdev, 1);
246 ret = request_irq(l3->app_irq, omap3_l3_app_irq, IRQF_TRIGGER_RISING,
247 "l3-app-irq", l3);
256 free_irq(l3->debug_irq, l3);
258 iounmap(l3->rt);
260 kfree(l3);
266 struct omap3_l3 *l3 = platform_get_drvdata(pdev);
268 free_irq(l3->app_irq, l3);
269 free_irq(l3->debug_irq, l3);
270 iounmap(l3->rt);
271 kfree(l3);