1. 04 Sep, 2013 1 commit
    • Linus Walleij's avatar
      gpio: return -ENOTSUPP if debounce cannot be set · 65d87656
      Linus Walleij authored
      It appears some drivers are using gpio_set_debounce()
      opportunistically, i.e. without knowing whether it works or
      not. (Example: input/keyboard/gpio_keys.c) to account for
      this use case, return -ENOTSUPP and do not print any
      warnings in this case.
      
      Took a round over the other gpio_set_debounce() consumers
      to make sure that none of them are relying on the returned
      error code to be something specific.
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      65d87656
  2. 03 Sep, 2013 1 commit
  3. 30 Aug, 2013 3 commits
  4. 29 Aug, 2013 1 commit
  5. 23 Aug, 2013 3 commits
  6. 16 Aug, 2013 13 commits
  7. 29 Jul, 2013 2 commits
  8. 22 Jul, 2013 1 commit
  9. 21 Jul, 2013 4 commits
  10. 20 Jul, 2013 7 commits
    • Jingoo Han's avatar
      gpiolib: replace strict_strtol() with kstrtol() · a3d88c92
      Jingoo Han authored
      The usage of strict_strtol() is not preferred, because
      strict_strtol() is obsolete. Thus, kstrtol() should be
      used.
      Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      a3d88c92
    • Laurent Pinchart's avatar
      gpio-rcar: Add interrupt controller support to the DT bindings · f8b1bd71
      Laurent Pinchart authored
      Update the DT bindings documentation with the interrupt-controller
      and #interrupt-cells properties.
      Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      f8b1bd71
    • Peter Ujfalusi's avatar
      GPIO: gpio-twl6040: Remove support for legacy (pdata) mode · a5d28d79
      Peter Ujfalusi authored
      TWL6040 is used only with OMAP4/5 SoCs and they can only boot in in DT mode.
      The support for pdata/legacy boot can be removed.
      Signed-off-by: default avatarPeter Ujfalusi <peter.ujfalusi@ti.com>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      a5d28d79
    • Fabio Estevam's avatar
      gpio: gpio-mxc: Use devm functions · 8cd73e4e
      Fabio Estevam authored
      By using devm functions we can get a simpler code.
      Signed-off-by: default avatarFabio Estevam <fabio.estevam@freescale.com>
      Acked-by: default avatarShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      8cd73e4e
    • James Hogan's avatar
      gpio-tz1090: convert to use generic irqchip · 04777396
      James Hogan authored
      Convert gpio-tz1090 driver to use generic irqchips. This allows the
      irq_ack, irq_mask, and irq_unmask callbacks and associated helper
      functions to be removed. Also switch to using irq_setup_alt_chip() in
      the irq_set_type callback instead of using __irq_set_handler_locked().
      Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Grant Likely <grant.likely@linaro.org>
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      04777396
    • James Hogan's avatar
      gpio-tz1090-pdc: add TZ1090 PDC gpio driver · 79bb6460
      James Hogan authored
      Add a GPIO driver for the low-power Powerdown Controller GPIOs in the
      TZ1090 SoC.
      
      The driver is instantiated by device tree and supports interrupts for
      the SysWake GPIOs only.
      
      Changes in v4:
       - fix typos in DT bindings compatible properties
       - reference Documentation/devicetree/bindings/gpio/gpio.txt in
         gpio-ranges description in DT bindings
       - fix gpio-ranges examples in DT bindings (it must now have 3 cells)
      
      Changes in v3:
       - separated from irq-imgpdc and removed arch/metag changes to allow
         these patches to go upstream separately via the pinctrl[/gpio] trees
         (particularly the pinctrl drivers depend on the new pinconf DT
         bindings).
       - some s/unsigned/unsigned int/.
       - gpio-tz1090*: refer to <dt-bindings/gpio/gpio.h> and
         <dt-bindings/interrupt-controller/irq.h> flags in bindings.
       - gpio-tz1090*: move initcall from postcore to subsys.
      
      Changes in v2:
       - gpio-tz1090-pdc: remove references to Linux flags in dt bindings
       - gpio-tz1090-pdc: make use of BIT() from linux/bitops.h
       - gpio-tz1090-pdc: make register accessors inline to match pinctrl
       - gpio-tz1090-pdc: update gpio-ranges to use 3 cells after recent ABI
         breakage
      Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Cc: Rob Landley <rob@landley.net>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: linux-doc@vger.kernel.org
      Cc: devicetree-discuss@lists.ozlabs.org
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      79bb6460
    • James Hogan's avatar
      gpio-tz1090: add TZ1090 gpio driver · 9caf1f22
      James Hogan authored
      Add a GPIO driver for the main GPIOs found in the TZ1090 (Comet) SoC.
      This doesn't include low-power GPIOs as they're controlled separately
      via the Powerdown Controller (PDC) registers.
      
      The driver is instantiated by device tree and supports interrupts for
      all GPIOs.
      
      Changes in v4:
       - fix typos in DT bindings compatible properties
       - reference Documentation/devicetree/bindings/gpio/gpio.txt in
         gpio-ranges description in DT bindings
       - fix gpio-ranges examples in DT bindings (it must now have 3 cells)
       - gpio-tz1090: use of_property_read_u32 instead of of_get_property
      
      Changes in v3:
       - separated from irq-imgpdc and removed arch/metag changes to allow
         these patches to go upstream separately via the pinctrl[/gpio] trees
         (particularly the pinctrl drivers depend on the new pinconf DT
         bindings).
       - some s/unsigned/unsigned int/.
       - some s/unsigned int/bool/ and use of BIT().
       - gpio-tz1090*: refer to <dt-bindings/gpio/gpio.h> and
         <dt-bindings/interrupt-controller/irq.h> flags in bindings.
       - gpio-tz1090*: move initcall from postcore to subsys.
       - gpio-tz1090: add REG_ prefix to some constants for consistency.
       - gpio-tz1090: add comment to explain tz1090_gpio_irq_next_edge
         cunningness.
      
      Changes in v2:
       - gpio-tz1090: remove references to Linux flags in dt bindings
       - gpio-tz1090: make use of BIT() from linux/bitops.h
       - gpio-tz1090: make register accessors inline to match pinctrl
       - gpio-tz1090: update gpio-ranges to use 3 cells after recent ABI
         breakage
      Signed-off-by: default avatarJames Hogan <james.hogan@imgtec.com>
      Cc: Grant Likely <grant.likely@linaro.org>
      Cc: Rob Herring <rob.herring@calxeda.com>
      Cc: Rob Landley <rob@landley.net>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: linux-doc@vger.kernel.org
      Cc: devicetree-discuss@lists.ozlabs.org
      Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
      9caf1f22
  11. 14 Jul, 2013 4 commits
    • Linus Torvalds's avatar
      Linux 3.11-rc1 · ad81f054
      Linus Torvalds authored
      ad81f054
    • Linus Torvalds's avatar
      Merge branch 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux · 54be8200
      Linus Torvalds authored
      Pull slab update from Pekka Enberg:
       "Highlights:
      
        - Fix for boot-time problems on some architectures due to
          init_lock_keys() not respecting kmalloc_caches boundaries
          (Christoph Lameter)
      
        - CONFIG_SLUB_CPU_PARTIAL requested by RT folks (Joonsoo Kim)
      
        - Fix for excessive slab freelist draining (Wanpeng Li)
      
        - SLUB and SLOB cleanups and fixes (various people)"
      
      I ended up editing the branch, and this avoids two commits at the end
      that were immediately reverted, and I instead just applied the oneliner
      fix in between myself.
      
      * 'slab/for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/linux
        slub: Check for page NULL before doing the node_match check
        mm/slab: Give s_next and s_stop slab-specific names
        slob: Check for NULL pointer before calling ctor()
        slub: Make cpu partial slab support configurable
        slab: add kmalloc() to kernel API documentation
        slab: fix init_lock_keys
        slob: use DIV_ROUND_UP where possible
        slub: do not put a slab to cpu partial list when cpu_partial is 0
        mm/slub: Use node_nr_slabs and node_nr_objs in get_slabinfo
        mm/slub: Drop unnecessary nr_partials
        mm/slab: Fix /proc/slabinfo unwriteable for slab
        mm/slab: Sharing s_next and s_stop between slab and slub
        mm/slab: Fix drain freelist excessively
        slob: Rework #ifdeffery in slab.h
        mm, slab: moved kmem_cache_alloc_node comment to correct place
      54be8200
    • Steven Rostedt's avatar
      slub: Check for page NULL before doing the node_match check · c25f195e
      Steven Rostedt authored
      In the -rt kernel (mrg), we hit the following dump:
      
      BUG: unable to handle kernel NULL pointer dereference at           (null)
      IP: [<ffffffff811573f1>] kmem_cache_alloc_node+0x51/0x180
      PGD a2d39067 PUD b1641067 PMD 0
      Oops: 0000 [#1] PREEMPT SMP
      Modules linked in: sunrpc cpufreq_ondemand ipv6 tg3 joydev sg serio_raw pcspkr k8temp amd64_edac_mod edac_core i2c_piix4 e100 mii shpchp ext4 mbcache jbd2 sd_mod crc_t10dif sr_mod cdrom sata_svw ata_generic pata_acpi pata_serverworks radeon ttm drm_kms_helper drm hwmon i2c_algo_bit i2c_core dm_mirror dm_region_hash dm_log dm_mod
      CPU 3
      Pid: 20878, comm: hackbench Not tainted 3.6.11-rt25.14.el6rt.x86_64 #1 empty empty/Tyan Transport GT24-B3992
      RIP: 0010:[<ffffffff811573f1>]  [<ffffffff811573f1>] kmem_cache_alloc_node+0x51/0x180
      RSP: 0018:ffff8800a9b17d70  EFLAGS: 00010213
      RAX: 0000000000000000 RBX: 0000000001200011 RCX: ffff8800a06d8000
      RDX: 0000000004d92a03 RSI: 00000000000000d0 RDI: ffff88013b805500
      RBP: ffff8800a9b17dc0 R08: ffff88023fd14d10 R09: ffffffff81041cbd
      R10: 00007f4e3f06e9d0 R11: 0000000000000246 R12: ffff88013b805500
      R13: ffff8801ff46af40 R14: 0000000000000001 R15: 0000000000000000
      FS:  00007f4e3f06e700(0000) GS:ffff88023fd00000(0000) knlGS:0000000000000000
      CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
      CR2: 0000000000000000 CR3: 00000000a2d3a000 CR4: 00000000000007e0
      DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
      DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
      Process hackbench (pid: 20878, threadinfo ffff8800a9b16000, task ffff8800a06d8000)
      Stack:
       ffff8800a9b17da0 ffffffff81202e08 ffff8800a9b17de0 000000d001200011
       0000000001200011 0000000001200011 0000000000000000 0000000000000000
       00007f4e3f06e9d0 0000000000000000 ffff8800a9b17e60 ffffffff81041cbd
      Call Trace:
       [<ffffffff81202e08>] ? current_has_perm+0x68/0x80
       [<ffffffff81041cbd>] copy_process+0xdd/0x15b0
       [<ffffffff810a2125>] ? rt_up_read+0x25/0x30
       [<ffffffff8104369a>] do_fork+0x5a/0x360
       [<ffffffff8107c66b>] ? migrate_enable+0xeb/0x220
       [<ffffffff8100b068>] sys_clone+0x28/0x30
       [<ffffffff81527423>] stub_clone+0x13/0x20
       [<ffffffff81527152>] ? system_call_fastpath+0x16/0x1b
      Code: 89 fc 89 75 cc 41 89 d6 4d 8b 04 24 65 4c 03 04 25 48 ae 00 00 49 8b 50 08 4d 8b 28 49 8b 40 10 4d 85 ed 74 12 41 83 fe ff 74 27 <48> 8b 00 48 c1 e8 3a 41 39 c6 74 1b 8b 75 cc 4c 89 c9 44 89 f2
      RIP  [<ffffffff811573f1>] kmem_cache_alloc_node+0x51/0x180
       RSP <ffff8800a9b17d70>
      CR2: 0000000000000000
      ---[ end trace 0000000000000002 ]---
      
      Now, this uses SLUB pretty much unmodified, but as it is the -rt kernel
      with CONFIG_PREEMPT_RT set, spinlocks are mutexes, although they do
      disable migration. But the SLUB code is relatively lockless, and the
      spin_locks there are raw_spin_locks (not converted to mutexes), thus I
      believe this bug can happen in mainline without -rt features. The -rt
      patch is just good at triggering mainline bugs ;-)
      
      Anyway, looking at where this crashed, it seems that the page variable
      can be NULL when passed to the node_match() function (which does not
      check if it is NULL). When this happens we get the above panic.
      
      As page is only used in slab_alloc() to check if the node matches, if
      it's NULL I'm assuming that we can say it doesn't and call the
      __slab_alloc() code. Is this a correct assumption?
      Acked-by: default avatarChristoph Lameter <cl@linux.com>
      Signed-off-by: default avatarSteven Rostedt <rostedt@goodmis.org>
      Signed-off-by: default avatarPekka Enberg <penberg@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c25f195e
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 41d9884c
      Linus Torvalds authored
      Pull more vfs stuff from Al Viro:
       "O_TMPFILE ABI changes, Oleg's fput() series, misc cleanups, including
        making simple_lookup() usable for filesystems with non-NULL s_d_op,
        which allows us to get rid of quite a bit of ugliness"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        sunrpc: now we can just set ->s_d_op
        cgroup: we can use simple_lookup() now
        efivarfs: we can use simple_lookup() now
        make simple_lookup() usable for filesystems that set ->s_d_op
        configfs: don't open-code d_alloc_name()
        __rpc_lookup_create_exclusive: pass string instead of qstr
        rpc_create_*_dir: don't bother with qstr
        llist: llist_add() can use llist_add_batch()
        llist: fix/simplify llist_add() and llist_add_batch()
        fput: turn "list_head delayed_fput_list" into llist_head
        fs/file_table.c:fput(): add comment
        Safer ABI for O_TMPFILE
      41d9884c