obj-$(CONFIG_OMAP_SMARTREFLEX_CLASS3) += smartreflex-class3.o
AFLAGS_sleep24xx.o :=-Wa,-march=armv6
--AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a
++AFLAGS_sleep34xx.o :=-Wa,-march=armv7-a$(plus_sec)
ifeq ($(CONFIG_PM_VERBOSE),y)
CFLAGS_pm_bus.o += -DDEBUG
obj-$(CONFIG_MACH_CM_T3517) += board-cm-t3517.o
obj-$(CONFIG_MACH_IGEP0020) += board-igep0020.o \
hsmmc.o
-- -obj-$(CONFIG_MACH_IGEP0030) += board-igep0030.o \
-- - hsmmc.o
obj-$(CONFIG_MACH_OMAP3_TOUCHBOOK) += board-omap3touchbook.o \
hsmmc.o
obj-$(CONFIG_MACH_OMAP_4430SDP) += board-4430sdp.o \
disp-$(CONFIG_OMAP2_DSS) := display.o
obj-y += $(disp-m) $(disp-y)
++ +
++ +obj-y += common-board-devices.o
u8 multi = error & L3_ERROR_LOG_MULTI;
u32 address = omap3_l3_decode_addr(error_addr);
-- - WARN(true, "%s Error seen by %s %s at address %x\n",
++ + WARN(true, "%s seen by %s %s at address %x\n",
omap3_l3_code_string(code),
omap3_l3_initiator_string(initid),
multi ? "Multiple Errors" : "",
static irqreturn_t omap3_l3_app_irq(int irq, void *_l3)
{
struct omap3_l3 *l3 = _l3;
-- -
u64 status, clear;
u64 error;
u64 error_addr;
u64 err_source = 0;
void __iomem *base;
int int_type;
-- -
irqreturn_t ret = IRQ_NONE;
-- - if (irq == l3->app_irq)
-- - int_type = L3_APPLICATION_ERROR;
-- - else
-- - int_type = L3_DEBUG_ERROR;
-- -
++ + int_type = irq == l3->app_irq ? L3_APPLICATION_ERROR : L3_DEBUG_ERROR;
if (!int_type) {
status = omap3_l3_readll(l3->rt, L3_SI_FLAG_STATUS_0);
/*
/* No timeout error for debug sources */
}
-- base = ((l3->rt) + (*(omap3_l3_bases[int_type] + err_source)));
--
/* identify the error source */
for (err_source = 0; !(status & (1 << err_source)); err_source++)
;
- error = omap3_l3_readll(base, L3_ERROR_LOG);
+
++ base = l3->rt + *(omap3_l3_bases[int_type] + err_source);
+ error = omap3_l3_readll(base, L3_ERROR_LOG);
--
if (error) {
error_addr = omap3_l3_readll(base, L3_ERROR_LOG_ADDR);
}
/* Clear the status register */
-- - clear = ((L3_AGENT_STATUS_CLEAR_IA << int_type) |
-- - (L3_AGENT_STATUS_CLEAR_TA));
-- -
++ + clear = (L3_AGENT_STATUS_CLEAR_IA << int_type) |
++ + L3_AGENT_STATUS_CLEAR_TA;
omap3_l3_writell(base, L3_AGENT_STATUS, clear);
/* clear the error log register */
int ret;
l3 = kzalloc(sizeof(*l3), GFP_KERNEL);
-- - if (!l3) {
-- - ret = -ENOMEM;
-- - goto err0;
-- - }
++ + if (!l3)
++ + return -ENOMEM;
platform_set_drvdata(pdev, l3);
if (!res) {
dev_err(&pdev->dev, "couldn't find resource\n");
ret = -ENODEV;
-- - goto err1;
++ + goto err0;
}
l3->rt = ioremap(res->start, resource_size(res));
-- - if (!(l3->rt)) {
++ + if (!l3->rt) {
dev_err(&pdev->dev, "ioremap failed\n");
ret = -ENOMEM;
-- - goto err2;
++ + goto err0;
}
l3->debug_irq = platform_get_irq(pdev, 0);
"l3-debug-irq", l3);
if (ret) {
dev_err(&pdev->dev, "couldn't request debug irq\n");
-- - goto err3;
++ + goto err1;
}
l3->app_irq = platform_get_irq(pdev, 1);
ret = request_irq(l3->app_irq, omap3_l3_app_irq,
IRQF_DISABLED | IRQF_TRIGGER_RISING,
"l3-app-irq", l3);
-- -
if (ret) {
dev_err(&pdev->dev, "couldn't request app irq\n");
-- - goto err4;
++ + goto err2;
}
-- - goto err0;
++ + return 0;
-- -err4:
-- -err3:
-- - iounmap(l3->rt);
err2:
++ + free_irq(l3->debug_irq, l3);
err1:
-- - kfree(l3);
++ + iounmap(l3->rt);
err0:
++ + kfree(l3);
return ret;
}