All of lore.kernel.org
 help / color / mirror / Atom feed
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: Timur Tabi <timur@freescale.com>
Cc: linuxppc-dev@lists.ozlabs.org
Subject: Re: Updating the define_machine() structure at runtime?
Date: Tue, 17 May 2011 09:37:50 +1000	[thread overview]
Message-ID: <1305589070.2781.14.camel@pasglop> (raw)
In-Reply-To: <4DD14F15.5070902@freescale.com>

On Mon, 2011-05-16 at 11:21 -0500, Timur Tabi wrote:
> I would like to get some opinions on the following.
> 
> I'm working on extending our existing board definition files to support our
> ePAPR reference hypervisor.  Because our hypervisor provides a virtual PIC, we
> need to have different functions for define_machine() structure that related to
> the PIC, but most everything else can stay the same.

 .../...

> static int __init p4080_ds_probe(void)
> {
> 	...
> #ifdef CONFIG_FSL_HYPERVISOR
> 	if (of_flat_dt_is_compatible(root, "fsl,P4080DS-hv")) {
> 		mach_p4080_ds.get_irq = ehv_pic_get_irq;
> 		...
> 		return 1;
> 	} else
> 		return 0;
> #endif	

One approach i've been taking more often nowadays is to have the PIC
code setup the ppc_md hooks itself.

You don't need to do it in probe(), just in setup_arch or init_IRQ,
wherever you do your PIC discovery, have it set it up.

For example, xics sets get_irq itself, which is necessary because the
xics code itself can have multiple variants.

We could probably make mpic.c do the same when MPIC_PRIMARY is set (or
keep that a wrapper for now).
 
Cheers,
Ben.

      reply	other threads:[~2011-05-16 23:38 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-05-16 16:21 Updating the define_machine() structure at runtime? Timur Tabi
2011-05-16 23:37 ` Benjamin Herrenschmidt [this message]

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=1305589070.2781.14.camel@pasglop \
    --to=benh@kernel.crashing.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=timur@freescale.com \
    /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.