xen-devel.lists.xenproject.org archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH] xen kconfig: clarify INPUT_XEN_KBDDEV_FRONTEND select
       [not found] <1455278707-2008263-1-git-send-email-arnd@arndb.de>
@ 2016-02-15 16:51 ` Stefano Stabellini
  2016-02-15 17:05   ` David Vrabel
  2016-02-16 11:35   ` [PATCH] xen kconfig: clarify INPUT_XEN_KBDDEV_FRONTEND select Arnd Bergmann
  0 siblings, 2 replies; 9+ messages in thread
From: Stefano Stabellini @ 2016-02-15 16:51 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Andrew Jones, Konrad Rzeszutek Wilk, linux-arm-kernel,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen, linux-fbdev,
	linux-kernel, xen-devel, David Vrabel, boris.ostrovsky

CC'ing a few others.

On Fri, 12 Feb 2016, Arnd Bergmann wrote:
> The Xen framebuffer driver selects the xen keyboard driver, so the latter
> will be built-in if XEN_FBDEV_FRONTEND=y. However, when CONFIG_INPUT
> is a loadable module, this configuration cannot work. On mainline kernels,
> the symbol will be enabled but not used, while in combination with
> a patch I have to detect such useless configurations, we get the
> expected link failure:
> 
> drivers/input/built-in.o: In function `xenkbd_remove':
> xen-kbdfront.c:(.text+0x2f0): undefined reference to `input_unregister_device'
> xen-kbdfront.c:(.text+0x30e): undefined reference to `input_unregister_device'
> 
> This changes the dependencies of XEN_FBDEV_FRONTEND so it cannot be
> built-in if CONFIG_INPUT=m && CONFIG_INPUT_MISC=y, as that would result
> in the broken select.
> 
> As usual, we would be much better off without the 'select', but removing
> it now would likely break existing user configurations that depend on
> it, so this adds another hack on top to get it working.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Fixes: 36c1132e34bd ("xen kconfig: fix select INPUT_XEN_KBDDEV_FRONTEND")
> ---
>  drivers/video/fbdev/Kconfig | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> index 8ea45a5cd806..fd3d6fd290a9 100644
> --- a/drivers/video/fbdev/Kconfig
> +++ b/drivers/video/fbdev/Kconfig
> @@ -2241,6 +2241,7 @@ config FB_VIRTUAL
>  config XEN_FBDEV_FRONTEND
>  	tristate "Xen virtual frame buffer support"
>  	depends on FB && XEN
> +	depends on INPUT || !INPUT_MISC
>  	select FB_SYS_FILLRECT
>  	select FB_SYS_COPYAREA
>  	select FB_SYS_IMAGEBLIT

This looks very hackish. Couldn't we just do the following?

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 8ea45a5..3c15f6d 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -2246,7 +2246,7 @@ config XEN_FBDEV_FRONTEND
 	select FB_SYS_IMAGEBLIT
 	select FB_SYS_FOPS
 	select FB_DEFERRED_IO
-	select INPUT_XEN_KBDDEV_FRONTEND if INPUT_MISC
+	select INPUT_XEN_KBDDEV_FRONTEND if (INPUT && INPUT_MISC)
 	select XEN_XENBUS_FRONTEND
 	default y
 	help

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] xen kconfig: clarify INPUT_XEN_KBDDEV_FRONTEND select
  2016-02-15 16:51 ` [PATCH] xen kconfig: clarify INPUT_XEN_KBDDEV_FRONTEND select Stefano Stabellini
@ 2016-02-15 17:05   ` David Vrabel
  2016-02-15 17:08     ` Stefano Stabellini
  2016-02-16 11:35   ` [PATCH] xen kconfig: clarify INPUT_XEN_KBDDEV_FRONTEND select Arnd Bergmann
  1 sibling, 1 reply; 9+ messages in thread
From: David Vrabel @ 2016-02-15 17:05 UTC (permalink / raw)
  To: Stefano Stabellini, Arnd Bergmann
  Cc: Andrew Jones, Konrad Rzeszutek Wilk, linux-arm-kernel,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen, linux-fbdev,
	linux-kernel, xen-devel, boris.ostrovsky

On 15/02/16 16:51, Stefano Stabellini wrote:
> CC'ing a few others.
> 
> On Fri, 12 Feb 2016, Arnd Bergmann wrote:
>> The Xen framebuffer driver selects the xen keyboard driver, so the latter
>> will be built-in if XEN_FBDEV_FRONTEND=y. However, when CONFIG_INPUT
>> is a loadable module, this configuration cannot work. On mainline kernels,
>> the symbol will be enabled but not used, while in combination with
>> a patch I have to detect such useless configurations, we get the
>> expected link failure:
>>
>> drivers/input/built-in.o: In function `xenkbd_remove':
>> xen-kbdfront.c:(.text+0x2f0): undefined reference to `input_unregister_device'
>> xen-kbdfront.c:(.text+0x30e): undefined reference to `input_unregister_device'
>>
>> This changes the dependencies of XEN_FBDEV_FRONTEND so it cannot be
>> built-in if CONFIG_INPUT=m && CONFIG_INPUT_MISC=y, as that would result
>> in the broken select.
>>
>> As usual, we would be much better off without the 'select', but removing
>> it now would likely break existing user configurations that depend on
>> it, so this adds another hack on top to get it working.

I would remove the select.

Existing configurations with both XEN_FBDEV_FRONTEND and
XEN_KBDDEV_FRONTEND will continue to work (since XEN_KBDEV_FRONTEND is
already enabled removing the select won't turn it off).

David

>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>> Fixes: 36c1132e34bd ("xen kconfig: fix select INPUT_XEN_KBDDEV_FRONTEND")
>> ---
>>  drivers/video/fbdev/Kconfig | 1 +
>>  1 file changed, 1 insertion(+)
>>
>> diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
>> index 8ea45a5cd806..fd3d6fd290a9 100644
>> --- a/drivers/video/fbdev/Kconfig
>> +++ b/drivers/video/fbdev/Kconfig
>> @@ -2241,6 +2241,7 @@ config FB_VIRTUAL
>>  config XEN_FBDEV_FRONTEND
>>  	tristate "Xen virtual frame buffer support"
>>  	depends on FB && XEN
>> +	depends on INPUT || !INPUT_MISC
>>  	select FB_SYS_FILLRECT
>>  	select FB_SYS_COPYAREA
>>  	select FB_SYS_IMAGEBLIT
> 
> This looks very hackish. Couldn't we just do the following?
> 
> diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> index 8ea45a5..3c15f6d 100644
> --- a/drivers/video/fbdev/Kconfig
> +++ b/drivers/video/fbdev/Kconfig
> @@ -2246,7 +2246,7 @@ config XEN_FBDEV_FRONTEND
>  	select FB_SYS_IMAGEBLIT
>  	select FB_SYS_FOPS
>  	select FB_DEFERRED_IO
> -	select INPUT_XEN_KBDDEV_FRONTEND if INPUT_MISC
> +	select INPUT_XEN_KBDDEV_FRONTEND if (INPUT && INPUT_MISC)
>  	select XEN_XENBUS_FRONTEND
>  	default y
>  	help
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] xen kconfig: clarify INPUT_XEN_KBDDEV_FRONTEND select
  2016-02-15 17:05   ` David Vrabel
@ 2016-02-15 17:08     ` Stefano Stabellini
  2016-02-16 15:03       ` [PATCH v2] xen kconfig: don't "select INPUT_XEN_KBDDEV_FRONTEND" Arnd Bergmann
  0 siblings, 1 reply; 9+ messages in thread
From: Stefano Stabellini @ 2016-02-15 17:08 UTC (permalink / raw)
  To: David Vrabel
  Cc: Stefano Stabellini, Arnd Bergmann, Andrew Jones,
	Konrad Rzeszutek Wilk, linux-arm-kernel,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen, linux-fbdev,
	linux-kernel, xen-devel, boris.ostrovsky

