Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mfd: max899x: Avoid redundant irq_data lookup

It's pretty silly to do

irq_data *d = irq_get_irq_data(irq_data->irq);

because that results in d = irq_data, but goes through a lookup of the
irq_data. Use irq_data directly.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Lee Jones <lee.jones@linaro.org>

authored by

Thomas Gleixner and committed by
Lee Jones
e5ad2344 0d674d93

+6 -10
+3 -4
drivers/mfd/max8997-irq.c
··· 140 140 } 141 141 142 142 static const inline struct max8997_irq_data * 143 - irq_to_max8997_irq(struct max8997_dev *max8997, int irq) 143 + irq_to_max8997_irq(struct max8997_dev *max8997, struct irq_data *data) 144 144 { 145 - struct irq_data *data = irq_get_irq_data(irq); 146 145 return &max8997_irqs[data->hwirq]; 147 146 } 148 147 ··· 149 150 { 150 151 struct max8997_dev *max8997 = irq_data_get_irq_chip_data(data); 151 152 const struct max8997_irq_data *irq_data = irq_to_max8997_irq(max8997, 152 - data->irq); 153 + data); 153 154 154 155 max8997->irq_masks_cur[irq_data->group] |= irq_data->mask; 155 156 } ··· 158 159 { 159 160 struct max8997_dev *max8997 = irq_data_get_irq_chip_data(data); 160 161 const struct max8997_irq_data *irq_data = irq_to_max8997_irq(max8997, 161 - data->irq); 162 + data); 162 163 163 164 max8997->irq_masks_cur[irq_data->group] &= ~irq_data->mask; 164 165 }
+3 -6
drivers/mfd/max8998-irq.c
··· 98 98 }; 99 99 100 100 static inline struct max8998_irq_data * 101 - irq_to_max8998_irq(struct max8998_dev *max8998, int irq) 101 + irq_to_max8998_irq(struct max8998_dev *max8998, struct irq_data *data) 102 102 { 103 - struct irq_data *data = irq_get_irq_data(irq); 104 103 return &max8998_irqs[data->hwirq]; 105 104 } 106 105 ··· 133 134 static void max8998_irq_unmask(struct irq_data *data) 134 135 { 135 136 struct max8998_dev *max8998 = irq_data_get_irq_chip_data(data); 136 - struct max8998_irq_data *irq_data = irq_to_max8998_irq(max8998, 137 - data->irq); 137 + struct max8998_irq_data *irq_data = irq_to_max8998_irq(max8998, data); 138 138 139 139 max8998->irq_masks_cur[irq_data->reg - 1] &= ~irq_data->mask; 140 140 } ··· 141 143 static void max8998_irq_mask(struct irq_data *data) 142 144 { 143 145 struct max8998_dev *max8998 = irq_data_get_irq_chip_data(data); 144 - struct max8998_irq_data *irq_data = irq_to_max8998_irq(max8998, 145 - data->irq); 146 + struct max8998_irq_data *irq_data = irq_to_max8998_irq(max8998, data); 146 147 147 148 max8998->irq_masks_cur[irq_data->reg - 1] |= irq_data->mask; 148 149 }