1. 05 1月, 2016 1 次提交
  2. 19 11月, 2015 1 次提交
    • L
      gpio: change member .dev to .parent · 58383c78
      Linus Walleij 提交于
      The name .dev in a struct is normally reserved for a struct device
      that is let us say a superclass to the thing described by the struct.
      struct gpio_chip stands out by confusingly using a struct device *dev
      to point to the parent device (such as a platform_device) that
      represents the hardware. As we want to give gpio_chip:s real devices,
      this is not working. We need to rename this member to parent.
      
      This was done by two coccinelle scripts, I guess it is possible to
      combine them into one, but I don't know such stuff. They look like
      this:
      
      @@
      struct gpio_chip *var;
      @@
      -var->dev
      +var->parent
      
      and:
      
      @@
      struct gpio_chip var;
      @@
      -var.dev
      +var.parent
      
      and:
      
      @@
      struct bgpio_chip *var;
      @@
      -var->gc.dev
      +var->gc.parent
      
      Plus a few instances of bgpio that I couldn't figure out how
      to teach Coccinelle to rewrite.
      
      This patch hits all over the place, but I *strongly* prefer this
      solution to any piecemal approaches that just exercise patch
      mechanics all over the place. It mainly hits drivers/gpio and
      drivers/pinctrl which is my own backyard anyway.
      
      Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
      Cc: Rafał Miłecki <zajec5@gmail.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com>
      Cc: Alek Du <alek.du@intel.com>
      Cc: Jaroslav Kysela <perex@perex.cz>
      Cc: Takashi Iwai <tiwai@suse.com>
      Acked-by: NDmitry Torokhov <dmitry.torokhov@gmail.com>
      Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: NLee Jones <lee.jones@linaro.org>
      Acked-by: NJiri Kosina <jkosina@suse.cz>
      Acked-by: NHans-Christian Egtvedt <egtvedt@samfundet.no>
      Acked-by: NJacek Anaszewski <j.anaszewski@samsung.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      58383c78
  3. 17 6月, 2015 1 次提交
  4. 16 6月, 2015 1 次提交
  5. 02 6月, 2015 1 次提交
  6. 12 5月, 2015 1 次提交
  7. 26 3月, 2015 1 次提交
  8. 14 1月, 2015 1 次提交
    • A
      gpio: crystalcove: use handle_nested_irq · e733a2fb
      Aaron Lu 提交于
      The CrystalCove GPIO chip has can_sleep set so its demultiplexed irqs
      will have IRQ_NESTED_THREAD flag set, thus we should use the nested
      version handle_nested_irq in CrystalCove's irq handler instead of
      handle_generic_irq, or the following warning will be hit and the
      functionality is lost:
      
      [ 4089.639554] Hardware name: ASUSTeK COMPUTER INC. T100TA/T100TA, BIOS T100TA.313 08/13/2014
      [ 4089.639564]  00000002 00000000 c24fbdf4 c16e0257 c24fbe38 c24fbe28 c105390c c18ec480
      [ 4089.639596]  c24fbe54 00000048 c18f8e3b 00000295 c10a60fc 00000295 c10a60fc f4464540
      [ 4089.639626]  f446459c c278ad40 c24fbe40 c1053974 00000009 c24fbe38 c18ec480 c24fbe54
      [ 4089.639656] Call Trace:
      [ 4089.639685]  [<c16e0257>] dump_stack+0x41/0x52
      [ 4089.639707]  [<c105390c>] warn_slowpath_common+0x8c/0xc0
      [ 4089.639727]  [<c10a60fc>] ? irq_nested_primary_handler+0x2c/0x30
      [ 4089.639744]  [<c10a60fc>] ? irq_nested_primary_handler+0x2c/0x30
      [ 4089.639763]  [<c1053974>] warn_slowpath_fmt+0x34/0x40
      [ 4089.639781]  [<c10a60fc>] irq_nested_primary_handler+0x2c/0x30
      [ 4089.639800]  [<c10a5c56>] handle_irq_event_percpu+0x76/0x190
      [ 4089.639818]  [<c1461570>] ? regmap_format_10_14_write+0x30/0x30
      [ 4089.639836]  [<c1464f4c>] ? _regmap_bus_raw_write+0x4c/0x70
      [ 4089.639854]  [<c10a5da1>] handle_irq_event+0x31/0x50
      [ 4089.639872]  [<c10a83eb>] handle_simple_irq+0x4b/0x70
      [ 4089.639889]  [<c10a5384>] generic_handle_irq+0x24/0x40
      [ 4089.639908]  [<c1366d87>] crystalcove_gpio_irq_handler+0xa7/0xc0
      [ 4089.639927]  [<c10a85a7>] handle_nested_irq+0x77/0x190
      [ 4089.639947]  [<c1469801>] regmap_irq_thread+0x1b1/0x360
      [ 4089.639966]  [<c10a6ae8>] irq_thread_fn+0x18/0x30
      [ 4089.639983]  [<c10a6906>] irq_thread+0xf6/0x110
      [ 4089.640001]  [<c10a6ad0>] ? irq_finalize_oneshot.part.30+0x1b0/0x1b0
      [ 4089.640019]  [<c10a6b50>] ? irq_forced_thread_fn+0x50/0x50
      [ 4089.640037]  [<c10a6810>] ? irq_thread_check_affinity+0xc0/0xc0
      [ 4089.640054]  [<c106f389>] kthread+0xa9/0xc0
      [ 4089.640074]  [<c16e6401>] ret_from_kernel_thread+0x21/0x30
      [ 4089.640091]  [<c106f2e0>] ? kthread_create_on_node+0x110/0x110
      [ 4089.640105] ---[ end trace dca7946ad31eba7d ]---
      
      Buglink: https://bugzilla.kernel.org/show_bug.cgi?id=90521Reported-and-tested-by: NBrian Loften <bloften80@gmail.com>
      Cc: Stable <stable@vger.kernel.org>
      Signed-off-by: NAaron Lu <aaron.lu@intel.com>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      e733a2fb
  9. 20 10月, 2014 1 次提交
  10. 25 9月, 2014 1 次提交
    • A
      gpio: crystalcove: support virtual GPIO · dcdc3018
      Aaron Lu 提交于
      The virtual GPIO introduced in ACPI table of Baytrail-T based system is
      used to solve a problem under Windows. We do not have such problems
      under Linux so we do not actually need them. But we have to tell GPIO
      library that the Crystal Cove GPIO chip has this many GPIO pins or the
      common GPIO handler will refuse any access to those high number GPIO
      pins, which will resulted in a failure evaluation of every ACPI control
      method that is used to turn on/off power resource and/or report sensor
      temperatures.
      Signed-off-by: NAaron Lu <aaron.lu@intel.com>
      Reviewed-by: NMika Westerberg <mika.westerberg@linux.intel.com>
      [changed vgpio number from 0x5e to 94]
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      dcdc3018
  11. 23 9月, 2014 1 次提交
  12. 19 6月, 2014 1 次提交
  13. 17 6月, 2014 1 次提交