23 Oct, 2012

11 commits

  • There are some scnearios where a driver/framework needs to register
    interest for a particular cable without specifying the extcon device
    name. One such scenario is charger notifications. The platform will
    have charger cabel which will be bound to any extcon device. It's
    not mandatory for the charger driver to know which extcon device
    it should use. This patch enables the support for registering
    interest for a cable just by cable name wihtout specifying the
    extcon device name

    Signed-off-by: Jenny TC
    Signed-off-by: MyungJoo Ham
    Tested-by: Chanwoo Choi

    --
    Kernel-doc comment added by MyungJoo Ham

    Jenny TC
     
  • Extcon core doesn't free the memory when we do unregister.
    Kfree is added in the remove path as it was missing.

    Signed-off-by: anish kumar
    Signed-off-by: Chanwoo Choi
    Signed-off-by: MyungJoo Ham

    anish kumar
     
  • There was a case where free and list_del can be called twice
    on the same pointer.So fixed it by re-arranging the code and
    removing a function which was not needed.

    Signed-off-by: anish kumar
    Signed-off-by: Chanwoo Choi
    Signed-off-by: MyungJoo Ham

    anish kumar
     
  • This patch add platform data for MUIC device to initialize register
    on probe() call because it should unmask interrupt mask register
    and initialize some register related to MUIC device.

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

    Chanwoo Choi
     
  • This simplifies the code.

    Signed-off-by: Axel Lin
    Signed-off-by: Chanwoo Choi

    Axel Lin
     
  • Signed-off-by: Axel Lin
    Signed-off-by: Chanwoo Choi

    Axel Lin
     
  • This driver can be built as a module, add MODULE_LICENSE for it.
    For completeness, also adds MODULE_AUTHOR and MODULE_DESCRIPTION.

    Signed-off-by: Axel Lin
    Signed-off-by: Chanwoo Choi

    Axel Lin
     
  • On failure, request_any_context_irq() returns a negative value.
    On success, it returns either IRQC_IS_HARDIRQ or IRQC_IS_NESTED.

    Also ensure adc_jack_probe() return 0 on success.

    Signed-off-by: Axel Lin
    Signed-off-by: Chanwoo Choi

    Axel Lin
     
  • Propagate the value returned from extcon_find_cable_index()
    instead of -ENODEV. For readability, -EINVAL is returned in place of
    the variable.

    Signed-off-by: Sachin Kamat
    Signed-off-by: Chanwoo Choi

    Sachin Kamat
     
  • Since extcon registers this compat link at device registration
    (extcon_dev_register), we should probably remove them at deregistration/cleanup.

    Cc: stable@vger.kernel.org
    Signed-off-by: Peter Huewe
    Signed-off-by: Chanwoo Choi

    Peter Huewe
     
  • If you compile extcon with CONFIG_ANDROID and then load and unload the
    module you get a simple oops as the driver does not unregister its
    compat class and thus cannot register it again.

    Full trace:

    root@(none):~# modprobe extcon_class
    root@(none):~# rmmod extcon_class
    root@(none):~# modprobe extcon_class
    ------------[ cut here ]------------
    WARNING: at fs/sysfs/dir.c:536 sysfs_add_one+0xde/0x100()
    sysfs: cannot create duplicate filename '/class/switch'
    Modules linked in: extcon_class(+) [last unloaded: extcon_class]
    Call Trace:
    9f451a00: [] printk+0x0/0xa8
    9f451a18: [] warn_slowpath_common+0x93/0xd0
    9f451a28: [] sysfs_add_one+0xde/0x100
    9f451a50: [] strcat+0x0/0x40
    9f451a68: [] warn_slowpath_fmt+0x9c/0xa0
    9f451a90: [] unblock_signals+0x0/0x84
    9f451ab0: [] warn_slowpath_fmt+0x0/0xa0
    9f451ac0: [] unblock_signals+0x0/0x84
    9f451ae8: [] sysfs_pathname.isra.10+0x57/0x70
    9f451b00: [] strcat+0x0/0x40
    9f451b18: [] sysfs_pathname.isra.10+0x57/0x70
    9f451b48: [] sysfs_add_one+0xde/0x100
    9f451b78: [] create_dir+0x8f/0x100
    9f451bc0: [] extcon_class_init+0x0/0x12 [extcon_class]
    9f451bd8: [] sysfs_create_dir+0xa6/0x1c0
    9f451be8: [] kvasprintf+0x81/0xa0
    9f451bf8: [] kobject_get+0x0/0x50
    9f451c18: [] kobject_add_internal+0x96/0x280
    9f451c60: [] extcon_class_init+0x0/0x12 [extcon_class]
    9f451c78: [] kobject_add+0xd3/0x140
    9f451cc0: [] kobject_add+0x0/0x140
    9f451cd0: [] unblock_signals+0x0/0x84
    9f451cf8: [] set_signals+0x29/0x3f
    9f451d28: [] kmem_cache_alloc+0xe1/0x100
    9f451d78: [] kobject_create_and_add+0x50/0xa0
    9f451da8: [] class_compat_register+0x56/0x80
    9f451dc8: [] create_extcon_class+0x88/0xd0 [extcon_class]
    9f451de8: [] extcon_class_init+0x10/0x12 [extcon_class]
    9f451df8: [] do_one_initcall+0x48/0x1f0
    9f451e20: [] blocking_notifier_call_chain+0x0/0x20
    9f451e30: [] blocking_notifier_call_chain+0x0/0x20
    9f451e58: [] sys_init_module+0xa3/0x280
    9f451e88: [] handle_syscall+0x8d/0x90
    9f451ea8: [] userspace+0x405/0x531
    9f451ee8: [] copy_chunk_to_user+0x0/0x40
    9f451ef8: [] do_op_one_page+0x14d/0x220
    9f451fd8: [] fork_handler+0x95/0xa0

    ---[ end trace dd512cc03fe1c367 ]---
    ------------[ cut here ]------------
    WARNING: at lib/kobject.c:196 kobject_add_internal+0x26e/0x280()
    kobject_add_internal failed for switch with -EEXIST, don't try to
    register things with the same name in the same directory.
    Modules linked in: extcon_class(+) [last unloaded: extcon_class]
    Call Trace:
    9f451ad0: [] printk+0x0/0xa8
    9f451ae8: [] warn_slowpath_common+0x93/0xd0
    9f451af8: [] kobject_add_internal+0x26e/0x280
    9f451b18: [] kobject_put+0x0/0x70
    9f451b20: [] extcon_class_init+0x0/0x12 [extcon_class]
    9f451b38: [] warn_slowpath_fmt+0x9c/0xa0
    9f451b88: [] warn_slowpath_fmt+0x0/0xa0
    9f451bc0: [] extcon_class_init+0x0/0x12 [extcon_class]
    9f451bd8: [] sysfs_create_dir+0xa6/0x1c0
    9f451be8: [] kvasprintf+0x81/0xa0
    9f451bf8: [] kobject_get+0x0/0x50
    9f451c18: [] kobject_add_internal+0x26e/0x280
    9f451c60: [] extcon_class_init+0x0/0x12 [extcon_class]
    9f451c78: [] kobject_add+0xd3/0x140
    9f451cc0: [] kobject_add+0x0/0x140
    9f451cd0: [] unblock_signals+0x0/0x84
    9f451cf8: [] set_signals+0x29/0x3f
    9f451d28: [] kmem_cache_alloc+0xe1/0x100
    9f451d78: [] kobject_create_and_add+0x50/0xa0
    9f451da8: [] class_compat_register+0x56/0x80
    9f451dc8: [] create_extcon_class+0x88/0xd0 [extcon_class]
    9f451de8: [] extcon_class_init+0x10/0x12 [extcon_class]
    9f451df8: [] do_one_initcall+0x48/0x1f0
    9f451e20: [] blocking_notifier_call_chain+0x0/0x20
    9f451e30: [] blocking_notifier_call_chain+0x0/0x20
    9f451e58: [] sys_init_module+0xa3/0x280
    9f451e88: [] handle_syscall+0x8d/0x90
    9f451ea8: [] userspace+0x405/0x531
    9f451ee8: [] copy_chunk_to_user+0x0/0x40
    9f451ef8: [] do_op_one_page+0x14d/0x220
    9f451fd8: [] fork_handler+0x95/0xa0

    ---[ end trace dd512cc03fe1c368 ]---
    kobject_create_and_add: kobject_add error: -17
    ------------[ cut here ]------------
    WARNING: at drivers/extcon/extcon_class.c:545
    create_extcon_class+0xbc/0xd0 [extcon_class]()
    cannot allocate
    Modules linked in: extcon_class(+) [last unloaded: extcon_class]
    Call Trace:
    9f451c80: [] printk+0x0/0xa8
    9f451c98: [] warn_slowpath_common+0x93/0xd0
    9f451ca0: [] unblock_signals+0x0/0x84
    9f451ca8: [] create_extcon_class+0xbc/0xd0 [extcon_class]
    9f451cd0: [] extcon_class_init+0x0/0x12 [extcon_class]
    9f451ce8: [] warn_slowpath_fmt+0x9c/0xa0
    9f451d20: [] unblock_signals+0x0/0x84
    9f451d28: [] warn_slowpath_fmt+0x0/0xa0
    9f451d48: [] set_signals+0x29/0x3f
    9f451d58: [] kobject_put+0x32/0x70
    9f451d78: [] kfree+0xb3/0x100
    9f451da8: [] class_compat_register+0x7a/0x80
    9f451dc8: [] create_extcon_class+0xbc/0xd0 [extcon_class]
    9f451de8: [] extcon_class_init+0x10/0x12 [extcon_class]
    9f451df8: [] do_one_initcall+0x48/0x1f0
    9f451e20: [] blocking_notifier_call_chain+0x0/0x20
    9f451e30: [] blocking_notifier_call_chain+0x0/0x20
    9f451e58: [] sys_init_module+0xa3/0x280
    9f451e88: [] handle_syscall+0x8d/0x90
    9f451ea8: [] userspace+0x405/0x531
    9f451ee8: [] copy_chunk_to_user+0x0/0x40
    9f451ef8: [] do_op_one_page+0x14d/0x220
    9f451fd8: [] fork_handler+0x95/0xa0

    ---[ end trace dd512cc03fe1c369 ]---
    FATAL: Error inserting extcon_class
    (/lib/modules/3.6.0-rc6-00178-g811315f/kernel/drivers/extcon/extcon_class.ko):
    Cannot allocate memory

    This patch fixes this.

    Cc: stable@vger.kernel.org
    Signed-off-by: Peter Huewe
    Signed-off-by: Chanwoo Choi

    Peter Huewe
     