On Mon, 15 Feb 2016, David Vrabel wrote:
> On 15/02/16 16:51, Stefano Stabellini wrote:
> > CC'ing a few others.
> > 
> > On Fri, 12 Feb 2016, Arnd Bergmann wrote:
> >> The Xen framebuffer driver selects the xen keyboard driver, so the latter
> >> will be built-in if XEN_FBDEV_FRONTEND=y. However, when CONFIG_INPUT
> >> is a loadable module, this configuration cannot work. On mainline kernels,
> >> the symbol will be enabled but not used, while in combination with
> >> a patch I have to detect such useless configurations, we get the
> >> expected link failure:
> >>
> >> drivers/input/built-in.o: In function `xenkbd_remove':
> >> xen-kbdfront.c:(.text+0x2f0): undefined reference to `input_unregister_device'
> >> xen-kbdfront.c:(.text+0x30e): undefined reference to `input_unregister_device'
> >>
> >> This changes the dependencies of XEN_FBDEV_FRONTEND so it cannot be
> >> built-in if CONFIG_INPUT=m && CONFIG_INPUT_MISC=y, as that would result
> >> in the broken select.
> >>
> >> As usual, we would be much better off without the 'select', but removing
> >> it now would likely break existing user configurations that depend on
> >> it, so this adds another hack on top to get it working.
> 
> I would remove the select.
> 
> Existing configurations with both XEN_FBDEV_FRONTEND and
> XEN_KBDDEV_FRONTEND will continue to work (since XEN_KBDEV_FRONTEND is
> already enabled removing the select won't turn it off).

I am happy with that too.

 
> >> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> >> Fixes: 36c1132e34bd ("xen kconfig: fix select INPUT_XEN_KBDDEV_FRONTEND")
> >> ---
> >>  drivers/video/fbdev/Kconfig | 1 +
> >>  1 file changed, 1 insertion(+)
> >>
> >> diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> >> index 8ea45a5cd806..fd3d6fd290a9 100644
> >> --- a/drivers/video/fbdev/Kconfig
> >> +++ b/drivers/video/fbdev/Kconfig
> >> @@ -2241,6 +2241,7 @@ config FB_VIRTUAL
> >>  config XEN_FBDEV_FRONTEND
> >>  	tristate "Xen virtual frame buffer support"
> >>  	depends on FB && XEN
> >> +	depends on INPUT || !INPUT_MISC
> >>  	select FB_SYS_FILLRECT
> >>  	select FB_SYS_COPYAREA
> >>  	select FB_SYS_IMAGEBLIT
> > 
> > This looks very hackish. Couldn't we just do the following?
> > 
> > diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> > index 8ea45a5..3c15f6d 100644
> > --- a/drivers/video/fbdev/Kconfig
> > +++ b/drivers/video/fbdev/Kconfig
> > @@ -2246,7 +2246,7 @@ config XEN_FBDEV_FRONTEND
> >  	select FB_SYS_IMAGEBLIT
> >  	select FB_SYS_FOPS
> >  	select FB_DEFERRED_IO
> > -	select INPUT_XEN_KBDDEV_FRONTEND if INPUT_MISC
> > +	select INPUT_XEN_KBDDEV_FRONTEND if (INPUT && INPUT_MISC)
> >  	select XEN_XENBUS_FRONTEND
> >  	default y
> >  	help
> > 
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] xen kconfig: clarify INPUT_XEN_KBDDEV_FRONTEND select
  2016-02-15 16:51 ` [PATCH] xen kconfig: clarify INPUT_XEN_KBDDEV_FRONTEND select Stefano Stabellini
  2016-02-15 17:05   ` David Vrabel
@ 2016-02-16 11:35   ` Arnd Bergmann
  2016-02-16 12:14     ` Stefano Stabellini
  1 sibling, 1 reply; 9+ messages in thread
From: Arnd Bergmann @ 2016-02-16 11:35 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: Andrew Jones, xen-devel, Stefano Stabellini, linux-kernel,
	Tomi Valkeinen, David Vrabel, linux-fbdev, boris.ostrovsky,
	Jean-Christophe Plagniol-Villard

On Monday 15 February 2016 16:51:08 Stefano Stabellini wrote:
> > 
> > diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> > index 8ea45a5cd806..fd3d6fd290a9 100644
> > --- a/drivers/video/fbdev/Kconfig
> > +++ b/drivers/video/fbdev/Kconfig
> > @@ -2241,6 +2241,7 @@ config FB_VIRTUAL
> >  config XEN_FBDEV_FRONTEND
> >       tristate "Xen virtual frame buffer support"
> >       depends on FB && XEN
> > +     depends on INPUT || !INPUT_MISC
> >       select FB_SYS_FILLRECT
> >       select FB_SYS_COPYAREA
> >       select FB_SYS_IMAGEBLIT
> 
> This looks very hackish. Couldn't we just do the following?
> 
> diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> index 8ea45a5..3c15f6d 100644
> --- a/drivers/video/fbdev/Kconfig
> +++ b/drivers/video/fbdev/Kconfig
> @@ -2246,7 +2246,7 @@ config XEN_FBDEV_FRONTEND
>         select FB_SYS_IMAGEBLIT
>         select FB_SYS_FOPS
>         select FB_DEFERRED_IO
> -       select INPUT_XEN_KBDDEV_FRONTEND if INPUT_MISC
> +       select INPUT_XEN_KBDDEV_FRONTEND if (INPUT && INPUT_MISC)
>         select XEN_XENBUS_FRONTEND
>         default y
>         help
> 

No, that doesn't solve the problem:

If XEN_FBDEV_FRONTEND=y, INPUT=m and INPUT_MISC=y, we would still
get INPUT_XEN_KBDDEV_FRONTEND=y, which cannot work because of INPUT=m.

INPUT_MISC already depends on INPUT, so your change has no effect
at all.

	Arnd

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH] xen kconfig: clarify INPUT_XEN_KBDDEV_FRONTEND select
  2016-02-16 11:35   ` [PATCH] xen kconfig: clarify INPUT_XEN_KBDDEV_FRONTEND select Arnd Bergmann
