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

ARM: omap1: move lcd_dma code into omapfb driver

The omapfb driver is split into platform specific code for omap1, and
driver code that is also specific to omap1.

Moving both parts into the driver directory simplifies the structure
and avoids the dependency on certain omap machine header files.

As mach/lcd_dma.h can not be included from include/linux/omap-dma.h
any more now, move the omap_lcd_dma_running() declaration into the
omap-dma header, which matches where it is defined.

Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

+48 -55
-4
arch/arm/mach-omap1/Makefile
··· 57 57 obj-$(CONFIG_ARCH_OMAP850) += gpio7xx.o 58 58 obj-$(CONFIG_ARCH_OMAP15XX) += gpio15xx.o 59 59 obj-$(CONFIG_ARCH_OMAP16XX) += gpio16xx.o 60 - 61 - ifneq ($(CONFIG_FB_OMAP),) 62 - obj-y += lcd_dma.o 63 - endif
-2
arch/arm/mach-omap1/include/mach/lcd_dma.h drivers/video/fbdev/omap/lcd_dma.h
··· 60 60 extern void omap_set_lcd_dma_b1_mirror(int mirror); 61 61 extern void omap_set_lcd_dma_b1_scale(unsigned int xscale, unsigned int yscale); 62 62 63 - extern int omap_lcd_dma_running(void); 64 - 65 63 #endif /* __MACH_OMAP1_LCD_DMA_H__ */
-44
arch/arm/mach-omap1/include/mach/lcdc.h
··· 1 - /* SPDX-License-Identifier: GPL-2.0-or-later */ 2 - /* 3 - * arch/arm/mach-omap1/include/mach/lcdc.h 4 - * 5 - * Extracted from drivers/video/omap/lcdc.c 6 - * Copyright (C) 2004 Nokia Corporation 7 - * Author: Imre Deak <imre.deak@nokia.com> 8 - */ 9 - #ifndef __MACH_LCDC_H__ 10 - #define __MACH_LCDC_H__ 11 - 12 - #define OMAP_LCDC_BASE 0xfffec000 13 - #define OMAP_LCDC_SIZE 256 14 - #define OMAP_LCDC_IRQ INT_LCD_CTRL 15 - 16 - #define OMAP_LCDC_CONTROL (OMAP_LCDC_BASE + 0x00) 17 - #define OMAP_LCDC_TIMING0 (OMAP_LCDC_BASE + 0x04) 18 - #define OMAP_LCDC_TIMING1 (OMAP_LCDC_BASE + 0x08) 19 - #define OMAP_LCDC_TIMING2 (OMAP_LCDC_BASE + 0x0c) 20 - #define OMAP_LCDC_STATUS (OMAP_LCDC_BASE + 0x10) 21 - #define OMAP_LCDC_SUBPANEL (OMAP_LCDC_BASE + 0x14) 22 - #define OMAP_LCDC_LINE_INT (OMAP_LCDC_BASE + 0x18) 23 - #define OMAP_LCDC_DISPLAY_STATUS (OMAP_LCDC_BASE + 0x1c) 24 - 25 - #define OMAP_LCDC_STAT_DONE (1 << 0) 26 - #define OMAP_LCDC_STAT_VSYNC (1 << 1) 27 - #define OMAP_LCDC_STAT_SYNC_LOST (1 << 2) 28 - #define OMAP_LCDC_STAT_ABC (1 << 3) 29 - #define OMAP_LCDC_STAT_LINE_INT (1 << 4) 30 - #define OMAP_LCDC_STAT_FUF (1 << 5) 31 - #define OMAP_LCDC_STAT_LOADED_PALETTE (1 << 6) 32 - 33 - #define OMAP_LCDC_CTRL_LCD_EN (1 << 0) 34 - #define OMAP_LCDC_CTRL_LCD_TFT (1 << 7) 35 - #define OMAP_LCDC_CTRL_LINE_IRQ_CLR_SEL (1 << 10) 36 - 37 - #define OMAP_LCDC_IRQ_VSYNC (1 << 2) 38 - #define OMAP_LCDC_IRQ_DONE (1 << 3) 39 - #define OMAP_LCDC_IRQ_LOADED_PALETTE (1 << 4) 40 - #define OMAP_LCDC_IRQ_LINE_NIRQ (1 << 5) 41 - #define OMAP_LCDC_IRQ_LINE (1 << 6) 42 - #define OMAP_LCDC_IRQ_MASK (((1 << 5) - 1) << 2) 43 - 44 - #endif /* __MACH_LCDC_H__ */
+3 -1
arch/arm/mach-omap1/lcd_dma.c drivers/video/fbdev/omap/lcd_dma.c
··· 26 26 #include <linux/omap-dma.h> 27 27 28 28 #include <mach/hardware.h> 29 - #include <mach/lcdc.h> 29 + 30 + #include "lcdc.h" 31 + #include "lcd_dma.h" 30 32 31 33 int omap_lcd_dma_running(void) 32 34 {
+1 -1
drivers/video/fbdev/Makefile
··· 110 110 obj-$(CONFIG_FB_SMSCUFX) += smscufx.o 111 111 obj-$(CONFIG_FB_XILINX) += xilinxfb.o 112 112 obj-$(CONFIG_FB_SH_MOBILE_LCDC) += sh_mobile_lcdcfb.o 113 - obj-$(CONFIG_FB_OMAP) += omap/ 113 + obj-y += omap/ 114 114 obj-y += omap2/ 115 115 obj-$(CONFIG_XEN_FBDEV_FRONTEND) += xen-fbfront.o 116 116 obj-$(CONFIG_FB_CARMINE) += carminefb.o
+5
drivers/video/fbdev/omap/Makefile
··· 5 5 6 6 obj-$(CONFIG_FB_OMAP) += omapfb.o 7 7 8 + ifdef CONFIG_FB_OMAP 9 + # must be built-in 10 + obj-y += lcd_dma.o 11 + endif 12 + 8 13 objs-yy := omapfb_main.o lcdc.o 9 14 10 15 objs-y$(CONFIG_FB_OMAP_LCDC_EXTERNAL) += sossi.o
+1 -1
drivers/video/fbdev/omap/lcdc.c
··· 17 17 #include <linux/clk.h> 18 18 #include <linux/gfp.h> 19 19 20 - #include <mach/lcdc.h> 21 20 #include <linux/omap-dma.h> 22 21 23 22 #include <asm/mach-types.h> ··· 24 25 #include "omapfb.h" 25 26 26 27 #include "lcdc.h" 28 + #include "lcd_dma.h" 27 29 28 30 #define MODULE_NAME "lcdc" 29 31
+35
drivers/video/fbdev/omap/lcdc.h
··· 1 1 /* SPDX-License-Identifier: GPL-2.0 */ 2 2 #ifndef LCDC_H 3 3 #define LCDC_H 4 + /* 5 + * Copyright (C) 2004 Nokia Corporation 6 + * Author: Imre Deak <imre.deak@nokia.com> 7 + */ 8 + #define OMAP_LCDC_BASE 0xfffec000 9 + #define OMAP_LCDC_SIZE 256 10 + #define OMAP_LCDC_IRQ INT_LCD_CTRL 11 + 12 + #define OMAP_LCDC_CONTROL (OMAP_LCDC_BASE + 0x00) 13 + #define OMAP_LCDC_TIMING0 (OMAP_LCDC_BASE + 0x04) 14 + #define OMAP_LCDC_TIMING1 (OMAP_LCDC_BASE + 0x08) 15 + #define OMAP_LCDC_TIMING2 (OMAP_LCDC_BASE + 0x0c) 16 + #define OMAP_LCDC_STATUS (OMAP_LCDC_BASE + 0x10) 17 + #define OMAP_LCDC_SUBPANEL (OMAP_LCDC_BASE + 0x14) 18 + #define OMAP_LCDC_LINE_INT (OMAP_LCDC_BASE + 0x18) 19 + #define OMAP_LCDC_DISPLAY_STATUS (OMAP_LCDC_BASE + 0x1c) 20 + 21 + #define OMAP_LCDC_STAT_DONE (1 << 0) 22 + #define OMAP_LCDC_STAT_VSYNC (1 << 1) 23 + #define OMAP_LCDC_STAT_SYNC_LOST (1 << 2) 24 + #define OMAP_LCDC_STAT_ABC (1 << 3) 25 + #define OMAP_LCDC_STAT_LINE_INT (1 << 4) 26 + #define OMAP_LCDC_STAT_FUF (1 << 5) 27 + #define OMAP_LCDC_STAT_LOADED_PALETTE (1 << 6) 28 + 29 + #define OMAP_LCDC_CTRL_LCD_EN (1 << 0) 30 + #define OMAP_LCDC_CTRL_LCD_TFT (1 << 7) 31 + #define OMAP_LCDC_CTRL_LINE_IRQ_CLR_SEL (1 << 10) 32 + 33 + #define OMAP_LCDC_IRQ_VSYNC (1 << 2) 34 + #define OMAP_LCDC_IRQ_DONE (1 << 3) 35 + #define OMAP_LCDC_IRQ_LOADED_PALETTE (1 << 4) 36 + #define OMAP_LCDC_IRQ_LINE_NIRQ (1 << 5) 37 + #define OMAP_LCDC_IRQ_LINE (1 << 6) 38 + #define OMAP_LCDC_IRQ_MASK (((1 << 5) - 1) << 2) 4 39 5 40 int omap_lcdc_set_dma_callback(void (*callback)(void *data), void *data); 6 41 void omap_lcdc_free_dma_callback(void);
+1
drivers/video/fbdev/omap/sossi.c
··· 15 15 #include <linux/omap-dma.h> 16 16 17 17 #include "omapfb.h" 18 + #include "lcd_dma.h" 18 19 #include "lcdc.h" 19 20 20 21 #define MODULE_NAME "omapfb-sossi"
+2 -2
include/linux/omap-dma.h
··· 328 328 extern int omap_get_dma_active_status(int lch); 329 329 extern int omap_dma_running(void); 330 330 331 - #if defined(CONFIG_ARCH_OMAP1) && IS_ENABLED(CONFIG_FB_OMAP) 332 - #include <mach/lcd_dma.h> 331 + #if IS_ENABLED(CONFIG_FB_OMAP) 332 + extern int omap_lcd_dma_running(void); 333 333 #else 334 334 static inline int omap_lcd_dma_running(void) 335 335 {