1. 23 10月, 2012 8 次提交
    • C
      extcon: MAX77693: Add platform data for MUIC device to initialize registers · f8457d57
      Chanwoo Choi 提交于
      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: NChanwoo Choi <cw00.choi@samsung.com>
      Signed-off-by: NMyungjoo Ham <myungjoo.ham@samsung.com>
      Signed-off-by: NKyungmin Park <kyungmin.park@samsung.com>
      f8457d57
    • A
      extcon: max77693: Use max77693_update_reg for rmw operations · bf2627d6
      Axel Lin 提交于
      This simplifies the code.
      Signed-off-by: NAxel Lin <axel.lin@ingics.com>
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      bf2627d6
    • A
    • A
      extcon: adc-jack: Add missing MODULE_LICENSE · d9310e35
      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: NAxel Lin <axel.lin@ingics.com>
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      d9310e35
    • A
      extcon: adc-jack: Fix checking return value of request_any_context_irq · 03019759
      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: NAxel Lin <axel.lin@ingics.com>
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      03019759
    • S
      extcon: Fix return value in extcon_register_interest() · 5cd3c277
      Sachin Kamat 提交于
      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: NSachin Kamat <sachin.kamat@linaro.org>
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      5cd3c277
    • P
      extcon: unregister compat link on cleanup · 824a1bc0
      Peter Huewe 提交于
      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: NPeter Huewe <peterhuewe@gmx.de>
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      824a1bc0
    • P
      extcon: Unregister compat class at module unload to fix oops · 0dc77b6d
      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:  [<602a58bc>] printk+0x0/0xa8
      9f451a18:  [<60039b43>] warn_slowpath_common+0x93/0xd0
      9f451a28:  [<6012c6de>] sysfs_add_one+0xde/0x100
      9f451a50:  [<601d3d90>] strcat+0x0/0x40
      9f451a68:  [<60039cdc>] warn_slowpath_fmt+0x9c/0xa0
      9f451a90:  [<6002fe32>] unblock_signals+0x0/0x84
      9f451ab0:  [<60039c40>] warn_slowpath_fmt+0x0/0xa0
      9f451ac0:  [<6002fe32>] unblock_signals+0x0/0x84
      9f451ae8:  [<6012bd97>] sysfs_pathname.isra.10+0x57/0x70
      9f451b00:  [<601d3d90>] strcat+0x0/0x40
      9f451b18:  [<6012bd97>] sysfs_pathname.isra.10+0x57/0x70
      9f451b48:  [<6012c6de>] sysfs_add_one+0xde/0x100
      9f451b78:  [<6012c96f>] create_dir+0x8f/0x100
      9f451bc0:  [<a0861000>] extcon_class_init+0x0/0x12 [extcon_class]
      9f451bd8:  [<6012cda6>] sysfs_create_dir+0xa6/0x1c0
      9f451be8:  [<601d89f1>] kvasprintf+0x81/0xa0
      9f451bf8:  [<601cf0f0>] kobject_get+0x0/0x50
      9f451c18:  [<601cf396>] kobject_add_internal+0x96/0x280
      9f451c60:  [<a0861000>] extcon_class_init+0x0/0x12 [extcon_class]
      9f451c78:  [<601cfb93>] kobject_add+0xd3/0x140
      9f451cc0:  [<601cfac0>] kobject_add+0x0/0x140
      9f451cd0:  [<6002fe32>] unblock_signals+0x0/0x84
      9f451cf8:  [<6002fffc>] set_signals+0x29/0x3f
      9f451d28:  [<600c1de1>] kmem_cache_alloc+0xe1/0x100
      9f451d78:  [<601cffa0>] kobject_create_and_add+0x50/0xa0
      9f451da8:  [<601fbe76>] class_compat_register+0x56/0x80
      9f451dc8:  [<a085d118>] create_extcon_class+0x88/0xd0 [extcon_class]
      9f451de8:  [<a0861010>] extcon_class_init+0x10/0x12 [extcon_class]
      9f451df8:  [<600189a8>] do_one_initcall+0x48/0x1f0
      9f451e20:  [<60061920>] blocking_notifier_call_chain+0x0/0x20
      9f451e30:  [<60061920>] blocking_notifier_call_chain+0x0/0x20
      9f451e58:  [<6007e3c3>] sys_init_module+0xa3/0x280
      9f451e88:  [<6001e2ad>] handle_syscall+0x8d/0x90
      9f451ea8:  [<60033370>] userspace+0x405/0x531
      9f451ee8:  [<6001e380>] copy_chunk_to_user+0x0/0x40
      9f451ef8:  [<6001e5cd>] do_op_one_page+0x14d/0x220
      9f451fd8:  [<6001a355>] 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:  [<602a58bc>] printk+0x0/0xa8
      9f451ae8:  [<60039b43>] warn_slowpath_common+0x93/0xd0
      9f451af8:  [<601cf56e>] kobject_add_internal+0x26e/0x280
      9f451b18:  [<601cf140>] kobject_put+0x0/0x70
      9f451b20:  [<a0861000>] extcon_class_init+0x0/0x12 [extcon_class]
      9f451b38:  [<60039cdc>] warn_slowpath_fmt+0x9c/0xa0
      9f451b88:  [<60039c40>] warn_slowpath_fmt+0x0/0xa0
      9f451bc0:  [<a0861000>] extcon_class_init+0x0/0x12 [extcon_class]
      9f451bd8:  [<6012cda6>] sysfs_create_dir+0xa6/0x1c0
      9f451be8:  [<601d89f1>] kvasprintf+0x81/0xa0
      9f451bf8:  [<601cf0f0>] kobject_get+0x0/0x50
      9f451c18:  [<601cf56e>] kobject_add_internal+0x26e/0x280
      9f451c60:  [<a0861000>] extcon_class_init+0x0/0x12 [extcon_class]
      9f451c78:  [<601cfb93>] kobject_add+0xd3/0x140
      9f451cc0:  [<601cfac0>] kobject_add+0x0/0x140
      9f451cd0:  [<6002fe32>] unblock_signals+0x0/0x84
      9f451cf8:  [<6002fffc>] set_signals+0x29/0x3f
      9f451d28:  [<600c1de1>] kmem_cache_alloc+0xe1/0x100
      9f451d78:  [<601cffa0>] kobject_create_and_add+0x50/0xa0
      9f451da8:  [<601fbe76>] class_compat_register+0x56/0x80
      9f451dc8:  [<a085d118>] create_extcon_class+0x88/0xd0 [extcon_class]
      9f451de8:  [<a0861010>] extcon_class_init+0x10/0x12 [extcon_class]
      9f451df8:  [<600189a8>] do_one_initcall+0x48/0x1f0
      9f451e20:  [<60061920>] blocking_notifier_call_chain+0x0/0x20
      9f451e30:  [<60061920>] blocking_notifier_call_chain+0x0/0x20
      9f451e58:  [<6007e3c3>] sys_init_module+0xa3/0x280
      9f451e88:  [<6001e2ad>] handle_syscall+0x8d/0x90
      9f451ea8:  [<60033370>] userspace+0x405/0x531
      9f451ee8:  [<6001e380>] copy_chunk_to_user+0x0/0x40
      9f451ef8:  [<6001e5cd>] do_op_one_page+0x14d/0x220
      9f451fd8:  [<6001a355>] 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:  [<602a58bc>] printk+0x0/0xa8
      9f451c98:  [<60039b43>] warn_slowpath_common+0x93/0xd0
      9f451ca0:  [<6002fe32>] unblock_signals+0x0/0x84
      9f451ca8:  [<a085d14c>] create_extcon_class+0xbc/0xd0 [extcon_class]
      9f451cd0:  [<a0861000>] extcon_class_init+0x0/0x12 [extcon_class]
      9f451ce8:  [<60039cdc>] warn_slowpath_fmt+0x9c/0xa0
      9f451d20:  [<6002fe32>] unblock_signals+0x0/0x84
      9f451d28:  [<60039c40>] warn_slowpath_fmt+0x0/0xa0
      9f451d48:  [<6002fffc>] set_signals+0x29/0x3f
      9f451d58:  [<601cf172>] kobject_put+0x32/0x70
      9f451d78:  [<600c22c3>] kfree+0xb3/0x100
      9f451da8:  [<601fbe9a>] class_compat_register+0x7a/0x80
      9f451dc8:  [<a085d14c>] create_extcon_class+0xbc/0xd0 [extcon_class]
      9f451de8:  [<a0861010>] extcon_class_init+0x10/0x12 [extcon_class]
      9f451df8:  [<600189a8>] do_one_initcall+0x48/0x1f0
      9f451e20:  [<60061920>] blocking_notifier_call_chain+0x0/0x20
      9f451e30:  [<60061920>] blocking_notifier_call_chain+0x0/0x20
      9f451e58:  [<6007e3c3>] sys_init_module+0xa3/0x280
      9f451e88:  [<6001e2ad>] handle_syscall+0x8d/0x90
      9f451ea8:  [<60033370>] userspace+0x405/0x531
      9f451ee8:  [<6001e380>] copy_chunk_to_user+0x0/0x40
      9f451ef8:  [<6001e5cd>] do_op_one_page+0x14d/0x220
      9f451fd8:  [<6001a355>] 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: NPeter Huewe <peterhuewe@gmx.de>
      Signed-off-by: NChanwoo Choi <cw00.choi@samsung.com>
      0dc77b6d
  2. 22 10月, 2012 4 次提交
  3. 21 10月, 2012 2 次提交
  4. 20 10月, 2012 26 次提交