Commits on Oct 29, 2011
  1. Fixes problem with G110 with setting a blue value when the red value

    was higher.
    tanktarta committed Oct 29, 2011
Commits on Oct 22, 2011
Commits on Oct 2, 2011
  1. Got rid of debug output

    tanktarta committed Oct 2, 2011
  2. Got LCD backlight brightness working on G19. I could not work out how to

    do this in the same way as the other controls (i.e. using reports).
    Going by pylibg19, this control is different anyway (using vendor
    code?), so I used more or less the same method as pylibg19. 
    Changed order in g19_remove (and others) to clear up the LEDs before the
    device is closed. This seems to stop the crashes when unbind'ing /
    rmmod'ing (always seen when upgrading lg4l packages).
    tanktarta committed Oct 2, 2011
Commits on Sep 24, 2011
  1. Fixed some compiler warnings. Another blind attempt to fix the G keys on

    the G110.
    tanktarta committed Sep 24, 2011
Commits on Aug 16, 2011
  1. Some fixes for 2.6.39+. Attempts to get some more controls working. A

    few G13 fixes such as getting the backlight working properly (I know
    is another branch for this now, but I had made other changes and it
    was easier
    just to continue using mine). Have also been playing with G15 code,
    to get the G keys working, but no luck yet.
    committed Aug 16, 2011
  2. Some fixes for 2.6.39+. Attempts to get some more controls working. A

    few G13 fixes such as getting the backlight working properly (I know there
    is another branch for this now, but I had made other changes and it was easier
    just to continue using mine). Have also been playing with G15 code, trying
    to get the G keys working, but no luck yet.
    committed Aug 16, 2011
Commits on Jun 24, 2011
Commits on Apr 25, 2011
  1. >= 2.6.37 input_get_keycode fix

    jgeboski committed with Alistair Buxton Apr 25, 2011
