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

    Rodolfo Giometti
     

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

    Florian Fainelli
     

09 Jun, 2009

1 commit


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.html

    Signed-off-by: Guennadi Liakhovetski
    Acked-by: Jean Delvare
    Signed-off-by: Mauro Carvalho Chehab

    Guennadi Liakhovetski
     

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

    Arjan van de Ven
     

09 Jan, 2009

2 commits


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

    David Brownell
     

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

    Len Brown
     

27 Oct, 2008

1 commit


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

    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
    ...

    Linus Torvalds
     

23 Oct, 2008

1 commit


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

    Andy Henroid
     

20 Oct, 2008

1 commit


11 Oct, 2008

1 commit


17 Sep, 2008

1 commit


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

    Felipe Balbi
     

30 Jul, 2008

1 commit


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

    Michael Buesch
     

21 Jul, 2008

1 commit


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

    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

    Samuel Thibault
     

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

    Alex Dubov
     

07 Feb, 2008

1 commit


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

    David Brownell
     

02 Feb, 2008

1 commit


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

    Linus Torvalds
     
  • 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

    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.txt

    It 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.diff

    Signed-Off-By: Bernhard Kaindl
    Tested-By: Thomas Renninger
    Signed-off-by: Ingo Molnar
    Signed-off-by: Thomas Gleixner

    Bernhard Kaindl
     
  • Parts depend on CONFIG_LGUEST, not just CONFIG_LGUEST_GUEST

    Signed-off-by: Glauber de Oliveira Costa
    Signed-off-by: Rusty Russell

    Glauber de Oliveira Costa
     

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
    ...

    Linus Torvalds
     

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

    Rusty Russell
     

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

    Linus Torvalds
     

18 Oct, 2007

2 commits


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

    Shannon Nelson
     

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

    Michael Buesch
     

10 Oct, 2007

