unsigned int maple_nvram_base; unsigned int maple_nvram_offset; unsigned int maple_nvram_command; struct device_node *rtcs;   rtcs = find_compatible_devices("nvram", "AMD8111"); if (rtcs && rtcs->addrs) { maple_nvram_base = rtcs->addrs[0].address; } else { printk(KERN_EMERG "Maple: Unable to find NVRAM\n"); printk(KERN_EMERG "Maple: Manual Power-Down Required\n"); return; }   rtcs = find_devices("service-processor"); if (!rtcs) { printk(KERN_EMERG "Maple: Unable to find Service Processor\n"); printk(KERN_EMERG "Maple: Manual Power-Down Required\n"); return; } maple_nvram_offset = *(unsigned int*) get_property(rtcs, "power-off-addr", NULL); maple_nvram_command = *(unsigned int*) get_property(rtcs, "power-off-value", NULL);   outb_p(maple_nvram_command, maple_nvram_base + maple_nvram_offset); for (;;) ;
static void maple_power_off(void){}