29 Oct, 2010

40 commits

  • This switches the AB3100 core driver to using MFD cells for
    subdevices instead of spawning common platform devices.

    Signed-off-by: Linus Walleij
    Signed-off-by: Samuel Ortiz

    Linus Walleij
     
  • Since there is no discardable probe() function in the I2C device
    framework, let's just tag it __devinit and take the footprint hit
    rather than seeing the compilation warnings every day.

    Signed-off-by: Linus Walleij
    Signed-off-by: Samuel Ortiz

    Linus Walleij
     
  • Not sure where this went.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • Fixed warnings about unprototyped global functions.

    Signed-off-by: Mark Brown
    Signed-off-by: Samuel Ortiz

    Mark Brown
     
  • * 'kbuild' of git://git.kernel.org/pub/scm/linux/kernel/git/mmarek/kbuild-2.6:
    initramfs: Fix build break on symbol-prefixed archs
    initramfs: fix initramfs size calculation
    initramfs: generalize initramfs_data.xxx.S variants
    scripts/kallsyms: Enable error messages while hush up unnecessary warnings
    scripts/setlocalversion: update comment
    kbuild: Use a single clean rule for kernel and external modules
    kbuild: Do not run make clean in $(srctree)
    scripts/mod/modpost.c: fix commentary accordingly to last changes
    kbuild: Really don't clean bounds.h and asm-offsets.h

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6:
    regulator: max8952 - fix max8952_set_voltage
    regulator: max8952 - fix max8952_pmic_probe error path
    regulator: fix build when CONFIG_REGULATOR_DUMMY=n
    regulator: avoid deadlock when disabling regulator with supply
    regulator: Add option for machine drivers to enable the dummy regulator
    Regulator: lp3972 cleanup
    Regulator: LP3972 PMIC regulator driver
    MAX8952 PMIC Driver Initial Release

    Linus Torvalds
     
  • * 'bugfixes' of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:
    nfs4: The difference of 2 pointers is ptrdiff_t
    nfs: testing the wrong variable
    nfs: handle lock context allocation failures in nfs_create_request
    Fixed Regression in NFS Direct I/O path

    Linus Torvalds
     
  • In current implementation, vid is declared as u8,
    then "vid == -1" is always false, and "vid >= 0" is always true.
    Thus change it to s8.

    Signed-off-by: Axel Lin
    Acked-by: Mark Brown
    Acked-by: Kyungmin Park
    Signed-off-by: Liam Girdwood

    Axel Lin
     
  • Signed-off-by: Axel Lin
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Axel Lin
     
  • Commit f03f91826 (regulator: Add option for machine drivers
    to enable the dummy regulator) in the regulators tree
    seems to have introduced the following build break when
    CONFIG_REGULATOR_DUMMY is disabled. Fix this.

    CC drivers/regulator/dummy.o
    drivers/regulator/dummy.c:41: error: redefinition of 'regulator_dummy_init'
    drivers/regulator/dummy.h:28: note: previous definition of 'regulator_dummy_init' was here
    make[2]: *** [drivers/regulator/dummy.o] Error 1
    make[1]: *** [drivers/regulator] Error 2
    make: *** [drivers] Error 2

    Signed-off-by: Anand Gadiyar
    Cc: Liam Girdwood
    Cc: Mark Brown
    Acked-by: Randy Dunlap
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Anand Gadiyar
     
  • I have a regulator A that sets regulator B as its supply. When I call
    set_supply to add B as the supply for A, regulator A gets added to the
    supply_list for regulator B.

    When I call regulator_disable(A), I end up with a call chain like this:

    regulator_disable(A)
    > mutex_lock(A)
    > _regulator_disable(A)
    >> _regulator_disable(B)
    >>> _notifier_call_chain(B)
    >>>> mutex_lock(A)

    Which results in dead lock since we are trying to acquire the mutex lock
    for regulator A which we already hold.

    This patch addresses this issue by moving the call to disable regulator
    B outside of the lock aquired inside the initial call to
    regulator_disable.

    This change also addresses the issue of not acquiring the mutex for
    regulator B before calling _regulator_disable(B).

    Signed-off-by: Jeffrey Carlyle
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Jeffrey Carlyle
     
  • Allow machine drivers to explicitly enable the use of the dummy regulator,
    enabling simpler support for systems with only a few specific supplies
    visible to software.

    It is strongly recommended that this is not used on systems with
    substantial software control over their PMICs, for maximum functionality
    constrints should be as fully specified as possible.

    Signed-off-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Mark Brown
     
  • This patch includes below fixes based on Mark's comment.
    - Return actual error if i2c_smbus_read_byte_data() fail
    - Add spaces around bitwise AND operator(&) to improve readability
    - Add comment to explain why we need to update voltage change control register
    for LDO1 and LDO5
    - Logging the value for diagnostics if chip reported incorrect voltage value
    - Add __devinit annotation for setup_regulators()
    - Show system control register1 value if the value is mismatched
    - Logging the value for diagnostics if failed to detect device

    Signed-off-by: Axel Lin
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Axel Lin
     
  • This patch adds regulator drivers for National Semiconductors LP3972 PMIC.
    This LP3972 PMIC controller has 3 DC/DC voltage converters and 5 low drop-out
    (LDO) regulators. LP3972 PMIC controller uses I2C interface.

    Signed-off-by: Axel Lin
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Axel Lin
     
  • MAX8952 PMIC is used to provide voltage output between 770mV - 1400mV
    with DVS support. In this initial release, users can set voltages for
    four DVS modes, RAMP delay values, and SYNC frequency.
    Controlling FPWM/SYNC_MODE/Pull-Down/Ramp Modes and reading CHIP_ID
    is not supported in this release.

    If GPIO of EN is not valid in platform data, the driver assumes that it
    is always-on. If GPIO of VID0 or VID1 is invalid, the driver pulls down
    VID0 and VID1 to fix DVS mode as 0 and disables DVS support.

    We assume that V_OUT is capable to provide every voltage from 770mV to
    1.40V in 10mV steps although the data sheet has some ambiguity on it.

    Signed-off-by: MyungJoo Ham
    Signed-off-by: Kyungmin Park
    Acked-by: Mark Brown
    --
    v2:
    - Style correction
    - Can accept platform_data with invalid GPIOs
    - Removed unnecessary features
    - Improved error handling
    Signed-off-by: Liam Girdwood

    MyungJoo Ham
     
  • Signed-off-by: Mike Frysinger
    Signed-off-by: Michal Marek

    Mike Frysinger
     
  • On m68k, which is 32-bit:

    fs/nfs/nfs4proc.c: In function ‘nfs41_sequence_done’:
    fs/nfs/nfs4proc.c:432: warning: format ‘%ld’ expects type ‘long int’, but argument 3 has type ‘int’
    fs/nfs/nfs4proc.c: In function ‘nfs4_setup_sequence’:
    fs/nfs/nfs4proc.c:576: warning: format ‘%ld’ expects type ‘long int’, but argument 5 has type ‘int’

    On 32-bit, ptrdiff_t is int; on 64-bit, ptrdiff_t is long.

    Introduced by commit dfb4f309830359352539919f23accc59a20a3758 ("NFSv4.1: keep
    seq_res.sr_slot as pointer rather than an index")

    Signed-off-by: Geert Uytterhoeven
    Signed-off-by: Trond Myklebust

    Geert Uytterhoeven
     
  • …el/git/tip/linux-2.6-tip

    * 'x86-platform-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
    x86: Move olpc to platform
    x86: Move uv to platform
    x86: Move mrst to platform
    x86: Move scx200 to platform
    x86: Move visws to platform
    x86: Move efi to platform
    x86: Move sfi to platform
    x86: Add platform directory

    Linus Torvalds
     
  • * 'hwmon-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jdelvare/staging: (68 commits)
    hwmon: (it87) Add support for the IT8721F/IT8758E
    hwmon: (it87) Move conversion functions
    hwmon: Remove many EXPERIMENTAL flags
    hwmon: (lm85) Add support for ADT7468 high-frequency PWM mode
    hwmon: (lm85) Document the ADT7468 as supported
    hwmon: (lm85) Fix ADT7468 frequency table
    hwmon: I2C addresses are constant
    Move ams driver to macintosh
    hwmon: (pcf8591) Don't attempt to detect devices
    hwmon: (pcf8591) Register as a hwmon device
    hwmon: (w83795) Use standard attributes for chassis intrusion
    hwmon: (w83795) Exclude fan control feature by default
    hwmon: (w83795) Add myself as co-author and maintainer
    hwmon: (w83795) More style cleanups
    hwmon: (w83795) Fix LSB reading of voltage limits
    hwmon: (w83795) Use dev_get_drvdata() where possible
    hwmon: (w83795) Delay reading pwm config registers
    hwmon: (w83795) Delay reading limit registers
    hwmon: (w83795) Move register reads to dedicated functions
    hwmon: (w83795) Pack similar register reads
    ...

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging-2.6: (841 commits)
    Staging: brcm80211: fix usage of roundup in structures
    Staging: bcm: fix up network device reference counting
    Staging: keucr: fix up US_ macro change
    staging: brcm80211: brcmfmac: Removed codeversion from firmware filenames.
    staging: brcm80211: Remove unnecessary header files.
    staging: brcm80211: Remove unnecessary includes from bcmutils.c
    staging: brcm80211: Removed unnecessary pktsetprio() function.
    Staging: brcm80211: remove typedefs.h
    Staging: brcm80211: remove uintptr typedef usage
    Staging: hv: remove struct vmbus_channel_interface
    Staging: hv: remove Open from struct vmbus_channel_interface
    Staging: hv: storvsc: call vmbus_open directly
    Staging: hv: netvsc: call vmbus_open directly
    Staging: hv: channel: export vmbus_open to modules
    Staging: hv: remove Close from struct vmbus_channel_interface
    Staging: hv: netvsc: call vmbus_close directly
    Staging: hv: storvsc: call vmbus_close directly
    Staging: hv: channel: export vmbus_close to modules
    Staging: hv: remove SendPacket from struct vmbus_channel_interface
    Staging: hv: storvsc: call vmbus_sendpacket directly
    ...

    Fix up conflicts in
    drivers/staging/cx25821/cx25821-audio-upstream.c
    drivers/staging/cx25821/cx25821-audio.h
    due to warring whitespace cleanups (neither of which were all that great)

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/lethal/sh-2.6: (32 commits)
    sh: intc: switch irq_desc iteration to new active IRQ iterator.
    sh: fix up cpu hotplug IRQ migration for irq_data changes.
    sh: oprofile: Make sure the backtrace op is available for timer-fallback.
    sh64: oprofile: Fix up kernel stack pointer size mismatch.
    sh: oprofile: Fix up and extend op_name_from_perf_id().
    sh: lockless get_user_pages_fast()
    sh64: _PAGE_SPECIAL support.
    sound: sh: ctrl_in/outX to __raw_read/writeX conversion.
    sh: disable deprecated genirq support.
    sh: update show_interrupts() for irq_data chip lookup.
    sh: intc: irq_data conversion.
    sh64: irq_data conversion.
    sh64: update for IRQ flag handling naming changes.
    rtc: rtc-rs5c313: ctrl_in/outX to __raw_read/writeX conversion.
    sh: mach-se: irq_data conversion.
    input: hp680_ts_input: ctrl_in/outX to __raw_read/writeX conversion.
    input: jornada680_kbd: ctrl_in/outX to __raw_read/writeX conversion.
    sh: hd64461: irq_data conversion.
    sh: mach-x3proto: irq_data conversion.
    sh: mach-systemh: irq_data conversion.
    ...

    Linus Torvalds
     
  • * 'linux-next' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: (27 commits)
    x86: allocate space within a region top-down
    x86: update iomem_resource end based on CPU physical address capabilities
    x86/PCI: allocate space from the end of a region, not the beginning
    PCI: allocate bus resources from the top down
    resources: support allocating space within a region from the top down
    resources: handle overflow when aligning start of available area
    resources: ensure callback doesn't allocate outside available space
    resources: factor out resource_clip() to simplify find_resource()
    resources: add a default alignf to simplify find_resource()
    x86/PCI: MMCONFIG: fix region end calculation
    PCI: Add support for polling PME state on suspended legacy PCI devices
    PCI: Export some PCI PM functionality
    PCI: fix message typo
    PCI: log vendor/device ID always
    PCI: update Intel chipset names and defines
    PCI: use new ccflags variable in Makefile
    PCI: add PCI_MSIX_TABLE/PBA defines
    PCI: add PCI vendor id for STmicroelectronics
    x86/PCI: irq and pci_ids patch for Intel Patsburg DeviceIDs
    PCI: OLPC: Only enable PCI configuration type override on XO-1
    ...

    Linus Torvalds
     
  • Add support for the IT8721F/IT8758E. These new chips differ from the
    older IT87xxF chips in the following ways:
    * ADC LSB is 12 mV instead of 16 mV.
    * PWM values are 8-bit instead of 7-bit.
    There are other minor changes we don't have to care about in the
    driver.

    Another change is that we will handle internal voltage scaling in the
    driver instead of delegating the work to user-space.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • Move conversion functions until after structure defintions. This is
    needed for future changes which make use of the structures in the
    conversion funtcions.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • Remove the dependency on EXPERIMENTAL for all drivers which are in
    the kernel tree for a long time, are known to work properly and for
    which we have documentation.

    Signed-off-by: Jean Delvare
    Cc: Corentin Labbe
    Cc: Riku Voipio
    Cc: Juerg Haefliger
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • The ADT7468 supports a high-frequency PWM output mode where all PWM
    outputs are driven by a 22.5 kHz clock. Add support for this mode, and
    document it, as it may surprise the user that setting one PWM output
    frequency also affects the other PWM outputs.

    Signed-off-by: Jean Delvare
    Cc: Darrick J. Wong
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • Signed-off-by: Jean Delvare
    Cc: Darrick J. Wong
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • The ADT7468 uses the same frequency table as the ADT7463.

    Signed-off-by: Jean Delvare
    Cc: stable@kernel.org
    Cc: Darrick J. Wong
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • We can mark normal_i2c const. Almost all drivers do that already, so
    fix the 3 remaining ones before they are used as (bad) examples for
    new drivers.

    Signed-off-by: Jean Delvare
    Cc: George Joseph
    Reviewed-by: Guenter Roeck

    Jean Delvare
     
  • The ams driver isn't a hardware monitoring driver, so it shouldn't
    live under driver/hwmon. drivers/macintosh seems much more
    appropriate, as the driver is only useful on PowerBooks and iBooks.

    Signed-off-by: Jean Delvare
    Cc: Guenter Roeck
    Cc: Stelian Pop
    Cc: Michael Hanselmann
    Cc: Benjamin Herrenschmidt
    Cc: Grant Likely

    Jean Delvare
     
  • The PCF8591 can't be detected, don't even try. There are plenty of
    other means to instantiate i2c devices these days.

    Signed-off-by: Jean Delvare
    Reviewed-by: Guenter Roeck
    Cc: Aurelien Jarno

    Jean Delvare
     
  • Register PCF8591 devices as hwmon devices. There's little point in
    implementing the standard sysfs interface if we don't register it in
    a way libsensors will pick it.

    Signed-off-by: Jean Delvare
    Reviewed-by: Guenter Roeck
    Cc: Aurelien Jarno

    Jean Delvare
     
  • Follow the standard attribute naming for the chassis intrusion
    feature. I couldn't test the beeping (my board apparently doesn't do
    that) but the alarm works fine.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • The fan control feature of the w83795 driver is insufficiently
    reviewed and tested for public consumption at this time, so make it
    optional and disabled by default. We will change the default when
    review and testing is deemed sufficient. Ultimately the option will
    go away.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • I've made so many changes to the w83795 driver that it's only fair to
    list myself as a co-author. I'll also maintain the driver for some
    time. There's more work needed on the driver for sure.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • Cleanups suggested by Guenter Roeck, falling into 4 categories:
    * Swapping test orders, because if (var == CONSTANT) is much easier to
    read than if (CONSTANT == var).
    * Simplifying comparisons with 0.
    * Dropping unneeded masks.
    * Dropping unneeded parentheses and curly braces.

    Signed-off-by: Jean Delvare
    Acked-by: Guenter Roeck

    Jean Delvare
     
  • Wrong index caused the wrong register value to be read, resulting in
    random LSB for voltage limits.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • When we don't need the client pointer, calling dev_get_drvdata() is
    more efficient that calling to_i2c_client() and then
    i2c_get_clientdata().

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • Wait until we need the pwm config register values, instead of
    pre-reading them. This saves over 1 second on modprobe on my test
    system.

    Obviously this time is added when first accessing pwm config
    attributes, however not everybody will use them, so it seems unfair
    to slow down driver loading (and thus boot) for an optional feature.

    Signed-off-by: Jean Delvare

    Jean Delvare
     
  • Wait until we need the limit register values, instead of pre-reading
    them. This saves 544 ms on modprobe on my test system. Obviously this
    time is added when first running "sensors" or any other monitoring
    application, but I think it is better than slowing down the boot.

    Signed-off-by: Jean Delvare

    Jean Delvare