Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1599684

[RFC PATCH 0/4] pinctrl: rockchip: PREEMPT_RT_FULL fixes

From John Keeping <john@metanate.com>
Newsgroups linux.kernel
Subject [RFC PATCH 0/4] pinctrl: rockchip: PREEMPT_RT_FULL fixes
Date 2017-03-13 19:40 +0100
Message-ID <tkD2V-4vZ-3@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


As described in Documentation/gpio/driver.txt, we should not be using
sleepable APIs in the irqchip implementation.  Since this includes the
regmap API, this patch series ends up moving the mux setup for IRQs into
an irq_bus_sync_unlock() handler which may result in the IRQ being
configured before the port has been muxed as a GPIO.

I've marked the series as RFC because I'm not sure if this is the best
way to accomplish this or if there is another approach that is cleaner.
Also, the first patch may not be correct on RK3399 because I originally
wrote the patch for RK3288 on top of v4.4 where all drive updates only
affect a single register.  We don't need locking in this case because
regmap_update_bits() takes a lock on the regmap internally, but if these
two registers need to be updated atomically then another lock will
be required here - slock cannot be used if it is converted to a raw
spinlock since with full RT preemption the regmap's spinlock may sleep.

John Keeping (4):
  pinctrl: rockchip: remove unnecessary locking
  pinctrl: rockchip: convert to raw spinlock
  pinctrl: rockchip: split out verification of mux settings
  pinctrl: rockchip: avoid hardirq-unsafe functions in irq_chip

 drivers/pinctrl/pinctrl-rockchip.c | 140 +++++++++++++++++++++++--------------
 1 file changed, 86 insertions(+), 54 deletions(-)

-- 
2.12.0.377.gf910686b23.dirty

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[RFC PATCH 0/4] pinctrl: rockchip: PREEMPT_RT_FULL fixes John Keeping <john@metanate.com> - 2017-03-13 19:40 +0100
  Re: [RFC PATCH 0/4] pinctrl: rockchip: PREEMPT_RT_FULL fixes Linus Walleij <linus.walleij@linaro.org> - 2017-03-15 14:20 +0100
    Re: [RFC PATCH 0/4] pinctrl: rockchip: PREEMPT_RT_FULL fixes Julia Cartwright <julia@ni.com> - 2017-03-15 19:30 +0100
  Re: [RFC PATCH 0/4] pinctrl: rockchip: PREEMPT_RT_FULL fixes Heiko Stuebner <heiko@sntech.de> - 2017-03-15 18:20 +0100

csiph-web