cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

led.c (1045B)


      1// SPDX-License-Identifier: GPL-2.0-or-later
      2/*
      3 *  Registration of Cobalt LED platform device.
      4 *
      5 *  Copyright (C) 2007	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#include <cobalt.h>
     13
     14static struct resource cobalt_led_resource __initdata = {
     15	.start	= 0x1c000000,
     16	.end	= 0x1c000000,
     17	.flags	= IORESOURCE_MEM,
     18};
     19
     20static __init int cobalt_led_add(void)
     21{
     22	struct platform_device *pdev;
     23	int retval;
     24
     25	if (cobalt_board_id == COBALT_BRD_ID_QUBE1 ||
     26	    cobalt_board_id == COBALT_BRD_ID_QUBE2)
     27		pdev = platform_device_alloc("cobalt-qube-leds", -1);
     28	else
     29		pdev = platform_device_alloc("cobalt-raq-leds", -1);
     30
     31	if (!pdev)
     32		return -ENOMEM;
     33
     34	retval = platform_device_add_resources(pdev, &cobalt_led_resource, 1);
     35	if (retval)
     36		goto err_free_device;
     37
     38	retval = platform_device_add(pdev);
     39	if (retval)
     40		goto err_free_device;
     41
     42	return 0;
     43
     44err_free_device:
     45	platform_device_put(pdev);
     46
     47	return retval;
     48}
     49device_initcall(cobalt_led_add);