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