22 Oct, 2012

4 commits


03 Oct, 2012

1 commit

  • Pull workqueue changes from Tejun Heo:
    "This is workqueue updates for v3.7-rc1. A lot of activities this
    round including considerable API and behavior cleanups.

    * delayed_work combines a timer and a work item. The handling of the
    timer part has always been a bit clunky leading to confusing
    cancelation API with weird corner-case behaviors. delayed_work is
    updated to use new IRQ safe timer and cancelation now works as
    expected.

    * Another deficiency of delayed_work was lack of the counterpart of
    mod_timer() which led to cancel+queue combinations or open-coded
    timer+work usages. mod_delayed_work[_on]() are added.

    These two delayed_work changes make delayed_work provide interface
    and behave like timer which is executed with process context.

    * A work item could be executed concurrently on multiple CPUs, which
    is rather unintuitive and made flush_work() behavior confusing and
    half-broken under certain circumstances. This problem doesn't
    exist for non-reentrant workqueues. While non-reentrancy check
    isn't free, the overhead is incurred only when a work item bounces
    across different CPUs and even in simulated pathological scenario
    the overhead isn't too high.

    All workqueues are made non-reentrant. This removes the
    distinction between flush_[delayed_]work() and
    flush_[delayed_]_work_sync(). The former is now as strong as the
    latter and the specified work item is guaranteed to have finished
    execution of any previous queueing on return.

    * In addition to the various bug fixes, Lai redid and simplified CPU
    hotplug handling significantly.

    * Joonsoo introduced system_highpri_wq and used it during CPU
    hotplug.

    There are two merge commits - one to pull in IRQ safe timer from
    tip/timers/core and the other to pull in CPU hotplug fixes from
    wq/for-3.6-fixes as Lai's hotplug restructuring depended on them."

    Fixed a number of trivial conflicts, but the more interesting conflicts
    were silent ones where the deprecated interfaces had been used by new
    code in the merge window, and thus didn't cause any real data conflicts.

    Tejun pointed out a few of them, I fixed a couple more.

    * 'for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/wq: (46 commits)
    workqueue: remove spurious WARN_ON_ONCE(in_irq()) from try_to_grab_pending()
    workqueue: use cwq_set_max_active() helper for workqueue_set_max_active()
    workqueue: introduce cwq_set_max_active() helper for thaw_workqueues()
    workqueue: remove @delayed from cwq_dec_nr_in_flight()
    workqueue: fix possible stall on try_to_grab_pending() of a delayed work item
    workqueue: use hotcpu_notifier() for workqueue_cpu_down_callback()
    workqueue: use __cpuinit instead of __devinit for cpu callbacks
    workqueue: rename manager_mutex to assoc_mutex
    workqueue: WORKER_REBIND is no longer necessary for idle rebinding
    workqueue: WORKER_REBIND is no longer necessary for busy rebinding
    workqueue: reimplement idle worker rebinding
    workqueue: deprecate __cancel_delayed_work()
    workqueue: reimplement cancel_delayed_work() using try_to_grab_pending()
    workqueue: use mod_delayed_work() instead of __cancel + queue
    workqueue: use irqsafe timer for delayed_work
    workqueue: clean up delayed_work initializers and add missing one
    workqueue: make deferrable delayed_work initializer names consistent
    workqueue: cosmetic whitespace updates for macro definitions
    workqueue: deprecate system_nrt[_freezable]_wq
    workqueue: deprecate flush[_delayed]_work_sync()
    ...

    Linus Torvalds
     

02 Oct, 2012

1 commit

  • Pull driver core merge from Greg Kroah-Hartman:
    "Here is the big driver core update for 3.7-rc1.

    A number of firmware_class.c updates (as you saw a month or so ago),
    and some hyper-v updates and some printk fixes as well. All patches
    that are outside of the drivers/base area have been acked by the
    respective maintainers, and have all been in the linux-next tree for a
    while.

    Signed-off-by: Greg Kroah-Hartman "

    * tag 'driver-core-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (95 commits)
    memory: tegra{20,30}-mc: Fix reading incorrect register in mc_readl()
    device.h: Add missing inline to #ifndef CONFIG_PRINTK dev_vprintk_emit
    memory: emif: Add ifdef CONFIG_DEBUG_FS guard for emif_debugfs_[init|exit]
    Documentation: Fixes some translation error in Documentation/zh_CN/gpio.txt
    Documentation: Remove 3 byte redundant code at the head of the Documentation/zh_CN/arm/booting
    Documentation: Chinese translation of Documentation/video4linux/omap3isp.txt
    device and dynamic_debug: Use dev_vprintk_emit and dev_printk_emit
    dev: Add dev_vprintk_emit and dev_printk_emit
    netdev_printk/netif_printk: Remove a superfluous logging colon
    netdev_printk/dynamic_netdev_dbg: Directly call printk_emit
    dev_dbg/dynamic_debug: Update to use printk_emit, optimize stack
    driver-core: Shut up dev_dbg_reatelimited() without DEBUG
    tools/hv: Parse /etc/os-release
    tools/hv: Check for read/write errors
    tools/hv: Fix exit() error code
    tools/hv: Fix file handle leak
    Tools: hv: Implement the KVP verb - KVP_OP_GET_IP_INFO
    Tools: hv: Rename the function kvp_get_ip_address()
    Tools: hv: Implement the KVP verb - KVP_OP_SET_IP_INFO
    Tools: hv: Add an example script to configure an interface
    ...

    Linus Torvalds
     

