Re: [GIT pull] irq fixes for .39.rc

From: Thomas Gleixner
Date: Wed Mar 30 2011 - 12:28:46 EST




On Wed, 30 Mar 2011, Linus Torvalds wrote:

> On Wed, Mar 30, 2011 at 7:51 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> >
> > Please pull the latest irq-fixes-for-linus git tree from:
> >
> >   git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git irq-fixes-for-linus
>
> Hmm. This has a fundamental merge conflict with BenH's tree that I just pulled.
>
> You guys did different things in arch/powerpc/include/asm/qe_ic.h:
>
> - BenH has:
>
> - struct qe_ic *qe_ic = get_irq_desc_data(desc);
> + struct qe_ic *qe_ic = irq_desc_get_chip_data(desc);
>
> - Thomas has:
>
> - struct qe_ic *qe_ic = get_irq_desc_data(desc);
> + struct qe_ic *qe_ic = irq_desc_get_handler_data(desc);
>
> Note the "chip_data" vs "handler_data" difference.
>
> And when I tried to figure out which one is the correct one, I see that
>
> - qe_ic_host_map does:
>
> irq_set_chip_data(virq, qe_ic);
>
> - qe_ic_init does:
>
> irq_set_handler_data(qe_ic->virq_low, qe_ic);
> ...
> irq_set_handler_data(qe_ic->virq_high, qe_ic);
>
> which just makes me go "Somebody is really really confused".
>
> The whole thing may mean that both handler_data and chip_data contains
> the right thing, but it still makes me go "WTF?".
>
> Which way should I resolve it?

get_irq_desc_data() maps to irq_desc_get_handler_data() so Richards
resolution is correct even if the other might work as well.

Thanks,

tglx