Porting Guide of Android Power to Marvell 2.6.24

本文介绍如何将Android Power功能移植到2.6.24内核,包括创建sysfs下的android_power目录及相应属性文件,并通过attribute的show/store访问设置power state/request。文中详细说明了在不同内核版本间进行移植所需的步骤。

正在作基于Marvell 9xx 的Android平台,因为平台内核为2.6.24,而Android 1.0 Release 的是2.6.25. Android power 本对于系统来说是可选的,但为了更好的体现Android的设计思想和理念以及UI Experience, Android Power 一定要enable.
经过两天的研究,终于搞定了,还算顺利且容易.
从1.0版本来说,Android power的本质就是创建sysfs下的目录android_power 及相应的属性文件,并通过attribute的show/store来访问/设置power state/request. 但是由于2.6.24和2.6.25中对于Linux Driver Model尤其是kobject/kset/subsys及API的改变,导致向下移植时就要把power中对这些的改变作back porting,好在Android Power都集中在power.c文件中,不需要修改kobject.c/h等核心文件。大致工作如下:
(1). 把android_power看作一个subsystem, 并声明之,为init 时的注册作准备;
(2). 构建attribute_group属性组中各成员的属性 subsys_attribute 结构体(这是和2.6.25中不同的地方);
(3). 分别实现subsys_attribute中的show 和store函数(这也是2.6.24和2.6.25中有明显变化的地方,24中参数为kset,25中参数为kobject和kobj_attribute);
(4). 属性相关结构和函数准备好后,用sysfs_create_group向/sys/android_power_subsys注册即可;
(5). 正向的作好后,再在exit和错误处理中实现反向操作。
Good Luck!

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值