qcom platform 子系统(1)

本文介绍了Linux内核中针对高通平台的子系统重启接口实现细节,包括用户接口、sysfs接口、dev接口及debugfs接口等内容。通过这些接口可以管理和控制不同子系统的状态和重启级别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/******************************************************************************/
/***用户接口:****/
/******************************************************************************/
kernel/include/soc/qcom/subsystem_restart.h
kernel/drivers/soc/qcom/subsystem_restart.c


int subsystem_restart(const char *name){
}


static struct device_attribute subsys_attrs[] = {
__ATTR_RO(name),
__ATTR_RO(state),
__ATTR_RO(crash_count),
__ATTR(restart_level, 0644, restart_level_show, restart_level_store),
__ATTR(firmware_name, 0644, firmware_name_show, firmware_name_store),
__ATTR(system_debug, 0644, system_debug_show, system_debug_store),
__ATTR_NULL,
};


static struct bus_type subsys_bus_type = {
.name = "msm_subsys",
.dev_attrs = subsys_attrs,
};


static int __init subsys_restart_init(void)
{
int ret;


ssr_wq = alloc_workqueue("ssr_wq", WQ_CPU_INTENSIVE, 0);
BUG_ON(!ssr_wq);


ret = bus_register(&subsys_bus_type);
}
/*sysfs 接口*/
root@gemini:/sys/bus/msm_subsys/devices # ls -al
lrwxrwxrwx root     root              1970-02-23 04:16 subsys0 -> ../../../devices/soc/ce0000.qcom,venus/subsys0
lrwxrwxrwx root     root              1970-02-23 04:16 subsys1 -> ../../../devices/soc/soc:qcom,kgsl-hyp/subsys1
lrwxrwxrwx root     root              1970-02-23 04:16 subsys2 -> ../../../devices/soc/soc:qcom,cnss/subsys2
lrwxrwxrwx root     root              1970-02-23 04:16 subsys3 -> ../../../devices/soc/9300000.qcom,lpass/subsys3
lrwxrwxrwx root     root              1970-02-23 04:16 subsys4 -> ../../../devices/soc/1c00000.qcom,ssc/subsys4
lrwxrwxrwx root     root              1970-02-23 04:16 subsys5 -> ../../../devices/soc/2080000.qcom,mss/subsys5


/*dev 接口*/
crw-r----- system   system   243,   2 1970-02-23 04:16 subsys_AR6320
crw-r----- system   system   243,   1 1970-02-23 04:16 subsys_a530_zap
crw-r----- system   system   243,   3 1970-02-23 04:16 subsys_adsp
crw-r----- system   system   243,   5 1970-02-23 04:16 subsys_modem
crw-r----- system   system   243,   4 1970-02-23 04:16 subsys_slpi
crw-r----- system   system   243,   0 1970-02-23 04:16 subsys_venus


crw-r----- system   system    10,  66 1970-02-24 03:47 ramdump_AR6320
crw-r----- system   system    10,  88 1970-02-24 03:47 ramdump_a530_zap
crw-r----- system   system    10,  55 1970-02-24 03:47 ramdump_adsp
crw-r----- system   system    10,  47 1970-02-24 03:47 ramdump_adsp_rh
crw-r----- system   system    10,  34 1970-02-24 03:47 ramdump_cpe
crw-r----- system   system    10,  53 1970-02-24 03:47 ramdump_modem
crw-r----- system   system    10,  54 1970-02-24 03:47 ramdump_slpi
crw-r----- system   system    10,  48 1970-02-24 03:47 ramdump_smem
crw-r----- system   system    10,  89 1970-02-24 03:47 ramdump_venus


/*debugfs 接口*/
root@gemini:/sys/kernel/debug/msm_subsys # ls -al
-rw-r--r-- root     root            0 1970-01-01 08:00 AR6320
-rw-r--r-- root     root            0 1970-01-01 08:00 a530_zap
-rw-r--r-- root     root            0 1970-01-01 08:00 adsp
-rw-r--r-- root     root            0 1970-01-01 08:00 modem
-rw-r--r-- root     root            0 1970-01-01 08:00 slpi
-rw-r--r-- root     root            0 1970-01-01 08:00 venus
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值