cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

fb.c (1728B)


      1// SPDX-License-Identifier: GPL-2.0-or-later
      2/*
      3 * File: arch/arm/plat-omap/fb.c
      4 *
      5 * Framebuffer device registration for TI OMAP platforms
      6 *
      7 * Copyright (C) 2006 Nokia Corporation
      8 * Author: Imre Deak <imre.deak@nokia.com>
      9 */
     10
     11#include <linux/module.h>
     12#include <linux/kernel.h>
     13#include <linux/mm.h>
     14#include <linux/init.h>
     15#include <linux/platform_device.h>
     16#include <linux/memblock.h>
     17#include <linux/io.h>
     18#include <linux/omapfb.h>
     19#include <linux/dma-mapping.h>
     20#include <linux/irq.h>
     21
     22#include <asm/mach/map.h>
     23
     24#include "irqs.h"
     25
     26#if IS_ENABLED(CONFIG_FB_OMAP)
     27
     28static bool omapfb_lcd_configured;
     29static struct omapfb_platform_data omapfb_config;
     30
     31static u64 omap_fb_dma_mask = ~(u32)0;
     32
     33static struct resource omap_fb_resources[] = {
     34	{
     35		.name  = "irq",
     36		.start = INT_LCD_CTRL,
     37		.flags = IORESOURCE_IRQ,
     38	},
     39	{
     40		.name  = "irq",
     41		.start = INT_SOSSI_MATCH,
     42		.flags = IORESOURCE_IRQ,
     43	},
     44};
     45
     46static struct platform_device omap_fb_device = {
     47	.name		= "omapfb",
     48	.id		= -1,
     49	.dev = {
     50		.dma_mask		= &omap_fb_dma_mask,
     51		.coherent_dma_mask	= DMA_BIT_MASK(32),
     52		.platform_data		= &omapfb_config,
     53	},
     54	.num_resources = ARRAY_SIZE(omap_fb_resources),
     55	.resource = omap_fb_resources,
     56};
     57
     58void __init omapfb_set_lcd_config(const struct omap_lcd_config *config)
     59{
     60	omapfb_config.lcd = *config;
     61	omapfb_lcd_configured = true;
     62}
     63
     64static int __init omap_init_fb(void)
     65{
     66	/*
     67	 * If the board file has not set the lcd config with
     68	 * omapfb_set_lcd_config(), don't bother registering the omapfb device
     69	 */
     70	if (!omapfb_lcd_configured)
     71		return 0;
     72
     73	return platform_device_register(&omap_fb_device);
     74}
     75
     76arch_initcall(omap_init_fb);
     77
     78#else
     79
     80void __init omapfb_set_lcd_config(const struct omap_lcd_config *config)
     81{
     82}
     83
     84#endif