diff options
author | Nicolas Palix <npalix@diku.dk> | 2009-12-07 04:38:55 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-12-08 22:36:51 -0500 |
commit | f701b3999890b867f87733c146d4cdf9319ead05 (patch) | |
tree | ca3ca320dc28d3f4dae92f7bd096c5e13600b04f /arch/sh | |
parent | 87a705dde49d0c482fa818f0923af59ed0954d5d (diff) |
sh: Replace an explicit computation by the use of the container_of macro
The macro container_of from kernel.h performs the same
pointer arithmetic operation.
The semantic patch that makes this change is as follows:
(http://coccinelle.lip6.fr/)
// <smpl>
@@
type T;
expression mptr;
expression member;
@@
- (void *)((char *)mptr - offsetof(T, member))
+ container_of(mptr, T, member)
// </smpl>
Signed-off-by: Nicolas Palix <npalix@diku.dk>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh')
-rw-r--r-- | arch/sh/kernel/cpu/irq/ipr.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/sh/kernel/cpu/irq/ipr.c b/arch/sh/kernel/cpu/irq/ipr.c index c1508a90fc6a..9282d965a1b6 100644 --- a/arch/sh/kernel/cpu/irq/ipr.c +++ b/arch/sh/kernel/cpu/irq/ipr.c | |||
@@ -17,16 +17,17 @@ | |||
17 | * for more details. | 17 | * for more details. |
18 | */ | 18 | */ |
19 | #include <linux/init.h> | 19 | #include <linux/init.h> |
20 | #include <linux/interrupt.h> | ||
21 | #include <linux/io.h> | ||
20 | #include <linux/irq.h> | 22 | #include <linux/irq.h> |
23 | #include <linux/kernel.h> | ||
21 | #include <linux/module.h> | 24 | #include <linux/module.h> |
22 | #include <linux/io.h> | ||
23 | #include <linux/interrupt.h> | ||
24 | #include <linux/topology.h> | 25 | #include <linux/topology.h> |
25 | 26 | ||
26 | static inline struct ipr_desc *get_ipr_desc(unsigned int irq) | 27 | static inline struct ipr_desc *get_ipr_desc(unsigned int irq) |
27 | { | 28 | { |
28 | struct irq_chip *chip = get_irq_chip(irq); | 29 | struct irq_chip *chip = get_irq_chip(irq); |
29 | return (void *)((char *)chip - offsetof(struct ipr_desc, chip)); | 30 | return container_of(chip, struct ipr_desc, chip); |
30 | } | 31 | } |
31 | 32 | ||
32 | static void disable_ipr_irq(unsigned int irq) | 33 | static void disable_ipr_irq(unsigned int irq) |