From: Paul M. <le...@li...> - 2007-11-14 05:09:11
|
On Tue, Nov 13, 2007 at 11:52:38PM +0100, Kristoffer Ericson wrote: > Just starting looking at pcmcia code again. When compairing to hd64465 > code I found this segment: > Both hd64461 and hd64465 do totally bogus IRQ handling, most of which should be moved over to arch/sh/cchips and corrected to work with the new API. > static void hs_mask_and_ack_irq(unsigned int irq) > { > hs_socket_disable_ireq(hs_mapped_irq[irq].sock); > if (hs_mapped_irq[irq].old_handler != &no_irq_type) > hs_mapped_irq[irq].chip->ack(irq); > } > Again, this is simply crap. You are better off deleting everything that mentions 'irq' in the hd6446x pcmcia drivers and rewriting it completely. We have proper APIs in place for chaining the handlers, demux, etc. all of which hd6446x tries to side-step. Surprisingly that doesn't work very well. Look at the other PCMCIA drivers (ie, not hd6446x) for examples on how to implement a less fucked up driver. Also, your keyboard was blessed with an enter key, please consider using it when writing email. |