1 commit

  • commit e5a16b1f9eec0af7cfa0830304b41c1c0833cf9f
    Author: Len Brown
    Date: Tue Oct 2 23:44:44 2007 -0400

    cpuidle: 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 -0400

    cpuidle: 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 -0700

    cpuidle: 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 Brown

    commit 9544a8181edc7ecc33b3bfd69271571f98ed08bc
    Author: Venki Pallipadi
    Date: Thu Sep 13 13:39:17 2007 -0700

    cpuidle: 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 Brown

    commit 8975059a2c1e56cfe83d1bcf031bcf4cb39be743
    Author: Adam Belay
    Date: Tue Aug 21 18:27:07 2007 -0400

    CPUIDLE: 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 Brown

    commit e0322e2b58dd1b12ec669bf84693efe0dc2414a8
    Author: Adam Belay
    Date: Tue Aug 21 18:26:06 2007 -0400

    CPUIDLE: 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 Brown

    commit 18a6e770d5c82ba26653e53d240caa617e09e9ab
    Author: Adam Belay
    Date: Tue Aug 21 18:25:58 2007 -0400

    CPUIDLE: 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 Brown

    commit 1fdc0887286179b40ce24bcdbde663172e205ef0
    Author: Adam Belay
    Date: Tue Aug 21 18:25:40 2007 -0400

    CPUIDLE: 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 Brown

    commit 0ef38840db666f48e3cdd2b769da676c57228dd9
    Author: Adam Belay
    Date: Tue Aug 21 18:25:14 2007 -0400

    CPUIDLE: 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 Brown

    commit bb4d74fca63fa96cf3ace644b15ae0f12b7df5a1
    Author: Adam Belay
    Date: Tue Aug 21 18:24:40 2007 -0400

    CPUIDLE: 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 Brown

    commit df3c71559bb69b125f1a48971bf0d17f78bbdf47
    Author: Len Brown
    Date: Sun Aug 12 02:00:45 2007 -0400

    cpuidle: fix IA64 build (again)

    Signed-off-by: Len Brown

    commit a02064579e3f9530fd31baae16b1fc46b5a7bca8
    Author: Venkatesh Pallipadi
    Date: Sun Aug 12 01:39:27 2007 -0400

    cpuidle: 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 Brown

    commit 0912a44b13adf22f5e3f607d263aed23b4910d7e
    Author: Venkatesh Pallipadi
    Date: Sun Aug 12 01:39:16 2007 -0400

    cpuidle: 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 Brown

    commit c649a76e76be6bff1fd770d0a775798813a3f6e0
    Author: Venkatesh Pallipadi
    Date: Sun Aug 12 01:35:39 2007 -0400

    cpuidle: 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 Brown

    commit 2305a5920fb8ee6ccec1c62ade05aa8351091d71
    Author: Adam Belay
    Date: Thu Jul 19 00:49:00 2007 -0400

    cpuidle: 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 cleanups

    Also, 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 Brown

    commit df25b6b56955714e6e24b574d88d1fd11f0c3ee5
    Author: Len Brown
    Date: Tue Jul 24 17:08:21 2007 -0400

    cpuidle: fix IA64 buid

    Signed-off-by: Len Brown

    commit fd6ada4c14488755ff7068860078c437431fbccd
    Author: Adrian Bunk
    Date: Mon Jul 9 11:33:13 2007 -0700

    cpuidle: static

    make cpuidle_replace_governor() static

    Signed-off-by: Adrian Bunk
    Cc: Venkatesh Pallipadi
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit c1d4a2cebcadf2429c0c72e1d29aa2a9684c32e0
    Author: Adrian Bunk
    Date: Tue Jul 3 00:54:40 2007 -0400

    cpuidle: 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 Brown

    commit dbf8780c6e8d572c2c273da97ed1cca7608fd999
    Author: Andrew Morton
    Date: Tue Jul 3 00:49:14 2007 -0400

    export 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 Brown

    commit 29f0e248e7017be15f99febf9143a2cef00b2961
    Author: Andrew Morton
    Date: Tue Jul 3 00:43:04 2007 -0400

    tick.h needs hrtimer.h

    It uses hrtimers.

    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit e40cede7d63a029e92712a3fe02faee60cc38fb4
    Author: Venki Pallipadi
    Date: Tue Jul 3 00:40:34 2007 -0400

    cpuidle: 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 Brown

    commit 83b42be2efece386976507555c29e7773a0dfcd1
    Author: Venki Pallipadi
    Date: Tue Jul 3 00:39:25 2007 -0400

    cpuidle: 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 Brown

    commit d2a74b8c5e8f22def4709330d4bfc4a29209b71c
    Author: Venki Pallipadi
    Date: Tue Jul 3 00:38:08 2007 -0400

    cpuidle: 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 Brown

    commit 1f60a0e80bf83cf6b55c8845bbe5596ed8f6307b
    Author: Venki Pallipadi
    Date: Tue Jul 3 00:37:00 2007 -0400

    cpuidle: 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 Brown

    commit 45a42095cf64b003b4a69be3ce7f434f97d7af51
    Author: Venki Pallipadi
    Date: Tue Jul 3 00:35:38 2007 -0400

    cpuidle: 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 Brown

    commit 80dca7cdba3e6ee13eae277660873ab9584eb3be
    Author: Venki Pallipadi
    Date: Tue Jul 3 00:34:16 2007 -0400

    cpuidle: 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 Brown

    commit 589c37c2646c5e3813a51255a5ee1159cb4c33fc
    Author: Venki Pallipadi
    Date: Tue Jul 3 00:32:37 2007 -0400

    cpuidle: 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 Brown

    commit 0ba80bd9ab3ed304cb4f19b722e4cc6740588b5e
    Author: Len Brown
    Date: Thu May 31 22:51:43 2007 -0400

    cpuidle: 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 -0400

    cpuidle: 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 Brown

    commit a4bec7e65aa3b7488b879d971651cc99a6c410fe
    Author: Adam Belay
    Date: Sat Mar 24 03:47:03 2007 -0400

    cpuidle: 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 Brown

    commit 2929d8996fbc77f41a5ff86bb67cdde3ca7d2d72
    Author: Adam Belay
    Date: Sat Mar 24 03:46:58 2007 -0400

    cpuidle: 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 Brown

    commit 3a7fd42f9825c3b03e364ca59baa751bb350775f
    Author: Venki Pallipadi
    Date: Thu Apr 26 00:03:59 2007 -0700

    cpuidle: 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 Brown

    commit 4893339a142afbd5b7c01ffadfd53d14746e858e
    Author: Shaohua Li
    Date: Thu Apr 26 10:40:09 2007 +0800

    cpuidle: 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 Brown

    commit 43bbbbe1cb998cbd2df656f55bb3bfe30f30e7d1
    Author: Shaohua Li
    Date: Thu Apr 26 10:40:13 2007 +0800

    cpuidle: 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 Brown

    commit d1edadd608f24836def5ec483d2edccfb37b1d19
    Author: Shaohua Li
    Date: Thu Apr 26 10:40:01 2007 +0800

    cpuidle: fix sysfs related issue

    Fix the cpuidle sysfs issue.
    a. make kobject dynamicaly allocated
    b. fixed sysfs init issue to avoid suspend/resume issue

    Signed-off-by: Shaohua Li
    Signed-off-by: Len Brown

    commit 7169a5cc0d67b263978859672e86c13c23a5570d
    Author: Randy Dunlap
    Date: Wed Mar 28 22:52:53 2007 -0400

    cpuidle: 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 Brown

    commit 4658620158dc2fbd9e4bcb213c5b6fb5d05ba7d4
    Author: Venkatesh Pallipadi
    Date: Wed Mar 28 22:52:41 2007 -0400

    cpuidle: fix boot hang

    Patch for cpuidle boot hang reported by Larry Finger here.
    http://www.ussg.iu.edu/hypermail/linux/kernel/0703.2/2025.html

    Signed-off-by: Venkatesh Pallipadi
    Cc: Larry Finger
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit c17e168aa6e5fe3851baaae8df2fbc1cf11443a9
    Author: Len Brown
    Date: Wed Mar 7 04:37:53 2007 -0500

    cpuidle: 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 -0800

    cpuidle: 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_governor

    Signed-off-by: Adrian Bunk
    Cc: Venkatesh Pallipadi
    Cc: Adam Belay
    Cc: Shaohua Li
    Signed-off-by: Andrew Morton
    Signed-off-by: Len Brown

    commit 0c39dc3187094c72c33ab65a64d2017b21f372d2
    Author: Venkatesh Pallipadi
    Date: Wed Mar 7 02:38:22 2007 -0500

    cpu_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 Brown

    commit 8112e3b115659b07df340ef170515799c0105f82
    Author: Venkatesh Pallipadi
    Date: Tue Mar 6 02:29:39 2007 -0800

    cpuidle: 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 Brown

    commit 1eb4431e9599cd25e0d9872f3c2c8986821839dd
    Author: Venkatesh Pallipadi
    Date: Thu Feb 22 13:54:57 2007 -0800

    cpuidle 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 Brown

    commit ef5f15a8b79123a047285ec2e3899108661df779
    Author: Venkatesh Pallipadi
    Date: Thu Feb 22 13:54:03 2007 -0800

    cpuidle 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 Brown

    commit 987196fa82d4db52c407e8c9d5dec884ba602183
    Author: Venkatesh Pallipadi
    Date: Thu Feb 22 13:52:57 2007 -0800

    cpuidle 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 Brown

    Signed-off-by: Len Brown

    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

    Wim Van Sebroeck