login
Login
/
Register
Search
Search this site:
Forums
News
Blogs
Features
Site
Home
»
Mailing list archives
»
linux-kernel
»
2007
»
November
»
7
Re: [PATCH] create /sys/.../power when CONFIG_PM is set
view
thread
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
[view in full thread]
From: Rafael J. Wysocki
Subject:
Re: [PATCH] create /sys/.../power when CONFIG_PM is set
Date: Wednesday, November 7, 2007 - 3:24 pm
On Wednesday, 7 of November 2007, Daniel Drake wrote:
quoted text
> The CONFIG_SUSPEND changes in 2.6.23 caused a regression under certain > configuration conditions (SUSPEND=n, USB_AUTOSUSPEND=y) where all USB device > attributes in sysfs (idVendor, idProduct, ...) silently disappeared, causing > udev breakage and more. > > The cause of this is that the /sys/.../power subdirectory is now only created > when CONFIG_PM_SLEEP is set, however, it should be created whenever CONFIG_PM > is set to handle the above situation. The following patch fixes the > regression. > > Signed-off-by: Daniel Drake <dsd@gentoo.org>
Acked-by: Rafael J. Wysocki <rjw@sisk.pl> Greg, I think this patch should go through your tree?
quoted text
> Index: linux-2.6.24-rc1-git14/drivers/base/core.c > =================================================================== > --- linux-2.6.24-rc1-git14.orig/drivers/base/core.c > +++ linux-2.6.24-rc1-git14/drivers/base/core.c > @@ -770,9 +770,10 @@ int device_add(struct device *dev) > error = device_add_attrs(dev); > if (error) > goto AttrsError; > - error = device_pm_add(dev); > + error = dpm_sysfs_add(dev); > if (error) > goto PMError; > + device_pm_add(dev); > error = bus_add_device(dev); > if (error) > goto BusError; > @@ -797,6 +798,7 @@ int device_add(struct device *dev) > return error; > BusError: > device_pm_remove(dev); > + dpm_sysfs_remove(dev); > PMError: > if (dev->bus) > blocking_notifier_call_chain(&dev->bus->bus_notifier, > Index: linux-2.6.24-rc1-git14/drivers/base/power/Makefile > =================================================================== > --- linux-2.6.24-rc1-git14.orig/drivers/base/power/Makefile > +++ linux-2.6.24-rc1-git14/drivers/base/power/Makefile > @@ -1,5 +1,6 @@ > obj-y := shutdown.o > -obj-$(CONFIG_PM_SLEEP) += main.o sysfs.o > +obj-$(CONFIG_PM) += sysfs.o > +obj-$(CONFIG_PM_SLEEP) += main.o > obj-$(CONFIG_PM_TRACE) += trace.o > > ifeq ($(CONFIG_DEBUG_DRIVER),y) > Index: linux-2.6.24-rc1-git14/drivers/base/power/power.h > =================================================================== > --- linux-2.6.24-rc1-git14.orig/drivers/base/power/power.h > +++ linux-2.6.24-rc1-git14/drivers/base/power/power.h > @@ -18,9 +18,24 @@ static inline struct device * to_device( > return container_of(entry, struct device, power.entry); > } > > -extern int device_pm_add(struct device *); > +extern void device_pm_add(struct device *); > extern void device_pm_remove(struct device *); > > +#else /* CONFIG_PM_SLEEP */ > + > + > +static inline void device_pm_add(struct device * dev) > +{ > +} > +static inline void device_pm_remove(struct device * dev) > +{ > + > +} > + > +#endif > + > +#ifdef CONFIG_PM > + > /* > * sysfs.c > */ > @@ -28,16 +43,16 @@ extern void device_pm_remove(struct devi > extern int dpm_sysfs_add(struct device *); > extern void dpm_sysfs_remove(struct device *); > > -#else /* CONFIG_PM_SLEEP */ > +#else /* CONFIG_PM */ > > - > -static inline int device_pm_add(struct device * dev) > +static inline int dpm_sysfs_add(struct device * dev) > { > return 0; > } > -static inline void device_pm_remove(struct device * dev) > +static inline void dpm_sysfs_remove(struct device * dev) > { > > } > > -#endif > +#endif /* CONFIG_PM */ > + > Index: linux-2.6.24-rc1-git14/drivers/base/power/main.c > =================================================================== > --- linux-2.6.24-rc1-git14.orig/drivers/base/power/main.c > +++ linux-2.6.24-rc1-git14/drivers/base/power/main.c > @@ -38,20 +38,14 @@ static DEFINE_MUTEX(dpm_list_mtx); > int (*platform_enable_wakeup)(struct device *dev, int is_on); > > > -int device_pm_add(struct device *dev) > +void device_pm_add(struct device *dev) > { > - int error; > - > pr_debug("PM: Adding info for %s:%s\n", > dev->bus ? dev->bus->name : "No Bus", > kobject_name(&dev->kobj)); > mutex_lock(&dpm_list_mtx); > list_add_tail(&dev->power.entry, &dpm_active); > - error = dpm_sysfs_add(dev); > - if (error) > - list_del(&dev->power.entry); > mutex_unlock(&dpm_list_mtx); > - return error; > } > > void device_pm_remove(struct device *dev) > >
-
unsubscribe notice
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to
majordomo@vger.kernel.org
More majordomo info at
http://vger.kernel.org/majordomo-info.html
Please read the FAQ at
http://www.tux.org/lkml/
Previous message: [
thread
] [
date
] [
author
]
Next message: [
thread
] [
date
] [
author
]
Messages in current thread:
[PATCH] create /sys/.../power when CONFIG_PM is set
, Daniel Drake
, (Wed Nov 7, 3:10 am)
Re: [PATCH] create /sys/.../power when CONFIG_PM is set
, Alan Stern
, (Wed Nov 7, 9:45 am)
Re: [PATCH] create /sys/.../power when CONFIG_PM is set
, Rafael J. Wysocki
, (Wed Nov 7, 3:24 pm)
Re: [PATCH] create /sys/.../power when CONFIG_PM is set
, Greg KH
, (Wed Nov 7, 5:27 pm)
Re: [PATCH] create /sys/.../power when CONFIG_PM is set
, Andrew Morton
, (Fri Nov 9, 2:05 pm)
Re: [PATCH] create /sys/.../power when CONFIG_PM is set
, Greg KH
, (Fri Nov 9, 2:32 pm)
Navigation
Mailing list archives
Recent posts
Popular discussions
linux-kernel
:
Alexey Dobriyan
Re: [2.6.22.2 review 09/84] Fix rfkill IRQ flags.
Michael Moore
Re: underage models, pre teen models, lolita porn, young preteens, little lolitas
Alex Riesen
Re: [PATCH 4/7] lib: Introduce strnstr()
Thomas Gleixner
[ANNOUNCE] 2.6.31-rc6-rt2
Mathieu Desnoyers
Re: Linux 2.6.25-rc2
git
:
Blaisorblade
git-unpack-objects < pack file in repository doesn't work!
Matthieu Moy
Re: Cloning empty repositories, was Re: What is the idea for bare repositories?
Linus Torvalds
Re: Untracked working tree files
Peter Karlsson
Re: CRLF problems with Git on Win32
Johannes Schindelin
Re: [PATCH 4/4] git-rebase -i: New option to support rebase with merges
linux-netdev
:
Alan Menegotto
Re: Linux networking implementation and packet capture
Andrew Morton
Re: [PATCH] PHYLIB: IRQ event workqueue handling fixes
Timo Teräs
ip xfrm policy semantics
Jarek Poplawski
Re: [PATCH]: Fix queueing return values...
David Miller
Re: [PATCH 1/2] netdev: bfin_mac: enable bfin_mac net dev driver for BF51x
git-commits-head
:
Linux Kernel Mailing List
Blackfin: don't give CPU its own line in traps output
Linux Kernel Mailing List
No need to do lock_super() for exclusion in generic_shutdown_super()
Linux Kernel Mailing List
x86, msr: Export the register-setting MSR functions via /dev/*/msr
Linux Kernel Mailing List
MIPS: SMTC: Fix lockup in smtc_distribute_timer
Linux Kernel Mailing List
powerpc: gamecube/wii: usbgecko bootwrapper console support
openbsd-misc
:
Aaron Mason
Re: Defending OpenBSD Performance
Henning Brauer
Re: Defending OpenBSD Performance
Henning Brauer
Re: Defending OpenBSD Performance
Christiano Farina Haesbaert
Re: Defending OpenBSD Performance
Nick Holland
Re: 1 out of 3 hunks failed--saving rejects to kerberosV/src/lib/krb5/crypto.c.rej
Colocation donated by:
Syndicate