@ 2016-02-16 12:14     ` Stefano Stabellini
  2016-02-16 15:05       ` Arnd Bergmann
  0 siblings, 1 reply; 9+ messages in thread
From: Stefano Stabellini @ 2016-02-16 12:14 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: linux-arm-kernel, Stefano Stabellini, Andrew Jones, xen-devel,
	Konrad Rzeszutek Wilk, linux-fbdev, linux-kernel, Tomi Valkeinen,
	David Vrabel, boris.ostrovsky, Jean-Christophe Plagniol-Villard

On Tue, 16 Feb 2016, Arnd Bergmann wrote:
> On Monday 15 February 2016 16:51:08 Stefano Stabellini wrote:
> > > 
> > > diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> > > index 8ea45a5cd806..fd3d6fd290a9 100644
> > > --- a/drivers/video/fbdev/Kconfig
> > > +++ b/drivers/video/fbdev/Kconfig
> > > @@ -2241,6 +2241,7 @@ config FB_VIRTUAL
> > >  config XEN_FBDEV_FRONTEND
> > >       tristate "Xen virtual frame buffer support"
> > >       depends on FB && XEN
> > > +     depends on INPUT || !INPUT_MISC
> > >       select FB_SYS_FILLRECT
> > >       select FB_SYS_COPYAREA
> > >       select FB_SYS_IMAGEBLIT
> > 
> > This looks very hackish. Couldn't we just do the following?
> > 
> > diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> > index 8ea45a5..3c15f6d 100644
> > --- a/drivers/video/fbdev/Kconfig
> > +++ b/drivers/video/fbdev/Kconfig
> > @@ -2246,7 +2246,7 @@ config XEN_FBDEV_FRONTEND
> >         select FB_SYS_IMAGEBLIT
> >         select FB_SYS_FOPS
> >         select FB_DEFERRED_IO
> > -       select INPUT_XEN_KBDDEV_FRONTEND if INPUT_MISC
> > +       select INPUT_XEN_KBDDEV_FRONTEND if (INPUT && INPUT_MISC)
> >         select XEN_XENBUS_FRONTEND
> >         default y
> >         help
> > 
> 
> No, that doesn't solve the problem:
> 
> If XEN_FBDEV_FRONTEND=y, INPUT=m and INPUT_MISC=y, we would still
> get INPUT_XEN_KBDDEV_FRONTEND=y, which cannot work because of INPUT=m.
> 
> INPUT_MISC already depends on INPUT, so your change has no effect
> at all.

