21 Aug, 2012

2 commits

  • Pull more USB patches from Greg Kroah-Hartman:
    "Here are 10 more USB patches for 3.6-rc3. They all fix reported
    problems (build problems for one of them, and easily repeatable oopses
    for the others.)

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'usb-3.6-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb:
    gpu/mfd/usb: Fix USB randconfig problems
    USB: CDC ACM: Fix NULL pointer dereference
    USB: emi62: remove __devinit* from the struct usb_device_id table
    USB: winbond: remove __devinit* from the struct usb_device_id table
    USB: vt6656: remove __devinit* from the struct usb_device_id table
    USB: rtl8187: remove __devinit* from the struct usb_device_id table
    USB: p54usb: remove __devinit* from the struct usb_device_id table
    USB: spca506: remove __devinit* from the struct usb_device_id table
    USB: jl2005bcd: remove __devinit* from the struct usb_device_id table
    USB: smsusb: remove __devinit* from the struct usb_device_id table

    Linus Torvalds
     
  • Fix config warning:

    warning: ( ... && DRM_USB) selects USB which has unmet direct dependencies
    (USB_SUPPORT && USB_ARCH_HAS_HCD)

    and build error:
    ERROR: "usb_speed_string" [drivers/usb/core/usbcore.ko] undefined!

    by adding the missing dependency on USB_ARCH_HAS_HCD to DRM_UDL and DRM_USB.

    This exposes:
    drivers/video/Kconfig:36:error: recursive dependency detected!
    drivers/video/Kconfig:36: symbol FB is selected by DRM_KMS_HELPER
    drivers/gpu/drm/Kconfig:28: symbol DRM_KMS_HELPER is selected by DRM_UDL
    drivers/gpu/drm/udl/Kconfig:1: symbol DRM_UDL depends on USB_ARCH_HAS_HCD
    drivers/usb/Kconfig:78: symbol USB_ARCH_HAS_HCD depends on USB_ARCH_HAS_OHCI
    drivers/usb/Kconfig:16: symbol USB_ARCH_HAS_OHCI depends on I2C
    drivers/i2c/Kconfig:5: symbol I2C is selected by FB_DDC
    drivers/video/Kconfig:86: symbol FB_DDC is selected by FB_CYBER2000_DDC
    drivers/video/Kconfig:385: symbol FB_CYBER2000_DDC depends on FB_CYBER2000
    drivers/video/Kconfig:373: symbol FB_CYBER2000 depends on FB

    which is due to drivers/usb/Kconfig:
    config USB_ARCH_HAS_OHCI
    ...
    default y if ARCH_PNX4008 && I2C

    Fix by dropping I2C from the above dependency; logic is that this is not a
    platform dependency but a configuration dependency: the _architecture_ still
    supports USB even is I2C is not selected.

    This exposes:
    drivers/video/Kconfig:36:error: recursive dependency detected!
    drivers/video/Kconfig:36: symbol FB is selected by DRM_KMS_HELPER
    drivers/gpu/drm/Kconfig:28: symbol DRM_KMS_HELPER is selected by DRM_UDL
    drivers/gpu/drm/udl/Kconfig:1: symbol DRM_UDL depends on USB_ARCH_HAS_HCD
    drivers/usb/Kconfig:78: symbol USB_ARCH_HAS_HCD depends on USB_ARCH_HAS_OHCI
    drivers/usb/Kconfig:17: symbol USB_ARCH_HAS_OHCI depends on MFD_TC6393XB
    drivers/mfd/Kconfig:396: symbol MFD_TC6393XB depends on GPIOLIB
    drivers/gpio/Kconfig:35: symbol GPIOLIB is selected by FB_VIA
    drivers/video/Kconfig:1560: symbol FB_VIA depends on FB

    which can be fixed by having MFD_TC6393XB select GPIOLIB instead of depending on
    it.

    Signed-off-by: Guenter Roeck
    Signed-off-by: Greg Kroah-Hartman

    Guenter Roeck
     

10 Aug, 2012

