summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorQuinn Jensen <quinn.jensen@freescale.com>2007-05-24 18:07:45 -0600
committerQuinn Jensen <quinn.jensen@freescale.com>2007-05-24 18:07:45 -0600
commit82bd5670411dd16c269cfa61c527b00f30be0bb2 (patch)
tree681b47d49577fd0834c78710b0f3a45603a2c246 /drivers
parent7b284f8792b5efb4bc06664190570d01cb6ed553 (diff)
CR TLSbo87444: Unify light ioctl
Description: Modified the light ioctl such that the implementation is similar in the case for different PMIC chips. http://www.bitshrine.org/gpp/linux-2.6.19.2-mx-unify_light_ioctl.patch
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mxc/pmic/mc13783/pmic_light.c46
1 files changed, 30 insertions, 16 deletions
diff --git a/drivers/mxc/pmic/mc13783/pmic_light.c b/drivers/mxc/pmic/mc13783/pmic_light.c
index 38827077ec1a..077a9b15ea56 100644
--- a/drivers/mxc/pmic/mc13783/pmic_light.c
+++ b/drivers/mxc/pmic/mc13783/pmic_light.c
@@ -2334,8 +2334,7 @@ static int pmic_light_ioctl(struct inode *inode, struct file *file,
CHECK_ERROR_KFREE(pmic_bklit_set_mode(bklit_setting->channel,
bklit_setting->mode),
(kfree(bklit_setting)));
- //CHECK_ERROR(pmic_bklit_set_strobemode(bklit_setting->channel,
- // bklit_setting->strobe));
+
CHECK_ERROR_KFREE(pmic_bklit_set_current(bklit_setting->channel,
bklit_setting->
current_level),
@@ -2347,9 +2346,12 @@ static int pmic_light_ioctl(struct inode *inode, struct file *file,
CHECK_ERROR_KFREE(pmic_bklit_set_cycle_time
(bklit_setting->cycle_time),
(kfree(bklit_setting)));
- pmic_bklit_set_boost_mode(bklit_setting->en_dis);
- pmic_bklit_config_boost_mode(bklit_setting->abms,
- bklit_setting->abr);
+ CHECK_ERROR_KFREE(pmic_bklit_set_boost_mode
+ (bklit_setting->en_dis),
+ (kfree(bklit_setting)));
+ CHECK_ERROR_KFREE(pmic_bklit_config_boost_mode
+ (bklit_setting->abms, bklit_setting->abr),
+ (kfree(bklit_setting)));
if (bklit_setting->edge_slow != false) {
CHECK_ERROR_KFREE(pmic_bklit_enable_edge_slow(),
(kfree(bklit_setting)));
@@ -2373,18 +2375,30 @@ static int pmic_light_ioctl(struct inode *inode, struct file *file,
return -EFAULT;
}
- pmic_bklit_get_current(bklit_setting->channel,
- &bklit_setting->current_level);
- pmic_bklit_get_cycle_time(&bklit_setting->cycle_time);
- pmic_bklit_get_dutycycle(bklit_setting->channel,
- &bklit_setting->duty_cycle);
+ CHECK_ERROR_KFREE(pmic_bklit_get_current(bklit_setting->channel,
+ &bklit_setting->
+ current_level),
+ (kfree(bklit_setting)));
+ CHECK_ERROR_KFREE(pmic_bklit_get_cycle_time
+ (&bklit_setting->cycle_time),
+ (kfree(bklit_setting)));
+ CHECK_ERROR_KFREE(pmic_bklit_get_dutycycle
+ (bklit_setting->channel,
+ &bklit_setting->duty_cycle),
+ (kfree(bklit_setting)));
bklit_setting->strobe = BACKLIGHT_STROBE_NONE;
- pmic_bklit_get_mode(bklit_setting->channel,
- &bklit_setting->mode);
- pmic_bklit_get_edge_slow(&bklit_setting->edge_slow);
- pmic_bklit_get_boost_mode(&bklit_setting->en_dis);
- pmic_bklit_gets_boost_mode(&bklit_setting->abms,
- &bklit_setting->abr);
+ CHECK_ERROR_KFREE(pmic_bklit_get_mode(bklit_setting->channel,
+ &bklit_setting->mode),
+ (kfree(bklit_setting)));
+ CHECK_ERROR_KFREE(pmic_bklit_get_edge_slow
+ (&bklit_setting->edge_slow),
+ (kfree(bklit_setting)));
+ CHECK_ERROR_KFREE(pmic_bklit_get_boost_mode
+ (&bklit_setting->en_dis),
+ (kfree(bklit_setting)));
+ CHECK_ERROR_KFREE(pmic_bklit_gets_boost_mode
+ (&bklit_setting->abms, &bklit_setting->abr),
+ (kfree(bklit_setting)));
if (copy_to_user((t_bklit_setting_param *) arg, bklit_setting,
sizeof(t_bklit_setting_param))) {