LED调用流程
g_leds_data[i]->cdev.blink_set = mt65xx_blink_set; //mt65xx_leds_probe -- leds_drv.c
mt65xx_blink_set//leds_drv.c
mt_mt65xx_blink_set
mt_led_blink_pmic //leds
external_ic_leds_mode(mode)
mt_brightness_set_pmic//leds
external_ic_leds_mode(mode)
[ 32.422105] (2)[897:Binder_3][<ffffffc0003bbc40>] AW2015_LED_Blink+0x94/0x198
[ 32.422115] (2)[897:Binder_3][<ffffffc0003bbf60>] external_ic_leds_mode+0xc8/0xf4
[ 32.422125] (2)[897:Binder_3][<ffffffc0003ba884>] mt_led_blink_pmic+0x180/0x320
[ 32.422135] (2)[897:Binder_3][<ffffffc0003bb4a4>] mt_mt65xx_blink_set+0x1d0/0x23c
[ 32.422145] (2)[897:Binder_3][<ffffffc0003b9758>] mt65xx_blink_set+0x8/0x1c
[ 32.422156] (2)[897:Binder_3][<ffffffc00076d510>] led_blink_setup+0x2c/0xfc //led-core.c
[ 32.422166] (2)[897:Binder_3][<ffffffc00076d618>] led_blink_set+0x38/0x48
[ 32.422176] (2)[897:Binder_3][<ffffffc00076e6fc>] led_delay_on_store+0x38/0x54 //ledtrig-timer.c
[ 32.422187] (2)[897:Binder_3][<ffffffc00033bfd0>] dev_attr_store+0x14/0x28 //delay_on -- /sys/devices/platform/leds-mt65xx/leds/red/delay_on
[ 433.441909] (0)[3408:kworker/0:3][<ffffffc0003bb7fc>] AW2015_LED_ON+0x38/0xec
[ 433.441919] (0)[3408:kworker/0:3][<ffffffc0003bbf10>] external_ic_leds_mode+0x7c/0xf4
[ 433.441930] (0)[3408:kworker/0:3][<ffffffc0003badc8>] mt_brightness_set_pmic+0x1f4/0x2ac
[ 433.441940] (0)[3408:kworker/0:3][<ffffffc0003baf78>] mt_mt65xx_led_set_cust+0xf0/0x28c
[ 433.441950] (0)[3408:kworker/0:3][<ffffffc0003bb154>] mt_mt65xx_led_work+0x40/0x74
[ 433.441961] (0)[3408:kworker/0:3][<ffffffc0000b3ea4>] process_one_work+0x154/0x414 //mt_mt65xx_led_set <--mt65xx_led_set <--__led_set_brightness
mtk led 呼吸灯
最新推荐文章于 2026-05-11 21:00:31 发布
本文详细介绍了MTK LED呼吸灯的驱动调用流程,从`mt65xx_leds_probe`到`mt65xx_blink_set`,再到`mt_mt65xx_blink_set`和`mt_led_blink_pmic`等函数,深入探讨了在Linux内核中的工作原理,包括`leds_drv.c`、`led-core.c`和`ledtrig-timer.c`等关键文件中的操作。同时,展示了系统日志中与LED控制相关的调用栈,揭示了从用户空间到内核空间的转换过程。


2391

被折叠的 条评论
为什么被折叠?



