All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ingo Molnar <mingo@elte.hu>
To: Dave Airlie <airlied@linux.ie>
Cc: torvalds@linux-foundation.org, linux-kernel@vger.kernel.org,
	dri-devel@lists.sf.net
Subject: Re: [origin tree build failure] [PATCH] Re: [git pull] drm tree.
Date: Tue, 22 Sep 2009 11:36:51 +0200	[thread overview]
Message-ID: <20090922093651.GA30786@elte.hu> (raw)
In-Reply-To: <alpine.DEB.2.00.0909220450440.7648@skynet.skynet.ie>


* Dave Airlie <airlied@linux.ie> wrote:

> > there's a new build failure:
> > 
> > drivers/built-in.o: In function `drm_irq_uninstall':
> > (.text+0xb719e): undefined reference to `vga_client_register'
> > drivers/built-in.o: In function `drm_irq_install':
> > (.text+0xb7309): undefined reference to `vga_client_register'
> > drivers/built-in.o: In function `radeon_device_fini':
> > (.text+0xe400f): undefined reference to `vga_client_register'
> > drivers/built-in.o: In function `radeon_device_init':
> > (.text+0xe455b): undefined reference to `vga_client_register'
> > 
> > with the attached config, introduced with upstream merge 44040f1.
> > 
> > At first sight it appears to be due to CONFIG_DRM_RADEON relying on 
> > VGA_ARB facilities but this is not expressed in the Kconfig rules. The 
> > patch below solves this - but this is just a quick patch, i have not 
> > investigated any deeper.
> > 
> > Review of the code suggests that i915 has a similar dependency problem - 
> > i fixed that too.
> 
> The way it should work is VGA ARB should be enabled on any platforms we
> have PCI unless EMBEDDED turns it off, since arbitration of VGA isn't 
> reliant on a drm device, I'm not sure what Kconfig magic this would 
> require, and where it would need to be. This patch should at least allow
> builds to work until I figure out any Kconfig magic.
> 
> >From 8a874578cbf8b07b988e666c15fa0ba767f3c1cb Mon Sep 17 00:00:00 2001
> From: Dave Airlie <airlied@redhat.com>
> Date: Tue, 22 Sep 2009 13:53:00 +1000
> Subject: [PATCH] vgaarb: wrap the client register API so we can disable VGA ARB.
> 
> This provides an dummy register function so everything builds
> if VGA arb is turned off.
> 
> Signed-off-by: Dave Airlie <airlied@redhat.com>
> ---
>  include/linux/vgaarb.h |   11 ++++++++++-
>  1 files changed, 10 insertions(+), 1 deletions(-)
> 
> diff --git a/include/linux/vgaarb.h b/include/linux/vgaarb.h
> index e81c64a..b0feb79 100644
> --- a/include/linux/vgaarb.h
> +++ b/include/linux/vgaarb.h
> @@ -41,7 +41,7 @@
>   *     interrupts at any time.
>   */
>  extern void vga_set_legacy_decoding(struct pci_dev *pdev,
> -									unsigned int decodes);
> +				    unsigned int decodes);
>  
>  /**
>   *     vga_get         - acquire & locks VGA resources
> @@ -193,8 +193,17 @@ static inline int vga_conflicts(struct pci_dev *p1, struct pci_dev *p2)
>   * They driver will get a callback when VGA arbitration is first used
>   * by userspace since we some older X servers have issues.
>   */
> +#if defined(CONFIG_VGA_ARB)
>  int vga_client_register(struct pci_dev *pdev, void *cookie,
>  			void (*irq_set_state)(void *cookie, bool state),
>  			unsigned int (*set_vga_decode)(void *cookie, bool state));
> +#else
> +static inline int vga_client_register(struct pci_dev *pdev, void *cookie,
> +				      void (*irq_set_state)(void *cookie, bool state),
> +				      unsigned int (*set_vga_decode)(void *cookie, bool state));
> +{
> +	return 0;
> +}
> +#endif

Yeah - making APIs config invariant is a good idea in any case, 
regardless of Kconfig magic.

Thanks,

	Ingo

  reply	other threads:[~2009-09-22  9:37 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-09-21  5:12 [git pull] drm tree Dave Airlie
2009-09-21 11:59 ` Ed Tomlinson
2009-09-21 14:17   ` Alex Deucher
2009-09-21 22:40     ` Ed Tomlinson
2009-09-21 16:12 ` [origin tree build failure] [PATCH] " Ingo Molnar
2009-09-21 16:50   ` [PATCH] drm: Fix build failure in radeon and i915 drivers Ingo Molnar
2009-09-22  3:56   ` [origin tree build failure] [PATCH] Re: [git pull] drm tree Dave Airlie
2009-09-22  9:36     ` Ingo Molnar [this message]
2009-09-22 10:27     ` Ingo Molnar
2009-09-22 10:31       ` Dave Airlie
2009-09-22 10:33       ` Ingo Molnar

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=20090922093651.GA30786@elte.hu \
    --to=mingo@elte.hu \
    --cc=airlied@linux.ie \
    --cc=dri-devel@lists.sf.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.org \
    /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.