diff options
author | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
---|---|---|
committer | Glenn Elliott <gelliott@cs.unc.edu> | 2012-03-04 19:47:13 -0500 |
commit | c71c03bda1e86c9d5198c5d83f712e695c4f2a1e (patch) | |
tree | ecb166cb3e2b7e2adb3b5e292245fefd23381ac8 /arch/powerpc/sysdev/qe_lib | |
parent | ea53c912f8a86a8567697115b6a0d8152beee5c8 (diff) | |
parent | 6a00f206debf8a5c8899055726ad127dbeeed098 (diff) |
Merge branch 'mpi-master' into wip-k-fmlpwip-k-fmlp
Conflicts:
litmus/sched_cedf.c
Diffstat (limited to 'arch/powerpc/sysdev/qe_lib')
-rw-r--r-- | arch/powerpc/sysdev/qe_lib/qe.c | 7 | ||||
-rw-r--r-- | arch/powerpc/sysdev/qe_lib/qe_ic.c | 39 |
2 files changed, 24 insertions, 22 deletions
diff --git a/arch/powerpc/sysdev/qe_lib/qe.c b/arch/powerpc/sysdev/qe_lib/qe.c index 90020de4dcf2..904c6cbaf45b 100644 --- a/arch/powerpc/sysdev/qe_lib/qe.c +++ b/arch/powerpc/sysdev/qe_lib/qe.c | |||
@@ -659,8 +659,7 @@ static int qe_resume(struct platform_device *ofdev) | |||
659 | return 0; | 659 | return 0; |
660 | } | 660 | } |
661 | 661 | ||
662 | static int qe_probe(struct platform_device *ofdev, | 662 | static int qe_probe(struct platform_device *ofdev) |
663 | const struct of_device_id *id) | ||
664 | { | 663 | { |
665 | return 0; | 664 | return 0; |
666 | } | 665 | } |
@@ -670,7 +669,7 @@ static const struct of_device_id qe_ids[] = { | |||
670 | { }, | 669 | { }, |
671 | }; | 670 | }; |
672 | 671 | ||
673 | static struct of_platform_driver qe_driver = { | 672 | static struct platform_driver qe_driver = { |
674 | .driver = { | 673 | .driver = { |
675 | .name = "fsl-qe", | 674 | .name = "fsl-qe", |
676 | .owner = THIS_MODULE, | 675 | .owner = THIS_MODULE, |
@@ -682,7 +681,7 @@ static struct of_platform_driver qe_driver = { | |||
682 | 681 | ||
683 | static int __init qe_drv_init(void) | 682 | static int __init qe_drv_init(void) |
684 | { | 683 | { |
685 | return of_register_platform_driver(&qe_driver); | 684 | return platform_driver_register(&qe_driver); |
686 | } | 685 | } |
687 | device_initcall(qe_drv_init); | 686 | device_initcall(qe_drv_init); |
688 | #endif /* defined(CONFIG_SUSPEND) && defined(CONFIG_PPC_85xx) */ | 687 | #endif /* defined(CONFIG_SUSPEND) && defined(CONFIG_PPC_85xx) */ |
diff --git a/arch/powerpc/sysdev/qe_lib/qe_ic.c b/arch/powerpc/sysdev/qe_lib/qe_ic.c index 541ba9863647..b2acda07220d 100644 --- a/arch/powerpc/sysdev/qe_lib/qe_ic.c +++ b/arch/powerpc/sysdev/qe_lib/qe_ic.c | |||
@@ -189,15 +189,18 @@ static inline void qe_ic_write(volatile __be32 __iomem * base, unsigned int reg | |||
189 | 189 | ||
190 | static inline struct qe_ic *qe_ic_from_irq(unsigned int virq) | 190 | static inline struct qe_ic *qe_ic_from_irq(unsigned int virq) |
191 | { | 191 | { |
192 | return irq_to_desc(virq)->chip_data; | 192 | return irq_get_chip_data(virq); |
193 | } | 193 | } |
194 | 194 | ||
195 | #define virq_to_hw(virq) ((unsigned int)irq_map[virq].hwirq) | 195 | static inline struct qe_ic *qe_ic_from_irq_data(struct irq_data *d) |
196 | { | ||
197 | return irq_data_get_irq_chip_data(d); | ||
198 | } | ||
196 | 199 | ||
197 | static void qe_ic_unmask_irq(unsigned int virq) | 200 | static void qe_ic_unmask_irq(struct irq_data *d) |
198 | { | 201 | { |
199 | struct qe_ic *qe_ic = qe_ic_from_irq(virq); | 202 | struct qe_ic *qe_ic = qe_ic_from_irq_data(d); |
200 | unsigned int src = virq_to_hw(virq); | 203 | unsigned int src = irqd_to_hwirq(d); |
201 | unsigned long flags; | 204 | unsigned long flags; |
202 | u32 temp; | 205 | u32 temp; |
203 | 206 | ||
@@ -210,10 +213,10 @@ static void qe_ic_unmask_irq(unsigned int virq) | |||
210 | raw_spin_unlock_irqrestore(&qe_ic_lock, flags); | 213 | raw_spin_unlock_irqrestore(&qe_ic_lock, flags); |
211 | } | 214 | } |
212 | 215 | ||
213 | static void qe_ic_mask_irq(unsigned int virq) | 216 | static void qe_ic_mask_irq(struct irq_data *d) |
214 | { | 217 | { |
215 | struct qe_ic *qe_ic = qe_ic_from_irq(virq); | 218 | struct qe_ic *qe_ic = qe_ic_from_irq_data(d); |
216 | unsigned int src = virq_to_hw(virq); | 219 | unsigned int src = irqd_to_hwirq(d); |
217 | unsigned long flags; | 220 | unsigned long flags; |
218 | u32 temp; | 221 | u32 temp; |
219 | 222 | ||
@@ -238,9 +241,9 @@ static void qe_ic_mask_irq(unsigned int virq) | |||
238 | 241 | ||
239 | static struct irq_chip qe_ic_irq_chip = { | 242 | static struct irq_chip qe_ic_irq_chip = { |
240 | .name = "QEIC", | 243 | .name = "QEIC", |
241 | .unmask = qe_ic_unmask_irq, | 244 | .irq_unmask = qe_ic_unmask_irq, |
242 | .mask = qe_ic_mask_irq, | 245 | .irq_mask = qe_ic_mask_irq, |
243 | .mask_ack = qe_ic_mask_irq, | 246 | .irq_mask_ack = qe_ic_mask_irq, |
244 | }; | 247 | }; |
245 | 248 | ||
246 | static int qe_ic_host_match(struct irq_host *h, struct device_node *node) | 249 | static int qe_ic_host_match(struct irq_host *h, struct device_node *node) |
@@ -262,10 +265,10 @@ static int qe_ic_host_map(struct irq_host *h, unsigned int virq, | |||
262 | /* Default chip */ | 265 | /* Default chip */ |
263 | chip = &qe_ic->hc_irq; | 266 | chip = &qe_ic->hc_irq; |
264 | 267 | ||
265 | set_irq_chip_data(virq, qe_ic); | 268 | irq_set_chip_data(virq, qe_ic); |
266 | irq_to_desc(virq)->status |= IRQ_LEVEL; | 269 | irq_set_status_flags(virq, IRQ_LEVEL); |
267 | 270 | ||
268 | set_irq_chip_and_handler(virq, chip, handle_level_irq); | 271 | irq_set_chip_and_handler(virq, chip, handle_level_irq); |
269 | 272 | ||
270 | return 0; | 273 | return 0; |
271 | } | 274 | } |
@@ -381,13 +384,13 @@ void __init qe_ic_init(struct device_node *node, unsigned int flags, | |||
381 | 384 | ||
382 | qe_ic_write(qe_ic->regs, QEIC_CICR, temp); | 385 | qe_ic_write(qe_ic->regs, QEIC_CICR, temp); |
383 | 386 | ||
384 | set_irq_data(qe_ic->virq_low, qe_ic); | 387 | irq_set_handler_data(qe_ic->virq_low, qe_ic); |
385 | set_irq_chained_handler(qe_ic->virq_low, low_handler); | 388 | irq_set_chained_handler(qe_ic->virq_low, low_handler); |
386 | 389 | ||
387 | if (qe_ic->virq_high != NO_IRQ && | 390 | if (qe_ic->virq_high != NO_IRQ && |
388 | qe_ic->virq_high != qe_ic->virq_low) { | 391 | qe_ic->virq_high != qe_ic->virq_low) { |
389 | set_irq_data(qe_ic->virq_high, qe_ic); | 392 | irq_set_handler_data(qe_ic->virq_high, qe_ic); |
390 | set_irq_chained_handler(qe_ic->virq_high, high_handler); | 393 | irq_set_chained_handler(qe_ic->virq_high, high_handler); |
391 | } | 394 | } |
392 | } | 395 | } |
393 | 396 | ||