28 Sep, 2012

1 commit


17 Sep, 2012

2 commits

  • This pulls in the fixes in that branch that are needed here as well.

    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • Pull mfd fixes from Samuel Ortiz:
    "This is the remaining MFD fixes for 3.6, with 5 pending fixes:

    - A tps65217 build error fix.
    - A lcp_ich regression fix caused by the MFD driver failing to
    initialize the watchdog sub device due to ACPI conflicts.
    - 2 MAX77693 interrupt handling bug fixes.
    - An MFD core fix, adding an IRQ domain argument to the MFD device
    addition API in order to prevent silent and potentially harmful
    remapping behaviour changes for drivers supporting non-DT
    platforms."

    * tag 'mfd-for-linus-3.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/sameo/mfd-2.6:
    mfd: MAX77693: Fix NULL pointer error when initializing irqs
    mfd: MAX77693: Fix interrupt handling bug
    mfd: core: Push irqdomain mapping out into devices
    mfd: lpc_ich: Fix a 3.5 kernel regression for iTCO_wdt driver
    mfd: Move tps65217 regulator plat data handling to regulator

    Linus Torvalds
     

16 Sep, 2012

1 commit

  • This patch initialize register map of MUIC device because mfd driver
    of Maxim MAX77693 use regmap-muic instance of MUIC device when irqs of
    Maxim MAX77693 is initialized before call max77693-muic probe() function.

    Signed-off-by: Chanwoo Choi
    Signed-off-by: Myungjoo Ham
    Signed-off-by: Kyungmin Park
    Reported-by: Sylwester Nawrocki
    Acked-by: Greg Kroah-Hartman
    Signed-off-by: Samuel Ortiz

    Chanwoo Choi
     