1 commit

  • These patches all fix bugs that were newly introduced in v3.6-rc1
    and found because they cause a gcc warning with one of the ARM
    defconfigs. Most of them are harmless, but since we're trying
    to get rid of all warnings eventually, we can start with the ones
    that were not there before.

    * testing/new-warnings:
    omap-rng: fix use of SIMPLE_DEV_PM_OPS
    spi/s3c64xx: improve error handling
    mtd/omap2: fix dmaengine_slave_config error handling
    gpio: em: do not discard em_gio_irq_domain_cleanup
    ARM: exynos: exynos_pm_add_dev_to_genpd may be unused
    usb/ohci-omap: remove unused variable
    mfd/asic3: fix asic3_mfd_probe return value

    Signed-off-by: Arnd Bergmann

    Arnd Bergmann
     

09 Aug, 2012

2 commits

  • The irq_to_gpio function was removed from the pxa platform
    in linux-3.2, and this driver has been broken since.

    There is actually no in-tree user of this driver that adds
    this platform device, but the driver can and does get enabled
    on some platforms.

    Without this patch, building ezx_defconfig results in:

    drivers/mfd/ezx-pcap.c: In function 'pcap_isr_work':
    drivers/mfd/ezx-pcap.c:205:2: error: implicit declaration of function 'irq_to_gpio' [-Werror=implicit-function-declaration]

    Signed-off-by: Arnd Bergmann
    Acked-by: Haojian Zhuang
    Cc: stable@vger.kernel.org (v3.2+)
    Cc: Samuel Ortiz
    Cc: Daniel Ribeiro

    Arnd Bergmann
     
  • In commit 4f304245b "mfd: Set asic3 DS1WM clock_rate", a possible
    path through asic3_mfd_probe was introduced that would lead to
    an unpredictable return value, if everything succeeds but there
    are pdata->leds is NULL. This was reported correctly by gcc.

    Without this patch, building magician_defconfig results in:

    drivers/mfd/asic3.c: In function 'asic3_mfd_probe':
    drivers/mfd/asic3.c:940:2: warning: 'ret' may be used uninitialized in this function [-Wuninitialized]

    Signed-off-by: Arnd Bergmann
    Cc: Paul Parsons
    Cc: Philipp Zabel
    Cc: Samuel Ortiz

    Arnd Bergmann
     

01 Aug, 2012

2 commits

  • 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

