From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752280AbcBORF1 (ORCPT ); Mon, 15 Feb 2016 12:05:27 -0500 Received: from smtp02.citrix.com ([66.165.176.63]:19886 "EHLO SMTP02.CITRIX.COM" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751297AbcBORFZ (ORCPT ); Mon, 15 Feb 2016 12:05:25 -0500 X-IronPort-AV: E=Sophos;i="5.22,451,1449532800"; d="scan'208";a="338265634" Subject: Re: [PATCH] xen kconfig: clarify INPUT_XEN_KBDDEV_FRONTEND select To: Stefano Stabellini , Arnd Bergmann References: <1455278707-2008263-1-git-send-email-arnd@arndb.de> CC: Andrew Jones , Konrad Rzeszutek Wilk , , Jean-Christophe Plagniol-Villard , Tomi Valkeinen , , , , From: David Vrabel X-Enigmail-Draft-Status: N1110 Message-ID: <56C20552.8030305@citrix.com> Date: Mon, 15 Feb 2016 17:05:22 +0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Icedove/38.5.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="windows-1252" Content-Transfer-Encoding: 7bit X-DLP: MIA1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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 >> 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 >