lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 7 Apr 2010 09:20:10 -0700
From:	Randy Dunlap <randy.dunlap@...cle.com>
To:	Bruno Prémont <bonbons@...ux-vserver.org>
Cc:	Jiri Kosina <jkosina@...e.cz>, linux-kernel@...r.kernel.org,
	linux-input@...r.kernel.org,
	Andrew Morton <akpm@...ux-foundation.org>, rvinyard@...nmsu.edu
Subject: Re: [PATCH mmotm] hid-picolcd: depends on LCD_CLASS_DEVICE

On Tue, 6 Apr 2010 23:04:34 +0200 Bruno Prémont wrote:

> On Tue, 06 April 2010 Randy Dunlap <randy.dunlap@...cle.com> wrote:
> > > It triggers the issue by having PicoLCD built-in while one of the
> > > optional dependencies as a module.
> > 
> > Yes, basically what the patch description said.
> 
> Oops, sorry I didn't completely read the patch description.
> 
> > > Any idea of how this can be solved with kbuild in order to keep the
> > > dependencies optional?
> > > 
> > > Something that would satisfy the following pseudocode:
> > >   if CONFIG_HID_PICOLCD == y
> > >     assert(CONFIG_LCD_CLASS_DEVICE != m)
> > > 
> > 
> > If you don't want the kconfig machinery to do that (it appears that you don't),
> > then I guess that you'll need to expand the source code to handle
> > CONFIG_LCD_CLASS_DEVICE=y and CONFIG_LCD_CLASS_DEVICE=m differently.
> > Or only handle them differently if HID_PICOLCD=y.  :(
> 
> Below a patch (against 2.6.34-rc3 + Jiri's picolcd branch) which
> should fix above issue keeping the deps optional.
> 
> With it it's not yet possible to select the deps from HID menu.
> 
> I did a few oldconfig and compile-tests with PICOLCD=y/m and same for
> the deps (not switched FB for those tests).
> 
> Bruno
> 
> 
> 
> 
> 
> HID_PICOLCD should depend on LCD_CLASS_DEVICE, otherwise the
> build fails when HID_PICOLCD=y and LCD_CLASS_DEVICE=m:
> 
> hid-picolcd.c:(.text+0x84523f): undefined reference to `lcd_device_unregister'
> hid-picolcd.c:(.text+0x8478ab): undefined reference to `lcd_device_register'
> hid-picolcd.c:(.text+0x84c15f): undefined reference to `lcd_device_unregister'
> 
> Reported-by: Randy Dunlap <randy.dunlap@...cle.com>
> Signed-off-by: Bruno Prémont <bonbons@...ux-vserver.org>
> 
> diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
> index a2ecd83..39df4f5 100644
> --- a/drivers/hid/Kconfig
> +++ b/drivers/hid/Kconfig
> @@ -285,6 +285,35 @@ config HID_PICOLCD
>  	  Features that are not (yet) supported:
>  	  - IR
>  

All of these user-visible kconfig options need help text also...

> +config HID_PICOLCD_FB
> +	bool "Framebuffer support"
> +	default !EMBEDDED
> +	depends on HID_PICOLCD
> +	depends on HID_PICOLCD=FB || FB=y
> +	select FB_DEFERRED_IO
> +	select FB_SYS_FILLRECT
> +	select FB_SYS_COPYAREA
> +	select FB_SYS_IMAGEBLIT
> +	select FB_SYS_FOPS
> +
> +config HID_PICOLCD_BACKLIGHT
> +	bool "Backlight control"
> +	default !EMBEDDED
> +	depends on HID_PICOLCD
> +	depends on HID_PICOLCD=BACKLIGHT_CLASS_DEVICE || BACKLIGHT_CLASS_DEVICE=y
> +
> +config HID_PICOLCD_LCD
> +	bool "Contrast control"
> +	default !EMBEDDED
> +	depends on HID_PICOLCD
> +	depends on HID_PICOLCD=LCD_CLASS_DEVICE || LCD_CLASS_DEVICE=y
> +
> +config HID_PICOLCD_LEDS
> +	bool "GPO via leds class"
> +	default !EMBEDDED
> +	depends on HID_PICOLCD
> +	depends on HID_PICOLCD=LEDS_CLASS || LEDS_CLASS=y
> +
>  config HID_QUANTA
>  	tristate "Quanta Optical Touch"
>  	depends on USB_HID


---
~Randy
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