cregit-Linux how code gets into the kernel

Release 4.7 drivers/cpuidle/cpuidle-clps711x.c

Directory: drivers/cpuidle
/*
 *  CLPS711X CPU idle driver
 *
 *  Copyright (C) 2014 Alexander Shiyan <shc_work@mail.ru>
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 */

#include <linux/cpuidle.h>
#include <linux/err.h>
#include <linux/io.h>
#include <linux/init.h>
#include <linux/platform_device.h>


#define CLPS711X_CPUIDLE_NAME	"clps711x-cpuidle"


static void __iomem *clps711x_halt;


static int clps711x_cpuidle_halt(struct cpuidle_device *dev, struct cpuidle_driver *drv, int index) { writel(0xaa, clps711x_halt); return index; }

Contributors

PersonTokensPropCommitsCommitProp
alexander shiyanalexander shiyan29100.00%1100.00%
Total29100.00%1100.00%

static struct cpuidle_driver clps711x_idle_driver = { .name = CLPS711X_CPUIDLE_NAME, .owner = THIS_MODULE, .states[0] = { .name = "HALT", .desc = "CLPS711X HALT", .enter = clps711x_cpuidle_halt, .exit_latency = 1, }, .state_count = 1, };
static int __init clps711x_cpuidle_probe(struct platform_device *pdev) { struct resource *res; res = platform_get_resource(pdev, IORESOURCE_MEM, 0); clps711x_halt = devm_ioremap_resource(&pdev->dev, res); if (IS_ERR(clps711x_halt)) return PTR_ERR(clps711x_halt); return cpuidle_register(&clps711x_idle_driver, NULL); }

Contributors

PersonTokensPropCommitsCommitProp
alexander shiyanalexander shiyan62100.00%1100.00%
Total62100.00%1100.00%

static struct platform_driver clps711x_cpuidle_driver = { .driver = { .name = CLPS711X_CPUIDLE_NAME, }, }; builtin_platform_driver_probe(clps711x_cpuidle_driver, clps711x_cpuidle_probe);

Overall Contributors

PersonTokensPropCommitsCommitProp
alexander shiyanalexander shiyan18998.95%150.00%
paul gortmakerpaul gortmaker21.05%150.00%
Total191100.00%2100.00%
Directory: drivers/cpuidle
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}