From: Sasha Levin <sashal@kernel.org>
To: stable@vger.kernel.org
Cc: Sean Anderson <sean.anderson@linux.dev>, Sasha Levin <sashal@kernel.org>
Subject: Re: [PATCH 6.1.y v2] gpio: xilinx: Convert gpio_lock to raw spinlock
Date: Tue, 21 Jan 2025 15:08:34 -0500 [thread overview]
Message-ID: <20250121150444-679d58b2f8a11294@stable.kernel.org> (raw)
In-Reply-To: <20250121193205.3386351-1-sean.anderson@linux.dev>
[ Sasha's backport helper bot ]
Hi,
The upstream commit SHA1 provided is correct: 9860370c2172704b6b4f0075a0c2a29fd84af96a
Status in newer kernel trees:
6.12.y | Not found
6.6.y | Not found
6.1.y | Not found
Note: The patch differs from the upstream commit:
---
1: 9860370c21727 ! 1: 849f99ff428f2 gpio: xilinx: Convert gpio_lock to raw spinlock
@@ Metadata
## Commit message ##
gpio: xilinx: Convert gpio_lock to raw spinlock
+ [ Upstream commit 9860370c2172704b6b4f0075a0c2a29fd84af96a ]
+
irq_chip functions may be called in raw spinlock context. Therefore, we
must also use a raw spinlock for our own internal locking.
@@ Commit message
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20250110163354.2012654-1-sean.anderson@linux.dev
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
+ [ resolved conflicts ]
+ Signed-off-by: Sean Anderson <sean.anderson@linux.dev>
## drivers/gpio/gpio-xilinx.c ##
@@ drivers/gpio/gpio-xilinx.c: struct xgpio_instance {
@@ drivers/gpio/gpio-xilinx.c: struct xgpio_instance {
- spinlock_t gpio_lock; /* For serializing operations */
+ raw_spinlock_t gpio_lock; /* For serializing operations */
int irq;
+ struct irq_chip irqchip;
DECLARE_BITMAP(enable, 64);
- DECLARE_BITMAP(rising_edge, 64);
@@ drivers/gpio/gpio-xilinx.c: static void xgpio_set(struct gpio_chip *gc, unsigned int gpio, int val)
struct xgpio_instance *chip = gpiochip_get_data(gc);
int bit = xgpio_to_bit(chip, gpio);
@@ drivers/gpio/gpio-xilinx.c: static void xgpio_irq_mask(struct irq_data *irq_data
}
- spin_unlock_irqrestore(&chip->gpio_lock, flags);
+ raw_spin_unlock_irqrestore(&chip->gpio_lock, flags);
-
- gpiochip_disable_irq(&chip->gc, irq_offset);
}
-@@ drivers/gpio/gpio-xilinx.c: static void xgpio_irq_unmask(struct irq_data *irq_data)
- gpiochip_enable_irq(&chip->gc, irq_offset);
+ /**
+@@ drivers/gpio/gpio-xilinx.c: static void xgpio_irq_unmask(struct irq_data *irq_data)
+ u32 old_enable = xgpio_get_value32(chip->enable, bit);
+ u32 mask = BIT(bit / 32), val;
- spin_lock_irqsave(&chip->gpio_lock, flags);
+ raw_spin_lock_irqsave(&chip->gpio_lock, flags);
---
Results of testing on various branches:
| Branch | Patch Apply | Build Test |
|---------------------------|-------------|------------|
| stable/linux-6.1.y | Success | Success |
next prev parent reply other threads:[~2025-01-21 20:08 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-01-20 13:44 FAILED: patch "[PATCH] gpio: xilinx: Convert gpio_lock to raw spinlock" failed to apply to 6.1-stable tree gregkh
2025-01-21 18:41 ` [PATCH 6.1.y] gpio: xilinx: Convert gpio_lock to raw spinlock Sean Anderson
2025-01-21 19:27 ` Sean Anderson
2025-01-21 19:32 ` [PATCH 6.1.y v2] " Sean Anderson
2025-01-21 20:08 ` Sasha Levin [this message]
2025-01-29 9:14 ` Greg KH
2025-01-30 16:01 ` Sean Anderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250121150444-679d58b2f8a11294@stable.kernel.org \
--to=sashal@kernel.org \
--cc=sean.anderson@linux.dev \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.