本文基于Android7.1.1 msm8953 platform Linux kernel 3.18.
按照惯例先上一张 led子系统的 思维导图
上图是根据 kernel/msm-3.18/drivers/leds/ 下的Makefile文件分析而成,so. 讲到这,阅读makefile对分析源码结构很有帮助哦
这里贴一下Makefile的源码,不同平台略有不同。
# LED Core
obj-$(CONFIG_NEW_LEDS) += led-core.o
obj-$(CONFIG_LEDS_CLASS) += led-class.o
obj-$(CONFIG_LEDS_TRIGGERS) += led-triggers.o
EXTRA_CFLAGS += -DDEBUG
# LED Platform Drivers
obj-$(CONFIG_LEDS_88PM860X) += leds-88pm860x.o
obj-$(CONFIG_LEDS_BD2802) += leds-bd2802.o
obj-$(CONFIG_LEDS_LOCOMO) += leds-locomo.o
obj-$(CONFIG_LEDS_LM3530) += leds-lm3530.o
obj-$(CONFIG_LEDS_LM3533) += leds-lm3533.o
obj-$(CONFIG_LEDS_LM3642) += leds-lm3642.o
obj-$(CONFIG_LEDS_MIKROTIK_RB532) += leds-rb532.o
obj-$(CONFIG_LEDS_S3C24XX) += leds-s3c24xx