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

buttons.c (829B)


      1// SPDX-License-Identifier: GPL-2.0-or-later
      2/*
      3 *  Cobalt buttons platform device.
      4 *
      5 *  Copyright (C) 2007  Yoichi Yuasa <yuasa@linux-mips.org>
      6 */
      7
      8#include <linux/platform_device.h>
      9#include <linux/errno.h>
     10#include <linux/init.h>
     11
     12static struct resource cobalt_buttons_resource __initdata = {
     13	.start	= 0x1d000000,
     14	.end	= 0x1d000003,
     15	.flags	= IORESOURCE_MEM,
     16};
     17
     18static __init int cobalt_add_buttons(void)
     19{
     20	struct platform_device *pd;
     21	int error;
     22
     23	pd = platform_device_alloc("Cobalt buttons", -1);
     24	if (!pd)
     25		return -ENOMEM;
     26
     27	error = platform_device_add_resources(pd, &cobalt_buttons_resource, 1);
     28	if (error)
     29		goto err_free_device;
     30
     31	error = platform_device_add(pd);
     32	if (error)
     33		goto err_free_device;
     34
     35	return 0;
     36
     37 err_free_device:
     38	platform_device_put(pd);
     39	return error;
     40}
     41device_initcall(cobalt_add_buttons);