3 commits

  • 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
     
  • Pull MFD bits from Samuel Ortiz:
    "We have support for a few new drivers:
    - Samsung s2mps11
    - Wolfson Microelectronics wm5102 and wm5110
    - Marvell 88PM800 and 88PM805
    - TI twl6041

    We also have our regular driver improvements:
    - Device tree and IRQ domain support for STE AB8500
    - Regmap and devm_* API conversion for TI tps6586x
    - Device tree support for Samsung max77686
    - devm_* API conversion for STE AB3100

    Besides that, quite a lot of fixing and cleanup for mc13xxx, tps65910,
    tps65090, da9052 and twl-core."

    Fix up mostly trivial conflicts, with the exception of
    drivers/usb/host/ehci-omap.c in particular, which had some
    re-organization of the reset sequence (commit 1a49e2ac9651: "EHCI:
    centralize controller initialization") that clashed with commit
    2761a6394516 ("mfd: USB: Fix the omap-usb EHCI ULPI PHY reset fix
    issues").

    In particular, commit 2761a6394516 moved the usb_add_hcd() to the
    *middle* of the reset sequence, which clashes fairly badly with the
    reset sequence re-organization (although it could have been done inside
    the new omap_ehci_init() function).

    I left that part of commit 2761a6394516 just undone.

    * tag 'mfd-3.6-1' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6: (110 commits)
    mfd: Ensure AB8500 platform data is passed through db8500-prcmu to MFD Core
    mfd: Arizone core should select MFD_CORE
    mfd: Fix arizona-irq.c build by selecting REGMAP_IRQ
    mfd: Add debug trace on entering and leaving arizone runtime suspend
    mfd: Correct tps65090 cell names
    mfd: Remove gpio support from tps6586x core driver
    ARM: tegra: defconfig: Enable tps6586x gpio
    gpio: tps6586x: Add gpio support through platform driver
    mfd: Cache tps6586x register through regmap
    mfd: Use regmap for tps6586x register access.
    mfd: Use devm managed resources for tps6586x
    input: Add onkey support for 88PM80X PMIC
    mfd: Add support for twl6041
    mfd: Fix twl6040 revision information
    mfd: Matches should be NULL when populate anatop child devices
    input: ab8500-ponkey: Create AB8500 domain IRQ mapping
    mfd: Add missing out of memory check for pcf50633
    Documentation: Describe the AB8500 Device Tree bindings
    mfd: Add tps65910 32-kHz-crystal-input init
    mfd: Drop modifying mc13xxx driver's id_table in probe
    ...

    Linus Torvalds
     
  • Pull PWM subsystem from Thierry Reding:
    "The new PWM subsystem aims at collecting all implementations of the
    legacy PWM API and to eventually replace it completely.

    The subsystem has been in development for over half a year now and
    many drivers have already been converted. It has been in linux-next
    for a couple of weeks and there have been no major issues so I think
    it is ready for inclusion in your tree."

    Arnd Bergmann :
    "Very much Ack on the new subsystem. It uses the interface
    declarations as the previously separate pwm drivers, so nothing
    changes for now in the drivers using it, although it enables us to
    change those more easily in the future if we want to.

    This work is also one of the missing pieces that are required to
    eventually build ARM kernels for multiple platforms, which is
    currently prohibited (amongs other things) by the fact that you cannot
    have more than one driver exporting the pwm functions."

    Tested-and-acked-by: Alexandre Courbot
    Acked-by: Mark Brown
    Acked-by: Philip, Avinash # TI's AM33xx platforms
    Acked-By: Alexandre Pereira da Silva # LPC32XX
    Acked-by: Arnd Bergmann
    Acked-by: Sachin Kamat

    Fix up trivial conflicts with other cleanups and DT updates.

    * 'for-3.6' of git://gitorious.org/linux-pwm/linux-pwm: (36 commits)
    pwm: pwm-tiehrpwm: PWM driver support for EHRPWM
    pwm: pwm-tiecap: PWM driver support for ECAP APWM
    pwm: fix used-uninitialized warning in pwm_get()
    pwm: add lpc32xx PWM support
    pwm_backlight: pass correct brightness to callback
    pwm: Use pr_* functions in pwm-samsung.c file
    pwm: Convert pwm-samsung to use devm_* APIs
    pwm: Convert pwm-tegra to use devm_clk_get()
    pwm: pwm-mxs: Return proper error if pwmchip_remove() fails
    pwm: pwm-bfin: Return proper error if pwmchip_remove() fails
    pwm: pxa: Propagate pwmchip_remove() error
    pwm: Convert pwm-pxa to use devm_* APIs
    pwm: Convert pwm-vt8500 to use devm_* APIs
    pwm: Convert pwm-imx to use devm_* APIs
    pwm: Conflict with legacy PWM API
    pwm: pwm-mxs: add pinctrl support
    pwm: pwm-mxs: use devm_* managed functions
    pwm: pwm-mxs: use global reset function stmp_reset_block
    pwm: pwm-mxs: encode soc name in compatible string
    pwm: Take over maintainership of the PWM subsystem
    ...

    Linus Torvalds
     

29 Jul, 2012

1 commit

  • Pull embedded i2c changes from Wolfram Sang:
    "Changes for the "embedded" part of the I2C subsystem:

    - lots of devicetree conversions of drivers (and preparations for
    that)
    - big cleanups for drivers for OMAP, Tegra, Nomadik, Blackfin
    - Rafael's struct dev_pm_ops conversion patches for I2C
    - usual driver cleanups and fixes

    All patches have been in linux-next for an apropriate time and all
    patches touching files outside of i2c-folders should have proper acks
    from the maintainers."

    * 'i2c-embedded/for-next' of git://git.pengutronix.de/git/wsa/linux: (60 commits)
    Revert "i2c: tegra: convert normal suspend/resume to *_noirq"
    I2C: MV64XYZ: Add Device Tree support
    i2c: stu300: use devm managed resources
    i2c: i2c-ocores: support for 16bit and 32bit IO
    V4L/DVB: mfd: use reg_shift instead of regstep
    i2c: i2c-ocores: Use reg-shift property
    i2c: i2c-ocores: DT bindings and minor fixes.
    i2c: mv64xxxx: remove EXPERIMENTAL tag
    i2c-s3c2410: Use plain pm_runtime_put()
    i2c: s3c2410: Fix pointer type passed to of_match_node()
    i2c: mxs: Set I2C timing registers for mxs-i2c
    i2c: i2c-bfin-twi: Move blackfin TWI register access Macro to head file.
    i2c: i2c-bfin-twi: Move TWI peripheral pin request array to platform data.
    i2c:i2c-bfin-twi: include twi head file
    i2c:i2c-bfin-twi: TWI fails to restart next transfer in high system load.
    i2c: i2c-bfin-twi: Tighten condition when failing I2C transfer if MEN bit is reset unexpectedly.
    i2c: i2c-bfin-twi: Break dead waiting loop if i2c device misbehaves.
    i2c: i2c-bfin-twi: Improve the patch for bug "Illegal i2c bus lock upon certain transfer scenarios".
    i2c: i2c-bfin-twi: Illegal i2c bus lock upon certain transfer scenarios.
    i2c-mv64xxxx: allow more than one driver instance
    ...

    Conflicts:
    drivers/i2c/busses/i2c-nomadik.c

    Linus Torvalds
     

27 Jul, 2012

2 commits

  • When booting via platform code the AB8500 platform data is now passed
    in though the DB8500. However, if pdata_size is not set it will not be
    subsequently passed onto subordinate devices. This patch correctly
    populates pdata_size.

    Signed-off-by: Lee Jones
    Signed-off-by: Samuel Ortiz

    Lee Jones
     
  • Otherwise, with:

    CONFIG_MFD_ARIZONA=y
    CONFIG_MFD_ARIZONA_I2C=m
    CONFIG_MFD_CORE=m

    We get:

    drivers/built-in.o: In function `arizona_dev_init':
    (.devinit.text+0x3ab0): undefined reference to `mfd_add_devices'
    drivers/built-in.o: In function `arizona_dev_init':
    (.devinit.text+0x3fdc): undefined reference to `mfd_add_devices'
    drivers/built-in.o: In function `arizona_dev_init':
    (.devinit.text+0x3fff): undefined reference to `mfd_add_devices'
    drivers/built-in.o: In function `arizona_dev_init':
    (.devinit.text+0x4059): undefined reference to `mfd_remove_devices'
    drivers/built-in.o: In function `arizona_dev_exit':
    (.devexit.text+0x9): undefined reference to `mfd_remove_devices'

    Reported-by: Randy Dunlap
    Signed-off-by: Samuel Ortiz

    Samuel Ortiz
     

25 Jul, 2012

8 commits


23 Jul, 2012

1 commit

  • In order to avoid duplicate symbols with legacy PWM API implementations,
    the new PWM framework needs to conflict with any of the existing legacy
    implementations. This is done in two ways: for implementations provided
    by drivers, a conflict is added to the driver to ensure it will have to
    be ported to the PWM subsystem before it can coexist with other PWM
    providers. For architecture-specific code, the conflict is added to the
    PWM symbol to avoid confusion when a previously picked platform or
    machine can no longer be selected because of the PWM subsystem being
    included.

    Signed-off-by: Thierry Reding

    Thierry Reding
     

19 Jul, 2012

3 commits

  • 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"
    Cc: Samuel Ortiz

    Theodore Ts'o
     
  • With the new interrupt sampling system, we are no longer using the
    timer_rand_state structure in the irq descriptor, so we can stop
    initializing it now.

    [ Merged in fixes from Sedat to find some last missing references to
    rand_initialize_irq() ]

    Signed-off-by: "Theodore Ts'o"
    Signed-off-by: Sedat Dilek

    Theodore Ts'o
     
  • wm831x devices contain a unique ID value. Feed this into the newly added
    device_add_randomness() to add some per device seed data to the pool.

    Signed-off-by: Mark Brown
    Signed-off-by: Theodore Ts'o
    Cc: stable@vger.kernel.org

    Mark Brown
     

17 Jul, 2012

1 commit


16 Jul, 2012

14 commits