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

rtc.c (1005B)


      1// SPDX-License-Identifier: GPL-2.0-or-later
      2/*
      3 *  Registration of Cobalt RTC 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/mc146818rtc.h>
     11#include <linux/platform_device.h>
     12
     13static struct resource cobalt_rtc_resource[] __initdata = {
     14	{
     15		.start	= 0x70,
     16		.end	= 0x77,
     17		.flags	= IORESOURCE_IO,
     18	},
     19	{
     20		.start	= RTC_IRQ,
     21		.end	= RTC_IRQ,
     22		.flags	= IORESOURCE_IRQ,
     23	},
     24};
     25
     26static __init int cobalt_rtc_add(void)
     27{
     28	struct platform_device *pdev;
     29	int retval;
     30
     31	pdev = platform_device_alloc("rtc_cmos", -1);
     32	if (!pdev)
     33		return -ENOMEM;
     34
     35	retval = platform_device_add_resources(pdev, cobalt_rtc_resource,
     36					       ARRAY_SIZE(cobalt_rtc_resource));
     37	if (retval)
     38		goto err_free_device;
     39
     40	retval = platform_device_add(pdev);
     41	if (retval)
     42		goto err_free_device;
     43
     44	return 0;
     45
     46err_free_device:
     47	platform_device_put(pdev);
     48
     49	return retval;
     50}
     51device_initcall(cobalt_rtc_add);