1. 04 12月, 2015 1 次提交
  2. 11 8月, 2015 1 次提交
    • R
      mfd: Kill off set_irq_flags usage · 9bd09f34
      Rob Herring 提交于
      set_irq_flags is ARM specific with custom flags which have genirq
      equivalents. Convert drivers to use the genirq interfaces directly, so we
      can kill off set_irq_flags. The translation of flags is as follows:
      
      IRQF_VALID -> !IRQ_NOREQUEST
      IRQF_PROBE -> !IRQ_NOPROBE
      IRQF_NOAUTOEN -> IRQ_NOAUTOEN
      
      For IRQs managed by an irqdomain, the irqdomain core code handles clearing
      and setting IRQ_NOREQUEST already, so there is no need to do this in
      .map() functions and we can simply remove the set_irq_flags calls. Some
      users also modify IRQ_NOPROBE and this has been maintained although it
      is not clear that is really needed. There appears to be a great deal of
      blind copy and paste of this code.
      Signed-off-by: NRob Herring <robh@kernel.org>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      9bd09f34
  3. 22 6月, 2015 1 次提交
  4. 20 10月, 2014 1 次提交
  5. 20 8月, 2014 1 次提交
  6. 09 7月, 2014 2 次提交
    • L
      mfd: ab8500-core: Resolve code style issues · 7ccf40b1
      Lee Jones 提交于
      Soothes the following checkpatch warnings:
      
          WARNING: line over 80 characters
          #151: FILE: drivers/mfd/ab8500-core.c:151:
          +	0, 1, 2, 3, 4, -1, -1, -1, -1, 11, 18, 19, 20, 21, 12, 13, 24, 5, 22, 23,
      
          ERROR: spaces required around that '=' (ctx:VxW)
          #325: FILE: drivers/mfd/ab8500-core.c:325:
          +	ret= mask_and_set_register_interruptible(ab8500, bank, reg,
           	   ^
      
          WARNING: line over 80 characters
          #418: FILE: drivers/mfd/ab8500-core.c:418:
          +		else if (offset >= AB9540_INT_GPIO50R && offset <= AB9540_INT_GPIO54R)
      
          WARNING: line over 80 characters
          #420: FILE: drivers/mfd/ab8500-core.c:420:
          +		else if (offset == AB8540_INT_GPIO43R || offset == AB8540_INT_GPIO44R)
      
          ERROR: spaces required around that '==' (ctx:VxV)
          #454: FILE: drivers/mfd/ab8500-core.c:454:
          +	if ((i==3) && (*offset >= 24))
           	      ^
      
          ERROR: code indent should use tabs where possible
          #576: FILE: drivers/mfd/ab8500-core.c:576:
          +        .map    = ab8500_irq_map,$
      
          WARNING: please, no spaces at the start of a line
          #576: FILE: drivers/mfd/ab8500-core.c:576:
          +        .map    = ab8500_irq_map,$
      
          ERROR: code indent should use tabs where possible
          #577: FILE: drivers/mfd/ab8500-core.c:577:
          +        .xlate  = irq_domain_xlate_twocell,$
      
          WARNING: please, no spaces at the start of a line
          #577: FILE: drivers/mfd/ab8500-core.c:577:
          +        .xlate  = irq_domain_xlate_twocell,$
      
          WARNING: char * array declaration might be better as static const
          #1554: FILE: drivers/mfd/ab8500-core.c:1554:
          +	static char *switch_off_status[] = {
      
          WARNING: char * array declaration might be better as static const
          #1563: FILE: drivers/mfd/ab8500-core.c:1563:
          +	static char *turn_on_status[] = {
      
          WARNING: sizeof *ab8500 should be sizeof(*ab8500)
          #1582: FILE: drivers/mfd/ab8500-core.c:1582:
          +	ab8500 = devm_kzalloc(&pdev->dev, sizeof *ab8500, GFP_KERNEL);
      
          ERROR: space required after that close brace '}'
          #1639: FILE: drivers/mfd/ab8500-core.c:1639:
          +	}/* Configure AB8500 or AB9540 IRQ */
      
          WARNING: line over 80 characters
          #1652: FILE: drivers/mfd/ab8500-core.c:1652:
          +	ab8500->oldmask = devm_kzalloc(&pdev->dev, ab8500->mask_size, GFP_KERNEL);
      
          WARNING: Prefer [subsystem eg: netdev]_cont([subsystem]dev, ... then dev_cont(dev, ... then pr_cont(...  to printk(KERN_CONT ...
          #1677: FILE: drivers/mfd/ab8500-core.c:1677:
          +				printk(KERN_CONT " \"%s\"",
      
          WARNING: Prefer [subsystem eg: netdev]_cont([subsystem]dev, ... then dev_cont(dev, ... then pr_cont(...  to printk(KERN_CONT ...
          #1682: FILE: drivers/mfd/ab8500-core.c:1682:
          +		printk(KERN_CONT "\n");
      
          WARNING: Prefer [subsystem eg: netdev]_cont([subsystem]dev, ... then dev_cont(dev, ... then pr_cont(...  to printk(KERN_CONT ...
          #1684: FILE: drivers/mfd/ab8500-core.c:1684:
          +		printk(KERN_CONT " None\n");
      
          WARNING: printk() should include KERN_ facility level
          #1695: FILE: drivers/mfd/ab8500-core.c:1695:
          +				printk("\"%s\" ", turn_on_status[i]);
      
          WARNING: printk() should include KERN_ facility level
          #1700: FILE: drivers/mfd/ab8500-core.c:1700:
          +		printk("None\n");
      
          total: 5 errors, 14 warnings, 1869 lines checked
      Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      7ccf40b1
    • L
      mfd: ab8500-core: Remove pointless else in if statement · f3556302
      Lee Jones 提交于
      Save a line of code (albeit, it's replaced by a blank line, but
      still), as the else is superfluous.
      Reviewed-by: NLinus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      f3556302
  7. 26 6月, 2014 1 次提交
  8. 04 3月, 2014 1 次提交
    • L
      mfd: dbx500/abx500: root out hardcoded IRQ assignments · f864c46a
      Linus Walleij 提交于
      The DBx500 and ABx500 should be getting their IRQs from the
      device tree and nowhere else. Get rid of all the static assignments
      everywhere, delete it from the driver, platform data and the
      board files in one swift strike.
      
      Lots of cross-dependencies in the MFD drivers for PRCMU and
      AB8500 makes it necessary to strike everywhere at once to
      eradicate IRQs passed as resources and platform data to the left
      and right around the platform.
      
      Cc: Mark Brown <broonie@kernel.org>
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Acked-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      f864c46a
  9. 21 1月, 2014 1 次提交
  10. 06 1月, 2014 1 次提交
  11. 13 6月, 2013 4 次提交
  12. 17 5月, 2013 3 次提交
  13. 09 4月, 2013 2 次提交
  14. 07 3月, 2013 11 次提交
  15. 14 2月, 2013 1 次提交
  16. 08 2月, 2013 5 次提交
    • L
      mfd: ab8500: allow AB9540 based devices to use ABX500 pinctrl · e64d905e
      Lee Jones 提交于
      The old AB8500 GPIO driver has been un-BROKEN and converted into a
      multi-platform pinctrl driver. If any AB9540 based devices wish to
      request any GPIO pins that it offers, they can after this patch.
      
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      e64d905e
    • L
      mfd: ab8500: ensure new AB8500 pinctrl driver is probed correctly · 7d56a46e
      Lee Jones 提交于
      The old, BROKEN AB8500 GPIO driver has been revamped as a shiny
      new pinctrl driver and has been renamed as such. So, if we would
      like to make use of it, we need to register it via its new name.
      
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      7d56a46e
    • L
      mfd: ab8500: provide a irq_set_type() function · 40f6e5a2
      Lee Jones 提交于
      In the AB8500 IRQ mask and unmask functions, we rely on testing for
      IRQ_TYPE_EDGE_RISING and IRQ_TYPE_EDGE_FALLING interrupts to
      physically mask and unmask the correct interrupt lines. In order
      for us to do that, the trigger needs to be set in the associated
      flags. However, unless a irq_set_type() function pointer is passed
      when registering the IRQ chip, the IRQ subsystem will refuse to do
      it. For that reason, we're providing one.
      
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      40f6e5a2
    • L
      mfd: ab8500: actually handle the AB8500 GPIO IRQs correctly · e2ddf46a
      Linus Walleij 提交于
      The patch:
      "mfd: ab8500: prepare to handle AB8500 GPIO's IRQs correctly"
      altered the AB8500 IRQ mask/unmask functions such that they
      would handle masking on/off the falling edge IRQ if this was
      requested by the consumer. However the bit mask for hwirqs
      43 and 44 was shifting the bit mask incorrectly, resulting in
      the wrong IRQ being mased/unmasked.
      
      Further while the patch would mask/unmask the correct line,
      when the interrupt actually came in, it would still be treated
      as a valid hwirq. The offsetting applied when masking/unmasking
      was not applied when handling the IRQ, i.e. the falling edge
      lines were not routed back to the rising edge lines.
      
      This fixes both cases. The end result has been tested with
      the SIM detect IRQ, GPIO12, hwirq 46 and 62.
      
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Cc: Lee Jones <lee.jones@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@stericsson.com>
      e2ddf46a
    • L
      mfd: ab8500: prepare to handle AB8500 GPIO's IRQs correctly · 9c677b9b
      Lee Jones 提交于
      In an upcoming patch, the gpio-ab8500 driver will relinquish all
      IRQ handling capability and pass it back into the AB8500 core
      driver. This will aid in reducing massive code duplication within
      the kernel. Also, most of the functionality is already in the
      AB8500 core driver, as the GPIO IRQs are actually sandwiched
      between lots of other IRQs which the core driver already handles.
      
      All we're doing here is providing the core driver with knowledge
      that each GPIO has two IRQs assigned to it; one for rising and
      a separate one for falling.
      
      Cc: Samuel Ortiz <sameo@linux.intel.com>
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NLinus Walleij <linus.walleij@linaro.org>
      9c677b9b
  17. 04 2月, 2013 2 次提交
  18. 23 1月, 2013 1 次提交