03 Aug, 2012

1 commit

  • Pull OLPC platform updates from Andres Salomon:
    "These move the OLPC Embedded Controller driver out of
    arch/x86/platform and into drivers/platform/olpc.

    OLPC machines are now ARM-based (which means lots of x86 and ARM
    changes), but are typically pretty self-contained.. so it makes more
    sense to go through a separate OLPC tree after getting the appropriate
    review/ACKs."

    * 'for-linus-3.6' of git://dev.laptop.org/users/dilinger/linux-olpc:
    x86: OLPC: move s/r-related EC cmds to EC driver
    Platform: OLPC: move global variables into priv struct
    Platform: OLPC: move debugfs support from x86 EC driver
    x86: OLPC: switch over to using new EC driver on x86
    Platform: OLPC: add a suspended flag to the EC driver
    Platform: OLPC: turn EC driver into a platform_driver
    Platform: OLPC: allow EC cmd to be overridden, and create a workqueue to call it
    drivers: OLPC: update various drivers to include olpc-ec.h
    Platform: OLPC: add a stub to drivers/platform/ for the OLPC EC driver

    Linus Torvalds
     

01 Aug, 2012

3 commits

  • Switch over to using olpc-ec.h in multiple steps, so as not to break builds.
    This covers every driver that calls olpc_ec_cmd().

    Signed-off-by: Andres Salomon
    Acked-by: Paul Fox
    Reviewed-by: Thomas Gleixner

    Andres Salomon
     
  • Pull random subsystem patches from Ted Ts'o:
    "This patch series contains a major revamp of how we collect entropy
    from interrupts for /dev/random and /dev/urandom.

    The goal is to addresses weaknesses discussed in the paper "Mining
    your Ps and Qs: Detection of Widespread Weak Keys in Network Devices",
    by Nadia Heninger, Zakir Durumeric, Eric Wustrow, J. Alex Halderman,
    which will be published in the Proceedings of the 21st Usenix Security
    Symposium, August 2012. (See https://factorable.net for more
    information and an extended version of the paper.)"

    Fix up trivial conflicts due to nearby changes in
    drivers/{mfd/ab3100-core.c, usb/gadget/omap_udc.c}

    * tag 'random_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/random: (33 commits)
    random: mix in architectural randomness in extract_buf()
    dmi: Feed DMI table to /dev/random driver
    random: Add comment to random_initialize()
    random: final removal of IRQF_SAMPLE_RANDOM
    um: remove IRQF_SAMPLE_RANDOM which is now a no-op
    sparc/ldc: remove IRQF_SAMPLE_RANDOM which is now a no-op
    [ARM] pxa: remove IRQF_SAMPLE_RANDOM which is now a no-op
    board-palmz71: remove IRQF_SAMPLE_RANDOM which is now a no-op
    isp1301_omap: remove IRQF_SAMPLE_RANDOM which is now a no-op
    pxa25x_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op
    omap_udc: remove IRQF_SAMPLE_RANDOM which is now a no-op
    goku_udc: remove IRQF_SAMPLE_RANDOM which was commented out
    uartlite: remove IRQF_SAMPLE_RANDOM which is now a no-op
    drivers: hv: remove IRQF_SAMPLE_RANDOM which is now a no-op
    xen-blkfront: remove IRQF_SAMPLE_RANDOM which is now a no-op
    n2_crypto: remove IRQF_SAMPLE_RANDOM which is now a no-op
    pda_power: remove IRQF_SAMPLE_RANDOM which is now a no-op
    i2c-pmcmsp: remove IRQF_SAMPLE_RANDOM which is now a no-op
    input/serio/hp_sdc.c: remove IRQF_SAMPLE_RANDOM which is now a no-op
    mfd: remove IRQF_SAMPLE_RANDOM which is now a no-op
    ...

    Linus Torvalds
     
  • Pull battery updates from Anton Vorontsov:
    "The tag contains just a few battery-related changes for v3.6. It's is
    all pretty straightforward, except one thing.

    One of our patches added thermal support for power supply class, but
    thermal/ subsystem changed under our feet. We (well, Stephen, that
    is) caught the issue and it was decided[1] that I'd just delay the
    battery pull request, and then will fix it up by merging upstream back
    into battery tree at the specific commit.

    That's not all though: another[2] small fixup for thermal subsystem
    was needed to get rid of a warning in power supply subsystem (the
    warning was not drivers/power's "fault", the thermal registration
    function just needed a proper const annotation, which is also done by
    a small commit on top of the merge.

    So, to sum this up:
    - The 'master' branch of the battery tree was in the -next tree for
    weeks, was never rebased, altered etc. It should be all OK;
    - Although, for-v3.6 tag contains the 'master' branch + merge + the
    warning fix.

    [1] http://lkml.org/lkml/2012/6/19/23
    [2] http://lkml.org/lkml/2012/6/18/28"

    * tag 'for-v3.6' of git://git.infradead.org/battery-2.6: (23 commits)
    thermal: Constify 'type' argument for the registration routine
    olpc-battery: update CHARGE_FULL_DESIGN property for BYD LiFe batteries
    olpc-battery: Add VOLTAGE_MAX_DESIGN property
    charger-manager: Fix build break related to EXTCON
    lp8727_charger: Move header file into platform_data directory
    power_supply: Add min/max alert properties for CAPACITY, TEMP, TEMP_AMBIENT
    bq27x00_battery: Add support for BQ27425 chip
    charger-manager: Set current limit of regulator for over current protection
    charger-manager: Use EXTCON Subsystem to detect charger cables for charging
    test_power: Add VOLTAGE_NOW and BATTERY_TEMP properties
    test_power: Add support for USB AC source
    gpio-charger: Use cansleep version of gpio_set_value
    bq27x00_battery: Add support for power average and health properties
    sbs-battery: Don't trigger false supply_changed event
    twl4030_charger: Allow charger to control the regulator that feeds it
    twl4030_charger: Add backup-battery charging
    twl4030_charger: Fix some typos
    max17042_battery: Support CHARGE_COUNTER power supply attribute
    smb347-charger: Add constant charge and current properties
    power_supply: Add constant charge_current and charge_voltage properties
    ...

    Linus Torvalds
     

31 Jul, 2012

1 commit

  • This merge is performed to take commit c56f5c0342dfee11a1 ("Thermal: Make
    Thermal trip points writeable") out of Linus' tree and then fixup power
    supply class. This is needed since thermal stuff added a new argument:

    CC drivers/power/power_supply_core.o
    drivers/power/power_supply_core.c: In function ‘psy_register_thermal’:
    drivers/power/power_supply_core.c:204:6: warning: passing argument 3 of ‘thermal_zone_device_register’ makes integer from pointer without a cast [enabled by default]
    include/linux/thermal.h:154:29: note: expected ‘int’ but argument is of type ‘struct power_supply *’
    drivers/power/power_supply_core.c:204:6: error: too few arguments to function ‘thermal_zone_device_register’
    include/linux/thermal.h:154:29: note: declared here
    make[1]: *** [drivers/power/power_supply_core.o] Error 1
    make: *** [drivers/power/] Error 2

    Signed-off-by: Anton Vorontsov

    Anton Vorontsov
     

27 Jul, 2012

2 commits

  • Pull driver core changes from Greg Kroah-Hartman:
    "Here's the big driver core pull request for 3.6-rc1.

    Unlike 3.5, this kernel should be a lot tamer, with the printk changes
    now settled down. All we have here is some extcon driver updates, w1
    driver updates, a few printk cleanups that weren't needed for 3.5, but
    are good to have now, and some other minor fixes/changes in the driver
    core.

    All of these have been in the linux-next releases for a while now.

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'driver-core-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (38 commits)
    printk: Export struct log size and member offsets through vmcoreinfo
    Drivers: hv: Change the hex constant to a decimal constant
    driver core: don't trigger uevent after failure
    extcon: MAX77693: Add extcon-max77693 driver to support Maxim MAX77693 MUIC device
    sysfs: fail dentry revalidation after namespace change fix
    sysfs: fail dentry revalidation after namespace change
    extcon: spelling of detach in function doc
    extcon: arizona: Stop microphone detection if we give up on it
    extcon: arizona: Update cable reporting calls and split headset
    PM / Runtime: Do not increment device usage counts before probing
    kmsg - do not flush partial lines when the console is busy
    kmsg - export "continuation record" flag to /dev/kmsg
    kmsg - avoid warning for CONFIG_PRINTK=n compilations
    kmsg - properly print over-long continuation lines
    driver-core: Use kobj_to_dev instead of re-implementing it
    driver-core: Move kobj_to_dev from genhd.h to device.h
    driver core: Move deferred devices to the end of dpm_list before probing
    driver core: move uevent call to driver_register
    driver core: fix shutdown races with probe/remove(v3)
    Extcon: Arizona: Add driver for Wolfson Arizona class devices
    ...

    Linus Torvalds
     
  • Pull USB patches from Greg Kroah-Hartman:
    "Here's the big USB patch set for the 3.6-rc1 merge window.

    Lots of little changes in here, primarily for gadget controllers and
    drivers. There's some scsi changes that I think also went in through
    the scsi tree, but they merge just fine. All of these patches have
    been in the linux-next tree for a while now.

    Signed-off-by: Greg Kroah-Hartman "

    Fix up trivial conflicts in include/scsi/scsi_device.h (same libata
    conflict that Jeff had already encountered)

    * tag 'usb-3.6-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (207 commits)
    usb: Add USB_QUIRK_RESET_RESUME for all Logitech UVC webcams
    usb: Add quirk detection based on interface information
    usb: s3c-hsotg: Add header file protection macros in s3c-hsotg.h
    USB: ehci-s5p: Add vbus setup function to the s5p ehci glue layer
    USB: add USB_VENDOR_AND_INTERFACE_INFO() macro
    USB: notify phy when root hub port connect change
    USB: remove 8 bytes of padding from usb_host_interface on 64 bit builds
    USB: option: add ZTE MF821D
    USB: sierra: QMI mode MC7710 moved to qcserial
    USB: qcserial: adding Sierra Wireless devices
    USB: qcserial: support generic Qualcomm serial ports
    USB: qcserial: make probe more flexible
    USB: qcserial: centralize probe exit path
    USB: qcserial: consolidate usb_set_interface calls
    USB: ehci-s5p: Add support for device tree
    USB: ohci-exynos: Add support for device tree
    USB: ehci-omap: fix compile failure(v1)
    usb: host: tegra: pass correct pointer in ehci_setup()
    USB: ehci-fsl: Update ifdef check to work on 64-bit ppc
    USB: serial: keyspan: Removed unrequired parentheses.
    ...

    Linus Torvalds
     

25 Jul, 2012

1 commit

  • Pull trivial tree from Jiri Kosina:
    "Trivial updates all over the place as usual."

    * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (29 commits)
    Fix typo in include/linux/clk.h .
    pci: hotplug: Fix typo in pci
    iommu: Fix typo in iommu
    video: Fix typo in drivers/video
    Documentation: Add newline at end-of-file to files lacking one
    arm,unicore32: Remove obsolete "select MISC_DEVICES"
    module.c: spelling s/postition/position/g
    cpufreq: Fix typo in cpufreq driver
    trivial: typo in comment in mksysmap
    mach-omap2: Fix typo in debug message and comment
    scsi: aha152x: Fix sparse warning and make printing pointer address more portable.
    Change email address for Steve Glendinning
    Btrfs: fix typo in convert_extent_bit
    via: Remove bogus if check
    netprio_cgroup.c: fix comment typo
    backlight: fix memory leak on obscure error path
    Documentation: asus-laptop.txt references an obsolete Kconfig item
    Documentation: ManagementStyle: fixed typo
    mm/vmscan: cleanup comment error in balance_pgdat
    mm: cleanup on the comments of zone_reclaim_stat
    ...

    Linus Torvalds
     

19 Jul, 2012

1 commit

  • With the changes in the random tree, IRQF_SAMPLE_RANDOM is now a
    no-op; interrupt randomness is now collected unconditionally in a very
    low-overhead fashion; see commit 775f4b297b. The IRQF_SAMPLE_RANDOM
    flag was scheduled to be removed in 2009 on the
    feature-removal-schedule, so this patch is preparation for the final
    removal of this flag.

    Signed-off-by: "Theodore Ts'o"
    Acked-by: Anton Vorontsov
    Cc: David Woodhouse

    Theodore Ts'o
     

16 Jul, 2012

3 commits

  • Reduce the mAh value for the BYD LiFe battery from 3100mAh to 2800mAh
    to better reflect the average usable capacity as measured by olpc-pwr-log.

    Signed-off-by: Richard A. Smith
    Signed-off-by: Daniel Drake
    Signed-off-by: Anton Vorontsov

    Richard A. Smith
     
  • upowerd wants to compute the energy in the battery by looking at this
    property. If it's not present then it falls back on using the reported
    voltage of the battery at time upowerd loads. That's close but also
    means that every time you boot you get a slightly different energy
    capacity.

    Adding the VOLTAGE_MAX_DESIGN property allows upowerd to compute the
    same energy every time.

    Signed-off-by: Richard A. Smith
    Signed-off-by: Daniel Drake
    Signed-off-by: Anton Vorontsov

    Richard A. Smith
     
  • This patch select CONFIG_EXTCON to resolve below build break of
    charger-manager because charger-manager use API of EXTCON subsystem.

    drivers/built-in.o: In function `charger_manager_probe':
    charger-manager.c:(.text+0x11d61a): undefined reference to `extcon_register_interest'
    charger-manager.c:(.text+0x11d7b6): undefined reference to `extcon_unregister_interest'
    drivers/built-in.o: In function `charger_manager_remove':
    charger-manager.c:(.devexit.text+0x8f3): undefined reference to `extcon_unregister_interest'

    Signed-off-by: Chanwoo Choi
    Signed-off-by: Myungjoo Ham
    Signed-off-by: Kyungmin Park
    Signed-off-by: Anton Vorontsov

    Chanwoo Choi
     

14 Jul, 2012

5 commits

  • The lp8727 header can be used only in the platform side, so it can be
    moved to the platform_data directory.

    Signed-off-by: Milo(Woogyom) Kim
    Signed-off-by: Anton Vorontsov

    Kim, Milo
     
  • Minimum and maximum alerts on power supply properties will help or allow
    the user space to "proactively" create policies like connect/disconnect
    charger or stop/start the user apps based on capacity or temperature
    parameters.

    These parameters can be used to avoid unnecessary polling from user space
    and even from kernel space if the underlying HW can support INT triggers
    (ex: max17042/47).

    This patch adds the following power supply alert type properties:

    CAPACITY_ALERT_MIN
    CAPACITY_ALERT_MAX
    TEMP_ALERT_MIN
    TEMP_ALERT_MAX
    TEMP_AMBIENT_ALERT_MIN
    TEMP_AMBIENT_ALERT_MAX

    Signed-off-by: Ramakrishna Pallala
    Signed-off-by: Anton Vorontsov

    Ramakrishna Pallala
     
  • This patch adds support for BQ27425 (TI) chip. This chip is same as
    BQ27500 with few registers removed and register address map changed.
    The data sheet for this chip is publicly available at
    http://www.ti.com/product/bq27425-g1

    Signed-off-by: Saranya Gopal
    Reviewed-by: Lars-Peter Clausen
    Signed-off-by: Anton Vorontsov

    Saranya Gopal
     
  • This patch support the protection of host device from over current.
    The Charger-manager set proper current limit of charger(regulator) for
    charging according to type of charger cable when external connector
    is attached.

    Signed-off-by: Chanwoo Choi
    Signed-off-by: Myungjoo Ham
    Signed-off-by: Kyungmin Park
    Signed-off-by: Anton Vorontsov

    Chanwoo Choi
     
  • This patch support that charger-manager use EXTCON(External Connector)
    Subsystem to detect the state of charger cables for enabling or disabling
    charger(regulator) and select the charger cable for charging among
    a number of external cable according to policy of H/W board.

    Signed-off-by: Chanwoo Choi
    Signed-off-by: Myungjoo Ham
    Signed-off-by: Kyungmin Park
    Signed-off-by: Anton Vorontsov

    Chanwoo Choi
     

02 Jul, 2012

1 commit


29 Jun, 2012

2 commits

  • Disable the module option for POWER_AVS since this is currently not
    supported.

    This patch fixes these error in the case POWER_AVS is set to 'm':

    arch/arm/mach-omap2/built-in.o: In function `sr_class3_configure':
    arch/arm/mach-omap2/smartreflex-class3.c:43: undefined reference to `sr_configure_errgen'
    arch/arm/mach-omap2/built-in.o: In function `sr_class3_disable':
    arch/arm/mach-omap2/smartreflex-class3.c:33: undefined reference to `sr_disable_errgen'
    arch/arm/mach-omap2/smartreflex-class3.c:35: undefined reference to `sr_disable'
    arch/arm/mach-omap2/built-in.o: In function `sr_class3_enable':
    arch/arm/mach-omap2/smartreflex-class3.c:28: undefined reference to `sr_enable'
    arch/arm/mach-omap2/built-in.o: In function `sr_class3_init':
    arch/arm/mach-omap2/smartreflex-class3.c:59: undefined reference to `sr_register_class'

    Reported-by: Tony Lindgren
    Signed-off-by: Jean Pihet
    Signed-off-by: Kevin Hilman
    [tony@atomide.com: updated to use relative paths for the build error]
    Signed-off-by: Tony Lindgren

    Jean Pihet
     
  • Conflicts:
    include/linux/mmzone.h

    Synced with Linus' tree so that trivial patch can be applied
    on top of up-to-date code properly.

    Reported-by: Stephen Rothwell

    Jiri Kosina
     

28 Jun, 2012

1 commit


26 Jun, 2012

1 commit


25 Jun, 2012

2 commits


21 Jun, 2012

2 commits


20 Jun, 2012

9 commits


18 Jun, 2012

3 commits

  • Battery and charger contribute to Thermals in most of the embedded
    devices. So, it makes sense to identify them as Thermal zones in a
    particular platform.

    This patch registers a thermal zone if the power supply is reporting
    a temperature property. The thermal zone will be used by platform's
    thermal management solution.

    Signed-off-by: Jenny TC
    Signed-off-by: Anton Vorontsov

    Jenny TC
     
  • This patch fixes the following sparse warning:

    CHECK drivers/power/ds2781_battery.c
    drivers/power/ds2781_battery.c:72:5: warning: symbol 'w1_ds2781_read' was not declared. Should it be static?

    Signed-off-by: Anton Vorontsov

    Anton Vorontsov
     
  • Rather than silently ignoring errors from the regulator enable and disable
    add a WARN_ON() - it's probably pretty important if we're not getting
    power, though it should be vanishingly unlikely in production.

    Signed-off-by: Mark Brown
    Signed-off-by: Anton Vorontsov

    Mark Brown
     

14 Jun, 2012

1 commit

  • The 'mutex' in struct w1_master is use for two very different
    purposes.

    Firstly it protects various data structures such as the list of all
    slaves.

    Secondly it protects the w1 buss against concurrent accesses.

    This can lead to deadlocks when the ->probe code called while adding a
    slave needs to talk on the bus, as is the case for power_supply
    devices.
    ds2780 and ds2781 drivers contain a work around to track which
    process hold the lock simply to avoid this deadlock. bq27000 doesn't
    have that work around and so deadlocks.

    There are other possible deadlocks involving sysfs.
    When removing a device the sysfs s_active lock is held, so the lock
    that protects the slave list must take precedence over s_active.
    However when access power_supply attributes via sysfs, the s_active
    lock must take precedence over the lock that protects accesses to
    the bus.

    So to avoid deadlocks between w1 slaves and sysfs, these must be
    two separate locks. Making them separate means that the work around
    in ds2780 and ds2781 can be removed.

    So this patch:
    - adds a new mutex: "bus_mutex" which serialises access to the bus.
    - takes in mutex in w1_search and ds1wm_search while they access
    the bus for searching. The mutex is dropped before calling the
    callback which adds the slave.
    - changes all slaves to use bus_mutex instead of mutex to
    protect access to the bus
    - removes w1_ds2790_io_nolock and w1_ds2781_io_nolock, and the
    related code from drivers/power/ds278[01]_battery.c which
    calls them.

    Signed-off-by: NeilBrown
    Acked-by: Evgeniy Polyakov
    Signed-off-by: Greg Kroah-Hartman

    NeilBrown
     

01 Jun, 2012

1 commit

  • After a clean-up of the interfaces the OMAP Smartreflex IP driver is now a
    generic driver. Move it to drivers/power/avs/.

    The build is controlled by the following Kconfig options:
    . CONFIG_POWER_AVS: general knob for Adaptive Voltage Scaling support,
    . CONFIG_POWER_AVS_OMAP: AVS(Adaptive Voltage Scaling)
    support on OMAP containing the version 1 or version 2 of the SmartReflex IP,
    . CONFIG_POWER_AVS_OMAP_CLASS3: Class 3 implementation of Smartreflex.

    Signed-off-by: Jean Pihet
    Signed-off-by: J Keerthy
    Acked-by: Rafael J. Wysocki
    Reviewed-by: Kevin Hilman
    Signed-off-by: Kevin Hilman

    Jean Pihet