1 // SPDX-License-Identifier: GPL-2.0-or-later 1 // SPDX-License-Identifier: GPL-2.0-or-later 2 /* 2 /* 3 * Registration of Cobalt LED platform device 3 * Registration of Cobalt LED platform device. 4 * 4 * 5 * Copyright (C) 2007 Yoichi Yuasa <yuasa@li 5 * Copyright (C) 2007 Yoichi Yuasa <yuasa@linux-mips.org> 6 */ 6 */ 7 #include <linux/errno.h> 7 #include <linux/errno.h> 8 #include <linux/init.h> 8 #include <linux/init.h> 9 #include <linux/ioport.h> 9 #include <linux/ioport.h> 10 #include <linux/platform_device.h> 10 #include <linux/platform_device.h> 11 11 12 #include <cobalt.h> 12 #include <cobalt.h> 13 13 14 static struct resource cobalt_led_resource __i 14 static struct resource cobalt_led_resource __initdata = { 15 .start = 0x1c000000, 15 .start = 0x1c000000, 16 .end = 0x1c000000, 16 .end = 0x1c000000, 17 .flags = IORESOURCE_MEM, 17 .flags = IORESOURCE_MEM, 18 }; 18 }; 19 19 20 static __init int cobalt_led_add(void) 20 static __init int cobalt_led_add(void) 21 { 21 { 22 struct platform_device *pdev; 22 struct platform_device *pdev; 23 int retval; 23 int retval; 24 24 25 if (cobalt_board_id == COBALT_BRD_ID_Q 25 if (cobalt_board_id == COBALT_BRD_ID_QUBE1 || 26 cobalt_board_id == COBALT_BRD_ID_Q 26 cobalt_board_id == COBALT_BRD_ID_QUBE2) 27 pdev = platform_device_alloc(" 27 pdev = platform_device_alloc("cobalt-qube-leds", -1); 28 else 28 else 29 pdev = platform_device_alloc(" 29 pdev = platform_device_alloc("cobalt-raq-leds", -1); 30 30 31 if (!pdev) 31 if (!pdev) 32 return -ENOMEM; 32 return -ENOMEM; 33 33 34 retval = platform_device_add_resources 34 retval = platform_device_add_resources(pdev, &cobalt_led_resource, 1); 35 if (retval) 35 if (retval) 36 goto err_free_device; 36 goto err_free_device; 37 37 38 retval = platform_device_add(pdev); 38 retval = platform_device_add(pdev); 39 if (retval) 39 if (retval) 40 goto err_free_device; 40 goto err_free_device; 41 41 42 return 0; 42 return 0; 43 43 44 err_free_device: 44 err_free_device: 45 platform_device_put(pdev); 45 platform_device_put(pdev); 46 46 47 return retval; 47 return retval; 48 } 48 } 49 device_initcall(cobalt_led_add); 49 device_initcall(cobalt_led_add); 50 50
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.