mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-19 11:04:00 +08:00
gpio: Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc
Use irq_desc_get_xxx() to avoid redundant lookup of irq_desc while we already have a pointer to corresponding irq_desc. Preparatory patch for the removal of the 'irq' argument from irq flow handlers. Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Cc: Alexandre Courbot <gnurou@gmail.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
c16edb8b3a
commit
476f8b4c94
@ -438,7 +438,7 @@ static void bcm_kona_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
|
|||||||
void __iomem *reg_base;
|
void __iomem *reg_base;
|
||||||
int bit, bank_id;
|
int bit, bank_id;
|
||||||
unsigned long sta;
|
unsigned long sta;
|
||||||
struct bcm_kona_gpio_bank *bank = irq_get_handler_data(irq);
|
struct bcm_kona_gpio_bank *bank = irq_desc_get_handler_data(desc);
|
||||||
struct irq_chip *chip = irq_desc_get_chip(desc);
|
struct irq_chip *chip = irq_desc_get_chip(desc);
|
||||||
|
|
||||||
chained_irq_enter(chip, desc);
|
chained_irq_enter(chip, desc);
|
||||||
|
@ -149,7 +149,7 @@ static u32 dwapb_do_irq(struct dwapb_gpio *gpio)
|
|||||||
|
|
||||||
static void dwapb_irq_handler(u32 irq, struct irq_desc *desc)
|
static void dwapb_irq_handler(u32 irq, struct irq_desc *desc)
|
||||||
{
|
{
|
||||||
struct dwapb_gpio *gpio = irq_get_handler_data(irq);
|
struct dwapb_gpio *gpio = irq_desc_get_handler_data(desc);
|
||||||
struct irq_chip *chip = irq_desc_get_chip(desc);
|
struct irq_chip *chip = irq_desc_get_chip(desc);
|
||||||
|
|
||||||
dwapb_do_irq(gpio);
|
dwapb_do_irq(gpio);
|
||||||
|
@ -460,7 +460,7 @@ static int mvebu_gpio_irq_set_type(struct irq_data *d, unsigned int type)
|
|||||||
|
|
||||||
static void mvebu_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
|
static void mvebu_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
|
||||||
{
|
{
|
||||||
struct mvebu_gpio_chip *mvchip = irq_get_handler_data(irq);
|
struct mvebu_gpio_chip *mvchip = irq_desc_get_handler_data(desc);
|
||||||
struct irq_chip *chip = irq_desc_get_chip(desc);
|
struct irq_chip *chip = irq_desc_get_chip(desc);
|
||||||
u32 cause, type;
|
u32 cause, type;
|
||||||
int i;
|
int i;
|
||||||
|
@ -275,8 +275,8 @@ static void mxc_gpio_irq_handler(struct mxc_gpio_port *port, u32 irq_stat)
|
|||||||
static void mx3_gpio_irq_handler(u32 irq, struct irq_desc *desc)
|
static void mx3_gpio_irq_handler(u32 irq, struct irq_desc *desc)
|
||||||
{
|
{
|
||||||
u32 irq_stat;
|
u32 irq_stat;
|
||||||
struct mxc_gpio_port *port = irq_get_handler_data(irq);
|
struct mxc_gpio_port *port = irq_desc_get_handler_data(desc);
|
||||||
struct irq_chip *chip = irq_get_chip(irq);
|
struct irq_chip *chip = irq_desc_get_chip(desc);
|
||||||
|
|
||||||
chained_irq_enter(chip, desc);
|
chained_irq_enter(chip, desc);
|
||||||
|
|
||||||
@ -292,7 +292,7 @@ static void mx2_gpio_irq_handler(u32 irq, struct irq_desc *desc)
|
|||||||
{
|
{
|
||||||
u32 irq_msk, irq_stat;
|
u32 irq_msk, irq_stat;
|
||||||
struct mxc_gpio_port *port;
|
struct mxc_gpio_port *port;
|
||||||
struct irq_chip *chip = irq_get_chip(irq);
|
struct irq_chip *chip = irq_desc_get_chip(desc);
|
||||||
|
|
||||||
chained_irq_enter(chip, desc);
|
chained_irq_enter(chip, desc);
|
||||||
|
|
||||||
|
@ -157,7 +157,7 @@ static void mxs_flip_edge(struct mxs_gpio_port *port, u32 gpio)
|
|||||||
static void mxs_gpio_irq_handler(u32 irq, struct irq_desc *desc)
|
static void mxs_gpio_irq_handler(u32 irq, struct irq_desc *desc)
|
||||||
{
|
{
|
||||||
u32 irq_stat;
|
u32 irq_stat;
|
||||||
struct mxs_gpio_port *port = irq_get_handler_data(irq);
|
struct mxs_gpio_port *port = irq_desc_get_handler_data(desc);
|
||||||
|
|
||||||
desc->irq_data.chip->irq_ack(&desc->irq_data);
|
desc->irq_data.chip->irq_ack(&desc->irq_data);
|
||||||
|
|
||||||
|
@ -714,7 +714,7 @@ static void omap_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
|
|||||||
struct gpio_bank *bank;
|
struct gpio_bank *bank;
|
||||||
int unmasked = 0;
|
int unmasked = 0;
|
||||||
struct irq_chip *irqchip = irq_desc_get_chip(desc);
|
struct irq_chip *irqchip = irq_desc_get_chip(desc);
|
||||||
struct gpio_chip *chip = irq_get_handler_data(irq);
|
struct gpio_chip *chip = irq_desc_get_handler_data(desc);
|
||||||
|
|
||||||
chained_irq_enter(irqchip, desc);
|
chained_irq_enter(irqchip, desc);
|
||||||
|
|
||||||
|
@ -268,16 +268,14 @@ static void tegra_gpio_irq_shutdown(struct irq_data *d)
|
|||||||
|
|
||||||
static void tegra_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
|
static void tegra_gpio_irq_handler(unsigned int irq, struct irq_desc *desc)
|
||||||
{
|
{
|
||||||
struct tegra_gpio_bank *bank;
|
|
||||||
int port;
|
int port;
|
||||||
int pin;
|
int pin;
|
||||||
int unmasked = 0;
|
int unmasked = 0;
|
||||||
struct irq_chip *chip = irq_desc_get_chip(desc);
|
struct irq_chip *chip = irq_desc_get_chip(desc);
|
||||||
|
struct tegra_gpio_bank *bank = irq_desc_get_handler_data(desc);
|
||||||
|
|
||||||
chained_irq_enter(chip, desc);
|
chained_irq_enter(chip, desc);
|
||||||
|
|
||||||
bank = irq_get_handler_data(irq);
|
|
||||||
|
|
||||||
for (port = 0; port < 4; port++) {
|
for (port = 0; port < 4; port++) {
|
||||||
int gpio = tegra_gpio_compose(bank->bank, port, 0);
|
int gpio = tegra_gpio_compose(bank->bank, port, 0);
|
||||||
unsigned long sta = tegra_gpio_readl(GPIO_INT_STA(gpio)) &
|
unsigned long sta = tegra_gpio_readl(GPIO_INT_STA(gpio)) &
|
||||||
|
@ -194,11 +194,12 @@ out:
|
|||||||
|
|
||||||
static void timbgpio_irq(unsigned int irq, struct irq_desc *desc)
|
static void timbgpio_irq(unsigned int irq, struct irq_desc *desc)
|
||||||
{
|
{
|
||||||
struct timbgpio *tgpio = irq_get_handler_data(irq);
|
struct timbgpio *tgpio = irq_desc_get_handler_data(desc);
|
||||||
|
struct irq_data *data = irq_desc_get_irq_data(desc);
|
||||||
unsigned long ipr;
|
unsigned long ipr;
|
||||||
int offset;
|
int offset;
|
||||||
|
|
||||||
desc->irq_data.chip->irq_ack(irq_get_irq_data(irq));
|
data->chip->irq_ack(data);
|
||||||
ipr = ioread32(tgpio->membase + TGPIO_IPR);
|
ipr = ioread32(tgpio->membase + TGPIO_IPR);
|
||||||
iowrite32(ipr, tgpio->membase + TGPIO_ICR);
|
iowrite32(ipr, tgpio->membase + TGPIO_ICR);
|
||||||
|
|
||||||
|
@ -120,7 +120,7 @@ static int vf610_gpio_direction_output(struct gpio_chip *chip, unsigned gpio,
|
|||||||
|
|
||||||
static void vf610_gpio_irq_handler(u32 irq, struct irq_desc *desc)
|
static void vf610_gpio_irq_handler(u32 irq, struct irq_desc *desc)
|
||||||
{
|
{
|
||||||
struct vf610_gpio_port *port = irq_get_handler_data(irq);
|
struct vf610_gpio_port *port = irq_desc_get_handler_data(desc);
|
||||||
struct irq_chip *chip = irq_desc_get_chip(desc);
|
struct irq_chip *chip = irq_desc_get_chip(desc);
|
||||||
int pin;
|
int pin;
|
||||||
unsigned long irq_isfr;
|
unsigned long irq_isfr;
|
||||||
|
@ -518,7 +518,7 @@ static void zynq_gpio_irqhandler(unsigned int irq, struct irq_desc *desc)
|
|||||||
{
|
{
|
||||||
u32 int_sts, int_enb;
|
u32 int_sts, int_enb;
|
||||||
unsigned int bank_num;
|
unsigned int bank_num;
|
||||||
struct zynq_gpio *gpio = irq_get_handler_data(irq);
|
struct zynq_gpio *gpio = irq_desc_get_handler_data(desc);
|
||||||
struct irq_chip *irqchip = irq_desc_get_chip(desc);
|
struct irq_chip *irqchip = irq_desc_get_chip(desc);
|
||||||
|
|
||||||
chained_irq_enter(irqchip, desc);
|
chained_irq_enter(irqchip, desc);
|
||||||
|
Loading…
Reference in New Issue
Block a user