18 Mar, 2010

2 commits

  • Some devices provide support for detection of a small number of
    buttons on their jacks. One common implementation provides a single
    button, implemented by shorting the microphone to ground and detected
    along with microphone presence detection by detecting varying current
    draws on the microphone bias signal.

    Provide support for up to three buttons via the jack interface. These
    default to reporting BTN_n but an API is provided to allow these to
    be remapped to other keys by the machine driver where it knows what
    the keys are. More keys can be added with ease if required.

    This is only intended to support simple accessory button designs. If
    the interface is limiting then either creating a child device for the
    accessory or accessing the input device in the jack directly is
    recommended.

    Signed-off-by: Mark Brown

    Mark Brown
     
  • Avoids confusion when we have button support.

    Signed-off-by: Mark Brown

    Mark Brown
     

09 Mar, 2010

2 commits

  • Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core-2.6: (62 commits)
    msi-laptop: depends on RFKILL
    msi-laptop: Detect 3G device exists by standard ec command
    msi-laptop: Add resume method for set the SCM load again
    msi-laptop: Support some MSI 3G netbook that is need load SCM
    msi-laptop: Add threeg sysfs file for support query 3G state by standard 66/62 ec command
    msi-laptop: Support standard ec 66/62 command on MSI notebook and nebook
    Driver core: create lock/unlock functions for struct device
    sysfs: fix for thinko with sysfs_bin_attr_init()
    sysfs: Kill unused sysfs_sb variable.
    sysfs: Pass super_block to sysfs_get_inode
    driver core: Use sysfs_rename_link in device_rename
    sysfs: Implement sysfs_rename_link
    sysfs: Pack sysfs_dirent more tightly.
    sysfs: Serialize updates to the vfs inode
    sysfs: windfarm: init sysfs attributes
    sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on module dynamic attributes
    sysfs: Document sysfs_attr_init and sysfs_bin_attr_init
    sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on dynamic attributes
    sysfs: Use one lockdep class per sysfs attribute.
    sysfs: Only take active references on attributes.
    ...

    Linus Torvalds
     

08 Mar, 2010

