[PATCH v10 18/18] OMAP2, 3: DSS2: Get DSS IRQ from platform device

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Jan 27 07:59:55 EST 2011


On Thu, Jan 27, 2011 at 06:19:21PM +0530, Raghuveer Murthy wrote:
>> +	r = request_irq(dss_irq,
>> +		cpu_is_omap24xx()
>> +		? dss_irq_handler_omap2
>> +		: dss_irq_handler_omap3,
>
> it should be
>
> 		cpu_is_omap24xx()
> 		? dss_irq_handler_omap3
> 		: dss_irq_handler_omap2,
>
> I am seeing a crash on Panda, which gets rectified with this
> change. The root cause is access to DSS_IRQSTATUS register in the
> dss_irq_handler_omap3 handler, which is not valid for OMAP4.

That really doesn't look right.  Let me translate the code you've just
written:

	if (cpu_is_omap24xx())
		handler = dss_irq_handler_omap3;
	else
		handler = dss_irq_handler_omap2;

Which means: if we have an OMAP24xx device, use the OMAP3 handler,
otherwise use the OMAP2 handler.  That's got to be wrong.



More information about the linux-arm-kernel mailing list