From: Yinghai Lu <yinghai@kernel.org>
To: Thomas Gleixner <tglx@linutronix.de>
Cc: Feng Tang <feng.tang@intel.com>,
"mingo@redhat.com" <mingo@redhat.com>,
"hpa@zytor.com" <hpa@zytor.com>,
"alan@linux.intel.com" <alan@linux.intel.com>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"Brown, Len" <len.brown@intel.com>,
"linux-tip-commits@vger.kernel.org"
<linux-tip-commits@vger.kernel.org>
Subject: Re: [tip:x86/platform] x86: Unify current 3 similar ways of saving IRQ info
Date: Tue, 07 Dec 2010 10:43:17 -0800 [thread overview]
Message-ID: <4CFE8045.2030101@kernel.org> (raw)
In-Reply-To: <alpine.LFD.2.00.1012071654080.2653@localhost6.localdomain6>
On 12/07/2010 07:56 AM, Thomas Gleixner wrote:
> On Tue, 7 Dec 2010, Feng Tang wrote:
>> On Tue, 7 Dec 2010 01:50:36 +0800
>> Yinghai Lu <yinghai@kernel.org> wrote:
>>
>> +static void assign_to_mp_irq(struct mpc_intsrc *m,
>> + struct mpc_intsrc *mp_irq)
>> +{
>> + mp_irq->dstapic = m->dstapic;
>> + mp_irq->type = m->type;
>> + mp_irq->irqtype = m->irqtype;
>> + mp_irq->irqflag = m->irqflag;
>> + mp_irq->srcbus = m->srcbus;
>> + mp_irq->srcbusirq = m->srcbusirq;
>> + mp_irq->dstirq = m->dstirq;
>
> Can we please use the mrst version with memcpy ?
>
>> +}
>> +
>> +static int mp_irq_mpc_intsrc_cmp(struct mpc_intsrc *mp_irq,
>> + struct mpc_intsrc *m)
>> +{
>> + if (mp_irq->dstapic != m->dstapic)
>> + return 1;
>> + if (mp_irq->type != m->type)
>> + return 2;
>> + if (mp_irq->irqtype != m->irqtype)
>> + return 3;
>> + if (mp_irq->irqflag != m->irqflag)
>> + return 4;
>> + if (mp_irq->srcbus != m->srcbus)
>> + return 5;
>> + if (mp_irq->srcbusirq != m->srcbusirq)
>> + return 6;
>> + if (mp_irq->dstirq != m->dstirq)
>> + return 7;
>> +
>> + return 0;
>
> Same here. No caller is interested in the detailed return value.
>
ok, after look at code and git log, i knew the reasons for those strange duplicated functions.
Alexy changed
/* MP IRQ source entries */
-struct mpc_config_intsrc mp_irqs[MAX_IRQ_SOURCES];
+struct mp_config_intsrc mp_irqs[MAX_IRQ_SOURCES];
to make it decouple that with mpstable definition. so mptable will have mpc_intsrc, and acpi etc will use mp_config_intsrc
and he planed to add more member to mp_config_intsrc .... never happened.
then I added those functions with different parameters.
one year later JSR changed all back to mpc_instr...
so now have some duplicated functions....
even in mpparse.c we now have
static void print_MP_intsrc_info(struct mpc_intsrc *m)
{
apic_printk(APIC_VERBOSE, "Int: type %d, pol %d, trig %d, bus %02x,"
" IRQ %02x, APIC ID %x, APIC INT %02x\n",
m->irqtype, m->irqflag & 3, (m->irqflag >> 2) & 3, m->srcbus,
m->srcbusirq, m->dstapic, m->dstirq);
}
static void __init print_mp_irq_info(struct mpc_intsrc *mp_irq)
{
apic_printk(APIC_VERBOSE, "Int: type %d, pol %d, trig %d, bus %02x,"
" IRQ %02x, APIC ID %x, APIC INT %02x\n",
mp_irq->irqtype, mp_irq->irqflag & 3,
(mp_irq->irqflag >> 2) & 3, mp_irq->srcbus,
mp_irq->srcbusirq, mp_irq->dstapic, mp_irq->dstirq);
}
...
So yes, we should use simple versions in arch/x86/kernel/acpi/boot.c. ( assume functions mrst.c are copied from there)
and should kill print_mp_irq_info or print_MP_intsrc_info...
Thanks
Yinghai
next prev parent reply other threads:[~2010-12-07 19:01 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-03 4:11 [PATCH] x86: unify current 3 similar ways of saving IRQ info Feng Tang
2010-12-06 15:01 ` [tip:x86/platform] x86: Unify " tip-bot for Feng Tang
2010-12-06 17:50 ` Yinghai Lu
2010-12-06 19:51 ` Thomas Gleixner
2010-12-07 5:32 ` Feng Tang
2010-12-07 15:56 ` Thomas Gleixner
2010-12-07 18:43 ` Yinghai Lu [this message]
2010-12-07 22:32 ` Thomas Gleixner
2010-12-08 1:43 ` Yinghai Lu
2010-12-08 1:47 ` Yinghai Lu
2010-12-08 2:08 ` Feng Tang
2010-12-08 1:52 ` Feng Tang
2010-12-08 7:18 ` Feng Tang
2010-12-09 20:57 ` [tip:x86/apic-cleanups] x86: Further simplify mp_irq info handling tip-bot for Feng Tang
2010-12-09 20:56 ` [tip:x86/apic-cleanups] x86: Unify 3 similar ways of saving mp_irqs info tip-bot for Feng Tang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4CFE8045.2030101@kernel.org \
--to=yinghai@kernel.org \
--cc=alan@linux.intel.com \
--cc=feng.tang@intel.com \
--cc=hpa@zytor.com \
--cc=len.brown@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-tip-commits@vger.kernel.org \
--cc=mingo@redhat.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.