public inbox for linux-kbuild@vger.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@suse.de>
To: Michal Marek <mmarek@suse.cz>
Cc: Alan Stern <stern@rowland.harvard.edu>,
	"Gadiyar, Anand" <gadiyar@ti.com>,
	jidong xiao <jidong.xiao@gmail.com>,
	"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
	linux-kbuild@vger.kernel.org,
	Vegard Nossum <vegard.nossum@gmail.com>
Subject: Re: Compile error with gregkh-07-usb-2.6.33-rc7.patch
Date: Wed, 17 Feb 2010 20:16:29 -0800	[thread overview]
Message-ID: <20100218041629.GA11556@suse.de> (raw)
In-Reply-To: <4B7BFE0D.4000509@suse.cz>

On Wed, Feb 17, 2010 at 03:32:45PM +0100, Michal Marek wrote:
> On 12.2.2010 16:30, Alan Stern wrote:
> > On Fri, 12 Feb 2010, Gadiyar, Anand wrote:
> > 
> >>>>> I guess you did _not_ enable CONFIG_PM_RUNTIME, right?
> >>>>>
> >>>>> pm_wq is only defined when CONFIG_PM_RUNTIME is enabled.
> >>>>>
> >>>>>      15 #ifdef CONFIG_PM_RUNTIME
> >>>>>      16
> >>>>>      17 extern struct workqueue_struct *pm_wq;
> >>>>
> >>>> Right, I had CONFIG_PM_RUNTIME disabled. Enabling it allowed the
> >>>> compile to go through.
> >>>>
> >>>> Does that compile failure still needs to be fixed. I'm guessing
> >>>> not everyone will build with this option enabled?
> >>>>
> >>> Well, looking at gregkh-07-usb-2.6.33-rc7.patch, I noticed following
> >>> hunk of patch:
> >>>
> >>> diff -Naur -X linux-2.6.33-rc7-tty/Documentation/dontdiff linux-2.6.33-rc7-tty/drivers/usb/core/Kconfig linux-2.6.33-rc7-usb/drivers/usb/core/Kconfig
> >>> --- linux-2.6.33-rc7-tty/drivers/usb/core/Kconfig       2009-09-09 15:13:59.000000000 -0700
> >>> +++ linux-2.6.33-rc7-usb/drivers/usb/core/Kconfig       2010-02-09 13:21:32.000000000 -0800
> >>> @@ -91,8 +91,8 @@
> >>>           If you are unsure about this, say N here.
> >>>
> >>>  config USB_SUSPEND
> >>> -       bool "USB selective suspend/resume and wakeup"
> >>> -       depends on USB && PM
> >>> +       bool "USB runtime power management (suspend/resume and wakeup)"
> >>> +       depends on USB && PM_RUNTIME
> >>>         help
> >>>           If you say Y here, you can use driver calls or the sysfs
> >>>           "power/level" file to suspend or resume individual USB
> >>>
> >>> This patch is saying, USB_SUSPEND is depends on PM_RUNTIME, in your
> >>> case, USB_SUSPEND is enabled, but PM_RUNTIME is disabled, this is a
> >>> little bit strange, I guess you have manually edited .config instead
> >>> of running the command `make menuconfig`. I am afraid this might cause
> >>> some dependency problem.
> >>
> >> Nope. I did `make ARCH=arm omap_3430sdp_defconfig`, and this generated
> >> the .config. Wouldn't the dependencies be taken care of by this?
> >>
> >> (omap_3430sdp_defconfig has CONFIG_USB_SUSPEND=y and CONFIG_PM_RUNTIME
> >> not set, since the defconfig is old. But wouldn't CONFIG_USB_SUSPEND
> >> get turned off in this case?)
> > 
> > I would expect it to get turned off.  This sounds like a bug in the
> > kernel build system.  Adding the linux-kbuild mailing list to the CC:.
> 
> The problem is a few lines below
> 
> config USB_OTG
> 	bool
> 	depends on USB && EXPERIMENTAL
> 	select USB_SUSPEND
>         ^^^^^^^^^^^^^^^^^^
> 	default n
> 
> This triggers a know bug of the select statement
> (Documentation/kbuild/kconfig-language.txt):
> 
> 	select should be used with care. select will force
> 	a symbol to a value without visiting the dependencies.
> 	By abusing select you are able to select a symbol FOO even
> 	if FOO depends on BAR that is not set.
> 	In general use select only for non-visible symbols
> 	(no prompts anywhere) and for symbols with no dependencies.
> 	That will limit the usefulness but on the other hand avoid
> 	the illegal configurations all over.
> 	kconfig should one day warn about such things.
> 
> Vegard Nossum is going to work on replacing the current kconfig
> dependency solver with something smarter during this year's GSoC, so
> there is light at the end of the tunnel. In the meantime, you can change
> the logic from "select USB_SUSPEND" to "depends on USB_SUSPEND". This
> will force one to first set USB_SUSPEND manually, but will avoid the
> build error.

A patch to do this would probably be best so we don't run into it again.

thanks,

greg k-h

  reply	other threads:[~2010-02-18  4:26 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <5A47E75E594F054BAF48C5E4FC4B92AB031E80D6E0@dbde02.ent.ti.com>
2010-02-12 15:30 ` Compile error with gregkh-07-usb-2.6.33-rc7.patch Alan Stern
2010-02-17 14:32   ` Michal Marek
2010-02-18  4:16     ` Greg KH [this message]
2010-02-18  6:34       ` Gadiyar, Anand

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=20100218041629.GA11556@suse.de \
    --to=gregkh@suse.de \
    --cc=gadiyar@ti.com \
    --cc=jidong.xiao@gmail.com \
    --cc=linux-kbuild@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mmarek@suse.cz \
    --cc=stern@rowland.harvard.edu \
    --cc=vegard.nossum@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox