03 Mar, 2010

30 commits

  • It is a good tone to reset driver data after unbinding the device.

    Signed-off-by: Dmitry Torokhov
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Dmitry Torokhov
     
  • It is a good tone to reset driver data after unbinding the device.
    Also set up drivers owner.

    Signed-off-by: Dmitry Torokhov
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Dmitry Torokhov
     
  • It is a good tone to reset driver data after unbinding the device.

    Signed-off-by: Dmitry Torokhov
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Dmitry Torokhov
     
  • Signed-off-by: Dmitry Torokhov
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Dmitry Torokhov
     
  • Signed-off-by: Dmitry Torokhov
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Dmitry Torokhov
     
  • There is no point in completing probe if platform data is missing so
    let's abort loading early.

    Also, use kcalloc when allocating several instances of the same data
    structure and mark setup_regulators() as __devinit since it is only
    called from lp3971_i2c_probe() which is __devinit.

    Signed-off-by: Dmitry Torokhov
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Dmitry Torokhov
     
  • Also move error handling in probe() out of line and do not bother
    to reset fields in structures that are about to be freed.

    Signed-off-by: Dmitry Torokhov
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Dmitry Torokhov
     
  • Also move error handling in probe() out of line and do not bother
    to reset fields in structures that are about to be freed.

    Signed-off-by: Dmitry Torokhov
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Dmitry Torokhov
     
  • Signed-off-by: Dmitry Torokhov
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Dmitry Torokhov
     
  • Add __devinit/__devexit markings to probe and remove methids of the
    driver, change types of variables containing boolean data to boolean,
    set up driver's owner field so we have proper sysfs link between
    driver and the module.

    Signed-off-by: Dmitry Torokhov
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Dmitry Torokhov
     
  • Probe and remove methods should not be marked as __init/__exit but
    rather __devinit/__devexit so that the needed sections stay in memory
    in presence of CONFIG_HOTPLUG. This is needed even on non hotpluggable
    buses.

    Signed-off-by: Dmitry Torokhov
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Dmitry Torokhov
     
  • Instead of open-coding sysfs attribute group use canned solution.
    Also add __devinit/__devexit markups for probe and remove methods
    and use 'bool' where it makes sense.

    Signed-off-by: Dmitry Torokhov
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Dmitry Torokhov
     
  • This is no REMAP register on twl6030, instead there is a STATE register
    to drive a resource to a given state.
    The state register can be used to specify what state the resource should
    enter when its associated with a GRP.
    Register Bit field description is as below. The patch programmes the
    corresponding STATE registers for all LDO's to turn ON when assocaited
    with GRP_P1.

    STATE REG:
    Bit7 |Bit6 |Bit5 |Bit4 |Bit3 |Bit2 |Bit1 |Bit0
    P3_GRP |P2_GRP |P1_GRP |RES |RES |RES |State1 |State0

    State can be specified as below
    00: OFF
    01: ON
    10: OFF
    11: SLEEP

    Signed-off-by: Rajendra Nayak
    Cc: Liam Girdwood
    Cc: Samuel Ortiz
    Cc: Mark Brown
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Rajendra Nayak
     
  • In order to ease transitions with drivers are boards start using regulators
    provide an option to cause all regulator_get() calls to succeed, with a
    dummy always on regulator being supplied where one has not been configured.
    A warning is printed whenever the dummy regulator is used to aid system
    development.

    This regulator does not implement any regulator operations but will allow
    simple consumers which only do enable() and disable() calls to run. It
    is kept separate from the fixed voltage regulator to avoid Kconfig
    confusion on the part of users when it is extended to allow boards to
    explicitly use the dummy regulator to simplify cases where the majority
    of supplies are from fixed regulators without software control.

    This option is currently only effective for systems which do not specify
    full constriants. If required an override could also be provided to allow
    these systems to use the dummy regulator, though it is likely that
    unconfigured supplies on such systems will lead to error due to
    regulators being powered down more aggressively when not in use.

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

    Mark Brown
     
  • If a regulator driver does not provide a way to query if the driver is
    enabled then assume that it is enabled. This is very likely to reflect
    the actual state is more useful for callers than reporting an error.

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

    Mark Brown
     
  • It had an open coded version in enable().

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

    Mark Brown
     
  • The WM8994 contains two LDOs with mixed hardware/software control to
    minimise the number of external supplies required while delivering
    optimal voltages to minimise power consumption.

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

    Mark Brown
     
  • Signed-off-by: Haojian Zhuang
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Haojian Zhuang
     
  • Fix Kconfig text for some Wolfson Micro devices.

    Cc: Mark Brown
    Signed-off-by: Alex Chiang
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Alex Chiang
     
  • GPO regulators are digital outputs that can be enabled or disabled by a
    dedicated bit in mc13783 POWERMISC register.
    In this family can be count in also Power Gates (PWGT1 and 2): enabled by
    a dedicated pin a Power Gate is an hardware driven supply where the output
    (PWGTnDRV) follow this law:

    Bit PWGTxSPIEN | Pin PWGTxEN | PWGTxDRV | Read Back
    0 = default | | | PWGTxSPIEN
    ---------------+-------------+----------+------------
    1 | x | Low | 0
    0 | 0 | High | 1
    0 | 1 | Low | 0

    As read back value of control bit reflects the PWGTxDRV state (not the
    control value previously written) and mc13783 POWERMISC register contain
    only regulator related bits, a dedicated function to manage these bits is
    created here with the aim of tracing the real value of PWGTxSPIEN bits
    and reproduce it on next writes.

    All POWERMISC users _must_ use the new function to not accidentally
    disable Power Gates supplies.

    v2 changes:
    -Better utilization of abstraction layers.
    -Voltage query support. GPO's and PWGTxDRV are fixed voltage regulator
    with voltage value of 3.1V and 5.5V respectively.

    Signed-off-by: Alberto Panizzo
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Alberto Panizzo
     
  • Add a field to specify a delay for the start-up time of
    a fixed voltage regulator.

    Signed-off-by: Adrian Hunter
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Adrian Hunter
     
  • Signed-off-by: Mark Brown

    Mark Brown
     
  • Regulators may sometimes take longer to enable than the control operation
    used to do so, either because the regulator has ramp rate control used to
    limit inrush current or because the control operation is very fast (GPIO
    being the most common example of this). In order to ensure that consumers
    do not rely on the regulator before it is enabled provide an enable_time()
    operation and have the core delay for that time before returning to the
    caller.

    This is implemented as a function since the ramp rate may be specified in
    voltage per unit time and therefore the time depend on the configuration.
    In future it would be desirable to allow the bulk operations to run the
    delays for multiple enables in parallel but this is not currently supported.

    Signed-off-by: Mark Brown

    Mark Brown
     
  • The intended use case is for drivers which disable regulators to save
    power but need to do some work to restore the hardware state when
    restarting. If the supplies are not actually disabled due to board
    limits or sharing with other active devices this notifier allows the
    driver to avoid unneeded reinitialisation, particularly when used with
    runtime PM.

    Signed-off-by: Mark Brown

    Mark Brown
     
  • The C99 specification states in section 6.11.5:

    The placement of a storage-class specifier other than at the beginning
    of the declaration specifiers in a declaration is an obsolescent
    feature.

    Signed-off-by: Tobias Klauser
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Tobias Klauser
     
  • This patch, complete the mc13783 regulator subsystem driver with
    voltage selecting capability.
    Main Switches (SW1AB, SW2AB) are not supported yet.

    version 2 diffs:
    - delete the "Switchers PLL" enable and multiplication factor value
    selecting capability because it is not a voltage or current regulator.
    This will be a part of Main switcher supporting task.
    - Correct many coding style problems pointed me out.

    Signed-off-by: Alberto Panizzo
    Acked-by: Mark Brown
    Signed-off-by: Liam Girdwood

    Alberto Panizzo
     
  • * 'for-linus' of git://gitorious.org/linux-omap-dss2/linux: (49 commits)
    OMAP: DSS2: Taal: Fix TE when resuming
    OMAP: DSS2: Taal: Fix ESD check
    OMAP: DSS2: OMAPFB: Constify some function parameters
    OMAP: DSS2: OMAPFB: install omapfb.h
    OMAP: DSS2: DSI: add error prints
    OMAP: DSS2: TPO-TD03MTEA1: fix function names
    OMAP: DSS2: DSI: add dsi_vc_dcs_read_2() helper
    OMAP: DSS2: OMAPFB: Remove FB_OMAP2_FORCE_AUTO_UPDATE
    OMAP: DSS2: DSI: remove external TE support
    OMAP: DSS2: move timing functions
    OMAP: DSS2: move set/get_wss()
    OMAP: DSS2: move enable/disable/suspend/resume
    OMAP: DSS2: move update() and sync()
    OMAP: DSS2: move set/get_update_mode()
    OMAP: DSS2: move enable/get_te()
    OMAP: DSS2: move get_recommended_bpp()
    OMAP: DSS2: move get_resolution()
    OMAP: DSS2: move enable/disable_channel to overlay manager
    OMAP: DSS2: move wait_vsync()
    OMAP: DSS2: move get/set_rotate()
    ...

    Linus Torvalds
     
  • * 'omap-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tmlind/linux-omap-2.6: (214 commits)
    omap2: Initialize Menelaus and MMC for N8X0
    AM3517 EVM: correct typo - tca6416 mispelt as tca6516
    AM3517 EVM: Enable I2C support
    AM35x: Enable OMAP_MUX in defconfig
    AM35x: Add missing GPIO mux config for EHCI port
    Zoom3: Defconfig update
    omap: i2c: Fix muxing for command line enabled bus
    OMAP4: clock: Remove clock hacks from timer-gp.c
    OMAP4: clock: Add dummy clock nodes for interface clocks
    OMAP4: clock: Rename leaf clock nodes to end with a _ick or _fck
    OMAP2+ clock: revise omap2_clk_{disable,enable}()
    OMAP2/3 clock: combine OMAP2 & 3 boot-time MPU rate change code
    OMAP clockdomain: if no autodeps exist, don't try to add or remove them
    OMAP hwmod: add hwmod class support
    OMAP hwmod: convert header files with static allocations into C files
    OMAP hwmod: convert hwmod to use hardware clock names rather than clkdev dev+con
    OMAP clock: add omap_clk_get_by_name() for use by OMAP hwmod core code
    OMAP3: clock: add capability to change rate of dpll4_m5_ck_3630
    OMAP4 clock: drop the ALWAYS_ENABLED clock flag
    OMAP clock: drop RATE_FIXED clock flag
    ...

    Linus Torvalds
     
  • * 'for-linus' of git://git.kernel.dk/linux-2.6-block:
    Revert "blkdev: fix merge_bvec_fn return value checks"

    Linus Torvalds
     
  • This reverts commit 9f7cdbc33f36d28e57eaba0093f68f0d14c38c5b.

    It's causing oopses om dm setups, so revert it until we investigate.

    Reported-by: Dmitry Torokhov
    Tested-by: Steven Rostedt
    Signed-off-by: Jens Axboe

    Jens Axboe
     

