xref: /linux/arch/mips/cobalt/lcd.c (revision 6fdcba32711044c35c0e1b094cbd8f3f0b4472c9)
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