+++ b/arch/powerpc/kernel/irq.c @@ -827,11 +827,6 @@ int irq_choose_cpu(const struct cpumask *mask) } #endif -int arch_early_irq_init(void) -{ - return 0; -} - #ifdef CONFIG_PPC64 static int __init setup_noirqdistrib(char *str) {...
but the CPU subsystem is up and * running, and memory and process management works. * * Now we can finally start doing some real work.. */staticvoid__initdo_basic_setup(void){cpuset_init_smp();usermodehelper_init();shmem_init();driver_init();init_irq_proc();do_ctors();usermodehe...
(uart, "mrvl,pxa-uart", early_serial8250_rs2_setup); #ifdef CONFIG_SERIAL_8250_OMAP static int __init early_omap8250_setup(struct earlycon_device *device, const char *options) { struct uart_port *port = &device->port; if (!(device->port.membase || device->port.iobase)) return -...
return -EINVAL; That got me much further to the point where I get another error: 5.399159] 44e09000.serial: ttyO0 at MMIO 0x44e09000 (irq = 88, base_baud = 3000000) is a OMAP UART0 [ 5.409321] of_get_named_gpio_flags: can't parse gpios property of node '/ocp/serial@48022000...
static int __init plic_early_probe(struct device_node *node, struct device_node *parent) {return plic_probe(&node->fwnode); }IRQCHIP_DECLARE(riscv, "thead,c900-plic", plic_early_probe);0 comments on commit 6524544 Please sign in to comment. ...
spin_unlock_irqrestore(&state_lock, irqflags); } 函数首先打印出当前状态变化的log,然后判断新状态,如果是休眠状态则置位SUSPEND_REQUESTED标志,然后将同步缓存、浅度休眠工作队列加入相应的内核线程执行;如果新状态是唤醒则首先将main_wake_lock激活,然后再将浅度唤醒工作队列加入内核线程执行;最后更新全局状态变量,...
spin_lock_irqsave(&state_lock, irqflags); old_sleep = state & SUSPEND_REQUESTED; if (debug_mask & DEBUG_USER_STATE) { struct timespec ts; struct rtc_time tm; getnstimeofday(&ts); rtc_time_to_tm(ts.tv_sec, &tm); pr_info("request_suspend_state: %s (%d->%d) at %lld " ...
static int __init pm_start_workqueue(void) { pm_wq = create_freezeable_workqueue("pm"); return pm_wq ? 0 : -ENOMEM; } #else static inline int pm_start_workqueue(void) { return 0; } #endif static int __init pm_init(void) ...
spin_unlock_irqrestore(&state_lock,irqflags); } 最终看到啦,early_suspend()遍历early_suspend_handlers链表,从中取出各个驱动程序注冊的early_suspend结构,然后调用它的suspend回调函数。最后,释放main_wake_lock锁,至此整个earlysuspend的流程完毕。以下的序列图清晰地表明了整个调用的过程: ...
staticvoid__initrcu_init_geometry(void) voidrcu_init_geometry(void) { ulongd; inti; staticunsigned longold_nr_cpu_ids; intrcu_capacity[RCU_NUM_LVLS]; staticboolinitialized; if(initialized) { /* * Warn if setup_nr_cpu_ids() had not yet been invoked, ...