02 Oct, 2009

27 commits


28 Sep, 2009

3 commits

  • The following commit made console open fails while booting:

    commit b50989dc444599c8b21edc23536fc305f4e9b7d5
    Author: Alan Cox
    Date: Sat Sep 19 13:13:22 2009 -0700

    tty: make the kref destructor occur asynchronously

    Due to tty release routines run in a workqueue now, error like the
    following will be reported while booting:

    INIT open /dev/console Input/output error

    It also causes hibernation regression to appear as reported at
    http://bugzilla.kernel.org/show_bug.cgi?id=14229

    The reason is that now there's latency issue with closing, but when
    we open a "closing not finished" tty, -EIO will be returned.

    Fix it as per the following Alan's suggestion:

    Fun but it's actually not a bug and the fix is wrong in itself as
    the port may be closing but not yet being destructed, in which case
    it seems to do the wrong thing. Opening a tty that is closing (and
    could be closing for long periods) is supposed to return -EIO.

    I suspect a better way to deal with this and keep the old console
    timing is to split tty->shutdown into two functions.

    tty->shutdown() - called synchronously just before we dump the tty
    onto the waitqueue for destruction

    tty->cleanup() - called when the destructor runs.

    We would then do the shutdown part which can occur in IRQ context
    fine, before queueing the rest of the release (from tty->magic = 0
    ... the end) to occur asynchronously

    The USB update in -next would then need a call like

    if (tty->cleanup)
    tty->cleanup(tty);

    at the top of the async function and the USB shutdown to be split
    between shutdown and cleanup as the USB resource cleanup and final
    tidy cannot occur synchronously as it needs to sleep.

    In other words the logic becomes

    final kref put
    make object unfindable

    async
    clean it up

    Signed-off-by: Dave Young
    [ rjw: Rebased on top of 2.6.31-git, reworked the changelog. ]
    Signed-off-by: "Rafael J. Wysocki"
    [ Changed serial naming to match new rules, dropped tty_shutdown as per
    comments from Alan Stern - Linus ]
    Signed-off-by: Linus Torvalds

    Dave Young
     
  • Commit 3d5b6fb47a8e68fa311ca2c3447e7f8a7c3a9cf3 ("ACPI: Kill overly
    verbose "power state" log messages") removed the actual use of this
    variable, but didn't remove the variable itself, resulting in build
    warnings like

    drivers/acpi/processor_idle.c: In function ‘acpi_processor_power_init’:
    drivers/acpi/processor_idle.c:1169: warning: unused variable ‘i’

    Just get rid of the now unused variable.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • * mark struct vm_area_struct::vm_ops as const
    * mark vm_ops in AGP code

    But leave TTM code alone, something is fishy there with global vm_ops
    being used.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     

27 Sep, 2009

8 commits

  • I was recently lucky enough to get a 64-CPU system, so my kernel log
    ends up with 64 lines like:

    ACPI: CPU0 (power states: C1[C1] C2[C3])

    This is pretty useless clutter because this info is already available
    after boot from both /sys/devices/system/cpu/cpu*/cpuidle/state?/ as
    well as /proc/acpi/processor/CPU*/power.

    So just delete the code that prints the C-states in processor_idle.c.

    Signed-off-by: Roland Dreier
    Signed-off-by: Len Brown

    Roland Dreier
     
  • The message "ACPI: Device needs an ACPI driver" is misleading. The
    device _may_ need an ACPI driver, if the BIOS implemented a custom
    API for the device in question (which, AFAIK, can't be checked.) If
    not, then either a generic ACPI driver may be used (for example
    "thermal"), or nothing can be done (other than a white list).

    I propose to reword the message to:

    ACPI: If an ACPI driver is available for this device, you should use
    it instead of the native driver

    which I think is more correct. Comments and suggestions welcome.

    I also added a message warning about possible problems and system
    instability when users pass acpi_enforce_resources=lax, as suggested
    by Len.

    Signed-off-by: Jean Delvare
    Cc: Thomas Renninger
    Cc: Alan Jenkins
    Signed-off-by: Len Brown

    Jean Delvare
     
  • Fix this problem when CONFIG_THINKPAD_ACPI_HOTKEY_POLL is undefined:

    CHECK drivers/platform/x86/thinkpad_acpi.c
    drivers/platform/x86/thinkpad_acpi.c:1968:21: error: not an lvalue
    CC [M] drivers/platform/x86/thinkpad_acpi.o
    drivers/platform/x86/thinkpad_acpi.c: In function 'tpacpi_hotkey_driver_mask_set':
    drivers/platform/x86/thinkpad_acpi.c:1968: error: lvalue required as left operand of assignment

    Reported-by: Noah Dain
    Reported-by: Audrius Kazukauskas
    Signed-off-by: Henrique de Moraes Holschuh
    Signed-off-by: Len Brown

    Henrique de Moraes Holschuh
     
  • * 'for-linus' of git://git.o-hand.com/linux-rpurdie-leds:
    leds: move leds-clevo-mail's probe function to .devinit.text
    leds: Fix indentation in LEDS_LP3944 Kconfig entry
    leds: Fix LED names
    leds: Fix leds-pca9532 whitespace issues
    leds: fix coding style in worker thread code for ledtrig-gpio.
    leds: gpio-leds: fix typographics fault
    leds: Add WM831x status LED driver

    Linus Torvalds
     
  • * 'for-linus' of git://git.o-hand.com/linux-rpurdie-backlight:
    backlight: new driver for ADP5520/ADP5501 MFD PMICs
    backlight: extend event support to also support poll()
    backlight/eeepc-laptop: Update the backlight state when we change brightness
    backlight/acpi: Update the backlight state when we change brightness
    backlight: Allow drivers to update the core, and generate events on changes
    backlight: switch to da903x driver to dev_pm_ops
    backlight: Add support for the Avionic Design Xanthos backlight device.
    backlight: spi driver for LMS283GF05 LCD
    backlight: move hp680-bl's probe function to .devinit.text
    backlight: Add support for new Apple machines.
    backlight: mbp_nvidia_bl: add support for MacBookAir 1,1
    backlight: Add WM831x backlight driver

    Trivial conflicts due to '#ifdef CONFIG_PM' differences in
    drivers/video/backlight/da903x_bl.c

    Linus Torvalds
     
  • * remove asm/atomic.h inclusion from kref.h -- not needed, linux/types.h
    is enough for atomic_t
    * remove linux/kref.h inclusion from files which do not need it.

    Signed-off-by: Alexey Dobriyan
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6: (32 commits)
    ACPI: i2c-scmi: don't use acpi_device_uid()
    ACPI: simplify building device HID/CID list
    ACPI: remove acpi_device_uid() and related stuff
    ACPI: remove acpi_device.flags.hardware_id
    ACPI: remove acpi_device.flags.compatible_ids
    ACPI: maintain a single list of _HID and _CID IDs
    ACPI: make sure every acpi_device has an ID
    ACPI: use acpi_device_hid() when possible
    ACPI: fix synthetic HID for \_SB_
    ACPI: handle re-enumeration, when acpi_devices might already exist
    ACPI: factor out device type and status checking
    ACPI: add acpi_bus_get_status_handle()
    ACPI: use acpi_walk_namespace() to enumerate devices
    ACPI: identify device tree root by null parent pointer, not ACPI_BUS_TYPE
    ACPI: enumerate namespace before adding functional fixed hardware devices
    ACPI: convert acpi_bus_scan() to operate on an acpi_handle
    ACPI: add acpi_bus_get_parent() and remove "parent" arguments
    ACPI: remove unnecessary argument checking
    ACPI: remove redundant "type" arguments
    ACPI: remove acpi_device_set_context() "type" argument
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:
    at91_can: Forgotten git 'add' of at91_can.c
    TI Davinci EMAC: Fix in vector definition for EMAC_VERSION_2
    ax25: Fix ax25_cb refcounting in ax25_ctl_ioctl
    virtio_net: Check for room in the vq before adding buffer
    virtio_net: avoid (most) NETDEV_TX_BUSY by stopping queue early.
    virtio_net: formalize skb_vnet_hdr
    virtio_net: don't free buffers in xmit ring
    virtio_net: return NETDEV_TX_BUSY instead of queueing an extra skb.
    virtio_net: skb_orphan() and nf_reset() in xmit path.

    Linus Torvalds
     

26 Sep, 2009

2 commits