28 Feb, 2010

5 commits


27 Feb, 2010

35 commits

  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/suspend-2.6:
    PM / Hibernate: Fix preallocating of memory
    PM / Hibernate: Remove swsusp.c finally
    PM / Hibernate: Remove trailing space in message
    PM: Allow SCSI devices to suspend/resume asynchronously
    PM: Allow USB devices to suspend/resume asynchronously
    USB: implement non-tree resume ordering constraints for PCI host controllers
    PM: Allow PCI devices to suspend/resume asynchronously
    PM / Hibernate: Swap, remove useless check from swsusp_read()
    PM / Hibernate: Really deprecate deprecated user ioctls
    PM: Allow device drivers to use dpm_wait()
    PM: Start asynchronous resume threads upfront
    PM: Add facility for advanced testing of async suspend/resume
    PM: Add a switch for disabling/enabling asynchronous suspend/resume
    PM: Asynchronous suspend and resume of devices
    PM: Add parent information to timing messages
    PM: Document device power attributes in sysfs
    PM / Runtime: Add sysfs switch for disabling device run-time PM

    Linus Torvalds
     
  • * 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mjg59/platform-drivers-x86:
    toshiba_acpi: Add full hotkey support
    hp-wmi: Add support for tablet rotation key
    dell-laptop: Add another Dell laptop to the DMI whitelist
    classmate-laptop: use a single MODULE_DEVICE_TABLE to get correct aliases
    dell-laptop: Pay attention to which devices the hardware switch controls
    dell-laptop: Use buffer with 32-bit physical address
    dell-laptop: Blacklist machines not supporting dell-laptop
    dell-laptop: Block software state changes when rfkill hard blocked
    dell-laptop: Fix small memory leak
    dell-laptop: Fix platform device unregistration
    dell-laptop: Update rfkill state on kill switch
    compal-laptop: Replace sysfs support with rfkill support
    compal-laptop: Add support for known Compal made Dell laptops
    MAINTAINERS: update drivers/platform/x86 information

    Linus Torvalds
     
  • * 'ibft-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft-2.6:
    ibft: Update MAINTAINERS file.
    drivers/firmware/iscsi_ibft.c: remove NIPQUAD_FMT, use %pI4

    Linus Torvalds
     
  • * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (362 commits)
    V4L-DVB: cx88-dvb: remove extra attribution for core
    V4L/DVB: v4l: soc_camera: fix bound checking of mbus_fmt[] index
    V4L/DVB: Add support for SMT7020 to cx88
    V4L/DVB: radio-si470x: Use UTF-8 encoding on a comment
    V4L/DVB: MAINTAINERS: Telegent tlg2300 section fix
    V4L/DVB: gspca_stv06xx: Add support for camera button
    V4L/DVB: gspca_ov519: add support for the button on ov511 based cams
    V4L/DVB: gspca_ov519: Add support for the button on ov518 based cams
    V4L/DVB: gspca_ov519: add support for the button on ov519 based cams
    V4L/DVB: gspca_main: Fix a compile error when CONFIG_INPUT is not set
    V4L/DVB: gspca_main: some input error handling fixes
    V4L/DVB: gspca_main: Allow use of input device creation code for non int. inputs
    V4L/DVB: gspca_pac7302: much improved exposure control
    V4L/DVB: gspca_sonixb: Make sonixb driver handle pas106 and pas202 cameras
    V4L/DVB: gspca_sonixb: pas106: fixup bright ctrl and add gain and exposure ctrls
    V4L/DVB: Documentation: gspca.txt: update known mr97310a cams
    V4L/DVB: gspca_mr97310a: add support for the Sakar 1638x CyberPix
    V4L/DVB: gscpa_sonixb: limit ov7630 max framerate at 640x480
    V4L/DVB: gspca_sonixb: pas202: fixup brightness ctrl and add gain and exposure ctrls
    V4L/DVB: gscpa_sonixb: Differentiate between sensors with a coarse and fine expo ctrl
    ...

    Linus Torvalds
     
  • ULE (Unidirectional Lightweight Encapsulation RFC 4326) decapsulation
    has a bug that causes endless loop when Payload Pointer of MPEG2-TS
    frame is 182 or 183. Anyone who sends malicious MPEG2-TS frame will
    cause the receiver of ULE SNDU to go into endless loop.

    This patch was generated and tested against linux-2.6.32.9 and should
    apply cleanly to linux-2.6.33 as well because there was only one typo
    fix to dvb_net.c since v2.6.32.

    This bug was brought to you by modern day Santa Claus who decided to
    shower the satellite dish at Keio University with heavy snow causing
    huge burst of errors. We, receiver end, received Santa Claus's gift in
    the form of kernel bug.

    Care has been taken not to introduce more bug by fixing this bug, but
    please scrutinize the code for I always produces buggy code.

    Signed-off-by: Ang Way Chuang
    Acked-by: Mauro Carvalho Chehab
    Cc: stable@kernel.org
    Signed-off-by: Linus Torvalds

    Ang Way Chuang
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (158 commits)
    [SCSI] Fix printing of failed 32-byte commands
    [SCSI] Fix printing of variable length commands
    [SCSI] libsrp: fix bug in ADDITIONAL CDB LENGTH interpretation
    [SCSI] scsi_dh_alua: Add IBM Power Virtual SCSI ALUA device to dev list
    [SCSI] scsi_dh_alua: add netapp to dev list
    [SCSI] qla2xxx: Update version number to 8.03.02-k1.
    [SCSI] qla2xxx: EEH: Restore PCI saved state during pci slot reset.
    [SCSI] qla2xxx: Add firmware ETS burst support.
    [SCSI] qla2xxx: Correct loop-resync issues during SNS scans.
    [SCSI] qla2xxx: Correct use-after-free issue in terminate_rport_io callback.
    [SCSI] qla2xxx: Correct EH bus-reset handling.
    [SCSI] qla2xxx: Proper clean-up of BSG requests when request times out.
    [SCSI] qla2xxx: Initialize payload receive length in failure path of vendor commands
    [SCSI] fix duplicate removal on error path in scsi_sysfs_add_sdev
    [SCSI] fix refcounting bug in scsi_get_host_dev
    [SCSI] fix memory leak in scsi_report_lun_scan
    [SCSI] lpfc: correct PPC build failure
    [SCSI] raid_class: add raid1e
    [SCSI] mpt2sas: Do not call sas_is_tlr_enabled for RAID volumes.
    [SCSI] zfcp: Introduce header file for qdio structs and inline functions
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (187 commits)
    sh: remove dead LED code for migo-r and ms7724se
    sh: ecovec build fix for CONFIG_I2C=n
    sh: ecovec r-standby support
    sh: ms7724se r-standby support
    sh: SH-Mobile R-standby register save/restore
    clocksource: Fix up a registration/IRQ race in the sh drivers.
    sh: ms7724: modify scan_timing for KEYSC
    sh: ms7724: Add sh_sir support
    sh: mach-ecovec24: Add sh_sir support
    sh: wire up SET/GET_UNALIGN_CTL.
    sh: allow alignment fault mode to be configured at kernel boot.
    sh: sh7724: Update FSI/SPU2 clock
    sh: always enable sh7724 vpu_clk and set to 166MHz on Ecovec
    sh: add sh7724 kick callback to clk_div4_table
    sh: introduce struct clk_div4_table
    sh: clock-cpg div4 set_rate() shift fix
    sh: Turn on speculative return for SH7785 and SH7786
    sh: Merge legacy and dynamic PMB modes.
    sh: Use uncached I/O helpers in PMB setup.
    sh: Provide uncached I/O helpers.
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (31 commits)
    crypto: aes_generic - Fix checkpatch errors
    crypto: fcrypt - Fix checkpatch errors
    crypto: ecb - Fix checkpatch errors
    crypto: des_generic - Fix checkpatch errors
    crypto: deflate - Fix checkpatch errors
    crypto: crypto_null - Fix checkpatch errors
    crypto: cipher - Fix checkpatch errors
    crypto: crc32 - Fix checkpatch errors
    crypto: compress - Fix checkpatch errors
    crypto: cast6 - Fix checkpatch errors
    crypto: cast5 - Fix checkpatch errors
    crypto: camellia - Fix checkpatch errors
    crypto: authenc - Fix checkpatch errors
    crypto: api - Fix checkpatch errors
    crypto: anubis - Fix checkpatch errors
    crypto: algapi - Fix checkpatch errors
    crypto: blowfish - Fix checkpatch errors
    crypto: aead - Fix checkpatch errors
    crypto: ablkcipher - Fix checkpatch errors
    crypto: pcrypt - call the complete function on error
    ...

    Linus Torvalds
     
  • Convert netmask to __be32 and format it with %pI4

    Signed-off-by: Joe Perches
    Signed-off-by: Konrad Rzeszutek
    Reviewed-by: Mike Christie
    Cc: Peter Jones
    Cc: James Bottomley
    Signed-off-by: Andrew Morton

    Joe Perches
     
  • Set power.async_suspend for all SCSI devices, targets and hosts, so
    that they can be suspended and resumed in parallel with the main
    suspend/resume thread and possibly with other devices they don't
    depend on in a known way (i.e. devices which are not their parents or
    children).

    The power.async_suspend flag is also set for devices that don't have
    suspend or resume callbacks, because otherwise they would make the
    main suspend/resume thread wait for their "asynchronous" children
    (during suspend) or parents (during resume), effectively negating the
    possible gains from executing these devices' suspend and resume
    callbacks asynchronously.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • Set power.async_suspend for USB devices, endpoints and interfaces,
    allowing them to be suspended and resumed asynchronously during
    system sleep transitions.

    The power.async_suspend flag is also set for devices that don't have
    suspend or resume callbacks, because otherwise they would make the
    main suspend/resume thread wait for their "asynchronous" children
    (during suspend) or parents (during resume), effectively negating the
    possible gains from executing these devices' suspend and resume
    callbacks asynchronously.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • This patch (as1331) adds non-tree ordering constraints needed for
    proper resume of PCI USB host controllers from hibernation. The main
    issue is that non-high-speed devices must not be resumed before the
    high-speed root hub, because it is the ehci_bus_resume() routine which
    takes care of handing the device connection over to the companion
    controller. If the device resume is attempted before the handover
    then the device won't be found and it will be treated as though it had
    disconnected.

    The patch adds a new field to the usb_bus structure; for each
    full/low-speed bus this field will contain a pointer to the companion
    high-speed bus (if one exists). It is used during normal device
    resume; if the hs_companion pointer isn't NULL then we wait for the
    root-hub device on the hs_companion bus.

    A secondary issue is that an EHCI controlller shouldn't be resumed
    before any of its companions. On some machines I have observed
    handovers failing if the companion controller is reinitialized after
    the handover. Thus, the EHCI resume routine must wait for the
    companion controllers to be resumed.

    The patch also fixes a small bug in usb_hcd_pci_probe(); an error path
    jumps to the wrong label, causing a memory leak.

    [rjw: Fixed compilation for CONFIG_PM_SLEEP unset.]

    Signed-off-by: Alan Stern
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Rafael J. Wysocki

    Alan Stern
     
  • Set power.async_suspend for all PCI devices and PCIe port services,
    so that they can be suspended and resumed in parallel with other
    devices they don't depend on in a known way (i.e. devices which are
    not their parents or children).

    This only affects the "regular" suspend and resume stages, which
    means in particular that the restoration of the PCI devices' standard
    configuration registers during resume will still be carried out
    synchronously (at the "early" resume stage).

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • There are some dependencies between devices (in particular, between
    EHCI USB controllers and their OHCI/UHCI siblings) which are not
    reflected by the structure of the device tree. With synchronous
    suspend and resume these dependencies are taken into accout
    automatically, because the devices in question are always registered
    in the right order, but to meet these constraints with asynchronous
    suspend and resume the drivers of these devices will need to use
    dpm_wait() in their suspend/resume routines, so introduce a helper
    function allowing them to do that.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • It has been shown by testing that total device resume time can be
    reduced significantly (by as much as 50% or more) if the async
    threads executing some devices' resume routines are all started
    before the main resume thread starts to handle the "synchronous"
    devices.

    This is a consequence of the fact that the slowest devices tend to be
    located at the end of dpm_list, so their resume routines are started
    very late. Consequently, they have to wait for all the preceding
    "synchronous" devices before their resume routines can be started
    by the main resume thread, even if they are "asynchronous". By
    starting their async threads upfront we effectively move those
    devices towards the beginning of dpm_list, without breaking their
    ordering with respect to their parents and children. As a result,
    their resume routines are started much earlier and we are able to
    save much more device resume time this way.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • Add configuration switch CONFIG_PM_ADVANCED_DEBUG for compiling in
    extra PM debugging/testing code allowing one to access some
    PM-related attributes of devices from the user space via sysfs.

    If CONFIG_PM_ADVANCED_DEBUG is set, add sysfs attribute power/async
    for every device allowing the user space to access the device's
    power.async_suspend flag and modify it, if desired.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • Add sysfs attribute /sys/power/pm_async allowing the user space to
    disable/enable asynchronous suspend/resume of devices.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • Theoretically, the total time of system sleep transitions (suspend
    to RAM, hibernation) can be reduced by running suspend and resume
    callbacks of device drivers in parallel with each other. However,
    there are dependencies between devices such that we're not allowed
    to suspend the parent of a device before suspending the device
    itself. Analogously, we're not allowed to resume a device before
    resuming its parent.

    The most straightforward way to take these dependencies into accout
    is to start the async threads used for suspending and resuming
    devices at the core level, so that async_schedule() is called for
    each suspend and resume callback supposed to be executed
    asynchronously.

    For this purpose, introduce a new device flag, power.async_suspend,
    used to mark the devices whose suspend and resume callbacks are to be
    executed asynchronously (ie. in parallel with the main suspend/resume
    thread and possibly in parallel with each other) and helper function
    device_enable_async_suspend() allowing one to set power.async_suspend
    for given device (power.async_suspend is unset by default for all
    devices). For each device with the power.async_suspend flag set the
    PM core will use async_schedule() to execute its suspend and resume
    callbacks.

    The async threads started for different devices as a result of
    calling async_schedule() are synchronized with each other and with
    the main suspend/resume thread with the help of completions, in the
    following way:
    (1) There is a completion, power.completion, for each device object.
    (2) Each device's completion is reset before calling async_schedule()
    for the device or, in the case of devices with the
    power.async_suspend flags unset, before executing the device's
    suspend and resume callbacks.
    (3) During suspend, right before running the bus type, device type
    and device class suspend callbacks for the device, the PM core
    waits for the completions of all the device's children to be
    completed.
    (4) During resume, right before running the bus type, device type and
    device class resume callbacks for the device, the PM core waits
    for the completion of the device's parent to be completed.
    (5) The PM core completes power.completion for each device right
    after the bus type, device type and device class suspend (or
    resume) callbacks executed for the device have returned.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • Add parent information to the messages printed by the suspend/resume
    core when initcall_debug is set.

    Signed-off-by: Rafael J. Wysocki

    Rafael J. Wysocki
     
  • Add new device sysfs attribute, power/control, allowing the user
    space to block the run-time power management of the devices. If this
    attribute is set to "on", the driver of the device won't be able to power
    manage it at run time (without breaking the rules) and the device will
    always be in the full power state (except when the entire system goes
    into a sleep state).

    Signed-off-by: Rafael J. Wysocki
    Acked-by: Alan Stern

    Rafael J. Wysocki
     
  • This is not needed, since the function already do it. Also, it causes
    a warning at the compilation, since a new var is declared in the middle
    of the code.

    Signed-off-by: Mauro Carvalho Chehab

    Mauro Carvalho Chehab
     
  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (48 commits)
    x86/PCI: Prevent mmconfig memory corruption
    ACPI: Use GPE reference counting to support shared GPEs
    x86/PCI: use host bridge _CRS info by default on 2008 and newer machines
    PCI: augment bus resource table with a list
    PCI: add pci_bus_for_each_resource(), remove direct bus->resource[] refs
    PCI: read bridge windows before filling in subtractive decode resources
    PCI: split up pci_read_bridge_bases()
    PCIe PME: use pci_pcie_cap()
    PCI PM: Run-time callbacks for PCI bus type
    PCIe PME: use pci_is_pcie()
    PCI / ACPI / PM: Platform support for PCI PME wake-up
    ACPI / ACPICA: Multiple system notify handlers per device
    ACPI / PM: Add more run-time wake-up fields
    ACPI: Use GPE reference counting to support shared GPEs
    PCI PM: Make it possible to force using INTx for PCIe PME signaling
    PCI PM: PCIe PME root port service driver
    PCI PM: Add function for checking PME status of devices
    PCI: mark is_pcie obsolete
    PCI: set PCI_PREF_RANGE_TYPE_64 in pci_bridge_check_ranges
    PCI: pciehp: second try to get big range for pcie devices
    ...

    Linus Torvalds
     
  • When code < 0. Fix this.

    Signed-off-by: Baruch Siach
    Signed-off-by: Guennadi Liakhovetski
    CC: stable@kernel.org
    Signed-off-by: Mauro Carvalho Chehab

    Baruch Siach
     
  • This patch adds support for the built-in dvb device
    of a Samsung SMT7020s (x86 based STB) to the cx88 family.

    Signed-off-by: Dirk Herrendoerfer
    Signed-off-by: Helmut Auer
    Signed-off-by: Mauro Carvalho Chehab

    Dirk Herrendoerfer
     
  • This cosmetic patch corrects a wrong unicode "micro" character in a comment.

    Signed-off-by: Tobias Lorenz
    Signed-off-by: Mauro Carvalho Chehab

    Tobias Lorenz
     
  • Only tested with an stv6422 based cam, as that is the only stv06xx cam
    I have with a button.

    Signed-off-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab

    Hans de Goede
     
  • Due to hardware limitations this only works while the camera is
    streaming.

    Signed-off-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab

    Hans de Goede
     
  • Due to hardware limitations this only works while the camera is
    streaming.

    Signed-off-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab

    Hans de Goede
     
  • Note due to hardware limitiations (no interrupt endpoint), this only works
    when the camera is streaming.

    Signed-off-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab

    Hans de Goede
     
  • gspca_main: Fix a compile error when CONFIG_INPUT is not set.

    Signed-off-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab

    Hans de Goede
     
  • 2 small changes to input device error handling:
    1) Make it fatal when we fail to create an input device (it is either this
    or add checks for gspca_dev->input_dev being NULL in a lot of places)
    2) Since we allow gspca_input_create_urb() to fail everywhere we call it,
    and thus never check its return value, make it void.

    Signed-off-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab

    Hans de Goede
     
  • Allow use of the gspca core input device creation code by subdrivers which
    have non interrupt driven camera buttons.

    Signed-off-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab

    Hans de Goede
     
  • My experience with fixing up the controls for the PAS sensors in
    sonixb, has lead me to re-investigate the exposure control for the
    pac7302. I've now found a regular exposure register in register bank 3
    (which seems to be the sensor registers bank), and with this added a proper
    fine grained exposure control. This patch also updates the do_autogain
    function to work properly with this new finer grained control.

    Signed-off-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab

    Hans de Goede
     
  • Make the sonixb driver handle pas106 and pas202 cameras, when both it
    and the sn9c102 driver are enabled in the kernel configuration.

    Signed-off-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab

    Hans de Goede
     
  • Fixup brightness ctrl and add gain and exposure ctrls for PAS106B sensors,
    this allows enabling autogain (done), and makes the cam usable in low light
    conditions.

    Signed-off-by: Hans de Goede
    Signed-off-by: Mauro Carvalho Chehab

    Hans de Goede