Please correct me if I am wrong, but the difference is that with this
change if INPUT=m, then the build system would ask the user whether she
wants to select INPUT_XEN_KBDDEV_FRONTEND as m or y, instead of
unconditionally set INPUT_XEN_KBDDEV_FRONTEND=y.

However it is true that if the users chooses
INPUT_XEN_KBDDEV_FRONTEND=y, then the problem persists.
Maybe we also need:

diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
index 1f2337a..303df24 100644
--- a/drivers/input/misc/Kconfig
+++ b/drivers/input/misc/Kconfig
@@ -721,7 +721,7 @@ config INPUT_CMA3000_I2C
 
 config INPUT_XEN_KBDDEV_FRONTEND
 	tristate "Xen virtual keyboard and mouse support"
-	depends on XEN
+	depends on XEN && INPUT
 	default y
 	select XEN_XENBUS_FRONTEND
 	help


Do you have a kernel config with INPUT=m that I can use to test with?

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2] xen kconfig: don't "select INPUT_XEN_KBDDEV_FRONTEND"
  2016-02-15 17:08     ` Stefano Stabellini
@ 2016-02-16 15:03       ` Arnd Bergmann
  2016-02-16 16:55         ` Stefano Stabellini
  2016-03-11 11:37         ` Tomi Valkeinen
  0 siblings, 2 replies; 9+ messages in thread
From: Arnd Bergmann @ 2016-02-16 15:03 UTC (permalink / raw)
  To: Stefano Stabellini
  Cc: Andrew Jones, xen-devel, linux-fbdev, linux-kernel,
	Tomi Valkeinen, David Vrabel, boris.ostrovsky,
	Jean-Christophe Plagniol-Villard, linux-arm-kernel

The Xen framebuffer driver selects the xen keyboard driver, so the latter
will be built-in if XEN_FBDEV_FRONTEND=y. However, when CONFIG_INPUT
is a loadable module, this configuration cannot work. On mainline kernels,
the symbol will be enabled but not used, while in combination with
a patch I have to detect such useless configurations, we get the
expected link failure:

drivers/input/built-in.o: In function `xenkbd_remove':
xen-kbdfront.c:(.text+0x2f0): undefined reference to `input_unregister_device'
xen-kbdfront.c:(.text+0x30e): undefined reference to `input_unregister_device'

This removes the extra "select", as it just causes more trouble than
it helps. In theory, some defconfig file might break if it has
XEN_FBDEV_FRONTEND in it but not INPUT_XEN_KBDDEV_FRONTEND. The Kconfig
fragment we ship in the kernel (kernel/configs/xen.config) however
already enables both, and anyone using an old .config file would
keep having both enabled.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Suggested-by: David Vrabel <david.vrabel@citrix.com>
Fixes: 36c1132e34bd ("xen kconfig: fix select INPUT_XEN_KBDDEV_FRONTEND")

diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
index 8ea45a5cd806..d889ef2048df 100644
--- a/drivers/video/fbdev/Kconfig
+++ b/drivers/video/fbdev/Kconfig
@@ -2246,7 +2246,6 @@ config XEN_FBDEV_FRONTEND
 	select FB_SYS_IMAGEBLIT
 	select FB_SYS_FOPS
 	select FB_DEFERRED_IO
-	select INPUT_XEN_KBDDEV_FRONTEND if INPUT_MISC
 	select XEN_XENBUS_FRONTEND
 	default y
 	help

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH] xen kconfig: clarify INPUT_XEN_KBDDEV_FRONTEND select
  2016-02-16 12:14     ` Stefano Stabellini
