1. 04 9月, 2013 1 次提交
    • L
      gpio: return -ENOTSUPP if debounce cannot be set · 65d87656
      Linus Walleij 提交于
      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: NLinus Walleij <linus.walleij@linaro.org>
      65d87656
  2. 03 9月, 2013 1 次提交
  3. 30 8月, 2013 2 次提交
    • S
      gpio: add GPIO support for F71882FG and F71889F · 6c17aa01
      Simon Guinot 提交于
      This patch adds support for the GPIOs found on the Fintek super-I/O
      chips F71882FG and F71889F.
      
      A super-I/O is a legacy I/O controller embedded on x86 motherboards. It
      is used to connect the low-bandwidth devices. Among others functions the
      F71882FG/F71889F provides: a parallel port, two serial ports, a keyboard
      controller, an hardware monitoring controller and some GPIO pins.
      
      Note that this super-I/Os are embedded on some Atom-based LaCie NASes.
      The GPIOs are used to control the LEDs and the hard drive power.
      
      Changes since v3:
      - Use request_muxed_region to protect the I/O ports against concurrent
        accesses.
      
      Changes since v2:
      - Remove useless NULL setters for driver data.
      
      Changes since v1:
      - Enhance the commit message by describing what is a Super-I/O.
      - Use self-explanatory names for the GPIO register macros.
      - Add a comment to explain the platform device and driver registration.
      - Fix gpio_get when GPIO is configured in input mode. I only had
        the hardware to check this mode recently...
      Signed-off-by: NSimon Guinot <simon.guinot@sequanux.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      6c17aa01
    • L
      gpio: mcp23s08: rename the device tree property · 45971686
      Lars Poeschel 提交于
      The device tree property should be more descriptive.
      microchip seems more reasonable than mcp. The old mcp
      prefix is still supported but marked as deprecated.
      Users of mcp have to switch to the microchip prefix.
      Acked-by: NMark Rutland <mark.rutland@arm.com>
      Signed-off-by: NLars Poeschel <poeschel@lemonage.de>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      45971686
  4. 29 8月, 2013 1 次提交
  5. 24 8月, 2013 3 次提交
  6. 16 8月, 2013 13 次提交
  7. 30 7月, 2013 1 次提交
  8. 23 7月, 2013 1 次提交
  9. 22 7月, 2013 1 次提交
    • D
      gpio: pxa: remove dead code · 5dbb7c63
      Daniel Mack 提交于
      Commit f8731174 ("ARM: mmp: add more compatible names in gpio driver")
      changed the driver logic to determine the number of available GPIOs from
      the compatible string, and hence obsoleted the (undocumented) child
      nodes that were previously necessary. However, it left some remainder
      which can be safely removed now.
      
      Also, this patch makes pxa_gpio_probe_dt() return the correct value in
      case irq_alloc_descs() fails.
      Signed-off-by: NDaniel Mack <zonque@gmail.com>
      Cc: Haojian Zhuang <haojian.zhuang@linaro.org>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Arnd Bergmann <arnd@arndb.de>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      5dbb7c63
  10. 21 7月, 2013 8 次提交
    • M
      gpio: em: Add pinctrl support · 640efa08
      Magnus Damm 提交于
      Register the GPIO pin range, and request and free GPIO pins using the
      pinctrl API. The pctl_name platform data member should be used by
      platform devices to point out which pinctrl device to use.
      
      Follows same style as "dc3465a9 gpio-rcar: Add pinctrl support",
      by Laurent Pinchart, thanks to him.
      Signed-off-by: NMagnus Damm <damm@opensource.se>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      640efa08
    • G
      gpio: Kontron PLD gpio driver · d22fcde0
      Guenter Roeck 提交于
      Add gpio support for the on-board PLD found on some Kontron embedded modules.
      
      Originally-from: Michael Brunner <michael.brunner@kontron.com>
      Signed-off-by: NGuenter Roeck <linux@roeck-us.net>
      Signed-off-by: NKevin Strasser <kevin.strasser@linux.intel.com>
      Acked-by: NDarren Hart <dvhart@linux.intel.com>
      Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      d22fcde0
    • J
      gpiolib: replace strict_strtol() with kstrtol() · a3d88c92
      Jingoo Han 提交于
      The usage of strict_strtol() is not preferred, because
      strict_strtol() is obsolete. Thus, kstrtol() should be
      used.
      Signed-off-by: NJingoo Han <jg1.han@samsung.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      a3d88c92
    • P
      GPIO: gpio-twl6040: Remove support for legacy (pdata) mode · a5d28d79
      Peter Ujfalusi 提交于
      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: NPeter Ujfalusi <peter.ujfalusi@ti.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      a5d28d79
    • F
      gpio: gpio-mxc: Use devm functions · 8cd73e4e
      Fabio Estevam 提交于
      By using devm functions we can get a simpler code.
      Signed-off-by: NFabio Estevam <fabio.estevam@freescale.com>
      Acked-by: NShawn Guo <shawn.guo@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      8cd73e4e
    • J
      gpio-tz1090: convert to use generic irqchip · 04777396
      James Hogan 提交于
      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: NJames Hogan <james.hogan@imgtec.com>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Cc: Grant Likely <grant.likely@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      04777396
    • J
      gpio-tz1090-pdc: add TZ1090 PDC gpio driver · 79bb6460
      James Hogan 提交于
      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: NJames 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: NLinus Walleij <linus.walleij@linaro.org>
      79bb6460
    • J
      gpio-tz1090: add TZ1090 gpio driver · 9caf1f22
      James Hogan 提交于
      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: NJames 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: NLinus Walleij <linus.walleij@linaro.org>
      9caf1f22
  11. 15 7月, 2013 1 次提交
  12. 13 7月, 2013 4 次提交
    • N
      via-rhine: fix dma mapping errors · 9b4fe5fb
      Neil Horman 提交于
      this bug:
      https://bugzilla.redhat.com/show_bug.cgi?id=951695
      
      Reported a dma debug backtrace:
      
      WARNING: at lib/dma-debug.c:937 check_unmap+0x47d/0x930()
      Hardware name: To Be Filled By O.E.M.
      via-rhine 0000:00:12.0: DMA-API: device driver failed to check map error[device
      address=0x0000000075a837b2] [size=90 bytes] [mapped as single]
      Modules linked in: ip6_tables gspca_spca561 gspca_main videodev media
      snd_hda_codec_realtek snd_hda_intel i2c_viapro snd_hda_codec snd_hwdep snd_seq
      ppdev mperf via_rhine coretemp snd_pcm mii microcode snd_page_alloc snd_timer
      snd_mpu401 snd_mpu401_uart snd_rawmidi snd_seq_device snd soundcore parport_pc
      parport shpchp ata_generic pata_acpi radeon i2c_algo_bit drm_kms_helper ttm drm
      pata_via sata_via i2c_core uinput
      Pid: 295, comm: systemd-journal Not tainted 3.9.0-0.rc6.git2.1.fc20.x86_64 #1
      Call Trace:
       <IRQ>  [<ffffffff81068dd0>] warn_slowpath_common+0x70/0xa0
       [<ffffffff81068e4c>] warn_slowpath_fmt+0x4c/0x50
       [<ffffffff8137ec6d>] check_unmap+0x47d/0x930
       [<ffffffff810ace9f>] ? local_clock+0x5f/0x70
       [<ffffffff8137f17f>] debug_dma_unmap_page+0x5f/0x70
       [<ffffffffa0225edc>] ? rhine_ack_events.isra.14+0x3c/0x50 [via_rhine]
       [<ffffffffa02275f8>] rhine_napipoll+0x1d8/0xd80 [via_rhine]
       [<ffffffff815d3d51>] ? net_rx_action+0xa1/0x380
       [<ffffffff815d3e22>] net_rx_action+0x172/0x380
       [<ffffffff8107345f>] __do_softirq+0xff/0x400
       [<ffffffff81073925>] irq_exit+0xb5/0xc0
       [<ffffffff81724cd6>] do_IRQ+0x56/0xc0
       [<ffffffff81719ff2>] common_interrupt+0x72/0x72
       <EOI>  [<ffffffff8170ff57>] ? __slab_alloc+0x4c2/0x526
       [<ffffffff811992e0>] ? mmap_region+0x2b0/0x5a0
       [<ffffffff810d5807>] ? __lock_is_held+0x57/0x80
       [<ffffffff811992e0>] ? mmap_region+0x2b0/0x5a0
       [<ffffffff811bf1bf>] kmem_cache_alloc+0x2df/0x360
       [<ffffffff811992e0>] mmap_region+0x2b0/0x5a0
       [<ffffffff811998e6>] do_mmap_pgoff+0x316/0x3d0
       [<ffffffff81183ca0>] vm_mmap_pgoff+0x90/0xc0
       [<ffffffff81197d6c>] sys_mmap_pgoff+0x4c/0x190
       [<ffffffff81367d7e>] ? trace_hardirqs_on_thunk+0x3a/0x3f
       [<ffffffff8101eb42>] sys_mmap+0x22/0x30
       [<ffffffff81722fd9>] system_call_fastpath+0x16/0x1b
      
      Usual problem with the usual fix, add the appropriate calls to dma_mapping_error
      where appropriate
      
      Untested, as I don't have hardware, but its pretty straightforward
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      CC: David S. Miller <davem@davemloft.net>
      CC: Roger Luethi <rl@hellgate.ch>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9b4fe5fb
    • N
      atl1e: fix dma mapping warnings · 352900b5
      Neil Horman 提交于
      Recently had this backtrace reported:
      WARNING: at lib/dma-debug.c:937 check_unmap+0x47d/0x930()
      Hardware name: System Product Name
      ATL1E 0000:02:00.0: DMA-API: device driver failed to check map error[device
      address=0x00000000cbfd1000] [size=90 bytes] [mapped as single]
      Modules linked in: xt_conntrack nf_conntrack ebtable_filter ebtables
      ip6table_filter ip6_tables snd_hda_codec_hdmi snd_hda_codec_realtek iTCO_wdt
      iTCO_vendor_support snd_hda_intel acpi_cpufreq mperf coretemp btrfs zlib_deflate
      snd_hda_codec snd_hwdep microcode raid6_pq libcrc32c snd_seq usblp serio_raw xor
      snd_seq_device joydev snd_pcm snd_page_alloc snd_timer snd lpc_ich i2c_i801
      soundcore mfd_core atl1e asus_atk0110 ata_generic pata_acpi radeon i2c_algo_bit
      drm_kms_helper ttm drm i2c_core pata_marvell uinput
      Pid: 314, comm: systemd-journal Not tainted 3.9.0-0.rc6.git2.3.fc19.x86_64 #1
      Call Trace:
       <IRQ>  [<ffffffff81069106>] warn_slowpath_common+0x66/0x80
       [<ffffffff8106916c>] warn_slowpath_fmt+0x4c/0x50
       [<ffffffff8138151d>] check_unmap+0x47d/0x930
       [<ffffffff810ad048>] ? sched_clock_cpu+0xa8/0x100
       [<ffffffff81381a2f>] debug_dma_unmap_page+0x5f/0x70
       [<ffffffff8137ce30>] ? unmap_single+0x20/0x30
       [<ffffffffa01569a1>] atl1e_intr+0x3a1/0x5b0 [atl1e]
       [<ffffffff810d53fd>] ? trace_hardirqs_off+0xd/0x10
       [<ffffffff81119636>] handle_irq_event_percpu+0x56/0x390
       [<ffffffff811199ad>] handle_irq_event+0x3d/0x60
       [<ffffffff8111cb6a>] handle_fasteoi_irq+0x5a/0x100
       [<ffffffff8101c36f>] handle_irq+0xbf/0x150
       [<ffffffff811dcb2f>] ? file_sb_list_del+0x3f/0x50
       [<ffffffff81073b10>] ? irq_enter+0x50/0xa0
       [<ffffffff8172738d>] do_IRQ+0x4d/0xc0
       [<ffffffff811dcb2f>] ? file_sb_list_del+0x3f/0x50
       [<ffffffff8171c6b2>] common_interrupt+0x72/0x72
       <EOI>  [<ffffffff810db5b2>] ? lock_release+0xc2/0x310
       [<ffffffff8109ea04>] lg_local_unlock_cpu+0x24/0x50
       [<ffffffff811dcb2f>] file_sb_list_del+0x3f/0x50
       [<ffffffff811dcb6d>] fput+0x2d/0xc0
       [<ffffffff811d8ea1>] filp_close+0x61/0x90
       [<ffffffff811fae4d>] __close_fd+0x8d/0x150
       [<ffffffff811d8ef0>] sys_close+0x20/0x50
       [<ffffffff81725699>] system_call_fastpath+0x16/0x1b
      
      The usual straighforward failure to check for dma_mapping_error after a map
      operation is completed.
      
      This patch should fix it, the reporter wandered off after filing this bz:
      https://bugzilla.redhat.com/show_bug.cgi?id=954170
      
      and I don't have hardware to test, but the fix is pretty straightforward, so I
      figured I'd post it for review.
      Signed-off-by: NNeil Horman <nhorman@tuxdriver.com>
      CC: Jay Cliburn <jcliburn@gmail.com>
      CC: Chris Snook <chris.snook@gmail.com>
      CC: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      352900b5
    • H
      usb/net/r815x: fix cast to restricted __le32 · e7638524
      hayeswang 提交于
      >> drivers/net/usb/r815x.c:38:16: sparse: cast to restricted __le32
      >> drivers/net/usb/r815x.c:67:15: sparse: cast to restricted __le32
      >> drivers/net/usb/r815x.c:69:13: sparse: incorrect type in assignment (different base types)
         drivers/net/usb/r815x.c:69:13:    expected unsigned int [unsigned] [addressable] [assigned] [usertype] tmp
         drivers/net/usb/r815x.c:69:13:    got restricted __le32 [usertype] <noident>
      Signed-off-by: NHayes Wang <hayeswang@realtek.com>
      Spotted-by: Nkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e7638524
    • H
      usb/net/r8152: fix integer overflow in expression · 3ff25e3c
      hayeswang 提交于
      config: make ARCH=avr32 allyesconfig
      drivers/net/usb/r8152.c: In function 'rtl8152_start_xmit':
      drivers/net/usb/r8152.c:956: warning: integer overflow in expression
      
         955	memset(tx_desc, 0, sizeof(*tx_desc));
       > 956	tx_desc->opts1 = cpu_to_le32((len & TX_LEN_MASK) | TX_FS | TX_LS);
         957	tp->tx_skb = skb;
      Signed-off-by: NHayes Wang <hayeswang@realtek.com>
      Spotted-by: Nkbuild test robot <fengguang.wu@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      3ff25e3c
  13. 12 7月, 2013 3 次提交