19 Jun, 2009
1 commit
-
This patch adds the kernel side of the PPS support currently named
"LinuxPPS".PPS means "pulse per second" and a PPS source is just a device which
provides a high precision signal each second so that an application can
use it to adjust system clock time.Common use is the combination of the NTPD as userland program with a GPS
receiver as PPS source to obtain a wallclock-time with sub-millisecond
synchronisation to UTC.To obtain this goal the userland programs shoud use the PPS API
specification (RFC 2783 - Pulse-Per-Second API for UNIX-like Operating
Systems, Version 1.0) which in part is implemented by this patch. It
provides a set of chars devices, one per PPS source, which can be used to
get the time signal. The RFC's functions can be implemented by accessing
to these char devices.Signed-off-by: Rodolfo Giometti
Cc: David Woodhouse
Cc: Greg KH
Cc: Randy Dunlap
Cc: Kay Sievers
Acked-by: Alan Cox
Cc: Michael Kerrisk
Cc: Christoph Hellwig
Cc: Roman Zippel
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
17 Jun, 2009
1 commit
-
Add support for the TI VLYNQ high-speed, serial and packetized bus.
This bus allows external devices to be connected to the System-on-Chip and
appear in the main system memory just like any memory mapped peripheral.
It is widely used in TI's networking and multimedia SoC, including the AR7
SoC.Signed-off-by: Eugene Konev
Signed-off-by: Florian Fainelli
Cc: Ralf Baechle
Cc: Alan Cox
Cc: Greg KH
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
09 Jun, 2009
1 commit
-
fakehard is a really simple driver implementing only necessary
callbacks and serves the role of an example of driver for HardMAC
IEEE 802.15.4 device.Signed-off-by: Dmitry Eremin-Solenikov
Signed-off-by: Sergey Lapin
Signed-off-by: David S. Miller
30 Apr, 2009
1 commit
-
Currently drivers/media drivers are linked very early - directly after
base, block, misc, and mfd and before ata, scsi, ide, input, firewire,
usb, and i2c. This breaks static build of video4linux drivers, that use
generic CPU i2c adapter drivers and the v4l2-subdev subsystem, because
during video4linux probing the v4l2-subdev core requires a struct
i2c_adapter context, which cannot be satisfied before the i2c subsystem is
initialised. Moving drivers/media after drivers/i2c fixes this problem.The best way to trigger action is by submitting a patch:-) So, let's see
what comes out of it - on the one hand I don't see any reason why media
has to be linked this early, and nobody was able to give me one yesterday
as this problem has been discussed on linux-media, OTOH, maybe indeed it
would be better to move i2c the whole way up above media, but that'd be
much bigger of a change, I think.
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.htmlSigned-off-by: Guennadi Liakhovetski
Acked-by: Jean Delvare
Signed-off-by: Mauro Carvalho Chehab
29 Mar, 2009
1 commit
-
this patch flips the order in which sata and network drivers are initialized.
SATA probing takes quite a bit of time, and with the asynchronous infrastructure
other drivers that run after it can execute in parallel. Network drivers do tend
to take some real time talking to the hardware, so running these later is
a good thing (the sata probe then runs concurrent)This saves about 15% of my kernels boot time.
Both Dave and Jeff acked this patch and suggested it should go via the async
tree.Signed-off-by: Arjan van de Ven
Acked-by: David S. Miller
Acked-by: Jeff Garzik
09 Jan, 2009
2 commits
-
Conflicts:
drivers/misc/KconfigSigned-off-by: Len Brown
-
Move regulator earlier in link sequence.
The regulator core currently initializes as a core_initcall() to be
available early ... but then it links way late, throwing away that
benefit, so regulators available at e.g. subsys_initcall() are not
available to subsystems which need to use them.Signed-off-by: David Brownell
Acked-by: Mark Brown
Signed-off-by: Liam Girdwood
08 Jan, 2009
1 commit
-
This moves the isp1301-omap driver from the drivers/i2c/chips
directory (which will be shrinking) into a new drivers/usb/otg
directory (which will grow, with more drivers and utilities).Note that OTG infrastructure needs to be initialized before
either host or peripheral side USB support, and may be needed
before for pure host or pure peripheral configurations.Signed-off-by: David Brownell
Acked-by: Jean Delvare
Signed-off-by: Greg Kroah-Hartman
19 Dec, 2008
1 commit
-
Move x86 platform specific drivers from drivers/misc/
to a new home under drivers/platform/x86/.The community has been maintaining x86 vendor-specific
platform specific drivers under /drivers/misc/ for a few years.
The oldest ones started life under drivers/acpi.
They moved out of drivers/acpi/ because they don't actually
implement the ACPI specification, but either simply
use ACPI, or implement vendor-specific ACPI extensions.In the future we anticipate...
drivers/misc/ will go away.
other architectures will create drivers/platform/Signed-off-by: Len Brown
27 Oct, 2008
1 commit
-
* 'for-upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/dvrabel/uwb:
uwb: build UWB before USB/WUSB
24 Oct, 2008
2 commits
-
The WHCI-HCD driver in drivers/usb/host/ depends on the umc driver in
drivers/uwb/.Signed-off-by: David Vrabel
-
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (123 commits)
dock: make dock driver not a module
ACPI: fix ia64 build warning
ACPI: hack around sysfs warning with link order
ACPI suspend: fix build warning when CONFIG_ACPI_SLEEP=n
intel_menlo: fix build warning
panasonic-laptop: fix build
ACPICA: Update version to 20080926
ACPICA: Add support for zero-length buffer-to-string conversions
ACPICA: New: Validation for predefined ACPI methods/objects
ACPICA: Fix for implicit return compatibility
ACPICA: Fixed a couple memory leaks associated with "implicit return"
ACPICA: Optimize buffer allocation procedure
ACPICA: Fix possible memory leak, error exit path
ACPICA: Fix fault after mem allocation failure in AML parser
ACPICA: Remove unused ACPI register bit definition
ACPICA: Update version to 20080829
ACPICA: Fix possible memory leak in acpi_ns_get_external_pathname
ACPICA: Cleanup for internal Reference Object
ACPICA: Update comments - no functional changes
ACPICA: Update for Reference ACPI_OPERAND_OBJECT
...
23 Oct, 2008
1 commit
-
Conflicts:
MAINTAINERS
arch/x86/kernel/acpi/boot.c
arch/x86/kernel/acpi/sleep.c
drivers/acpi/Kconfig
drivers/pnp/Makefile
drivers/pnp/quirks.cSigned-off-by: Len Brown
22 Oct, 2008
1 commit
-
The Intel 7300 Memory Controller supports dynamic throttling of memory which can
be used to save power when system is idle. This driver does the memory
throttling when all CPUs are idle on such a system.Refer to "Intel 7300 Memory Controller Hub (MCH)" datasheet
for the config space description.Signed-off-by: Andy Henroid
Signed-off-by: Len Brown
Signed-off-by: Venkatesh Pallipadi
20 Oct, 2008
1 commit
-
Conflicts:
Documentation/ABI/testing/sysfs-bus-usb
drivers/Makefile
11 Oct, 2008
1 commit
-
This hooks up the drivers/staging directory to the build system
Signed-off-by: Greg Kroah-Hartman
17 Sep, 2008
1 commit
-
The Kbuild and Kconfig files.
Signed-off-by: Greg Kroah-Hartman
Signed-off-by: David Vrabel
14 Aug, 2008
1 commit
-
This patch adds support for MUSB and TUSB controllers
integrated into omap2430 and davinci. It also adds support
for external tusb6010 controller.Cc: David Brownell
Cc: Tony Lindgren
Signed-off-by: Felipe Balbi
Signed-off-by: Greg Kroah-Hartman
30 Jul, 2008
1 commit
-
This patch adds kernel build support for the regulator core.
Signed-off-by: Philipp Zabel
Signed-off-by: Liam Girdwood
26 Jul, 2008
1 commit
-
This patch adds functionality to the gpio-lib subsystem to make it
possible to enable the gpio-lib code even if the architecture code didn't
request to get it built in.The archtitecture code does still need to implement the gpiolib accessor
functions in its asm/gpio.h file. This patch adds the implementations for
x86 and PPC.With these changes it is possible to run generic GPIO expansion cards on
every architecture that implements the trivial wrapper functions. Support
for more architectures can easily be added.Signed-off-by: Michael Buesch
Cc: Benjamin Herrenschmidt
Cc: Stephen Rothwell
Cc: David Brownell
Cc: Russell King
Cc: Haavard Skinnemoen
Cc: Jesper Nilsson
Cc: Ralf Baechle
Cc: Paul Mackerras
Cc: Benjamin Herrenschmidt
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: Jean Delvare
Cc: Samuel Ortiz
Cc: Kumar Gala
Cc: Sam Ravnborg
Cc: Adrian Bunk
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
21 Jul, 2008
1 commit
-
Signed-off-by: Dave Airlie
14 Jul, 2008
1 commit
-
With the coming of kernel based modesetting and the memory manager stuff,
the everything in one directory approach was getting very ugly and
starting to be unmanageable.This restructures the drm along the lines of other kernel components.
It creates a drivers/gpu/drm directory and moves the hw drivers into
subdirectores. It moves the includes into an include/drm, and
sets up the unifdef for the userspace headers we should be exporting.Signed-off-by: Dave Airlie
30 Apr, 2008
1 commit
-
This adds a minimalistic braille screen reader support. This is meant to
be used by blind people e.g. on boot failures or when / cannot be mounted
etc and thus the userland screen readers can not work.[akpm@linux-foundation.org: fix exports]
Signed-off-by: Samuel Thibault
Cc: Jiri Kosina
Cc: Dmitry Torokhov
Acked-by: Alan Cox
Cc: Randy Dunlap
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
10 Feb, 2008
1 commit
-
Sony MemoryStick cards are used in many products manufactured by Sony.
They are available both as storage and as IO expansion cards. Currently,
only MemoryStick Pro storage cards are supported via TI FlashMedia
MemoryStick interface.[mboton@gmail.com: biuld fix]
[akpm@linux-foundation.org: build fix]
Signed-off-by: Alex Dubov
Signed-off-by: Miguel Boton
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
07 Feb, 2008
1 commit
-
Conflicts:
drivers/acpi/video.c
Signed-off-by: Len Brown
06 Feb, 2008
1 commit
-
Add an empty drivers/gpio directory for gpiolib infrastructure and GPIO
expanders. It will be populated by later patches.This won't be the only place to hold such gpio_chip code. Many external chips
add a few GPIOs as secondary functionality (such as MFD drivers) and platform
code frequently needs to closely integrate GPIO and IRQ support.This is placed *early* in the build/link sequence since it's common for other
drivers to depend on GPIOs to do their work, so they must be initialized early
in the device_initcall() sequence.Signed-off-by: David Brownell
Acked-by: Jean Delvare
Cc: Eric Miao
Cc: Sam Ravnborg
Cc: Haavard Skinnemoen
Cc: Philipp Zabel
Cc: Russell King
Cc: Ben Gardner
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
02 Feb, 2008
1 commit
-
The Generic Thermal sysfs driver for thermal management.
Signed-off-by: Zhang Rui
Signed-off-by: Thomas Sujith
Signed-off-by: Len Brown
31 Jan, 2008
2 commits
-
* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus: (27 commits)
lguest: use __PAGE_KERNEL instead of _PAGE_KERNEL
lguest: Use explicit includes rateher than indirect
lguest: get rid of lg variable assignments
lguest: change gpte_addr header
lguest: move changed bitmap to lg_cpu
lguest: move last_pages to lg_cpu
lguest: change last_guest to last_cpu
lguest: change spte_addr header
lguest: per-vcpu lguest pgdir management
lguest: make pending notifications per-vcpu
lguest: makes special fields be per-vcpu
lguest: per-vcpu lguest task management
lguest: replace lguest_arch with lg_cpu_arch.
lguest: make registers per-vcpu
lguest: make emulate_insn receive a vcpu struct.
lguest: map_switcher_in_guest() per-vcpu
lguest: per-vcpu interrupt processing.
lguest: per-vcpu lguest timers
lguest: make hypercalls use the vcpu struct
lguest: make write() operation smp aware
...Manual conflict resolved (maybe even correctly, who knows) in
drivers/lguest/x86/core.c -
This paves the way for multiple architecture support. Note that while
ioapic.c could potentially be shared with ia64, it is also moved.Signed-off-by: Avi Kivity
30 Jan, 2008
2 commits
-
This patch adds a new configuration option, which adds support for a new
early_param which gets checked in arch/x86/kernel/setup_{32,64}.c:setup_arch()
to decide wether OHCI-1394 FireWire controllers should be initialized and
enabled for physical DMA access to allow remote debugging of early problems
like issues ACPI or other subsystems which are executed very early.If the config option is not enabled, no code is changed, and if the boot
paramenter is not given, no new code is executed, and independent of that,
all new code is freed after boot, so the config option can be even enabled
in standard, non-debug kernels.With specialized tools, it is then possible to get debugging information
from machines which have no serial ports (notebooks) such as the printk
buffer contents, or any data which can be referenced from global pointers,
if it is stored below the 4GB limit and even memory dumps of of the physical
RAM region below the 4GB limit can be taken without any cooperation from the
CPU of the host, so the machine can be crashed early, it does not matter.In the extreme, even kernel debuggers can be accessed in this way. I wrote
a small kgdb module and an accompanying gdb stub for FireWire which allows
to gdb to talk to kgdb using remote remory reads and writes over FireWire.An version of the gdb stub fore FireWire is able to read all global data
from a system which is running a a normal kernel without any kernel debugger,
without any interruption or support of the system's CPU. That way, e.g. the
task struct and so on can be read and even manipulated when the physical DMA
access is granted.A HOWTO is included in this patch, in Documentation/debugging-via-ohci1394.txt
and I've put a copy online at
ftp://ftp.suse.de/private/bk/firewire/docs/debugging-via-ohci1394.txtIt also has links to all the tools which are available to make use of it
another copy of it is online at:
ftp://ftp.suse.de/private/bk/firewire/kernel/ohci1394_dma_early-v2.diffSigned-Off-By: Bernhard Kaindl
Tested-By: Thomas Renninger
Signed-off-by: Ingo Molnar
Signed-off-by: Thomas Gleixner -
Parts depend on CONFIG_LGUEST, not just CONFIG_LGUEST_GUEST
Signed-off-by: Glauber de Oliveira Costa
Signed-off-by: Rusty Russell
24 Oct, 2007
1 commit
-
* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (39 commits)
[SCSI] qla2xxx: Update version number to 8.02.00-k5.
[SCSI] qla2xxx: Correct display of ISP serial-number.
[SCSI] qla2xxx: Correct residual-count handling discrepancies during UNDERRUN handling.
[SCSI] qla2xxx: Make driver (mostly) legacy I/O port free.
[SCSI] qla2xxx: Fix issue where final flash-segment updates were falling into the slow-path write handler.
[SCSI] qla2xxx: Handle unaligned sector writes during NVRAM/VPD updates.
[SCSI] qla2xxx: Defer explicit interrupt-polling processing to init-time scenarios.
[SCSI] qla2xxx: Resync with latest HBA SSID specification -- 2.2u.
[SCSI] sym53c8xx: Remove sym_xpt_async_sent_bdr
[SCSI] sym53c8xx: Remove pci_dev pointer from sym_shcb
[SCSI] sym53c8xx: Make interrupt handler capable of returning IRQ_NONE
[SCSI] sym53c8xx: Get rid of IRQ_FMT and IRQ_PRM
[SCSI] sym53c8xx: Use scmd_printk where appropriate
[SCSI] sym53c8xx: Simplify DAC DMA handling
[SCSI] sym53c8xx: Remove tag_ctrl module parameter
[SCSI] sym53c8xx: Remove io_ws, mmio_ws and ram_ws elements
[SCSI] sym53c8xx: Remove ->device_id
[SCSI] sym53c8xx: Use pdev->revision
[SCSI] sym53c8xx: PCI Error Recovery support
[SCSI] sym53c8xx: Stop overriding scsi_done
...
23 Oct, 2007
1 commit
-
This attempts to implement a "virtual I/O" layer which should allow
common drivers to be efficiently used across most virtual I/O
mechanisms. It will no-doubt need further enhancement.The virtio drivers add buffers to virtio queues; as the buffers are consumed
the driver "interrupt" callbacks are invoked.There is also a generic implementation of config space which drivers can query
to get setup information from the host.Signed-off-by: Rusty Russell
Cc: Dor Laor
Cc: Arnd Bergmann
20 Oct, 2007
1 commit
-
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (41 commits)
ACPICA: hw: Don't carry spinlock over suspend
ACPICA: hw: remove use_lock flag from acpi_hw_register_{read, write}
ACPI: cpuidle: port idle timer suspend/resume workaround to cpuidle
ACPI: clean up acpi_enter_sleep_state_prep
Hibernation: Make sure that ACPI is enabled in acpi_hibernation_finish
ACPI: suppress uninitialized var warning
cpuidle: consolidate 2.6.22 cpuidle branch into one patch
ACPI: thinkpad-acpi: skip blanks before the data when parsing sysfs
ACPI: AC: Add sysfs interface
ACPI: SBS: Add sysfs alarm
ACPI: SBS: Add ACPI_PROCFS around procfs handling code.
ACPI: SBS: Add support for power_supply class (and sysfs)
ACPI: SBS: Make SBS reads table-driven.
ACPI: SBS: Simplify data structures in SBS
ACPI: SBS: Split host controller (ACPI0001) from SBS driver (ACPI0002)
ACPI: EC: Add new query handler to list head.
ACPI: Add acpi_bus_generate_event4() function
ACPI: Battery: add sysfs alarm
ACPI: Battery: Add sysfs support
ACPI: Battery: Misc clean-ups, no functional changes
...Fix up conflicts in drivers/misc/thinkpad_acpi.[ch] manually
18 Oct, 2007
2 commits
-
move watchdog tree from drivers/char/watchdog to drivers/watchdog.
Signed-off-by: Wim Van Sebroeck
-
This code has been slowly rotting for about eight years. It's currently
impeding a few SCSI cleanups, and nobody seems to have hardware to test
it any more. I talked to Dave Miller about it, and he agrees we can
delete it. If anyone wants a software FC stack in future, they can
retrieve this driver from git.Signed-off-by: Matthew Wilcox
Acked-by: David S. Miller
Signed-off-by: James Bottomley
17 Oct, 2007
1 commit
-
Direct Cache Access (DCA) is a method for warming the CPU cache before data
is used, with the intent of lessening the impact of cache misses. This
patch adds a manager and interface for matching up client requests for DCA
services with devices that offer DCA services.In order to use DCA, a module must do bus writes with the appropriate tag
bits set to trigger a cache read for a specific CPU. However, different
CPUs and chipsets can require different sets of tag bits, and the methods
for determining the correct bits may be simple hardcoding or may be a
hardware specific magic incantation. This interface is a way for DCA
clients to find the correct tag bits for the targeted CPU without needing
to know the specifics.[Dave Miller] use DEFINE_SPINLOCK()
Signed-off-by: Shannon Nelson
Acked-by: David S. Miller
Signed-off-by: Andrew Morton
Signed-off-by: Linus Torvalds
11 Oct, 2007
1 commit
-
SSB is an SoC bus used in a number of embedded devices. The most
well-known of these devices is probably the Linksys WRT54G, but there
are others as well. The bus is also used internally on the BCM43xx
and BCM44xx devices from Broadcom.This patch also includes support for SSB ID tables in modules, so
that SSB drivers can be loaded automatically.Signed-off-by: Michael Buesch
Signed-off-by: John W. Linville
Signed-off-by: David S. Miller
10 Oct, 2007
1 commit
-
commit e5a16b1f9eec0af7cfa0830304b41c1c0833cf9f
Author: Len Brown
Date: Tue Oct 2 23:44:44 2007 -0400cpuidle: shrink diff
processor_idle.c | 440 +++++++++++++++++++++++++++++++++++++++++--
1 file changed, 429 insertions(+), 11 deletions(-)Signed-off-by: Len Brown
commit dfbb9d5aedfb18848a3e0d6f6e3e4969febb209c
Author: Len Brown
Date: Wed Sep 26 02:17:55 2007 -0400cpuidle: reduce diff size
Reduces the cpuidle processor_idle.c diff vs 2.6.22 from this
processor_idle.c | 2006 ++++++++++++++++++++++++++-----------------
1 file changed, 1219 insertions(+), 787 deletions(-)to this:
processor_idle.c | 502 +++++++++++++++++++++++++++++++++++++++----
1 file changed, 458 insertions(+), 44 deletions(-)...for the purpose of making the cpuilde patch less invasive
and easier to review.no functional changes. build tested only.
Signed-off-by: Len Brown
commit 889172fc915f5a7fe20f35b133cbd205ce69bf6c
Author: Venki Pallipadi
Date: Thu Sep 13 13:40:05 2007 -0700cpuidle: Retain old ACPI policy for !CONFIG_CPU_IDLE
Retain the old policy in processor_idle, so that when CPU_IDLE is not
configured, old C-state policy will still be used. This provides a
clean gradual migration path from old ACPI policy to new cpuidle
based policy.Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Len Browncommit 9544a8181edc7ecc33b3bfd69271571f98ed08bc
Author: Venki Pallipadi
Date: Thu Sep 13 13:39:17 2007 -0700cpuidle: Configure governors by default
Quoting Len "Do not give an option to users to shoot themselves in the foot".
Remove the configurability of ladder and menu governors as they are
needed for default policy of cpuidle. That way users will not be able to
have cpuidle without any policy loosing all C-state power savings.Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Len Browncommit 8975059a2c1e56cfe83d1bcf031bcf4cb39be743
Author: Adam Belay
Date: Tue Aug 21 18:27:07 2007 -0400CPUIDLE: load ACPI properly when CPUIDLE is disabled
Change the registration return codes for when CPUIDLE
support is not compiled into the kernel. As a result, the ACPI
processor driver will load properly even if CPUIDLE is unavailable.
However, it may be possible to cleanup the ACPI processor driver further
and eliminate some dead code paths.Signed-off-by: Adam Belay
Acked-by: Venkatesh Pallipadi
Signed-off-by: Len Browncommit e0322e2b58dd1b12ec669bf84693efe0dc2414a8
Author: Adam Belay
Date: Tue Aug 21 18:26:06 2007 -0400CPUIDLE: remove cpuidle_get_bm_activity()
Remove cpuidle_get_bm_activity() and updates governors
accordingly.Signed-off-by: Adam Belay
Acked-by: Venkatesh Pallipadi
Signed-off-by: Len Browncommit 18a6e770d5c82ba26653e53d240caa617e09e9ab
Author: Adam Belay
Date: Tue Aug 21 18:25:58 2007 -0400CPUIDLE: max_cstate fix
Currently max_cstate is limited to 0, resulting in no idle processor
power management on ACPI platforms. This patch restores the value to
the array size.Signed-off-by: Adam Belay
Acked-by: Venkatesh Pallipadi
Signed-off-by: Len Browncommit 1fdc0887286179b40ce24bcdbde663172e205ef0
Author: Adam Belay
Date: Tue Aug 21 18:25:40 2007 -0400CPUIDLE: handle BM detection inside the ACPI Processor driver
Update the ACPI processor driver to detect BM activity and
limit state entry depth internally, rather than exposing such
requirements to CPUIDLE. As a result, CPUIDLE can drop this
ACPI-specific interface and become more platform independent. BM
activity is now handled much more aggressively than it was in the
original implementation, so some testing coverage may be needed to
verify that this doesn't introduce any DMA buffer under-run issues.Signed-off-by: Adam Belay
Acked-by: Venkatesh Pallipadi
Signed-off-by: Len Browncommit 0ef38840db666f48e3cdd2b769da676c57228dd9
Author: Adam Belay
Date: Tue Aug 21 18:25:14 2007 -0400CPUIDLE: menu governor updates
Tweak the menu governor to more effectively handle non-timer
break events. Non-timer break events are detected by comparing the
actual sleep time to the expected sleep time. In future revisions, it
may be more reliable to use the timer data structures directly.Signed-off-by: Adam Belay
Acked-by: Venkatesh Pallipadi
Signed-off-by: Len Browncommit bb4d74fca63fa96cf3ace644b15ae0f12b7df5a1
Author: Adam Belay
Date: Tue Aug 21 18:24:40 2007 -0400CPUIDLE: fix 'current_governor' sysfs entry
Allow the "current_governor" sysfs entry to properly handle
input terminated with '\n'.Signed-off-by: Adam Belay
Acked-by: Venkatesh Pallipadi
Signed-off-by: Len Browncommit df3c71559bb69b125f1a48971bf0d17f78bbdf47
Author: Len Brown
Date: Sun Aug 12 02:00:45 2007 -0400cpuidle: fix IA64 build (again)
Signed-off-by: Len Brown
commit a02064579e3f9530fd31baae16b1fc46b5a7bca8
Author: Venkatesh Pallipadi
Date: Sun Aug 12 01:39:27 2007 -0400cpuidle: Remove support for runtime changing of max_cstate
Remove support for runtime changeability of max_cstate. Drivers can use
use latency APIs.max_cstate can still be used as a boot time option and dmi override.
Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Len Browncommit 0912a44b13adf22f5e3f607d263aed23b4910d7e
Author: Venkatesh Pallipadi
Date: Sun Aug 12 01:39:16 2007 -0400cpuidle: Remove ACPI cstate_limit calls from ipw2100
ipw2100 already has code to use accetable_latency interfaces to limit the
C-state. Remove the calls to acpi_set_cstate_limit and acpi_get_cstate_limit
as they are redundant.Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Len Browncommit c649a76e76be6bff1fd770d0a775798813a3f6e0
Author: Venkatesh Pallipadi
Date: Sun Aug 12 01:35:39 2007 -0400cpuidle: compile fix for pause and resume functions
Fix the compilation failure when cpuidle is not compiled in.
Signed-off-by: Venkatesh Pallipadi
Acked-by: Adam Belay
Signed-off-by: Len Browncommit 2305a5920fb8ee6ccec1c62ade05aa8351091d71
Author: Adam Belay
Date: Thu Jul 19 00:49:00 2007 -0400cpuidle: re-write
Some portions have been rewritten to make the code cleaner and lighter
weight. The following is a list of changes:1.) the state name is now included in the sysfs interface
2.) detection, hotplug, and available state modifications are handled by
CPUIDLE drivers directly
3.) the CPUIDLE idle handler is only ever installed when at least one
cpuidle_device is enabled and ready
4.) the menu governor BM code no longer overflows
5.) the sysfs attributes are now printed as unsigned integers, avoiding
negative values
6.) a variety of other small cleanupsAlso, Idle drivers are no longer swappable during runtime through the
CPUIDLE sysfs inteface. On i386 and x86_64 most idle handlers (e.g.
poll, mwait, halt, etc.) don't benefit from an infrastructure that
supports multiple states, so I think using a more general case idle
handler selection mechanism would be cleaner.Signed-off-by: Adam Belay
Acked-by: Venkatesh Pallipadi
Acked-by: Shaohua Li
Signed-off-by: Len Browncommit df25b6b56955714e6e24b574d88d1fd11f0c3ee5
Author: Len Brown
Date: Tue Jul 24 17:08:21 2007 -0400cpuidle: fix IA64 buid
Signed-off-by: Len Brown
commit fd6ada4c14488755ff7068860078c437431fbccd
Author: Adrian Bunk
Date: Mon Jul 9 11:33:13 2007 -0700cpuidle: static
make cpuidle_replace_governor() static
Signed-off-by: Adrian Bunk
Cc: Venkatesh Pallipadi
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit c1d4a2cebcadf2429c0c72e1d29aa2a9684c32e0
Author: Adrian Bunk
Date: Tue Jul 3 00:54:40 2007 -0400cpuidle: static
This patch makes the needlessly global struct menu_governor static.
Signed-off-by: Adrian Bunk
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit dbf8780c6e8d572c2c273da97ed1cca7608fd999
Author: Andrew Morton
Date: Tue Jul 3 00:49:14 2007 -0400export symbol tick_nohz_get_sleep_length
ERROR: "tick_nohz_get_sleep_length" [drivers/cpuidle/governors/menu.ko] undefined!
ERROR: "tick_nohz_get_idle_jiffies" [drivers/cpuidle/governors/menu.ko] undefined!And please be sure to get your changes to core kernel suitably reviewed.
Cc: Adam Belay
Cc: Venki Pallipadi
Cc: Ingo Molnar
Cc: Thomas Gleixner
Cc: john stultz
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit 29f0e248e7017be15f99febf9143a2cef00b2961
Author: Andrew Morton
Date: Tue Jul 3 00:43:04 2007 -0400tick.h needs hrtimer.h
It uses hrtimers.
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit e40cede7d63a029e92712a3fe02faee60cc38fb4
Author: Venki Pallipadi
Date: Tue Jul 3 00:40:34 2007 -0400cpuidle: first round of documentation updates
Documentation changes based on Pavel's feedback.
Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit 83b42be2efece386976507555c29e7773a0dfcd1
Author: Venki Pallipadi
Date: Tue Jul 3 00:39:25 2007 -0400cpuidle: add rating to the governors and pick the one with highest rating by default
Introduce a governor rating scheme to pick the right governor by default.
Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit d2a74b8c5e8f22def4709330d4bfc4a29209b71c
Author: Venki Pallipadi
Date: Tue Jul 3 00:38:08 2007 -0400cpuidle: make cpuidle sysfs driver governor switch off by default
Make default cpuidle sysfs to show current_governor and current_driver in
read-only mode. More elaborate available_governors and available_drivers with
writeable current_governor and current_driver interface only appear with
"cpuidle_sysfs_switch" boot parameter.Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit 1f60a0e80bf83cf6b55c8845bbe5596ed8f6307b
Author: Venki Pallipadi
Date: Tue Jul 3 00:37:00 2007 -0400cpuidle: menu governor: change the early break condition
Change the C-state early break out algorithm in menu governor.
We only look at early breakouts that result in wakeups shorter than idle
state's target_residency. If such a breakout is frequent enough, eliminate
the particular idle state upto a timeout period.Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit 45a42095cf64b003b4a69be3ce7f434f97d7af51
Author: Venki Pallipadi
Date: Tue Jul 3 00:35:38 2007 -0400cpuidle: fix uninitialized variable in sysfs routine
Fix the uninitialized usage of ret.
Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit 80dca7cdba3e6ee13eae277660873ab9584eb3be
Author: Venki Pallipadi
Date: Tue Jul 3 00:34:16 2007 -0400cpuidle: reenable /proc/acpi//power interface for the time being
Keep /proc/acpi/processor/CPU*/power around for a while as powertop depends
on it. It will be marked deprecated and removed in future. powertop can use
cpuidle interfaces instead.Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit 589c37c2646c5e3813a51255a5ee1159cb4c33fc
Author: Venki Pallipadi
Date: Tue Jul 3 00:32:37 2007 -0400cpuidle: menu governor and hrtimer compile fix
Compile fix for menu governor.
Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit 0ba80bd9ab3ed304cb4f19b722e4cc6740588b5e
Author: Len Brown
Date: Thu May 31 22:51:43 2007 -0400cpuidle: build fix - cpuidle vs ipw2100 module
ERROR: "acpi_set_cstate_limit" [drivers/net/wireless/ipw2100.ko] undefined!
Signed-off-by: Len Brown
commit d7d8fa7f96a7f7682be7c6cc0cc53fa7a18c3b58
Author: Adam Belay
Date: Sat Mar 24 03:47:07 2007 -0400cpuidle: add the 'menu' governor
Here is my first take at implementing an idle PM governor that takes
full advantage of NO_HZ. I call it the 'menu' governor because it
considers the full list of idle states before each entry.I've kept the implementation fairly simple. It attempts to guess the
next residency time and then chooses a state that would meet at least
the break-even point between power savings and entry cost. To this end,
it selects the deepest idle state that satisfies the following
constraints:
1. If the idle time elapsed since bus master activity was detected
is below a threshold (currently 20 ms), then limit the selection
to C2-type or above.
2. Do not choose a state with a break-even residency that exceeds
the expected time remaining until the next timer interrupt.
3. Do not choose a state with a break-even residency that exceeds
the elapsed time between the last pair of break events,
excluding timer interrupts.This governor has an advantage over "ladder" governor because it
proactively checks how much time remains until the next timer interrupt
using the tick infrastructure. Also, it handles device interrupt
activity more intelligently by not including timer interrupts in break
event calculations. Finally, it doesn't make policy decisions using the
number of state entries, which can have variable residency times (NO_HZ
makes these potentially very large), and instead only considers sleep
time deltas.The menu governor can be selected during runtime using the cpuidle sysfs
interface like so:
"echo "menu" > /sys/devices/system/cpu/cpuidle/current_governor"Signed-off-by: Adam Belay
Signed-off-by: Len Browncommit a4bec7e65aa3b7488b879d971651cc99a6c410fe
Author: Adam Belay
Date: Sat Mar 24 03:47:03 2007 -0400cpuidle: export time until next timer interrupt using NO_HZ
Expose information about the time remaining until the next
timer interrupt expires by utilizing the dynticks infrastructure.
Also modify the main idle loop to allow dynticks to handle
non-interrupt break events (e.g. DMA). Finally, expose sleep ticks
information to external code. Thomas Gleixner is responsible for much
of the code in this patch. However, I've made some additional changes,
so I'm probably responsible if there are any bugs or oversights :)Signed-off-by: Adam Belay
Signed-off-by: Len Browncommit 2929d8996fbc77f41a5ff86bb67cdde3ca7d2d72
Author: Adam Belay
Date: Sat Mar 24 03:46:58 2007 -0400cpuidle: governor API changes
This patch prepares cpuidle for the menu governor. It adds an optional
stage after idle state entry to give the governor an opportunity to
check why the state was exited. Also it makes sure the idle loop
returns after each state entry, allowing the appropriate dynticks code
to run.Signed-off-by: Adam Belay
Signed-off-by: Len Browncommit 3a7fd42f9825c3b03e364ca59baa751bb350775f
Author: Venki Pallipadi
Date: Thu Apr 26 00:03:59 2007 -0700cpuidle: hang fix
Prevent hang on x86-64, when ACPI processor driver is added as a module on
a system that does not support C-states.x86-64 expects all idle handlers to enable interrupts before returning from
idle handler. This is due to enter_idle(), exit_idle() races. Make
cpuidle_idle_call() confirm to this when there is no pm_idle_old.Also, cpuidle look at the return values of attch_driver() and set
current_driver to NULL if attach fails on all CPUs.Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit 4893339a142afbd5b7c01ffadfd53d14746e858e
Author: Shaohua Li
Date: Thu Apr 26 10:40:09 2007 +0800cpuidle: add support for max_cstate limit
With CPUIDLE framework, the max_cstate (to limit max cpu c-state)
parameter is ingored. Some systems require it to ignore C2/C3
and some drivers like ipw require it too.Signed-off-by: Shaohua Li
Signed-off-by: Len Browncommit 43bbbbe1cb998cbd2df656f55bb3bfe30f30e7d1
Author: Shaohua Li
Date: Thu Apr 26 10:40:13 2007 +0800cpuidle: add cpuidle_fore_redetect_devices API
add cpuidle_force_redetect_devices API,
which forces all CPU redetect idle states.
Next patch will use it.Signed-off-by: Shaohua Li
Signed-off-by: Len Browncommit d1edadd608f24836def5ec483d2edccfb37b1d19
Author: Shaohua Li
Date: Thu Apr 26 10:40:01 2007 +0800cpuidle: fix sysfs related issue
Fix the cpuidle sysfs issue.
a. make kobject dynamicaly allocated
b. fixed sysfs init issue to avoid suspend/resume issueSigned-off-by: Shaohua Li
Signed-off-by: Len Browncommit 7169a5cc0d67b263978859672e86c13c23a5570d
Author: Randy Dunlap
Date: Wed Mar 28 22:52:53 2007 -0400cpuidle: 1-bit field must be unsigned
A 1-bit bitfield has no room for a sign bit.
drivers/cpuidle/governors/ladder.c:54:16: error: dubious bitfield without explicit `signed' or `unsigned'Signed-off-by: Randy Dunlap
Cc: Venkatesh Pallipadi
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit 4658620158dc2fbd9e4bcb213c5b6fb5d05ba7d4
Author: Venkatesh Pallipadi
Date: Wed Mar 28 22:52:41 2007 -0400cpuidle: fix boot hang
Patch for cpuidle boot hang reported by Larry Finger here.
http://www.ussg.iu.edu/hypermail/linux/kernel/0703.2/2025.htmlSigned-off-by: Venkatesh Pallipadi
Cc: Larry Finger
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit c17e168aa6e5fe3851baaae8df2fbc1cf11443a9
Author: Len Brown
Date: Wed Mar 7 04:37:53 2007 -0500cpuidle: ladder does not depend on ACPI
build fix for CONFIG_ACPI=n
In file included from drivers/cpuidle/governors/ladder.c:21:
include/acpi/processor.h:88: error: expected specifier-qualifier-list before âacpi_integerâ
include/acpi/processor.h:106: error: expected specifier-qualifier-list before âacpi_integerâ
include/acpi/processor.h:168: error: expected specifier-qualifier-list before âacpi_handleâSigned-off-by: Len Brown
commit 8c91d958246bde68db0c3f0c57b535962ce861cb
Author: Adrian Bunk
Date: Tue Mar 6 02:29:40 2007 -0800cpuidle: make code static
This patch makes the following needlessly global code static:
- driver.c: __cpuidle_find_driver()
- governor.c: __cpuidle_find_governor()
- ladder.c: struct ladder_governorSigned-off-by: Adrian Bunk
Cc: Venkatesh Pallipadi
Cc: Adam Belay
Cc: Shaohua Li
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit 0c39dc3187094c72c33ab65a64d2017b21f372d2
Author: Venkatesh Pallipadi
Date: Wed Mar 7 02:38:22 2007 -0500cpu_idle: fix build break
This patch fixes a build breakage with !CONFIG_HOTPLUG_CPU and
CONFIG_CPU_IDLE.Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Adrian Bunk
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit 8112e3b115659b07df340ef170515799c0105f82
Author: Venkatesh Pallipadi
Date: Tue Mar 6 02:29:39 2007 -0800cpuidle: build fix for !CPU_IDLE
Fix the compile issues when CPU_IDLE is not configured.
Signed-off-by: Venkatesh Pallipadi
Cc: Adam Belay
Cc: Shaohua Li
Signed-off-by: Andrew Morton
Signed-off-by: Len Browncommit 1eb4431e9599cd25e0d9872f3c2c8986821839dd
Author: Venkatesh Pallipadi
Date: Thu Feb 22 13:54:57 2007 -0800cpuidle take2: Basic documentation for cpuidle
Documentation for cpuidle infrastructure
Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Adam Belay
Signed-off-by: Shaohua Li
Signed-off-by: Len Browncommit ef5f15a8b79123a047285ec2e3899108661df779
Author: Venkatesh Pallipadi
Date: Thu Feb 22 13:54:03 2007 -0800cpuidle take2: Hookup ACPI C-states driver with cpuidle
Hookup ACPI C-states onto generic cpuidle infrastructure.
drivers/acpi/procesor_idle.c is now a ACPI C-states driver that registers as
a driver in cpuidle infrastructure and the policy part is removed from
drivers/acpi/processor_idle.c. We use governor in cpuidle instead.Signed-off-by: Shaohua Li
Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Adam Belay
Signed-off-by: Len Browncommit 987196fa82d4db52c407e8c9d5dec884ba602183
Author: Venkatesh Pallipadi
Date: Thu Feb 22 13:52:57 2007 -0800cpuidle take2: Core cpuidle infrastructure
Announcing 'cpuidle', a new CPU power management infrastructure to manage
idle CPUs in a clean and efficient manner.
cpuidle separates out the drivers that can provide support for multiple types
of idle states and policy governors that decide on what idle state to use
at run time.
A cpuidle driver can support multiple idle states based on parameters like
varying power consumption, wakeup latency, etc (ACPI C-states for example).
A cpuidle governor can be usage model specific (laptop, server,
laptop on battery etc).
Main advantage of the infrastructure being, it allows independent development
of drivers and governors and allows for better CPU power management.A huge thanks to Adam Belay and Shaohua Li who were part of this mini-project
since its beginning and are greatly responsible for this patchset.This patch:
Core cpuidle infrastructure.
Introduces a new abstraction layer for cpuidle:
* which manages drivers that can support multiple idles states. Drivers
can be generic or particular to specific hardware/platform
* allows pluging in multiple policy governors that can take idle state policy
decision
* The core also has a set of sysfs interfaces with which administrato can know
about supported drivers and governors and switch them at run time.Signed-off-by: Adam Belay
Signed-off-by: Shaohua Li
Signed-off-by: Venkatesh Pallipadi
Signed-off-by: Len BrownSigned-off-by: Len Brown
30 Jul, 2007
1 commit
-
Fix for the problem detected by Ingo Molnar:
enabling CONFIG_PCWATCHDOG=y crashes bzImage bootup.The reason for this can be found in drivers/makefile
We first do:
obj-y += char/
and later we do:
obj-y += base/ block/ misc/ mfd/ net/ media/So if we put a platform or isa or usb bus driver in char/watchdog
(which is called from the Makefile in drivers/char/Makefile)
then we didn't have the different device drivers initialized yet
(they are in drivers/base and drivers/usb and ...)This fix makes sure that we compile the watchdog drivers after
drivers/base, drivers/misc, drivers/pci and drivers/usb.
We also do the compile after hwmon because in the future the
watchdog temperature support will use the hwmon system.Signed-off-by: Wim Van Sebroeck