@ 2016-02-16 15:05       ` Arnd Bergmann
  0 siblings, 0 replies; 9+ messages in thread
From: Arnd Bergmann @ 2016-02-16 15:05 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: linux-fbdev, xen-devel, Andrew Jones, Stefano Stabellini,
	linux-kernel, Tomi Valkeinen, David Vrabel, boris.ostrovsky,
	Jean-Christophe Plagniol-Villard

On Tuesday 16 February 2016 12:14:14 Stefano Stabellini wrote:
> > at all.
> 
> Please correct me if I am wrong, but the difference is that with this
> change if INPUT=m, then the build system would ask the user whether she
> wants to select INPUT_XEN_KBDDEV_FRONTEND as m or y, instead of
> unconditionally set INPUT_XEN_KBDDEV_FRONTEND=y.

INPUT_XEN_KBDDEV_FRONTEND cannot be set by the user to 'y' if
INPUT=m, because of an implied dependency around the input/misc/Kconfig
file.

> However it is true that if the users chooses
> INPUT_XEN_KBDDEV_FRONTEND=y, then the problem persists.
> Maybe we also need:
> 
> diff --git a/drivers/input/misc/Kconfig b/drivers/input/misc/Kconfig
> index 1f2337a..303df24 100644
> --- a/drivers/input/misc/Kconfig
> +++ b/drivers/input/misc/Kconfig
> @@ -721,7 +721,7 @@ config INPUT_CMA3000_I2C
>  
>  config INPUT_XEN_KBDDEV_FRONTEND
>         tristate "Xen virtual keyboard and mouse support"
> -       depends on XEN
> +       depends on XEN && INPUT
>         default y
>         select XEN_XENBUS_FRONTEND
>         help
> 
> 
> Do you have a kernel config with INPUT=m that I can use to test with?

You can easily set that in any config if you disable CONFIG_VT. I don't
think it's worth spending more time on that, as everyone seems to be
happy with just removing the 'select', and I've sent a replacement
patch to do that.

	Arnd

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] xen kconfig: don't "select INPUT_XEN_KBDDEV_FRONTEND"
  2016-02-16 15:03       ` [PATCH v2] xen kconfig: don't "select INPUT_XEN_KBDDEV_FRONTEND" Arnd Bergmann
@ 2016-02-16 16:55         ` Stefano Stabellini
  2016-03-11 11:37         ` Tomi Valkeinen
  1 sibling, 0 replies; 9+ messages in thread
From: Stefano Stabellini @ 2016-02-16 16:55 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Stefano Stabellini, David Vrabel, Andrew Jones,
	Konrad Rzeszutek Wilk, linux-arm-kernel,
	Jean-Christophe Plagniol-Villard, Tomi Valkeinen, linux-fbdev,
	linux-kernel, xen-devel, boris.ostrovsky

On Tue, 16 Feb 2016, Arnd Bergmann wrote:
> The Xen framebuffer driver selects the xen keyboard driver, so the latter
> will be built-in if XEN_FBDEV_FRONTEND=y. However, when CONFIG_INPUT
> is a loadable module, this configuration cannot work. On mainline kernels,
> the symbol will be enabled but not used, while in combination with
> a patch I have to detect such useless configurations, we get the
> expected link failure:
> 
> drivers/input/built-in.o: In function `xenkbd_remove':
> xen-kbdfront.c:(.text+0x2f0): undefined reference to `input_unregister_device'
> xen-kbdfront.c:(.text+0x30e): undefined reference to `input_unregister_device'
> 
> This removes the extra "select", as it just causes more trouble than
> it helps. In theory, some defconfig file might break if it has
> XEN_FBDEV_FRONTEND in it but not INPUT_XEN_KBDDEV_FRONTEND. The Kconfig
> fragment we ship in the kernel (kernel/configs/xen.config) however
> already enables both, and anyone using an old .config file would
> keep having both enabled.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Suggested-by: David Vrabel <david.vrabel@citrix.com>
> Fixes: 36c1132e34bd ("xen kconfig: fix select INPUT_XEN_KBDDEV_FRONTEND")

Acked-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>


> diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> index 8ea45a5cd806..d889ef2048df 100644
> --- a/drivers/video/fbdev/Kconfig
> +++ b/drivers/video/fbdev/Kconfig
> @@ -2246,7 +2246,6 @@ config XEN_FBDEV_FRONTEND
>  	select FB_SYS_IMAGEBLIT
>  	select FB_SYS_FOPS
>  	select FB_DEFERRED_IO
> -	select INPUT_XEN_KBDDEV_FRONTEND if INPUT_MISC
>  	select XEN_XENBUS_FRONTEND
>  	default y
>  	help
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2] xen kconfig: don't "select INPUT_XEN_KBDDEV_FRONTEND"
  2016-02-16 15:03       ` [PATCH v2] xen kconfig: don't "select INPUT_XEN_KBDDEV_FRONTEND" Arnd Bergmann
  2016-02-16 16:55         ` Stefano Stabellini
@ 2016-03-11 11:37         ` Tomi Valkeinen
  1 sibling, 0 replies; 9+ messages in thread
