cregit-Linux how code gets into the kernel

Release 4.14 arch/mips/pic32/common/reset.c

/*
 * Joshua Henderson <joshua.henderson@microchip.com>
 * Copyright (C) 2015 Microchip Technology Inc.  All rights reserved.
 *
 *  This program is free software; you can distribute it and/or modify it
 *  under the terms of the GNU General Public License (Version 2) as
 *  published by the Free Software Foundation.
 *
 *  This program is distributed in the hope it will be useful, but WITHOUT
 *  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 *  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
 *  for more details.
 */
#include <linux/init.h>
#include <linux/pm.h>
#include <asm/reboot.h>
#include <asm/mach-pic32/pic32.h>


#define PIC32_RSWRST		0x10


static void pic32_halt(void) { while (1) { __asm__(".set push;\n" ".set arch=r4000;\n" "wait;\n" ".set pop;\n" ); } }

Contributors

PersonTokensPropCommitsCommitProp
Joshua Henderson15100.00%1100.00%
Total15100.00%1100.00%


static void pic32_machine_restart(char *command) { void __iomem *reg = ioremap(PIC32_BASE_RESET + PIC32_RSWRST, sizeof(u32)); pic32_syskey_unlock(); /* magic write/read */ __raw_writel(1, reg); (void)__raw_readl(reg); pic32_halt(); }

Contributors

PersonTokensPropCommitsCommitProp
Joshua Henderson49100.00%1100.00%
Total49100.00%1100.00%


static void pic32_machine_halt(void) { local_irq_disable(); pic32_halt(); }

Contributors

PersonTokensPropCommitsCommitProp
Joshua Henderson14100.00%1100.00%
Total14100.00%1100.00%


static int __init mips_reboot_setup(void) { _machine_restart = pic32_machine_restart; _machine_halt = pic32_machine_halt; pm_power_off = pic32_machine_halt; return 0; }

Contributors

PersonTokensPropCommitsCommitProp
Joshua Henderson24100.00%1100.00%
Total24100.00%1100.00%

arch_initcall(mips_reboot_setup);

Overall Contributors

PersonTokensPropCommitsCommitProp
Joshua Henderson124100.00%1100.00%
Total124100.00%1100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.