Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 370) static int anx7808_avdd_onoff(bool on)
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 371) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 372) static bool init_done = 0;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 373) int rc = 0;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 374)
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 375) if (!init_done) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 376) rc = gpio_request_one(ANX_AVDD33_EN,
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 377) GPIOF_OUT_INIT_HIGH, "anx_avdd33_en");
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 378) if (rc) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 379) pr_err("request anx_avdd33_en failed, rc=%d\n", rc);
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 380) return rc;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 381) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 382) init_done = 1;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 383) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 384)
- :
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 330) rc=%d\n", __func_
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 331) goto out;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 332) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 333) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 334)
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 335) if (on) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 336) rc = regulator_set_optimum_mode(a
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 337) if (rc < 0) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 338) pr_err("%s : set optimum
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 339) (%d)\n",
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 340) goto out;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 341) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 342) rc = regulator_enable(anx7808_dvd
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 343) if (rc) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 344) pr_err("%s : anx7808_dvdd
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 345) __func__,
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 346) goto out;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 347) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 348) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 349) else {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 350) rc = regulator_disable(anx7808_dv
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 351) if (rc) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 352) pr_err("%s : anx7808_dvdd
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 353) __func__, rc);
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 354) goto out;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 355) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 356) rc = regulator_set_optimum_mode(a
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 357) if (rc < 0) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 358) pr_err("%s : set optimum
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 359) (%d)\n", __func__
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 360) goto out;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 361) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 362) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 363) power_state = on;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 364)
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 365) out:
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 366) return rc;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 367)
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 368) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 369)
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 370) static int anx7808_avdd_onoff(bool on)
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 371) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 372) static bool init_done = 0;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 373) int rc = 0;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 374)
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 375) if (!init_done) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 376) rc = gpio_request_one(ANX_AVDD33_
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 377) GPIOF_OUT
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 378) if (rc) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 379) pr_err("request anx_avdd3
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 380) return rc;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 381) }
- :
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 330) rc=%d\n", __func__, rc);
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 331) goto out;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 332) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 333) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 334)
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 335) if (on) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 336) rc = regulator_set_optimum_mode(anx7808_dvdd_reg, 100000);
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 337) if (rc < 0) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 338) pr_err("%s : set optimum mode 100000, anx7808_dvdd_reg failed \
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 339) (%d)\n", __func__, rc);
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 340) goto out;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 341) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 342) rc = regulator_enable(anx7808_dvdd_reg);
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 343) if (rc) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 344) pr_err("%s : anx7808_dvdd_reg enable failed (%d)\n",
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 345) __func__, rc);
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 346) goto out;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 347) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 348) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 349) else {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 350) rc = regulator_disable(anx7808_dvdd_reg);
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 351) if (rc) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 352) pr_err("%s : anx7808_dvdd_reg disable failed (%d)\n",
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 353) __func__, rc);
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 354) goto out;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 355) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 356) rc = regulator_set_optimum_mode(anx7808_dvdd_reg, 100);
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 357) if (rc < 0) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 358) pr_err("%s : set optimum mode 100, anx7808_dvdd_reg failed \
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 359) (%d)\n", __func__, rc);
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 360) goto out;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 361) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 362) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 363) power_state = on;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 364)
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 365) out:
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 366) return rc;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 367)
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 368) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 369)
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 370) static int anx7808_avdd_onoff(bool on)
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 371) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 372) static bool init_done = 0;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 373) int rc = 0;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 374)
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 375) if (!init_done) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 376) rc = gpio_request_one(ANX_AVDD33_EN,
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 377) GPIOF_OUT_INIT_HIGH, "anx_avdd33_en");
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 378) if (rc) {
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 379) pr_err("request anx_avdd33_en failed, rc=%d\n", rc);
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 380) return rc;
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 381) }
- b4826d07 (choongryeol.lee 2012-07-11 18:13:49 -0700 382) init_done = 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement