/* * Driver for AT91/AT32 LCD Controller * * Copyright (C) 2007 Atmel Corporation * * This file is subject to the terms and conditions of the GNU General Public * License. See the file COPYING in the main directory of this archive for * more details. */#include<linux/kernel.h>#include<linux/platform_device.h>#include<linux/dma-mapping.h>#include<linux/interrupt.h>#include<linux/clk.h>#include<linux/fb.h>#include<linux/init.h>#include<linux/delay.h>#include<linux/backlight.h>#include<linux/gfp.h>#include<linux/module.h>#include<linux/platform_data/atmel.h>#include<linux/of.h>#include<linux/of_device.h>#include<linux/of_gpio.h>#include<video/of_display_timing.h>#include<video/videomode.h>#include<mach/cpu.h>#include<asm/gpio.h>#include<video/atmel_lcdc.h>structatmel_lcdfb_config{boolhave_alt_pixclock;boolhave_hozval;boolhave_intensity_bit;};/* LCD Controller info data structure, stored in device platform_data */structatmel_lcdfb_info{spinlock_tlock;structfb_info*info;void__iomem*mmio;intirq_base;structwork_structtask;unsignedintsmem_len;structplatform_device*pdev;structclk*bus_clk;structclk*lcdc_clk;structbacklight_device*backlight;u8bl_power;u8saved_lcdcon;u32pseudo_palette[16];boolhave_intensity_bit;struct