| .. | .. |
|---|
| 11 | 11 | |
|---|
| 12 | 12 | #include <linux/delay.h> |
|---|
| 13 | 13 | #include <linux/err.h> |
|---|
| 14 | | -#include <linux/gpio.h> |
|---|
| 14 | +#include <linux/gpio/driver.h> |
|---|
| 15 | 15 | #include <linux/io.h> |
|---|
| 16 | 16 | #include <linux/irqchip/chained_irq.h> |
|---|
| 17 | 17 | #include <linux/irqdomain.h> |
|---|
| 18 | +#include <linux/module.h> |
|---|
| 18 | 19 | #include <linux/of_irq.h> |
|---|
| 19 | 20 | #include <linux/platform_device.h> |
|---|
| 20 | 21 | |
|---|
| .. | .. |
|---|
| 277 | 278 | |
|---|
| 278 | 279 | static unsigned int mtk_eint_hw_init(struct mtk_eint *eint) |
|---|
| 279 | 280 | { |
|---|
| 280 | | - void __iomem *reg = eint->base + eint->regs->dom_en; |
|---|
| 281 | + void __iomem *dom_en = eint->base + eint->regs->dom_en; |
|---|
| 282 | + void __iomem *mask_set = eint->base + eint->regs->mask_set; |
|---|
| 281 | 283 | unsigned int i; |
|---|
| 282 | 284 | |
|---|
| 283 | 285 | for (i = 0; i < eint->hw->ap_num; i += 32) { |
|---|
| 284 | | - writel(0xffffffff, reg); |
|---|
| 285 | | - reg += 4; |
|---|
| 286 | + writel(0xffffffff, dom_en); |
|---|
| 287 | + writel(0xffffffff, mask_set); |
|---|
| 288 | + dom_en += 4; |
|---|
| 289 | + mask_set += 4; |
|---|
| 286 | 290 | } |
|---|
| 287 | 291 | |
|---|
| 288 | 292 | return 0; |
|---|
| .. | .. |
|---|
| 379 | 383 | |
|---|
| 380 | 384 | return 0; |
|---|
| 381 | 385 | } |
|---|
| 386 | +EXPORT_SYMBOL_GPL(mtk_eint_do_suspend); |
|---|
| 382 | 387 | |
|---|
| 383 | 388 | int mtk_eint_do_resume(struct mtk_eint *eint) |
|---|
| 384 | 389 | { |
|---|
| .. | .. |
|---|
| 386 | 391 | |
|---|
| 387 | 392 | return 0; |
|---|
| 388 | 393 | } |
|---|
| 394 | +EXPORT_SYMBOL_GPL(mtk_eint_do_resume); |
|---|
| 389 | 395 | |
|---|
| 390 | 396 | int mtk_eint_set_debounce(struct mtk_eint *eint, unsigned long eint_num, |
|---|
| 391 | 397 | unsigned int debounce) |
|---|
| .. | .. |
|---|
| 440 | 446 | |
|---|
| 441 | 447 | return 0; |
|---|
| 442 | 448 | } |
|---|
| 449 | +EXPORT_SYMBOL_GPL(mtk_eint_set_debounce); |
|---|
| 443 | 450 | |
|---|
| 444 | 451 | int mtk_eint_find_irq(struct mtk_eint *eint, unsigned long eint_n) |
|---|
| 445 | 452 | { |
|---|
| .. | .. |
|---|
| 451 | 458 | |
|---|
| 452 | 459 | return irq; |
|---|
| 453 | 460 | } |
|---|
| 461 | +EXPORT_SYMBOL_GPL(mtk_eint_find_irq); |
|---|
| 454 | 462 | |
|---|
| 455 | 463 | int mtk_eint_do_init(struct mtk_eint *eint) |
|---|
| 456 | 464 | { |
|---|
| .. | .. |
|---|
| 495 | 503 | |
|---|
| 496 | 504 | return 0; |
|---|
| 497 | 505 | } |
|---|
| 506 | +EXPORT_SYMBOL_GPL(mtk_eint_do_init); |
|---|
| 507 | + |
|---|
| 508 | +MODULE_LICENSE("GPL v2"); |
|---|
| 509 | +MODULE_DESCRIPTION("MediaTek EINT Driver"); |
|---|