02 Mar, 2010

10 commits

  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-next-2.6:
    sparc: Support show_unhandled_signals.
    sparc: use __ratelimit
    sunxvr500: Additional PCI id for sunxvr500 driver
    sparc: use asm-generic/scatterlist.h
    sparc64: If 'slot-names' property exist, create sysfs PCI slot information.
    sparc: remove trailing space in messages
    sparc: remove redundant return statements

    Linus Torvalds
     
  • * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1341 commits)
    virtio_net: remove forgotten assignment
    be2net: fix tx completion polling
    sis190: fix cable detect via link status poll
    net: fix protocol sk_buff field
    bridge: Fix build error when IGMP_SNOOPING is not enabled
    bnx2x: Tx barriers and locks
    scm: Only support SCM_RIGHTS on unix domain sockets.
    vhost-net: restart tx poll on sk_sndbuf full
    vhost: fix get_user_pages_fast error handling
    vhost: initialize log eventfd context pointer
    vhost: logging thinko fix
    wireless: convert to use netdev_for_each_mc_addr
    ethtool: do not set some flags, if others failed
    ipoib: returned back addrlen check for mc addresses
    netlink: Adding inode field to /proc/net/netlink
    axnet_cs: add new id
    bridge: Make IGMP snooping depend upon BRIDGE.
    bridge: Add multicast count/interval sysfs entries
    bridge: Add hash elasticity/max sysfs entries
    bridge: Add multicast_snooping sysfs toggle
    ...

    Trivial conflicts in Documentation/feature-removal-schedule.txt

    Linus Torvalds
     
  • TE was not initialized properly on power on, which broke TE when resuming
    from suspend.

    Signed-off-by: Tomi Valkeinen

    Tomi Valkeinen
     
  • This is no longer needed. I missed to remove this in
    567ec874d15b478c8eda7e9a5d2dcb05f13f1fb5 ("net: convert multiple
    drivers to use netdev_for_each_mc_addr, part6")

    Signed-off-by: Jiri Pirko
    Signed-off-by: David S. Miller

    Jiri Pirko
     
  • In tx/mcc polling, napi_complete() is being incorrectly called
    before reaping tx completions. This can cause tx compl processing
    to be scheduled on another cpu concurrently which can result in a panic.
    This if fixed by calling napi complete() after tx/mcc compl processing
    but before re-enabling interrupts (via a cq notify).

    Signed-off-by: Sathya Perla
    Signed-off-by: David S. Miller

    Sathya Perla
     
  • Some sis190 devices don't report LinkChange, so do polling for
    link status.

    Fixes http://bugzilla.kernel.org/show_bug.cgi?id=11926

    Signed-off-by: Herton Ronaldo Krzesinski
    Signed-off-by: David S. Miller

    Herton Ronaldo Krzesinski
     
  • Commit e992cd9b72a18 (kmemcheck: make bitfield annotations truly no-ops
    when disabled) allows us to revert a workaround we did in the past to
    not add holes in sk_buff structure.

    This patch partially reverts commit 14d18a81b5171
    (net: fix kmemcheck annotations) so that sparse doesnt complain:

    include/linux/skbuff.h:357:41: error: invalid bitfield specifier for
    type restricted __be16.

    Reported-by: Stefan Richter
    Signed-off-by: Eric Dumazet
    Signed-off-by: David S. Miller

    Eric Dumazet
     
  • Fix the following build error when IGMP_SNOOPING is not enabled.
    In file included from net/bridge/br.c:24:
    net/bridge/br_private.h: In function 'br_multicast_is_router':
    net/bridge/br_private.h:361: error: 'struct net_bridge' has no member named 'multicast_router'
    net/bridge/br_private.h:362: error: 'struct net_bridge' has no member named 'multicast_router'
    net/bridge/br_private.h:363: error: 'struct net_bridge' has no member named 'multicast_router_timer'

    Signed-off-by: Sridhar Samudrala
    Acked-by: Randy Dunlap
    Acked-by: Herbert Xu
    Signed-off-by: David S. Miller

    Sridhar Samudrala
     
  • Conflicts:
    arch/arm/plat-omap/Kconfig

    Tony Lindgren
     
  • …t/khilman/linux-davinci

    * 'davinci-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-davinci: (40 commits)
    DaVinci DM365: Adding support for SPI EEPROM
    DaVinci DM365: Adding DM365 SPI support
    DaVinci DM355: Modifications to DM355 SPI support
    DaVinci: SPI: Adding header file for SPI support.
    davinci: dm646x: CDCE clocks: davinci_clk converted to clk_lookup
    davinci: clkdev cleanup: remove clk_lookup wrapper, use clkdev_add_table()
    DaVinci: DM365: Voice codec support for the DM365 SoC
    davinci: clock: let clk->set_rate function sleep
    Add SDA and SCL pin numbers to i2c platform data
    davinci: da8xx/omap-l1xx: Add EDMA platform data for da850/omap-l138
    davinci: build list of unused EDMA events dynamically
    davinci: Fix edma_alloc_channel api for EDMA_CHANNEL_ANY case
    davinci: Keep count of channel controllers on a platform
    davinci: Correct return value of edma_alloc_channel api
    davinci: add CDCE949 support on DM6467 EVM
    davinci: add support for CDCE949 clock synthesizer
    davinci: da850/omap-l138 EVM: register for suspend support
    davinci: da850/omap-l138: add support for SoC suspend
    davinci: add power management support
    DaVinci: DM365: Changing default queue for DM365.
    ...

    Linus Torvalds