From: Tomi Valkeinen @ 2016-03-11 11:37 UTC (permalink / raw)
  To: Arnd Bergmann, Stefano Stabellini
  Cc: David Vrabel, Andrew Jones, Konrad Rzeszutek Wilk,
	linux-arm-kernel, Jean-Christophe Plagniol-Villard, linux-fbdev,
	linux-kernel, xen-devel, boris.ostrovsky


[-- Attachment #1.1: Type: text/plain, Size: 1704 bytes --]

On 16/02/16 17:03, Arnd Bergmann wrote:
> The Xen framebuffer driver selects the xen keyboard driver, so the latter
> will be built-in if XEN_FBDEV_FRONTEND=y. However, when CONFIG_INPUT
> is a loadable module, this configuration cannot work. On mainline kernels,
> the symbol will be enabled but not used, while in combination with
> a patch I have to detect such useless configurations, we get the
> expected link failure:
> 
> drivers/input/built-in.o: In function `xenkbd_remove':
> xen-kbdfront.c:(.text+0x2f0): undefined reference to `input_unregister_device'
> xen-kbdfront.c:(.text+0x30e): undefined reference to `input_unregister_device'
> 
> This removes the extra "select", as it just causes more trouble than
> it helps. In theory, some defconfig file might break if it has
> XEN_FBDEV_FRONTEND in it but not INPUT_XEN_KBDDEV_FRONTEND. The Kconfig
> fragment we ship in the kernel (kernel/configs/xen.config) however
> already enables both, and anyone using an old .config file would
> keep having both enabled.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> Suggested-by: David Vrabel <david.vrabel@citrix.com>
> Fixes: 36c1132e34bd ("xen kconfig: fix select INPUT_XEN_KBDDEV_FRONTEND")
> 
> diff --git a/drivers/video/fbdev/Kconfig b/drivers/video/fbdev/Kconfig
> index 8ea45a5cd806..d889ef2048df 100644
> --- a/drivers/video/fbdev/Kconfig
> +++ b/drivers/video/fbdev/Kconfig
> @@ -2246,7 +2246,6 @@ config XEN_FBDEV_FRONTEND
>  	select FB_SYS_IMAGEBLIT
>  	select FB_SYS_FOPS
>  	select FB_DEFERRED_IO
> -	select INPUT_XEN_KBDDEV_FRONTEND if INPUT_MISC
>  	select XEN_XENBUS_FRONTEND
>  	default y
>  	help
> 

Thanks, queued for 4.6.

 Tomi


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-03-11 11:37 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <1455278707-2008263-1-git-send-email-arnd@arndb.de>
2016-02-15 16:51 ` [PATCH] xen kconfig: clarify INPUT_XEN_KBDDEV_FRONTEND select Stefano Stabellini
2016-02-15 17:05   ` David Vrabel
2016-02-15 17:08     ` Stefano Stabellini
2016-02-16 15:03       ` [PATCH v2] xen kconfig: don't "select INPUT_XEN_KBDDEV_FRONTEND" Arnd Bergmann
2016-02-16 16:55         ` Stefano Stabellini
2016-03-11 11:37         ` Tomi Valkeinen
2016-02-16 11:35   ` [PATCH] xen kconfig: clarify INPUT_XEN_KBDDEV_FRONTEND select Arnd Bergmann
2016-02-16 12:14     ` Stefano Stabellini
2016-02-16 15:05       ` Arnd Bergmann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).