cregit-Linux how code gets into the kernel

Release 4.7 drivers/cpuidle/cpuidle-at91.c

Directory: drivers/cpuidle
/*
 * based on arch/arm/mach-kirkwood/cpuidle.c
 *
 * CPU idle support for AT91 SoC
 *
 * This file is licensed under the terms of the GNU General Public
 * License version 2.  This program is licensed "as is" without any
 * warranty of any kind, whether express or implied.
 *
 * The cpu idle uses wait-for-interrupt and RAM self refresh in order
 * to implement two idle states -
 * #1 wait-for-interrupt
 * #2 wait-for-interrupt and RAM self refresh
 */

#include <linux/kernel.h>
#include <linux/init.h>
#include <linux/platform_device.h>
#include <linux/cpuidle.h>
#include <linux/io.h>
#include <linux/export.h>
#include <asm/cpuidle.h>


#define AT91_MAX_STATES	2


static void (*at91_standby)(void);

/* Actual code that puts the SoC in different idle states */

static int at91_enter_idle(struct cpuidle_device *dev, struct cpuidle_driver *drv, int index) { at91_standby(); return index; }

Contributors

PersonTokensPropCommitsCommitProp
albin tonnerrealbin tonnerre1768.00%125.00%
deepthi dharwardeepthi dharwar728.00%250.00%
daniel lezcanodaniel lezcano14.00%125.00%
Total25100.00%4100.00%

static struct cpuidle_driver at91_idle_driver = { .name = "at91_idle", .owner = THIS_MODULE, .states[0] = ARM_CPUIDLE_WFI_STATE, .states[1] = { .enter = at91_enter_idle, .exit_latency = 10, .target_residency = 10000, .name = "RAM_SR", .desc = "WFI and DDR Self Refresh", }, .state_count = AT91_MAX_STATES, }; /* Initialize CPU idle by registering the idle states */
static int at91_cpuidle_probe(struct platform_device *dev) { at91_standby = (void *)(dev->dev.platform_data); return cpuidle_register(&at91_idle_driver, NULL); }

Contributors

PersonTokensPropCommitsCommitProp
daniel lezcanodaniel lezcano2367.65%240.00%
robert leerobert lee514.71%120.00%
deepthi dharwardeepthi dharwar411.76%120.00%
albin tonnerrealbin tonnerre25.88%120.00%
Total34100.00%5100.00%

static struct platform_driver at91_cpuidle_driver = { .driver = { .name = "cpuidle-at91", }, .probe = at91_cpuidle_probe, }; builtin_platform_driver(at91_cpuidle_driver);

Overall Contributors

PersonTokensPropCommitsCommitProp
albin tonnerrealbin tonnerre7741.18%112.50%
daniel lezcanodaniel lezcano5831.02%337.50%
robert leerobert lee3719.79%112.50%
deepthi dharwardeepthi dharwar147.49%225.00%
paul gortmakerpaul gortmaker10.53%112.50%
Total187100.00%8100.00%
Directory: drivers/cpuidle
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
{% endraw %}