Commits on Apr 16, 2011
Commits on Mar 14, 2011
  1. Added check of urb status before processing it.

    Trying to avoid kernel crash on USB disconnect, where all pending URBs are unlinked and flushed. Based on the following stacktrace:
    general protection fault: 0000 [#1] PREEMPT SMP 
    last sysfs file: /sys/devices/platform/coretemp.0/temp1_label
    CPU 4 
    Modules linked in: vboxnetflt vboxnetadp vboxdrv nvidia(P) hid_g19 hid_gfb
    Pid: 480, comm: khubd Tainted: P            2.6.36-gentoo-r5 #1 P7P55D DELUXE/System Product Name
    RIP: 0010:[<ffffffff8161d397>]  [<ffffffff8161d397>] _raw_spin_lock_irqsave+0x17/0x30
    RSP: 0018:ffff88021effda98  EFLAGS: 00010002
    RAX: 0000000000000086 RBX: 322f382e312d322f RCX: 0000000000000000
    RDX: 0000000000000100 RSI: 0000000000000018 RDI: 322f382e312d3427
    RBP: 322f382e312d3427 R08: 0000000000000200 R09: 00000000ffffff94
    R10: 000000000000007b R11: 0000000000000000 R12: 322f382e312d322f
    R13: 0000000000000018 R14: ffff88021effdadc R15: ffff88021dfe7d68
    FS:  0000000000000000(0000) GS:ffff880001b00000(0000) knlGS:0000000000000000
    CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
    CR2: 00000000006163e8 CR3: 0000000001822000 CR4: 00000000000006e0
    DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
    DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
    Process khubd (pid: 480, threadinfo ffff88021effc000, task ffff88021ef81330)
     ffffffff8144b9c4 0000000000000018 ffff88021bfa0000 322f382e312d322f
    <0> 0000000000000000 0000000000000001 ffffffffa00074cd 0000000000000002
    <0> ffffffff812f31ec ffff88021ee20890 ffff88021be03e40 0000000000000001
    Call Trace:
     [<ffffffff8144b9c4>] ? input_get_keycode+0x34/0x80
     [<ffffffffa00074cd>] ? g19_handle_key_event+0x3d/0xb0 [hid_g19]
     [<ffffffff812f31ec>] ? is_swiotlb_buffer+0x2c/0x40
     [<ffffffffa0008b54>] ? g19_ep1_urb_completion+0x54/0x7c [hid_g19]
     [<ffffffff8141e04d>] ? usb_hcd_giveback_urb+0x5d/0xe0
     [<ffffffff814312b0>] ? ehci_urb_done+0x80/0xe0
     [<ffffffff81431727>] ? qh_completions+0x417/0x530
     [<ffffffff812df510>] ? kobj_bcast_filter+0x0/0x60
     [<ffffffff814325ac>] ? intr_deschedule+0x16c/0x250
     [<ffffffff81434a95>] ? ehci_urb_dequeue+0xe5/0x110
     [<ffffffff8141f81c>] ? usb_hcd_flush_endpoint+0xec/0x110
     [<ffffffff81420786>] ? usb_disable_endpoint+0x56/0xb0
     [<ffffffff81420874>] ? usb_disable_device+0x94/0x110
     [<ffffffff8141b34b>] ? usb_disconnect+0x8b/0x130
     [<ffffffff8141b339>] ? usb_disconnect+0x79/0x130
     [<ffffffff8141c145>] ? hub_thread+0x3f5/0x10e0
     [<ffffffff81087570>] ? autoremove_wake_function+0x0/0x30
     [<ffffffff8141bd50>] ? hub_thread+0x0/0x10e0
     [<ffffffff8141bd50>] ? hub_thread+0x0/0x10e0
     [<ffffffff810870e6>] ? kthread+0x96/0xa0
     [<ffffffff8102c2d4>] ? kernel_thread_helper+0x4/0x10
     [<ffffffff81087050>] ? kthread+0x0/0xa0
     [<ffffffff8102c2d0>] ? kernel_thread_helper+0x0/0x10
    Code: 06 f3 90 8a 07 eb f6 c3 66 66 66 2e 0f 1f 84 00 00 00 00 00 9c 58 fa 65 48 8b 14 25 c8 b6 00 00 ff 82 44 e0 ff ff ba 00 01 00 00 <f0> 66 0f c1 17 38 f2 74 06 f3 90 8a 17 eb f6 c3 66 0f 1f 84 00 
    RIP  [<ffffffff8161d397>] _raw_spin_lock_irqsave+0x17/0x30
     RSP <ffff88021effda98>
    ---[ end trace 62df2f30ffd09f81 ]---
    CMoH committed Mar 14, 2011
Commits on Mar 13, 2011
  1. Added pseudo-palette for g19 framebuffer.

    The crash when enabling fbcon seems to originate in the following sequence:
    fbcon needs gfb_fb_imageblit to render the cursor, which uses sys_imageblit in turn.
    sys_imageblit calls color_imageblit, which refers to this palette to convert the
    16-color image to truecolor.
    CMoH committed Mar 13, 2011
Commits on Mar 12, 2011
  1. Better conformance to kbuild

    Extra targets placed in GNU make if directives.
    Added make variable BUILD_HID controlling if we want to build hid-core et al or just the logitech modules.
    CMoH committed Mar 12, 2011
Commits on Mar 11, 2011
  1. Fixed deadlock in hid-gfb

    The root cause of the deadlock seems to be one or all of the following:
    1. Work queues implementing deferred IO do not allow spinlocks to be
    locked when exiting the deferred task. This means the lock protecting
    fb_vbitmap (left for the urb completion handler to unlock) was reported
    as problematic by the lockdeps analyzer.
    The lock was converted to a soft-lock (a boolean flag), which in turn is
    locally protected by the original spinlock.
    2. URB completion handler was run from an IRQ handler, which meant the
    URB spinlock was used both in IRQ context and in process context. Again,
    lockdeps complained so the spinlock is now used with the
    irqsave/irqrestore version.
    CMoH committed Mar 11, 2011
Commits on Mar 10, 2011
  1. Fixed spinlock use in IRQ handlers

    Fixed lockdeps checker issuing an inconsistency because the spinlock is used both from IRQ and normal context.
    [ INFO: inconsistent lock state ]
    2.6.36-gentoo-r5-debug #7
    inconsistent {IN-HARDIRQ-W} -> {HARDIRQ-ON-W} usage.
    modprobe/2501 [HC0[0]:SC0[0]:HE1:SE1] takes:
     (&(&data->lock)->rlock){?.....}, at: [<ffffffffa000877c>] g19_probe+0x76c/0xb50 [hid_g19]
    {IN-HARDIRQ-W} state was registered at:
      [<ffffffff810a3639>] __lock_acquire+0xbc9/0x1b70
      [<ffffffff810a463a>] lock_acquire+0x5a/0x70
      [<ffffffff8165400d>] _raw_spin_lock_irqsave+0x4d/0x90
      [<ffffffffa0007499>] g19_raw_event+0x39/0x1f0 [hid_g19]
      [<ffffffff814f00d3>] hid_input_report+0x203/0x270
      [<ffffffff814f78cf>] hid_ctrl+0x9f/0x1c0
      [<ffffffff81445c5f>] usb_hcd_giveback_urb+0x5f/0xd0
      [<ffffffff81459484>] ehci_urb_done+0x84/0xf0
      [<ffffffff814598e7>] qh_completions+0x3f7/0x510
      [<ffffffff8145bc2e>] ehci_work+0x7e/0x9c0
      [<ffffffff8145dd31>] ehci_irq+0x1d1/0x210
      [<ffffffff814453e3>] usb_hcd_irq+0x33/0xa0
      [<ffffffff810be41a>] handle_IRQ_event+0x3a/0xe0
      [<ffffffff810c0c27>] handle_fasteoi_irq+0x77/0x100
      [<ffffffff8102f42d>] handle_irq+0x1d/0x30
      [<ffffffff8102e91e>] do_IRQ+0x6e/0xf0
      [<ffffffff81654e93>] ret_from_intr+0x0/0xf
      [<ffffffff8165290e>] mutex_lock_nested+0x6e/0x3b0
      [<ffffffff811704ef>] sysfs_permission+0x2f/0x70
      [<ffffffff8111d880>] exec_permission+0x20/0x80
      [<ffffffff8111fe5b>] link_path_walk+0x7b/0xbd0
      [<ffffffff81120b22>] path_walk+0x62/0xe0
      [<ffffffff81120bfb>] do_path_lookup+0x5b/0x60
      [<ffffffff81121842>] user_path_at+0x52/0xa0
      [<ffffffff81117dc7>] vfs_fstatat+0x37/0x70
      [<ffffffff81117e36>] vfs_stat+0x16/0x20
      [<ffffffff8111800f>] sys_newstat+0x1f/0x50
      [<ffffffff8102c42b>] system_call_fastpath+0x16/0x1b
    irq event stamp: 13525
    hardirqs last  enabled at (13525): [<ffffffff81654a7b>] _raw_spin_unlock_irq+0x2b/0x60
    hardirqs last disabled at (13524): [<ffffffff81653f54>] _raw_spin_lock_irq+0x14/0x80
    softirqs last  enabled at (13356): [<ffffffff8158240f>] sk_filter+0x7f/0xe0
    softirqs last disabled at (13354): [<ffffffff815823a6>] sk_filter+0x16/0xe0
    other info that might help us debug this:
    2 locks held by modprobe/2501:
     #0:  (&__lockdep_no_validate__){+.+.+.}, at: [<ffffffff813beaa3>] __driver_attach+0x53/0xa0
     #1:  (&__lockdep_no_validate__){+.+.+.}, at: [<ffffffff813beab1>] __driver_attach+0x61/0xa0
    stack backtrace:
    Pid: 2501, comm: modprobe Not tainted 2.6.36-gentoo-r5-debug #7
    Call Trace:
     [<ffffffff8109ffff>] print_usage_bug+0x17f/0x1d0
     [<ffffffff810a0469>] mark_lock+0x419/0x630
     [<ffffffff810a3545>] __lock_acquire+0xad5/0x1b70
     [<ffffffff810a06e7>] ? mark_held_locks+0x67/0x90
     [<ffffffff81654a7b>] ? _raw_spin_unlock_irq+0x2b/0x60
     [<ffffffff8106967d>] ? sub_preempt_count+0x9d/0xd0
     [<ffffffff81654a86>] ? _raw_spin_unlock_irq+0x36/0x60
     [<ffffffff810a463a>] lock_acquire+0x5a/0x70
     [<ffffffffa000877c>] ? g19_probe+0x76c/0xb50 [hid_g19]
     [<ffffffff81069725>] ? add_preempt_count+0x75/0xd0
     [<ffffffff81653e6b>] _raw_spin_lock+0x3b/0x70
     [<ffffffffa000877c>] ? g19_probe+0x76c/0xb50 [hid_g19]
     [<ffffffffa000877c>] g19_probe+0x76c/0xb50 [hid_g19]
     [<ffffffff8106967d>] ? sub_preempt_count+0x9d/0xd0
     [<ffffffff814eea92>] hid_device_probe+0x72/0xe0
     [<ffffffff813be7da>] ? driver_sysfs_add+0x7a/0xb0
     [<ffffffff813be926>] driver_probe_device+0x96/0x1c0
     [<ffffffff813beaeb>] __driver_attach+0x9b/0xa0
     [<ffffffff813bea50>] ? __driver_attach+0x0/0xa0
     [<ffffffff813bdff8>] bus_for_each_dev+0x68/0x90
     [<ffffffff813be759>] driver_attach+0x19/0x20
     [<ffffffff813bd8a0>] bus_add_driver+0x1e0/0x270
     [<ffffffffa000d000>] ? g19_init+0x0/0x20 [hid_g19]
     [<ffffffff813bedf8>] driver_register+0x78/0x140
     [<ffffffffa000d000>] ? g19_init+0x0/0x20 [hid_g19]
     [<ffffffff814ee2f1>] __hid_register_driver+0x61/0xa0
     [<ffffffffa000d01e>] g19_init+0x1e/0x20 [hid_g19]
     [<ffffffff810001de>] do_one_initcall+0x3e/0x180
     [<ffffffff810b1262>] sys_init_module+0xb2/0x200
     [<ffffffff8102c42b>] system_call_fastpath+0x16/0x1b
    hid-g19 0003:046D:C229.0005: Logitech G19 hasn't completed stage 1 yet, forging ahead with initialization
    CMoH committed Mar 9, 2011
  2. Ignored build results

    CMoH committed Mar 9, 2011
  3. Ignoring ~ files

    CMoH committed Mar 8, 2011
Commits on Mar 1, 2011
  1. Addded README file

    martynsmith committed Mar 1, 2011
Commits on Feb 9, 2011
Commits on Jan 30, 2011
Commits on Jan 29, 2011
  1. Initial revision

    martynsmith committed Jan 29, 2011