1/* 2 * This file is subject to the terms and conditions of the GNU General Public 3 * License. See the file "COPYING" in the main directory of this archive 4 * for more details. 5 * 6 * Copyright (C) 2012 MIPS Technologies, Inc. All rights reserved. 7 */ 8#include <linux/init.h> 9#include <linux/platform_device.h> 10 11static struct resource __initdata sead3_lcd_resource = { 12 .start = 0x1f000400, 13 .end = 0x1f00041f, 14 .flags = IORESOURCE_MEM, 15}; 16 17static __init int sead3_lcd_add(void) 18{ 19 struct platform_device *pdev; 20 int retval; 21 22 /* SEAD-3 and Cobalt platforms use same display type. */ 23 pdev = platform_device_alloc("cobalt-lcd", -1); 24 if (!pdev) 25 return -ENOMEM; 26 27 retval = platform_device_add_resources(pdev, &sead3_lcd_resource, 1); 28 if (retval) 29 goto err_free_device; 30 31 retval = platform_device_add(pdev); 32 if (retval) 33 goto err_free_device; 34 35 return 0; 36 37err_free_device: 38 platform_device_put(pdev); 39 40 return retval; 41} 42 43device_initcall(sead3_lcd_add); 44