36 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:
    [WATCHDOG] i6300esb.c: change platform_driver to pci_driver
    [WATCHDOG] i6300esb: fix unlock register with
    [WATCHDOG] drivers/watchdog/wdt.c:wdt_ioctl(): make `ident' non-static
    [WATCHDOG] change reboot_notifier to platform-shutdown method.
    [WATCHDOG] watchdog_info constify
    [WATCHDOG] gef_wdt: Author corrections following split of GE Fanuc joint venture
    [WATCHDOG] iTCO_wdt: clean up probe(), modify err msg
    [WATCHDOG] ep93xx: watchdog timer driver for TS-72xx SBCs cleanup
    [WATCHDOG] support for max63xx watchdog timer chips
    [WATCHDOG] ep93xx: added platform side support for TS-72xx WDT driver
    [WATCHDOG] ep93xx: implemented watchdog timer driver for TS-72xx SBCs

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (26 commits)
    ALSA: hdmi - show debug message on changing audio infoframe
    ALSA: hdmi - merge common code for intelhdmi and nvhdmi
    ALSA: hda - Add ASRock mobo to MSI blacklist
    ALSA: hda: uninitialized variable fix
    ALSA: hda: Use LPIB for a Biostar Microtech board
    ALSA: usb/audio.h: Fix field order
    ALSA: fix jazz16 compile (udelay)
    ALSA: hda: Use LPIB for Dell Latitude 131L
    ALSA: hda - Build hda_eld into snd-hda-codec module
    ALSA: hda - Support NVIDIA MCP89 and GT21x hdmi audio
    ALSA: hda - Support max codecs to 8 for nvidia hda controller
    ALSA: riptide: clean up while loop
    ALSA: usbaudio - remove debug "SAMPLE BYTES" printk line
    ALSA: timer - pass real event in snd_timer_notify1() to instance callback
    ALSA: oxygen: change || to &&
    ALSA: opti92x: use PnP data to select Master Control port
    ASoC: fix ak4104 register array access
    ASoC: soc_pcm_open: Add missing bailout tag
    ALSA: usbaudio: Fix wrong bitrate for Creative Creative VF0470 Live Cam
    ALSA: ua101: removing debugging code
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6:
    [S390] smsgiucv_app: deliver z/VM CP special messages (SMSG) as uevents
    [S390] smsgiucv: declare char pointers as "const"
    [S390] dasd: automatic recognition of read-only devices
    [S390] remove unused qdio flags in zfcp and qeth
    [S390] Cleanup xtime usage
    [S390] qdio: add missing bracket
    [S390] cio: fix init_count in case of recognition after steal lock
    [S390] dasd: security and PSF update patch for EMC CKD ioctl
    [S390] hvc_iucv: allocate memory buffers for IUCV in zone DMA
    [S390] uaccess: make sure copy_from_user_overflow is builtin

    Linus Torvalds
     
  • Remove the EXPERIMENTAL flag from FS-Cache so that Ubuntu can make use of the
    facility.

    Signed-off-by: Christian Kujau
    Signed-off-by: David Howells
    Signed-off-by: Linus Torvalds

    Christian Kujau
     
  • Since the intel 6300esb platform uses a dedicated PCI ID for
    it's watchdog timer (00:1d.4), it's better and easier to have
    this as a pci_driver.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • The smsgiucv_app driver registers a callback with the smsgiucv driver
    to receive z/VM CP special messages (SMSG) starting with "APP".

    When the callback is called for special messages, the driver creates
    an uevent for the received message. The uevent consists of additional
    environment data containing the message prefix ("APP"), message sender,
    and message content.

    udev rules can be used to trigger application specific actions through
    matching the content or sender of the special message.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • Declare the smsgiucv prefix char pointer as "const" and use
    use const char pointers in callback functions.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • In z/VM it is possible to attach a device as read-only. To prevent
    unintentional write requests and subsequent I/O errors, we can detect
    this configuration using the z/VM DIAG 210 interface and set the
    respective linux block device to read-only as well.

    Signed-off-by: Stefan Weinhuber
    Signed-off-by: Martin Schwidefsky

    Stefan Weinhuber
     
  • zfcp and qeth are setting flags for the qdio-layer, but these flags
    are not used in qdio. Patch removes the flag definitions from qdio
    and their settings in zfcp and qeth.

    Cc: Jan Glauber
    Cc: Christof Schmitt
    Signed-off-by: Ursula Braun
    Signed-off-by: Martin Schwidefsky

    Ursula Braun
     
  • This replaces direct xtime usage in the s390 arch with timekeeping accessors,
    so we can further clean up the timekeeping core.

    Cc: Thomas Gleixner
    Signed-off-by: John Stultz
    Signed-off-by: Martin Schwidefsky

    John Stultz
     
  • Add a missing bracket to only log the outbound handler event in the
    appropriate case.

    Signed-off-by: Ursula Braun
    Signed-off-by: Jan Glauber
    Signed-off-by: Martin Schwidefsky

    Ursula Braun
     
  • After we try to steal a lock on a ccw device in boxed state,
    we have to restart device recognition and potentially reprobing.

    In this case ccw_device_init_count was erroneously decreased
    twice. This patch fixes the issue.

    Signed-off-by: Sebastian Ott
    Signed-off-by: Martin Schwidefsky

    Sebastian Ott
     
  • Remove the PSF order/suborder check from the Symmetrix CKD dasd ioctl.
    In exchange restrict the ioctl to CAP_SYS_ADMIN and CAP_SYS_RAWIO.

    Signed-off-by: Nigel Hislop
    Signed-off-by: Martin Schwidefsky

    Nigel Hislop
     
  • The device driver must allocate memory for IUCV buffers with GFP_DMA,
    because IUCV cannot address memory above 2GB (31bit addresses only).

    Because the IUCV ignores the higher bits of the address, sending and
    receiving IUCV data with this driver might cause memory corruptions.

    Signed-off-by: Hendrik Brueckner
    Signed-off-by: Martin Schwidefsky

    Hendrik Brueckner
     
  • If there is no in kernel image caller modules will suffer:

    ERROR: "copy_from_user_overflow" [net/core/pktgen.ko] undefined!
    ERROR: "copy_from_user_overflow" [net/can/can-raw.ko] undefined!
    ERROR: "copy_from_user_overflow" [fs/cifs/cifs.ko] undefined!

    Signed-off-by: Heiko Carstens
    Signed-off-by: Martin Schwidefsky

    Heiko Carstens
     
  • Before you can read or write from the i6300esb memeory mapped registers,
    you need to unlock these. This is done by writing the magic numbers 0x80
    and 0x86 to the reload register. The size of the reload register is 32bit
    though.

    Also binary 11 is hex 0x03 and not 0x11.

    Signed-off-by: Wim Van Sebroeck

    Wim Van Sebroeck
     
  • Takashi Iwai
     
  • Takashi Iwai
     
  • Takashi Iwai
     
  • Also change printk level for the two others.

    Signed-off-by: Wu Fengguang
    Signed-off-by: Takashi Iwai

    Wu Fengguang
     
  • Create patch_hdmi.c to hold common code from intelhdmi and nvhdmi.

    For now the patch_hdmi.c file is simply included by patch_intelhdmi.c
    and patch_nvhdmi.c, and does not represent a real codec.

    There are no behavior changes to intelhdmi. However nvhdmi made several
    changes when copying code out of intelhdmi, which are all reverted in
    this patch. Wei Ni confirmed that the reverted code actually works fine.

    Tested-by: Wei Ni
    Signed-off-by: Wu Fengguang
    Signed-off-by: Takashi Iwai

    Wu Fengguang
     
  • msi-laptop uses rfkill*() interfaces so it should depend on RFKILL.

    msi-laptop.c:(.text+0x1fcd1b): undefined reference to `rfkill_alloc'
    msi-laptop.c:(.text+0x1fcd76): undefined reference to `rfkill_register'
    msi-laptop.c:(.text+0x1fcdc8): undefined reference to `rfkill_destroy'
    msi-laptop.c:(.text+0x1fcdd9): undefined reference to `rfkill_unregister'

    This repairs "msi-laptop: Detect 3G device exists by standard ec command",
    which is in some gregkh tree.

    Signed-off-by: Randy Dunlap
    Cc: Lennart Poettering
    Cc: Lee, Chun-Yi
    Signed-off-by: Andrew Morton
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     
  • Detect 3G device exists by standard ec command. Driver will not create the threeg sysfs
    file and threeg rfkill interface if there have no internal 3G device in MSI notebook/netbook.

    Signed-off-by: Lee, Chun-Yi
    Cc: Lennart Poettering
    Signed-off-by: Greg Kroah-Hartman

    Lee, Chun-Yi
     
  • Implement the resume method for set the load SCM flag after system reusme.
    Without this patch, the wifi function key on SCM model will back to BIOS
    control mode then confuse with the userland software control.
    e.g. MSI N034

    Signed-off-by: Lee, Chun-Yi
    Cc: Lennart Poettering
    Signed-off-by: Greg Kroah-Hartman

    Lee, Chun-Yi
     
  • Some MSI 3G netbook only have one fn key to control Wlan/Bluetooth/3G,
    those netbook will load the SCM (windows app) to disable the original
    Wlan/Bluetooth control by BIOS when user press fn key, then control
    Wlan/Bluetooth/3G by SCM (software control by OS). Without SCM, user
    cann't on/off 3G module on those 3G netbook.
    On Linux, msi-laptop driver will do the same thing to disable the
    original BIOS control, then might need use HAL or other userland
    application to do the software control that simulate with SCM.
    e.g. MSI N034 netbook

    Signed-off-by: Lee, Chun-Yi
    Cc: Lennart Poettering
    Signed-off-by: Greg Kroah-Hartman

    Lee, Chun-Yi
     
  • Add threeg sysfs file for support query 3G state by standard 66/62 ec
    command, the MSI standard ec interface supported this feature.

    Signed-off-by: Lee, Chun-Yi
    Cc: Lennart Poettering
    Signed-off-by: Greg Kroah-Hartman

    Lee, Chun-Yi
     
  • Suppport standard ec 66/62 command on MSI notebook and nebook. MSI
    netbook and notebook already support 66/62 command, so, add new
    get_state function, and put the old model to non-standard model, but
    driver still support those old model.

    Signed-off-by: Lee, Chun-Yi
    Cc: Lennart Poettering
    Signed-off-by: Greg Kroah-Hartman

    Lee, Chun-Yi
     
  • In the future, we are going to be changing the lock type for struct
    device (once we get the lockdep infrastructure properly worked out) To
    make that changeover easier, and to possibly burry the lock in a
    different part of struct device, let's create some functions to lock and
    unlock a device so that no out-of-core code needs to be changed in the
    future.

    This patch creates the device_lock/unlock/trylock() functions, and
    converts all in-tree users to them.

    Cc: Thomas Gleixner
    Cc: Jean Delvare
    Cc: Dave Young
    Cc: Ming Lei
    Cc: Jiri Kosina
    Cc: Phil Carmody
    Cc: Arjan van de Ven
    Cc: Cornelia Huck
    Cc: Rafael J. Wysocki
    Cc: Pavel Machek
    Cc: Len Brown
    Cc: Magnus Damm
    Cc: Alan Stern
    Cc: Randy Dunlap
    Cc: Stefan Richter
    Cc: David Brownell
    Cc: Vegard Nossum
    Cc: Jesse Barnes
    Cc: Alex Chiang
    Cc: Kenji Kaneshige
    Cc: Andrew Morton
    Cc: Andrew Patterson
    Cc: Yu Zhao
    Cc: Dominik Brodowski
    Cc: Samuel Ortiz
    Cc: Wolfram Sang
    Cc: CHENG Renquan
    Cc: Oliver Neukum
    Cc: Frans Pop
    Cc: David Vrabel
    Cc: Kay Sievers
    Cc: Sarah Sharp
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • After merging the final tree, today's linux-next build (powerpc
    allyesconfig) failed like this:

    drivers/pci/pci-sysfs.c: In function 'pci_create_legacy_files':
    drivers/pci/pci-sysfs.c:645: error: lvalue required as unary '&' operand
    drivers/pci/pci-sysfs.c:658: error: lvalue required as unary '&' operand

    Caused by commit "sysfs: Use sysfs_attr_init and sysfs_bin_attr_init on
    dynamic attributes" interacting with commit "sysfs: Use one lockdep
    class per sysfs attribute") both from the driver-core tree.

    Signed-off-by: Stephen Rothwell
    Cc: "Eric W. Biederman"
    Signed-off-by: Greg Kroah-Hartman

    Stephen Rothwell
     
  • Now that there are no more users we can remove
    the sysfs_sb variable.

    Acked-by: Tejun Heo
    Acked-by: Serge Hallyn
    Signed-off-by: Eric W. Biederman
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • Currently sysfs_get_inode magically returns an inode on
    sysfs_sb. Make the super_block parameter explicit and
    the code becomes clearer.

    Acked-by: Tejun Heo
    Acked-by: Serge Hallyn
    Signed-off-by: Eric W. Biederman
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • Don't open code the renaming of symlinks in sysfs
    instead use the new helper function sysfs_rename_link

    Acked-by: Tejun Heo
    Acked-by: Serge Hallyn
    Signed-off-by: Eric W. Biederman
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • Because of rename ordering problems we occassionally give false
    warnings about invalid sysfs operations. So using sysfs_rename
    create a sysfs_rename_link function that doesn't need strange
    workarounds.

    Cc: Benjamin Thery
    Cc: Daniel Lezcano
    Acked-by: Serge Hallyn
    Acked-by: Tejun Heo
    Signed-off-by: Eric W. Biederman
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • Placing the 16bit s_mode between a pointer and a long doesn't pack well
    especailly on 64bit where we wast 48 bits. So move s_mode and
    declare it as a unsigned short. This is the sysfs backing store
    after all we don't need fields extra large just in case someday
    we want userspace to be able to use a larger value.

    Acked-by: Tejun Heo
    Signed-off-by: Eric W. Biederman
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • The vfs depends upon filesystem methods to update the
    vfs inode. Sysfs adds to the normal number of places
    where the vfs inode is updated by also updatng the
    vfs inode in sysfs_refresh_inode.

    Typically the inode mutex is used to serialize updates
    to the vfs inode, but grabbing the inode mutex in
    sysfs_permission and sysfs_getattr causes deadlocks,
    because sometimes the vfs calls those operations with
    the inode mutex held. Therefore sysfs can not use the
    inode mutex to serial updates to the vfs inode.

    The sysfs_mutex is acquired in all of the routines
    where sysfs updates the vfs inode, and with a small
    change we can consistently protext sysfs vfs inode
    updates with the sysfs_mutex. To protect the sysfs
    vfs inode updates with the sysfs_mutex simply requires
    extending the scope of sysfs_mutex in sysfs_setattr
    over inode_setattr, and over inode_change_ok (so we
    have an unchanging inode when we perform the check).

    Acked-by: Serge Hallyn
    Signed-off-by: Eric W. Biederman
    Signed-off-by: Greg Kroah-Hartman

    Eric W. Biederman
     
  • This is required for lockdep.

    Signed-off-by: Johannes Berg
    Signed-off-by: Greg Kroah-Hartman

    Johannes Berg