10 Sep, 2012

1 commit

  • We can perform microphone detection with MICVDD in bypass mode so try to
    enable that during startup for minimal power - other users or machine
    constraints will prevent bypass mode being activated if it is unsuitable.

    Signed-off-by: Mark Brown
    Acked-by: Greg Kroah-Hartman

    Mark Brown
     

07 Sep, 2012

1 commit

  • Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci

    Make sure threaded IRQs without a primary handler are always
    requested with IRQF_ONESHOT.

    Signed-off-by: Fengguang Wu
    Signed-off-by: Greg Kroah-Hartman

    Fengguang Wu
     

06 Sep, 2012

6 commits

  • extcon-arizona uses input_*() functions so it should depend
    on INPUT.

    ERROR: "input_event" [drivers/extcon/extcon-arizona.ko] undefined!
    ERROR: "input_free_device" [drivers/extcon/extcon-arizona.ko] undefined!
    ERROR: "input_register_device" [drivers/extcon/extcon-arizona.ko] undefined!
    ERROR: "input_set_capability" [drivers/extcon/extcon-arizona.ko] undefined!
    ERROR: "input_allocate_device" [drivers/extcon/extcon-arizona.ko] undefined!
    ERROR: "input_unregister_device" [drivers/extcon/extcon-arizona.ko] undefined!

    Signed-off-by: Randy Dunlap
    Cc: MyungJoo Ham
    Cc: Chanwoo Choi
    Cc: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Randy Dunlap
     
  • External connector devices that decides connection information based on
    ADC values may use adc-jack device driver. The user simply needs to
    provide a table of adc range and connection states. Then, extcon
    framework will automatically notify others.

    Changes in V1:
    added Lars-Peter Clausen suggested changes:
    Using macros to get rid of boiler plate code such as devm_kzalloc
    and module_platform_driver.Other changes suggested are related to
    coding guidelines.

    Changes in V2:
    Removed some unnecessary checks and changed the way we are un-regitering
    extcon and freeing the irq while removing.

    Changes in V3:
    Renamed the files to comply with extcon naming.

    Changes in V4:
    Added the cancel_work_sync during removing of driver.

    Changes in V5:
    Added the dependency of IIO in Kconfig.

    Changes in V6:
    Some nitpicks related to naming.

    Changes in this version:
    V6 patch version patch broke the build:
    ERROR: "extcon_cable_name" [drivers/extcon/extcon-adc-jack.ko] undefined!

    Fixed it in this version.

    Acked-by: Jonathan Cameron
    Reviewed-by: Lars-Peter Clausen
    Signed-off-by: anish kumar
    Signed-off-by: MyungJoo Ham
    Signed-off-by: Greg Kroah-Hartman

    anish kumar
     
  • Signed-off-by: Peter Meerwald
    Signed-off-by: Myungjoo Ham
    Signed-off-by: Greg Kroah-Hartman

    Peter Meerwald
     
  • Signed-off-by: Peter Meerwald
    Signed-off-by: Chanwoo Choi
    Signed-off-by: Greg Kroah-Hartman

    Peter Meerwald
     
  • Signed-off-by: Peter Meerwald
    Signed-off-by: MyungJoo Ham
    Signed-off-by: Greg Kroah-Hartman

    Peter Meerwald
     
  • Signed-off-by: Mark Brown
    Signed-off-by: Chanwoo Choi
    Signed-off-by: Greg Kroah-Hartman

    Mark Brown
     

