* [PATCH] video: omap-fb: Rework to enable COMPILE_TEST option
@ 2022-04-22 7:11 Alexander Shiyan
2022-04-25 10:25 ` Sascha Hauer
0 siblings, 1 reply; 2+ messages in thread
From: Alexander Shiyan @ 2022-04-22 7:11 UTC (permalink / raw)
To: barebox; +Cc: Alexander Shiyan
To add a compilation check for the omap-fb driver, move the
omap-fb.h header to a global location.
The "omap_add_display" function is used only for legacy boards,
so we will move it to a common place for such calls (omap_devices.c).
Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
---
arch/arm/boards/archosg9/board.c | 2 +-
.../boards/phytec-phycore-omap4460/board.c | 5 ++-
arch/arm/mach-omap/Makefile | 2 +-
arch/arm/mach-omap/include/mach/devices.h | 3 ++
arch/arm/mach-omap/omap_devices.c | 29 +++++++++++++++
arch/arm/mach-omap/omap_fb.c | 36 -------------------
drivers/video/Kconfig | 2 +-
drivers/video/omap.c | 3 +-
.../include/mach => include/video}/omap-fb.h | 10 ++----
9 files changed, 41 insertions(+), 51 deletions(-)
delete mode 100644 arch/arm/mach-omap/omap_fb.c
rename {arch/arm/mach-omap/include/mach => include/video}/omap-fb.h (80%)
diff --git a/arch/arm/boards/archosg9/board.c b/arch/arm/boards/archosg9/board.c
index 3289cfda3d..597830432b 100644
--- a/arch/arm/boards/archosg9/board.c
+++ b/arch/arm/boards/archosg9/board.c
@@ -5,10 +5,10 @@
#include <init.h>
#include <asm/armlinux.h>
#include <generated/mach-types.h>
+#include <mach/devices.h>
#include <mach/omap4-silicon.h>
#include <mach/omap4-devices.h>
#include <mach/omap4_rom_usb.h>
-#include <mach/omap-fb.h>
#include <linux/sizes.h>
#include <i2c/i2c.h>
#include <gpio.h>
diff --git a/arch/arm/boards/phytec-phycore-omap4460/board.c b/arch/arm/boards/phytec-phycore-omap4460/board.c
index 9e8b9e56a7..e25ff5eb31 100644
--- a/arch/arm/boards/phytec-phycore-omap4460/board.c
+++ b/arch/arm/boards/phytec-phycore-omap4460/board.c
@@ -10,10 +10,10 @@
#include <envfs.h>
#include <asm/armlinux.h>
#include <generated/mach-types.h>
+#include <mach/devices.h>
#include <mach/omap4-silicon.h>
#include <mach/omap4-devices.h>
#include <mach/omap4-clock.h>
-#include <mach/omap-fb.h>
#include <mach/sdrc.h>
#include <mach/sys_info.h>
#include <mach/syslib.h>
@@ -292,8 +292,7 @@ static int pcm049_devices_init(void)
armlinux_set_architecture(MACH_TYPE_PCM049);
- if (IS_ENABLED(CONFIG_DRIVER_VIDEO_OMAP))
- omap_add_display(&pcm049_fb_data);
+ omap_add_display(&pcm049_fb_data);
if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC))
defaultenv_append_directory(defaultenv_phytec_phycore_omap4460);
diff --git a/arch/arm/mach-omap/Makefile b/arch/arm/mach-omap/Makefile
index 36b2aa090e..e81284ec3b 100644
--- a/arch/arm/mach-omap/Makefile
+++ b/arch/arm/mach-omap/Makefile
@@ -15,7 +15,7 @@
# GNU General Public License for more details.
#
#
-obj-$(CONFIG_ARCH_OMAP) += syslib.o omap_devices.o omap_generic.o omap_fb.o
+obj-$(CONFIG_ARCH_OMAP) += syslib.o omap_devices.o omap_generic.o
pbl-$(CONFIG_ARCH_OMAP) += syslib.o
obj-$(CONFIG_ARCH_OMAP3) += omap3_generic.o auxcr.o
pbl-$(CONFIG_ARCH_OMAP3) += omap3_generic.o auxcr.o
diff --git a/arch/arm/mach-omap/include/mach/devices.h b/arch/arm/mach-omap/include/mach/devices.h
index 0f9fdf1ca5..06fd2a8dd3 100644
--- a/arch/arm/mach-omap/include/mach/devices.h
+++ b/arch/arm/mach-omap/include/mach/devices.h
@@ -4,6 +4,7 @@
#define __MACH_OMAP_DEVICES_H
#include <mach/omap_hsmmc.h>
+#include <video/omap-fb.h>
void omap_add_ram0(resource_size_t size);
@@ -11,4 +12,6 @@ void omap_add_sram0(resource_size_t base, resource_size_t size);
struct device_d *omap_add_uart(int id, unsigned long base);
+struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata);
+
#endif /* __MACH_OMAP_DEVICES_H */
diff --git a/arch/arm/mach-omap/omap_devices.c b/arch/arm/mach-omap/omap_devices.c
index 7c36b8819d..beae59f74d 100644
--- a/arch/arm/mach-omap/omap_devices.c
+++ b/arch/arm/mach-omap/omap_devices.c
@@ -26,3 +26,32 @@ struct device_d *omap_add_uart(int id, unsigned long base)
return add_generic_device("omap-uart", id, NULL, base, 1024,
IORESOURCE_MEM | IORESOURCE_MEM_8BIT, &serial_plat);
}
+
+#if defined(CONFIG_DRIVER_VIDEO_OMAP)
+static struct resource omapfb_resources[] = {
+ {
+ .name = "omap4_dss",
+ .start = 0x48040000,
+ .end = 0x48040000 + 512 - 1,
+ .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
+ }, {
+ .name = "omap4_dispc",
+ .start = 0x48041000,
+ .end = 0x48041000 + 3072 - 1,
+ .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
+ },
+};
+
+struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata)
+{
+ return add_generic_device_res("omap_fb", -1,
+ omapfb_resources,
+ ARRAY_SIZE(omapfb_resources),
+ o_pdata);
+}
+#else
+struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata)
+{
+ return NULL;
+}
+#endif
diff --git a/arch/arm/mach-omap/omap_fb.c b/arch/arm/mach-omap/omap_fb.c
deleted file mode 100644
index 0bd51c5f55..0000000000
--- a/arch/arm/mach-omap/omap_fb.c
+++ /dev/null
@@ -1,36 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-only
-
-#include <driver.h>
-#include <common.h>
-#include <linux/ioport.h>
-#include <mach/omap-fb.h>
-
-#if defined(CONFIG_DRIVER_VIDEO_OMAP)
-static struct resource omapfb_resources[] = {
- {
- .name = "omap4_dss",
- .start = 0x48040000,
- .end = 0x48040000 + 512 - 1,
- .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
- }, {
- .name = "omap4_dispc",
- .start = 0x48041000,
- .end = 0x48041000 + 3072 - 1,
- .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
- },
-};
-
-struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata)
-{
- return add_generic_device_res("omap_fb", -1,
- omapfb_resources,
- ARRAY_SIZE(omapfb_resources),
- o_pdata);
-}
-#else
-struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata)
-{
- return NULL;
-}
-#endif
-EXPORT_SYMBOL(omap_add_display);
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
index dcdc6c2135..a20b7bbee9 100644
--- a/drivers/video/Kconfig
+++ b/drivers/video/Kconfig
@@ -75,7 +75,7 @@ config DRIVER_VIDEO_S3C24XX
config DRIVER_VIDEO_OMAP
bool "OMAP framebuffer driver"
- depends on ARCH_OMAP4
+ depends on ARCH_OMAP4 || COMPILE_TEST
help
Add support for OMAP Display Controller. Currently this
driver only supports OMAP4 SoCs in DISPC parallel mode on
diff --git a/drivers/video/omap.c b/drivers/video/omap.c
index 62c51a1dfc..ca41ab36fc 100644
--- a/drivers/video/omap.c
+++ b/drivers/video/omap.c
@@ -20,8 +20,7 @@
#include <clock.h>
#include <linux/err.h>
-#include <mach/omap4-silicon.h>
-#include <mach/omap-fb.h>
+#include <video/omap-fb.h>
#include <mmu.h>
diff --git a/arch/arm/mach-omap/include/mach/omap-fb.h b/include/video/omap-fb.h
similarity index 80%
rename from arch/arm/mach-omap/include/mach/omap-fb.h
rename to include/video/omap-fb.h
index f727164434..519460f0d5 100644
--- a/arch/arm/mach-omap/include/mach/omap-fb.h
+++ b/include/video/omap-fb.h
@@ -1,7 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-only */
-#ifndef H_BAREBOX_ARCH_ARM_MACH_OMAP_MACH_FB4_H
-#define H_BAREBOX_ARCH_ARM_MACH_OMAP_MACH_FB4_H
+#ifndef OMAP_FB_H
+#define OMAP_FB_H
#include <fb.h>
@@ -42,8 +42,4 @@ struct omapfb_platform_data {
void (*enable)(int p);
};
-struct device_d;
-struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata);
-
-
-#endif /* H_BAREBOX_ARCH_ARM_MACH_OMAP_MACH_FB4_H */
+#endif /* OMAP_FB_H */
--
2.32.0
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] video: omap-fb: Rework to enable COMPILE_TEST option
2022-04-22 7:11 [PATCH] video: omap-fb: Rework to enable COMPILE_TEST option Alexander Shiyan
@ 2022-04-25 10:25 ` Sascha Hauer
0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2022-04-25 10:25 UTC (permalink / raw)
To: Alexander Shiyan; +Cc: barebox
On Fri, Apr 22, 2022 at 10:11:58AM +0300, Alexander Shiyan wrote:
> To add a compilation check for the omap-fb driver, move the
> omap-fb.h header to a global location.
> The "omap_add_display" function is used only for legacy boards,
> so we will move it to a common place for such calls (omap_devices.c).
>
> Signed-off-by: Alexander Shiyan <eagle.alexander923@gmail.com>
> ---
> arch/arm/boards/archosg9/board.c | 2 +-
> .../boards/phytec-phycore-omap4460/board.c | 5 ++-
> arch/arm/mach-omap/Makefile | 2 +-
> arch/arm/mach-omap/include/mach/devices.h | 3 ++
> arch/arm/mach-omap/omap_devices.c | 29 +++++++++++++++
> arch/arm/mach-omap/omap_fb.c | 36 -------------------
> drivers/video/Kconfig | 2 +-
> drivers/video/omap.c | 3 +-
> .../include/mach => include/video}/omap-fb.h | 10 ++----
> 9 files changed, 41 insertions(+), 51 deletions(-)
> delete mode 100644 arch/arm/mach-omap/omap_fb.c
> rename {arch/arm/mach-omap/include/mach => include/video}/omap-fb.h (80%)
Applied, thanks
Sascha
>
> diff --git a/arch/arm/boards/archosg9/board.c b/arch/arm/boards/archosg9/board.c
> index 3289cfda3d..597830432b 100644
> --- a/arch/arm/boards/archosg9/board.c
> +++ b/arch/arm/boards/archosg9/board.c
> @@ -5,10 +5,10 @@
> #include <init.h>
> #include <asm/armlinux.h>
> #include <generated/mach-types.h>
> +#include <mach/devices.h>
> #include <mach/omap4-silicon.h>
> #include <mach/omap4-devices.h>
> #include <mach/omap4_rom_usb.h>
> -#include <mach/omap-fb.h>
> #include <linux/sizes.h>
> #include <i2c/i2c.h>
> #include <gpio.h>
> diff --git a/arch/arm/boards/phytec-phycore-omap4460/board.c b/arch/arm/boards/phytec-phycore-omap4460/board.c
> index 9e8b9e56a7..e25ff5eb31 100644
> --- a/arch/arm/boards/phytec-phycore-omap4460/board.c
> +++ b/arch/arm/boards/phytec-phycore-omap4460/board.c
> @@ -10,10 +10,10 @@
> #include <envfs.h>
> #include <asm/armlinux.h>
> #include <generated/mach-types.h>
> +#include <mach/devices.h>
> #include <mach/omap4-silicon.h>
> #include <mach/omap4-devices.h>
> #include <mach/omap4-clock.h>
> -#include <mach/omap-fb.h>
> #include <mach/sdrc.h>
> #include <mach/sys_info.h>
> #include <mach/syslib.h>
> @@ -292,8 +292,7 @@ static int pcm049_devices_init(void)
>
> armlinux_set_architecture(MACH_TYPE_PCM049);
>
> - if (IS_ENABLED(CONFIG_DRIVER_VIDEO_OMAP))
> - omap_add_display(&pcm049_fb_data);
> + omap_add_display(&pcm049_fb_data);
>
> if (IS_ENABLED(CONFIG_DEFAULT_ENVIRONMENT_GENERIC))
> defaultenv_append_directory(defaultenv_phytec_phycore_omap4460);
> diff --git a/arch/arm/mach-omap/Makefile b/arch/arm/mach-omap/Makefile
> index 36b2aa090e..e81284ec3b 100644
> --- a/arch/arm/mach-omap/Makefile
> +++ b/arch/arm/mach-omap/Makefile
> @@ -15,7 +15,7 @@
> # GNU General Public License for more details.
> #
> #
> -obj-$(CONFIG_ARCH_OMAP) += syslib.o omap_devices.o omap_generic.o omap_fb.o
> +obj-$(CONFIG_ARCH_OMAP) += syslib.o omap_devices.o omap_generic.o
> pbl-$(CONFIG_ARCH_OMAP) += syslib.o
> obj-$(CONFIG_ARCH_OMAP3) += omap3_generic.o auxcr.o
> pbl-$(CONFIG_ARCH_OMAP3) += omap3_generic.o auxcr.o
> diff --git a/arch/arm/mach-omap/include/mach/devices.h b/arch/arm/mach-omap/include/mach/devices.h
> index 0f9fdf1ca5..06fd2a8dd3 100644
> --- a/arch/arm/mach-omap/include/mach/devices.h
> +++ b/arch/arm/mach-omap/include/mach/devices.h
> @@ -4,6 +4,7 @@
> #define __MACH_OMAP_DEVICES_H
>
> #include <mach/omap_hsmmc.h>
> +#include <video/omap-fb.h>
>
> void omap_add_ram0(resource_size_t size);
>
> @@ -11,4 +12,6 @@ void omap_add_sram0(resource_size_t base, resource_size_t size);
>
> struct device_d *omap_add_uart(int id, unsigned long base);
>
> +struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata);
> +
> #endif /* __MACH_OMAP_DEVICES_H */
> diff --git a/arch/arm/mach-omap/omap_devices.c b/arch/arm/mach-omap/omap_devices.c
> index 7c36b8819d..beae59f74d 100644
> --- a/arch/arm/mach-omap/omap_devices.c
> +++ b/arch/arm/mach-omap/omap_devices.c
> @@ -26,3 +26,32 @@ struct device_d *omap_add_uart(int id, unsigned long base)
> return add_generic_device("omap-uart", id, NULL, base, 1024,
> IORESOURCE_MEM | IORESOURCE_MEM_8BIT, &serial_plat);
> }
> +
> +#if defined(CONFIG_DRIVER_VIDEO_OMAP)
> +static struct resource omapfb_resources[] = {
> + {
> + .name = "omap4_dss",
> + .start = 0x48040000,
> + .end = 0x48040000 + 512 - 1,
> + .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
> + }, {
> + .name = "omap4_dispc",
> + .start = 0x48041000,
> + .end = 0x48041000 + 3072 - 1,
> + .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
> + },
> +};
> +
> +struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata)
> +{
> + return add_generic_device_res("omap_fb", -1,
> + omapfb_resources,
> + ARRAY_SIZE(omapfb_resources),
> + o_pdata);
> +}
> +#else
> +struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata)
> +{
> + return NULL;
> +}
> +#endif
> diff --git a/arch/arm/mach-omap/omap_fb.c b/arch/arm/mach-omap/omap_fb.c
> deleted file mode 100644
> index 0bd51c5f55..0000000000
> --- a/arch/arm/mach-omap/omap_fb.c
> +++ /dev/null
> @@ -1,36 +0,0 @@
> -// SPDX-License-Identifier: GPL-2.0-only
> -
> -#include <driver.h>
> -#include <common.h>
> -#include <linux/ioport.h>
> -#include <mach/omap-fb.h>
> -
> -#if defined(CONFIG_DRIVER_VIDEO_OMAP)
> -static struct resource omapfb_resources[] = {
> - {
> - .name = "omap4_dss",
> - .start = 0x48040000,
> - .end = 0x48040000 + 512 - 1,
> - .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
> - }, {
> - .name = "omap4_dispc",
> - .start = 0x48041000,
> - .end = 0x48041000 + 3072 - 1,
> - .flags = IORESOURCE_MEM | IORESOURCE_MEM_32BIT,
> - },
> -};
> -
> -struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata)
> -{
> - return add_generic_device_res("omap_fb", -1,
> - omapfb_resources,
> - ARRAY_SIZE(omapfb_resources),
> - o_pdata);
> -}
> -#else
> -struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata)
> -{
> - return NULL;
> -}
> -#endif
> -EXPORT_SYMBOL(omap_add_display);
> diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
> index dcdc6c2135..a20b7bbee9 100644
> --- a/drivers/video/Kconfig
> +++ b/drivers/video/Kconfig
> @@ -75,7 +75,7 @@ config DRIVER_VIDEO_S3C24XX
>
> config DRIVER_VIDEO_OMAP
> bool "OMAP framebuffer driver"
> - depends on ARCH_OMAP4
> + depends on ARCH_OMAP4 || COMPILE_TEST
> help
> Add support for OMAP Display Controller. Currently this
> driver only supports OMAP4 SoCs in DISPC parallel mode on
> diff --git a/drivers/video/omap.c b/drivers/video/omap.c
> index 62c51a1dfc..ca41ab36fc 100644
> --- a/drivers/video/omap.c
> +++ b/drivers/video/omap.c
> @@ -20,8 +20,7 @@
> #include <clock.h>
> #include <linux/err.h>
>
> -#include <mach/omap4-silicon.h>
> -#include <mach/omap-fb.h>
> +#include <video/omap-fb.h>
>
> #include <mmu.h>
>
> diff --git a/arch/arm/mach-omap/include/mach/omap-fb.h b/include/video/omap-fb.h
> similarity index 80%
> rename from arch/arm/mach-omap/include/mach/omap-fb.h
> rename to include/video/omap-fb.h
> index f727164434..519460f0d5 100644
> --- a/arch/arm/mach-omap/include/mach/omap-fb.h
> +++ b/include/video/omap-fb.h
> @@ -1,7 +1,7 @@
> /* SPDX-License-Identifier: GPL-2.0-only */
>
> -#ifndef H_BAREBOX_ARCH_ARM_MACH_OMAP_MACH_FB4_H
> -#define H_BAREBOX_ARCH_ARM_MACH_OMAP_MACH_FB4_H
> +#ifndef OMAP_FB_H
> +#define OMAP_FB_H
>
> #include <fb.h>
>
> @@ -42,8 +42,4 @@ struct omapfb_platform_data {
> void (*enable)(int p);
> };
>
> -struct device_d;
> -struct device_d *omap_add_display(struct omapfb_platform_data *o_pdata);
> -
> -
> -#endif /* H_BAREBOX_ARCH_ARM_MACH_OMAP_MACH_FB4_H */
> +#endif /* OMAP_FB_H */
> --
> 2.32.0
>
>
> _______________________________________________
> barebox mailing list
> barebox@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/barebox
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-04-25 10:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-22 7:11 [PATCH] video: omap-fb: Rework to enable COMPILE_TEST option Alexander Shiyan
2022-04-25 10:25 ` Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox