1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 3 * Registration of Cobalt LCD platform device. 4 * 5 * Copyright (C) 2008 Yoichi Yuasa <yuasa@linux-mips.org> 6 */ 7 #include <linux/errno.h> 8 #include <linux/init.h> 9 #include <linux/ioport.h> 10 #include <linux/platform_device.h> 11 12 static struct resource cobalt_lcd_resource __initdata = { 13 .start = 0x1f000000, 14 .end = 0x1f00001f, 15 .flags = IORESOURCE_MEM, 16 }; 17 18 static __init int cobalt_lcd_add(void) 19 { 20 struct platform_device *pdev; 21 int retval; 22 23 pdev = platform_device_alloc("cobalt-lcd", -1); 24 if (!pdev) 25 return -ENOMEM; 26 27 retval = platform_device_add_resources(pdev, &cobalt_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 37 err_free_device: 38 platform_device_put(pdev); 39 40 return retval; 41 } 42 device_initcall(cobalt_lcd_add); 43