27 Aug, 2012

1 commit


17 Aug, 2012

6 commits

  • The operation of lockdep requires that all dynamically allocated sysfs
    nodes are initialised using sysfs_attr_init() otherwise lots of warnings
    are generated. Ensure that all the dynamically allocated attributes that
    extcon generates have this done.

    Signed-off-by: Mark Brown
    Signed-off-by: Greg Kroah-Hartman

    Mark Brown
     
  • Replaced '_' with '-' in the extcon file names, which has been bogging
    since new drivers have been using the standard naming.

    Signed-off-by: MyungJoo Ham
    Signed-off-by: Greg Kroah-Hartman

    MyungJoo Ham
     
  • This reverts commit 980d7929816236476967218645c30acc022042eb as it
    breaks the build with the error:
    ERROR: "extcon_cable_name" [drivers/extcon/extcon-adc-jack.ko] undefined!

    Cc: Lars-Peter Clausen
    Cc: anish kumar
    Cc: MyungJoo Ham
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     
  • External connector devices that decides connection information based on
    ADC values may use adc-jack device driver. The user simply needs to
    provide a table of adc range and connection states. Then, extcon
    framework will automatically notify others.

    Changes in V1:
    added Lars-Peter Clausen suggested changes:
    Using macros to get rid of boiler plate code such as devm_kzalloc
    and module_platform_driver.Other changes suggested are related to
    coding guidelines.

    Changes in V2:
    Removed some unnecessary checks and changed the way we are un-regitering
    extcon and freeing the irq while removing.

    Changes in V3:
    Renamed the files to comply with extcon naming.

    Changes in V4:
    Added the cancel_work_sync during removing of driver.

    Changes in V5:
    Added the dependency of IIO in Kconfig.

    Changes in V6:
    Some nitpicks related to naming.

    Reviewed-by: Lars-Peter Clausen
    Signed-off-by: anish kumar
    Signed-off-by: MyungJoo Ham
    Signed-off-by: Greg Kroah-Hartman

    anish kumar
     
  • As well as identifying accessories the accessory detection hardware on
    Arizona class devices can also detect a number of buttons which we should
    report via the input API.

    Signed-off-by: Mark Brown
    Acked-by: Chanwoo Choi
    Signed-off-by: Greg Kroah-Hartman

    Mark Brown
     
  • commit 01eaf24 "extcon: Convert extcon_gpio to devm_gpio_request_one"
    missed the replacement for devm_gpio_request_one. fix it.

    Signed-off-by: Axel Lin
    Signed-off-by: Chanwoo Choi
    Signed-off-by: Greg Kroah-Hartman

    Axel Lin
     

31 Jul, 2012

1 commit

  • 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
     

18 Jul, 2012

3 commits