- int err = 0;
- camsys_regulator_t *regulator;
- camsys_gpio_t *gpio;
-
- if ((devctl->ops>CamSys_Vdd_Start_Tag) && (devctl->ops < CamSys_Vdd_End_Tag)) {
- regulator = &extdev->avdd;
- regulator += devctl->ops-1;
-
- if (!IS_ERR_OR_NULL(regulator->ldo)) {
- if (devctl->on) {
- err = regulator_set_voltage(regulator->ldo,regulator->min_uv,regulator->max_uv);
- err |= regulator_enable(regulator->ldo);
- camsys_trace(1,"Sysctl %d success, regulator set (%d,%d) uv!",devctl->ops, regulator->min_uv,regulator->max_uv);
- } else {
- while(regulator_is_enabled(regulator->ldo)>0)
- regulator_disable(regulator->ldo);
- camsys_trace(1,"Sysctl %d success, regulator off!",devctl->ops);
- }
- } else {
- //camsys_err("Sysctl %d failed, because regulator ldo is NULL!",devctl->ops);
- err = -EINVAL;
- goto end;
- }
- } else if ((devctl->ops>CamSys_Gpio_Start_Tag) && (devctl->ops < CamSys_Gpio_End_Tag)) {
- gpio = &extdev->pwrdn;
- gpio += devctl->ops - CamSys_Gpio_Start_Tag -1;
-
- if (gpio->io != 0xffffffff) {
- if (devctl->on) {
- gpio_direction_output(gpio->io, gpio->active);
- gpio_set_value(gpio->io, gpio->active);
- camsys_trace(1,"Sysctl %d success, gpio(%d) set %d",devctl->ops, gpio->io, gpio->active);
- } else {
- gpio_direction_output(gpio->io, !gpio->active);
- gpio_set_value(gpio->io, !gpio->active);
- camsys_trace(1,"Sysctl %d success, gpio(%d) set %d",devctl->ops, gpio->io, !gpio->active);
- }
- } else {
- camsys_err("Sysctl %d failed, because gpio is NULL!",devctl->ops);
- err = -EINVAL;
- goto end;
- }
- } else if (devctl->ops == CamSys_ClkIn) {
- if (camsys_dev->clkout_cb)
- camsys_dev->clkout_cb(camsys_dev,devctl->on,extdev->clk.in_rate);
- } else if (devctl->ops == CamSys_Phy) {
- if (camsys_dev->phy_cb)
- (camsys_dev->phy_cb)(extdev,devctl,(void*)camsys_dev);
- }
+ int err = 0;
+ camsys_regulator_t *regulator;
+ camsys_gpio_t *gpio;
+
+ if ((devctl->ops > CamSys_Vdd_Start_Tag) &&
+ (devctl->ops < CamSys_Vdd_End_Tag)) {
+ regulator = &extdev->avdd;
+ regulator += devctl->ops-1;
+
+ if (!IS_ERR_OR_NULL(regulator->ldo)) {
+ if (devctl->on) {
+ err = regulator_set_voltage(
+ regulator->ldo, regulator->min_uv,
+ regulator->max_uv);
+ err |= regulator_enable(regulator->ldo);
+ camsys_trace(1,
+ "Sysctl %d success, regulator set (%d,%d) uv!",
+ devctl->ops, regulator->min_uv,
+ regulator->max_uv);
+ } else {
+ while (regulator_is_enabled(regulator->ldo) > 0)
+ regulator_disable(regulator->ldo);
+ camsys_trace(1,
+ "Sysctl %d success, regulator off!",
+ devctl->ops);
+ }
+ } else {
+ err = -EINVAL;
+ goto end;
+ }
+ } else if ((devctl->ops > CamSys_Gpio_Start_Tag) &&
+ (devctl->ops < CamSys_Gpio_End_Tag)) {
+ gpio = &extdev->pwrdn;
+ gpio += devctl->ops - CamSys_Gpio_Start_Tag -1;
+
+ if (gpio->io != 0xffffffff) {
+ if (devctl->on) {
+ gpio_direction_output(gpio->io, gpio->active);
+ gpio_set_value(gpio->io, gpio->active);
+ camsys_trace(1,
+ "Sysctl %d success, gpio(%d) set %d",
+ devctl->ops, gpio->io, gpio->active);
+ } else {
+ gpio_direction_output(gpio->io, !gpio->active);
+ gpio_set_value(gpio->io, !gpio->active);
+ camsys_trace(1,
+ "Sysctl %d success, gpio(%d) set %d",
+ devctl->ops, gpio->io, !gpio->active);
+ }
+ } else {
+ camsys_err("Sysctl %d failed, because gpio is NULL!",
+ devctl->ops);
+ err = -EINVAL;
+ goto end;
+ }
+ } else if (devctl->ops == CamSys_ClkIn) {
+ if (camsys_dev->clkout_cb)
+ camsys_dev->clkout_cb
+ (camsys_dev, devctl->on,
+ extdev->clk.in_rate);
+ } else if (devctl->ops == CamSys_Phy) {
+ if (camsys_dev->phy_cb)
+ (camsys_dev->phy_cb)
+ (extdev, devctl,
+ (void *)camsys_dev);
+ }