diff options
Diffstat (limited to 'drivers/video/omap')
-rw-r--r-- | drivers/video/omap/dispc.c | 15 | ||||
-rw-r--r-- | drivers/video/omap/rfbi.c | 9 | ||||
-rw-r--r-- | drivers/video/omap/sossi.c | 8 |
3 files changed, 25 insertions, 7 deletions
diff --git a/drivers/video/omap/dispc.c b/drivers/video/omap/dispc.c index 6efcf89e7fbe..58f624bd22e9 100644 --- a/drivers/video/omap/dispc.c +++ b/drivers/video/omap/dispc.c | |||
@@ -156,7 +156,7 @@ struct resmap { | |||
156 | }; | 156 | }; |
157 | 157 | ||
158 | static struct { | 158 | static struct { |
159 | u32 base; | 159 | void __iomem *base; |
160 | 160 | ||
161 | struct omapfb_mem_desc mem_desc; | 161 | struct omapfb_mem_desc mem_desc; |
162 | struct resmap *res_map[DISPC_MEMTYPE_NUM]; | 162 | struct resmap *res_map[DISPC_MEMTYPE_NUM]; |
@@ -1349,14 +1349,19 @@ static int omap_dispc_init(struct omapfb_device *fbdev, int ext_mode, | |||
1349 | 1349 | ||
1350 | memset(&dispc, 0, sizeof(dispc)); | 1350 | memset(&dispc, 0, sizeof(dispc)); |
1351 | 1351 | ||
1352 | dispc.base = io_p2v(DISPC_BASE); | 1352 | dispc.base = ioremap(DISPC_BASE, SZ_1K); |
1353 | if (!dispc.base) { | ||
1354 | dev_err(fbdev->dev, "can't ioremap DISPC\n"); | ||
1355 | return -ENOMEM; | ||
1356 | } | ||
1357 | |||
1353 | dispc.fbdev = fbdev; | 1358 | dispc.fbdev = fbdev; |
1354 | dispc.ext_mode = ext_mode; | 1359 | dispc.ext_mode = ext_mode; |
1355 | 1360 | ||
1356 | init_completion(&dispc.frame_done); | 1361 | init_completion(&dispc.frame_done); |
1357 | 1362 | ||
1358 | if ((r = get_dss_clocks()) < 0) | 1363 | if ((r = get_dss_clocks()) < 0) |
1359 | return r; | 1364 | goto fail0; |
1360 | 1365 | ||
1361 | enable_interface_clocks(1); | 1366 | enable_interface_clocks(1); |
1362 | enable_lcd_clocks(1); | 1367 | enable_lcd_clocks(1); |
@@ -1464,7 +1469,8 @@ fail1: | |||
1464 | enable_lcd_clocks(0); | 1469 | enable_lcd_clocks(0); |
1465 | enable_interface_clocks(0); | 1470 | enable_interface_clocks(0); |
1466 | put_dss_clocks(); | 1471 | put_dss_clocks(); |
1467 | 1472 | fail0: | |
1473 | iounmap(dispc.base); | ||
1468 | return r; | 1474 | return r; |
1469 | } | 1475 | } |
1470 | 1476 | ||
@@ -1481,6 +1487,7 @@ static void omap_dispc_cleanup(void) | |||
1481 | free_irq(INT_24XX_DSS_IRQ, dispc.fbdev); | 1487 | free_irq(INT_24XX_DSS_IRQ, dispc.fbdev); |
1482 | enable_interface_clocks(0); | 1488 | enable_interface_clocks(0); |
1483 | put_dss_clocks(); | 1489 | put_dss_clocks(); |
1490 | iounmap(dispc.base); | ||
1484 | } | 1491 | } |
1485 | 1492 | ||
1486 | const struct lcd_ctrl omap2_int_ctrl = { | 1493 | const struct lcd_ctrl omap2_int_ctrl = { |
diff --git a/drivers/video/omap/rfbi.c b/drivers/video/omap/rfbi.c index 4a6f13d3facf..a13c8dcad2a8 100644 --- a/drivers/video/omap/rfbi.c +++ b/drivers/video/omap/rfbi.c | |||
@@ -59,7 +59,7 @@ | |||
59 | #define DISPC_CONTROL 0x0040 | 59 | #define DISPC_CONTROL 0x0040 |
60 | 60 | ||
61 | static struct { | 61 | static struct { |
62 | u32 base; | 62 | void __iomem *base; |
63 | void (*lcdc_callback)(void *data); | 63 | void (*lcdc_callback)(void *data); |
64 | void *lcdc_callback_data; | 64 | void *lcdc_callback_data; |
65 | unsigned long l4_khz; | 65 | unsigned long l4_khz; |
@@ -518,7 +518,11 @@ static int rfbi_init(struct omapfb_device *fbdev) | |||
518 | int r; | 518 | int r; |
519 | 519 | ||
520 | rfbi.fbdev = fbdev; | 520 | rfbi.fbdev = fbdev; |
521 | rfbi.base = io_p2v(RFBI_BASE); | 521 | rfbi.base = ioremap(RFBI_BASE, SZ_1K); |
522 | if (!rfbi.base) { | ||
523 | dev_err(fbdev->dev, "can't ioremap RFBI\n"); | ||
524 | return -ENOMEM; | ||
525 | } | ||
522 | 526 | ||
523 | if ((r = rfbi_get_clocks()) < 0) | 527 | if ((r = rfbi_get_clocks()) < 0) |
524 | return r; | 528 | return r; |
@@ -566,6 +570,7 @@ static void rfbi_cleanup(void) | |||
566 | { | 570 | { |
567 | omap_dispc_free_irq(); | 571 | omap_dispc_free_irq(); |
568 | rfbi_put_clocks(); | 572 | rfbi_put_clocks(); |
573 | iounmap(rfbi.base); | ||
569 | } | 574 | } |
570 | 575 | ||
571 | const struct lcd_ctrl_extif omap2_ext_if = { | 576 | const struct lcd_ctrl_extif omap2_ext_if = { |
diff --git a/drivers/video/omap/sossi.c b/drivers/video/omap/sossi.c index 6359353c2c67..a76946220249 100644 --- a/drivers/video/omap/sossi.c +++ b/drivers/video/omap/sossi.c | |||
@@ -574,7 +574,12 @@ static int sossi_init(struct omapfb_device *fbdev) | |||
574 | struct clk *dpll1out_ck; | 574 | struct clk *dpll1out_ck; |
575 | int r; | 575 | int r; |
576 | 576 | ||
577 | sossi.base = (void __iomem *)IO_ADDRESS(OMAP_SOSSI_BASE); | 577 | sossi.base = ioremap(OMAP_SOSSI_BASE, SZ_1K); |
578 | if (!sossi.base) { | ||
579 | dev_err(fbdev->dev, "can't ioremap SoSSI\n"); | ||
580 | return -ENOMEM; | ||
581 | } | ||
582 | |||
578 | sossi.fbdev = fbdev; | 583 | sossi.fbdev = fbdev; |
579 | spin_lock_init(&sossi.lock); | 584 | spin_lock_init(&sossi.lock); |
580 | 585 | ||
@@ -665,6 +670,7 @@ static void sossi_cleanup(void) | |||
665 | { | 670 | { |
666 | omap_lcdc_free_dma_callback(); | 671 | omap_lcdc_free_dma_callback(); |
667 | clk_put(sossi.fck); | 672 | clk_put(sossi.fck); |
673 | iounmap(sossi.base); | ||
668 | } | 674 | } |
669 | 675 | ||
670 | struct lcd_ctrl_extif omap1_ext_if = { | 676 | struct lcd_ctrl_extif omap1_ext_if = { |