pm2               348 arch/x86/kernel/tsc.c static unsigned long calc_pmtimer_ref(u64 deltatsc, u64 pm1, u64 pm2)
pm2               352 arch/x86/kernel/tsc.c 	if (!pm1 && !pm2)
pm2               355 arch/x86/kernel/tsc.c 	if (pm2 < pm1)
pm2               356 arch/x86/kernel/tsc.c 		pm2 += (u64)ACPI_PM_OVRRUN;
pm2               357 arch/x86/kernel/tsc.c 	pm2 -= pm1;
pm2               358 arch/x86/kernel/tsc.c 	tmp = pm2 * 1000000000LL;
pm2               112 drivers/power/supply/pm2301_charger.c static void set_lpn_pin(struct pm2xxx_charger *pm2)
pm2               114 drivers/power/supply/pm2301_charger.c 	if (!pm2->ac.charger_connected && gpio_is_valid(pm2->lpn_pin)) {
pm2               115 drivers/power/supply/pm2301_charger.c 		gpio_set_value(pm2->lpn_pin, 1);
pm2               120 drivers/power/supply/pm2301_charger.c static void clear_lpn_pin(struct pm2xxx_charger *pm2)
pm2               122 drivers/power/supply/pm2301_charger.c 	if (!pm2->ac.charger_connected && gpio_is_valid(pm2->lpn_pin))
pm2               123 drivers/power/supply/pm2301_charger.c 		gpio_set_value(pm2->lpn_pin, 0);
pm2               126 drivers/power/supply/pm2301_charger.c static int pm2xxx_reg_read(struct pm2xxx_charger *pm2, int reg, u8 *val)
pm2               131 drivers/power/supply/pm2301_charger.c 	pm_runtime_get_sync(pm2->dev);
pm2               133 drivers/power/supply/pm2301_charger.c 	ret = i2c_smbus_read_i2c_block_data(pm2->config.pm2xxx_i2c, reg,
pm2               136 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "Error reading register at 0x%x\n", reg);
pm2               140 drivers/power/supply/pm2301_charger.c 	pm_runtime_put_sync(pm2->dev);
pm2               145 drivers/power/supply/pm2301_charger.c static int pm2xxx_reg_write(struct pm2xxx_charger *pm2, int reg, u8 val)
pm2               150 drivers/power/supply/pm2301_charger.c 	pm_runtime_get_sync(pm2->dev);
pm2               152 drivers/power/supply/pm2301_charger.c 	ret = i2c_smbus_write_i2c_block_data(pm2->config.pm2xxx_i2c, reg,
pm2               155 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "Error writing register at 0x%x\n", reg);
pm2               159 drivers/power/supply/pm2301_charger.c 	pm_runtime_put_sync(pm2->dev);
pm2               164 drivers/power/supply/pm2301_charger.c static int pm2xxx_charging_enable_mngt(struct pm2xxx_charger *pm2)
pm2               169 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_BATT_CTRL_REG2,
pm2               175 drivers/power/supply/pm2301_charger.c static int pm2xxx_charging_disable_mngt(struct pm2xxx_charger *pm2)
pm2               180 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_SW_CTRL_REG, PM2XXX_SWCTRL_HW);
pm2               182 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "%s pm2xxx write failed\n", __func__);
pm2               187 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_BATT_CTRL_REG2,
pm2               190 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "%s pm2xxx write failed\n", __func__);
pm2               197 drivers/power/supply/pm2301_charger.c static int pm2xxx_charger_batt_therm_mngt(struct pm2xxx_charger *pm2, int val)
pm2               199 drivers/power/supply/pm2301_charger.c 	queue_work(pm2->charger_wq, &pm2->check_main_thermal_prot_work);
pm2               205 drivers/power/supply/pm2301_charger.c static int pm2xxx_charger_die_therm_mngt(struct pm2xxx_charger *pm2, int val)
pm2               207 drivers/power/supply/pm2301_charger.c 	queue_work(pm2->charger_wq, &pm2->check_main_thermal_prot_work);
pm2               212 drivers/power/supply/pm2301_charger.c static int pm2xxx_charger_ovv_mngt(struct pm2xxx_charger *pm2, int val)
pm2               214 drivers/power/supply/pm2301_charger.c 	dev_err(pm2->dev, "Overvoltage detected\n");
pm2               215 drivers/power/supply/pm2301_charger.c 	pm2->flags.ovv = true;
pm2               216 drivers/power/supply/pm2301_charger.c 	power_supply_changed(pm2->ac_chg.psy);
pm2               219 drivers/power/supply/pm2301_charger.c 	queue_delayed_work(pm2->charger_wq, &pm2->check_hw_failure_work, 0);
pm2               224 drivers/power/supply/pm2301_charger.c static int pm2xxx_charger_wd_exp_mngt(struct pm2xxx_charger *pm2, int val)
pm2               226 drivers/power/supply/pm2301_charger.c 	dev_dbg(pm2->dev , "20 minutes watchdog expired\n");
pm2               228 drivers/power/supply/pm2301_charger.c 	pm2->ac.wd_expired = true;
pm2               229 drivers/power/supply/pm2301_charger.c 	power_supply_changed(pm2->ac_chg.psy);
pm2               234 drivers/power/supply/pm2301_charger.c static int pm2xxx_charger_vbat_lsig_mngt(struct pm2xxx_charger *pm2, int val)
pm2               240 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev, "VBAT grows above VBAT_LOW level\n");
pm2               242 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_reg_write(pm2, PM2XXX_SW_CTRL_REG,
pm2               245 drivers/power/supply/pm2301_charger.c 			dev_err(pm2->dev, "%s pm2xxx write failed\n", __func__);
pm2               251 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev, "VBAT drops below VBAT_LOW level\n");
pm2               253 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_reg_write(pm2, PM2XXX_SW_CTRL_REG,
pm2               256 drivers/power/supply/pm2301_charger.c 			dev_err(pm2->dev, "%s pm2xxx write failed\n", __func__);
pm2               262 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "Unknown VBAT level\n");
pm2               268 drivers/power/supply/pm2301_charger.c static int pm2xxx_charger_bat_disc_mngt(struct pm2xxx_charger *pm2, int val)
pm2               270 drivers/power/supply/pm2301_charger.c 	dev_dbg(pm2->dev, "battery disconnected\n");
pm2               275 drivers/power/supply/pm2301_charger.c static int pm2xxx_charger_detection(struct pm2xxx_charger *pm2, u8 *val)
pm2               279 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_read(pm2, PM2XXX_SRCE_REG_INT2, val);
pm2               282 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "Charger detection failed\n");
pm2               292 drivers/power/supply/pm2301_charger.c static int pm2xxx_charger_itv_pwr_plug_mngt(struct pm2xxx_charger *pm2, int val)
pm2               303 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_charger_detection(pm2, &read_val);
pm2               306 drivers/power/supply/pm2301_charger.c 		pm2->ac.charger_connected = 1;
pm2               307 drivers/power/supply/pm2301_charger.c 		pm2->ac_conn = true;
pm2               308 drivers/power/supply/pm2301_charger.c 		queue_work(pm2->charger_wq, &pm2->ac_work);
pm2               315 drivers/power/supply/pm2301_charger.c static int pm2xxx_charger_itv_pwr_unplug_mngt(struct pm2xxx_charger *pm2,
pm2               318 drivers/power/supply/pm2301_charger.c 	pm2->ac.charger_connected = 0;
pm2               319 drivers/power/supply/pm2301_charger.c 	queue_work(pm2->charger_wq, &pm2->ac_work);
pm2               326 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2 = pm2_data;
pm2               330 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_charger_vbat_lsig_mngt(pm2,
pm2               337 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_charger_vbat_lsig_mngt(pm2,
pm2               344 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_charger_bat_disc_mngt(pm2,
pm2               355 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2 = pm2_data;
pm2               359 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev , "Main charger plugged\n");
pm2               360 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_charger_itv_pwr_plug_mngt(pm2, val &
pm2               366 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev , "Main charger unplugged\n");
pm2               367 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_charger_itv_pwr_unplug_mngt(pm2, val &
pm2               377 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2 = pm2_data;
pm2               381 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_charger_wd_exp_mngt(pm2, val);
pm2               385 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev,
pm2               394 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2 = pm2_data;
pm2               398 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev ,
pm2               403 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev,
pm2               408 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev , "battery fully detected\n");
pm2               412 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev, "CV phase enter with 0.5C charging\n");
pm2               416 drivers/power/supply/pm2301_charger.c 		pm2->failure_case = VPWR_OVV;
pm2               417 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_charger_ovv_mngt(pm2, val &
pm2               419 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev, "VPWR/VSYSTEM overvoltage detected\n");
pm2               424 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_charger_batt_therm_mngt(pm2, val &
pm2               427 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev, "BTEMP is too Low/High\n");
pm2               435 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2 = pm2_data;
pm2               439 drivers/power/supply/pm2301_charger.c 		pm2->failure_case = VSYSTEM_OVV;
pm2               440 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_charger_ovv_mngt(pm2, val &
pm2               442 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev, "VSYSTEM overvoltage detected\n");
pm2               449 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev, "BTEMP die temperature is too Low/High\n");
pm2               450 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_charger_die_therm_mngt(pm2, val &
pm2               462 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2 = pm2_data;
pm2               466 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev, "VMPWR drop to VBAT level\n");
pm2               473 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev, "Falling/Rising edge on WPWR1/2\n");
pm2               481 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2 = data;
pm2               482 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_interrupts *interrupt = pm2->pm2_int;
pm2               486 drivers/power/supply/pm2301_charger.c 	pm_runtime_get_sync(pm2->dev);
pm2               490 drivers/power/supply/pm2301_charger.c 			pm2xxx_reg_read(pm2,
pm2               495 drivers/power/supply/pm2301_charger.c 				interrupt->handler[i](pm2, interrupt->reg[i]);
pm2               497 drivers/power/supply/pm2301_charger.c 	} while (gpio_get_value(pm2->pdata->gpio_irq_number) == 0);
pm2               499 drivers/power/supply/pm2301_charger.c 	pm_runtime_mark_last_busy(pm2->dev);
pm2               500 drivers/power/supply/pm2301_charger.c 	pm_runtime_put_autosuspend(pm2->dev);
pm2               505 drivers/power/supply/pm2301_charger.c static int pm2xxx_charger_get_ac_cv(struct pm2xxx_charger *pm2)
pm2               510 drivers/power/supply/pm2301_charger.c 	if (pm2->ac.charger_connected && pm2->ac.charger_online) {
pm2               512 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_reg_read(pm2, PM2XXX_SRCE_REG_INT4, &val);
pm2               514 drivers/power/supply/pm2301_charger.c 			dev_err(pm2->dev, "%s pm2xxx read failed\n", __func__);
pm2               570 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2;
pm2               574 drivers/power/supply/pm2301_charger.c 		pm2 = to_pm2xxx_charger_ac_device_info(charger);
pm2               580 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev,
pm2               585 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_read(pm2, PM2XXX_BATT_CTRL_REG6, &val);
pm2               589 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_reg_write(pm2, PM2XXX_BATT_CTRL_REG6, val);
pm2               591 drivers/power/supply/pm2301_charger.c 			dev_err(pm2->dev,
pm2               596 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "%s read failed\n", __func__);
pm2               605 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2;
pm2               607 drivers/power/supply/pm2301_charger.c 	pm2 = to_pm2xxx_charger_ac_device_info(psy_to_ux500_charger(psy));
pm2               611 drivers/power/supply/pm2301_charger.c 		if (pm2->flags.mainextchnotok)
pm2               613 drivers/power/supply/pm2301_charger.c 		else if (pm2->ac.wd_expired)
pm2               615 drivers/power/supply/pm2301_charger.c 		else if (pm2->flags.main_thermal_prot)
pm2               617 drivers/power/supply/pm2301_charger.c 		else if (pm2->flags.ovv)
pm2               623 drivers/power/supply/pm2301_charger.c 		val->intval = pm2->ac.charger_online;
pm2               626 drivers/power/supply/pm2301_charger.c 		val->intval = pm2->ac.charger_connected;
pm2               629 drivers/power/supply/pm2301_charger.c 		pm2->ac.cv_active = pm2xxx_charger_get_ac_cv(pm2);
pm2               630 drivers/power/supply/pm2301_charger.c 		val->intval = pm2->ac.cv_active;
pm2               638 drivers/power/supply/pm2301_charger.c static int pm2xxx_charging_init(struct pm2xxx_charger *pm2)
pm2               643 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_BATT_CTRL_REG3,
pm2               649 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_BATT_CTRL_REG4,
pm2               653 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_BATT_CTRL_REG5,
pm2               661 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_BATT_CTRL_REG6,
pm2               670 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_BATT_CTRL_REG7,
pm2               674 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_BATT_CTRL_REG8,
pm2               678 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_BATT_CTRL_REG9,
pm2               684 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_INP_VOLT_VPWR2,
pm2               686 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_INP_VOLT_VPWR1,
pm2               690 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_INP_DROP_VPWR2,
pm2               693 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_INP_DROP_VPWR1,
pm2               698 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_BATT_LOW_LEV_COMP_REG,
pm2               712 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2 = to_pm2xxx_charger_ac_device_info(charger);
pm2               715 drivers/power/supply/pm2301_charger.c 		if (!pm2->ac.charger_connected) {
pm2               716 drivers/power/supply/pm2301_charger.c 			dev_dbg(pm2->dev, "AC charger not connected\n");
pm2               720 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev, "Enable AC: %dmV %dmA\n", vset, iset);
pm2               721 drivers/power/supply/pm2301_charger.c 		if (!pm2->vddadc_en_ac) {
pm2               722 drivers/power/supply/pm2301_charger.c 			ret = regulator_enable(pm2->regu);
pm2               724 drivers/power/supply/pm2301_charger.c 				dev_warn(pm2->dev,
pm2               727 drivers/power/supply/pm2301_charger.c 				pm2->vddadc_en_ac = true;
pm2               730 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_charging_init(pm2);
pm2               732 drivers/power/supply/pm2301_charger.c 			dev_err(pm2->dev, "%s charging init failed\n",
pm2               741 drivers/power/supply/pm2301_charger.c 			dev_err(pm2->dev,
pm2               747 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_reg_read(pm2, PM2XXX_BATT_CTRL_REG8, &val);
pm2               749 drivers/power/supply/pm2301_charger.c 			dev_err(pm2->dev, "%s pm2xxx read failed\n", __func__);
pm2               754 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_reg_write(pm2, PM2XXX_BATT_CTRL_REG8, val);
pm2               756 drivers/power/supply/pm2301_charger.c 			dev_err(pm2->dev, "%s pm2xxx write failed\n", __func__);
pm2               760 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_reg_read(pm2, PM2XXX_BATT_CTRL_REG6, &val);
pm2               762 drivers/power/supply/pm2301_charger.c 			dev_err(pm2->dev, "%s pm2xxx read failed\n", __func__);
pm2               767 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_reg_write(pm2, PM2XXX_BATT_CTRL_REG6, val);
pm2               769 drivers/power/supply/pm2301_charger.c 			dev_err(pm2->dev, "%s pm2xxx write failed\n", __func__);
pm2               773 drivers/power/supply/pm2301_charger.c 		if (!pm2->bat->enable_overshoot) {
pm2               774 drivers/power/supply/pm2301_charger.c 			ret = pm2xxx_reg_read(pm2, PM2XXX_LED_CTRL_REG, &val);
pm2               776 drivers/power/supply/pm2301_charger.c 				dev_err(pm2->dev, "%s pm2xxx read failed\n",
pm2               781 drivers/power/supply/pm2301_charger.c 			ret = pm2xxx_reg_write(pm2, PM2XXX_LED_CTRL_REG, val);
pm2               783 drivers/power/supply/pm2301_charger.c 				dev_err(pm2->dev, "%s pm2xxx write failed\n",
pm2               789 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_charging_enable_mngt(pm2);
pm2               791 drivers/power/supply/pm2301_charger.c 			dev_err(pm2->dev, "Failed to enable"
pm2               796 drivers/power/supply/pm2301_charger.c 		pm2->ac.charger_online = 1;
pm2               798 drivers/power/supply/pm2301_charger.c 		pm2->ac.charger_online = 0;
pm2               799 drivers/power/supply/pm2301_charger.c 		pm2->ac.wd_expired = false;
pm2               802 drivers/power/supply/pm2301_charger.c 		if (pm2->vddadc_en_ac) {
pm2               803 drivers/power/supply/pm2301_charger.c 			regulator_disable(pm2->regu);
pm2               804 drivers/power/supply/pm2301_charger.c 			pm2->vddadc_en_ac = false;
pm2               807 drivers/power/supply/pm2301_charger.c 		ret = pm2xxx_charging_disable_mngt(pm2);
pm2               809 drivers/power/supply/pm2301_charger.c 			dev_err(pm2->dev, "failed to disable"
pm2               814 drivers/power/supply/pm2301_charger.c 		dev_dbg(pm2->dev, "PM2301: " "Disabled AC charging\n");
pm2               816 drivers/power/supply/pm2301_charger.c 	power_supply_changed(pm2->ac_chg.psy);
pm2               825 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2;
pm2               828 drivers/power/supply/pm2301_charger.c 		pm2 = to_pm2xxx_charger_ac_device_info(charger);
pm2               832 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_write(pm2, PM2XXX_BATT_WD_KICK, WD_TIMER);
pm2               834 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "Failed to kick WD!\n");
pm2               841 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2 = container_of(work,
pm2               845 drivers/power/supply/pm2301_charger.c 	power_supply_changed(pm2->ac_chg.psy);
pm2               846 drivers/power/supply/pm2301_charger.c 	sysfs_notify(&pm2->ac_chg.psy->dev.kobj, NULL, "present");
pm2               853 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2 = container_of(work,
pm2               856 drivers/power/supply/pm2301_charger.c 	if (pm2->flags.ovv) {
pm2               857 drivers/power/supply/pm2301_charger.c 		pm2xxx_reg_read(pm2, PM2XXX_SRCE_REG_INT4, &reg_value);
pm2               861 drivers/power/supply/pm2301_charger.c 			pm2->flags.ovv = false;
pm2               862 drivers/power/supply/pm2301_charger.c 			power_supply_changed(pm2->ac_chg.psy);
pm2               867 drivers/power/supply/pm2301_charger.c 	if (pm2->flags.ovv) {
pm2               868 drivers/power/supply/pm2301_charger.c 		queue_delayed_work(pm2->charger_wq,
pm2               869 drivers/power/supply/pm2301_charger.c 			&pm2->check_hw_failure_work, round_jiffies(HZ));
pm2               879 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2 = container_of(work, struct pm2xxx_charger,
pm2               883 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_reg_read(pm2, PM2XXX_SRCE_REG_INT5, &val);
pm2               885 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "%s pm2xxx read failed\n", __func__);
pm2               890 drivers/power/supply/pm2301_charger.c 		pm2->flags.main_thermal_prot = true;
pm2               893 drivers/power/supply/pm2301_charger.c 		pm2->flags.main_thermal_prot = false;
pm2               895 drivers/power/supply/pm2301_charger.c 	power_supply_changed(pm2->ac_chg.psy);
pm2               914 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2;
pm2               916 drivers/power/supply/pm2301_charger.c 	pm2 =  (struct pm2xxx_charger *)i2c_get_clientdata(i2c_client);
pm2               917 drivers/power/supply/pm2301_charger.c 	set_lpn_pin(pm2);
pm2               920 drivers/power/supply/pm2301_charger.c 	if (pm2->flags.ovv)
pm2               921 drivers/power/supply/pm2301_charger.c 		queue_delayed_work(pm2->charger_wq,
pm2               922 drivers/power/supply/pm2301_charger.c 				&pm2->check_hw_failure_work, 0);
pm2               930 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2;
pm2               932 drivers/power/supply/pm2301_charger.c 	pm2 =  (struct pm2xxx_charger *)i2c_get_clientdata(i2c_client);
pm2               933 drivers/power/supply/pm2301_charger.c 	clear_lpn_pin(pm2);
pm2               936 drivers/power/supply/pm2301_charger.c 	if (delayed_work_pending(&pm2->check_hw_failure_work))
pm2               937 drivers/power/supply/pm2301_charger.c 		cancel_delayed_work(&pm2->check_hw_failure_work);
pm2               939 drivers/power/supply/pm2301_charger.c 	flush_work(&pm2->ac_work);
pm2               940 drivers/power/supply/pm2301_charger.c 	flush_work(&pm2->check_main_thermal_prot_work);
pm2               948 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2;
pm2               950 drivers/power/supply/pm2301_charger.c 	pm2 = (struct pm2xxx_charger *)i2c_get_clientdata(pm2xxx_i2c_client);
pm2               951 drivers/power/supply/pm2301_charger.c 	clear_lpn_pin(pm2);
pm2               959 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2;
pm2               961 drivers/power/supply/pm2301_charger.c 	pm2 = (struct pm2xxx_charger *)i2c_get_clientdata(pm2xxx_i2c_client);
pm2               963 drivers/power/supply/pm2301_charger.c 	if (gpio_is_valid(pm2->lpn_pin) && gpio_get_value(pm2->lpn_pin) == 0)
pm2               964 drivers/power/supply/pm2301_charger.c 		set_lpn_pin(pm2);
pm2               980 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2;
pm2               990 drivers/power/supply/pm2301_charger.c 	pm2 = kzalloc(sizeof(struct pm2xxx_charger), GFP_KERNEL);
pm2               991 drivers/power/supply/pm2301_charger.c 	if (!pm2) {
pm2               997 drivers/power/supply/pm2301_charger.c 	pm2->dev = &i2c_client->dev;
pm2               999 drivers/power/supply/pm2301_charger.c 	pm2->pm2_int = &pm2xxx_int;
pm2              1003 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "no charger platform data supplied\n");
pm2              1008 drivers/power/supply/pm2301_charger.c 	pm2->pdata = pl_data->wall_charger;
pm2              1012 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "no battery platform data supplied\n");
pm2              1017 drivers/power/supply/pm2301_charger.c 	pm2->bat = pl_data->battery;
pm2              1023 drivers/power/supply/pm2301_charger.c 		dev_info(pm2->dev, "pm2301 i2c_check_functionality failed\n");
pm2              1027 drivers/power/supply/pm2301_charger.c 	pm2->config.pm2xxx_i2c = i2c_client;
pm2              1028 drivers/power/supply/pm2301_charger.c 	pm2->config.pm2xxx_id = (struct i2c_device_id *) id;
pm2              1029 drivers/power/supply/pm2301_charger.c 	i2c_set_clientdata(i2c_client, pm2);
pm2              1033 drivers/power/supply/pm2301_charger.c 	pm2->ac_chg_desc.name = pm2->pdata->label;
pm2              1034 drivers/power/supply/pm2301_charger.c 	pm2->ac_chg_desc.type = POWER_SUPPLY_TYPE_MAINS;
pm2              1035 drivers/power/supply/pm2301_charger.c 	pm2->ac_chg_desc.properties = pm2xxx_charger_ac_props;
pm2              1036 drivers/power/supply/pm2301_charger.c 	pm2->ac_chg_desc.num_properties = ARRAY_SIZE(pm2xxx_charger_ac_props);
pm2              1037 drivers/power/supply/pm2301_charger.c 	pm2->ac_chg_desc.get_property = pm2xxx_charger_ac_get_property;
pm2              1039 drivers/power/supply/pm2301_charger.c 	psy_cfg.supplied_to = pm2->pdata->supplied_to;
pm2              1040 drivers/power/supply/pm2301_charger.c 	psy_cfg.num_supplicants = pm2->pdata->num_supplicants;
pm2              1042 drivers/power/supply/pm2301_charger.c 	pm2->ac_chg.ops.enable = &pm2xxx_charger_ac_en;
pm2              1043 drivers/power/supply/pm2301_charger.c 	pm2->ac_chg.ops.kick_wd = &pm2xxx_charger_watchdog_kick;
pm2              1044 drivers/power/supply/pm2301_charger.c 	pm2->ac_chg.ops.update_curr = &pm2xxx_charger_update_charger_current;
pm2              1045 drivers/power/supply/pm2301_charger.c 	pm2->ac_chg.max_out_volt = pm2xxx_charger_voltage_map[
pm2              1047 drivers/power/supply/pm2301_charger.c 	pm2->ac_chg.max_out_curr = pm2xxx_charger_current_map[
pm2              1049 drivers/power/supply/pm2301_charger.c 	pm2->ac_chg.wdt_refresh = WD_KICK_INTERVAL;
pm2              1050 drivers/power/supply/pm2301_charger.c 	pm2->ac_chg.enabled = true;
pm2              1051 drivers/power/supply/pm2301_charger.c 	pm2->ac_chg.external = true;
pm2              1054 drivers/power/supply/pm2301_charger.c 	pm2->charger_wq = alloc_ordered_workqueue("pm2xxx_charger_wq",
pm2              1056 drivers/power/supply/pm2301_charger.c 	if (pm2->charger_wq == NULL) {
pm2              1058 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "failed to create work queue\n");
pm2              1063 drivers/power/supply/pm2301_charger.c 	INIT_WORK(&pm2->ac_work, pm2xxx_charger_ac_work);
pm2              1066 drivers/power/supply/pm2301_charger.c 	INIT_WORK(&pm2->check_main_thermal_prot_work,
pm2              1070 drivers/power/supply/pm2301_charger.c 	INIT_DEFERRABLE_WORK(&pm2->check_hw_failure_work,
pm2              1078 drivers/power/supply/pm2301_charger.c 	pm2->regu = regulator_get(pm2->dev, "vddadc");
pm2              1079 drivers/power/supply/pm2301_charger.c 	if (IS_ERR(pm2->regu)) {
pm2              1080 drivers/power/supply/pm2301_charger.c 		ret = PTR_ERR(pm2->regu);
pm2              1081 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "failed to get vddadc regulator\n");
pm2              1086 drivers/power/supply/pm2301_charger.c 	pm2->ac_chg.psy = power_supply_register(pm2->dev, &pm2->ac_chg_desc,
pm2              1088 drivers/power/supply/pm2301_charger.c 	if (IS_ERR(pm2->ac_chg.psy)) {
pm2              1089 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "failed to register AC charger\n");
pm2              1090 drivers/power/supply/pm2301_charger.c 		ret = PTR_ERR(pm2->ac_chg.psy);
pm2              1095 drivers/power/supply/pm2301_charger.c 	ret = request_threaded_irq(gpio_to_irq(pm2->pdata->gpio_irq_number),
pm2              1098 drivers/power/supply/pm2301_charger.c 				pm2->pdata->irq_type,
pm2              1099 drivers/power/supply/pm2301_charger.c 				pm2xxx_charger_irq[0].name, pm2);
pm2              1102 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "failed to request %s IRQ %d: %d\n",
pm2              1104 drivers/power/supply/pm2301_charger.c 			gpio_to_irq(pm2->pdata->gpio_irq_number), ret);
pm2              1108 drivers/power/supply/pm2301_charger.c 	ret = pm_runtime_set_active(pm2->dev);
pm2              1110 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "set active Error\n");
pm2              1112 drivers/power/supply/pm2301_charger.c 	pm_runtime_enable(pm2->dev);
pm2              1113 drivers/power/supply/pm2301_charger.c 	pm_runtime_set_autosuspend_delay(pm2->dev, PM2XXX_AUTOSUSPEND_DELAY);
pm2              1114 drivers/power/supply/pm2301_charger.c 	pm_runtime_use_autosuspend(pm2->dev);
pm2              1115 drivers/power/supply/pm2301_charger.c 	pm_runtime_resume(pm2->dev);
pm2              1118 drivers/power/supply/pm2301_charger.c 	ret = enable_irq_wake(gpio_to_irq(pm2->pdata->gpio_irq_number));
pm2              1120 drivers/power/supply/pm2301_charger.c 		dev_err(pm2->dev, "failed to set irq wake\n");
pm2              1124 drivers/power/supply/pm2301_charger.c 	mutex_init(&pm2->lock);
pm2              1126 drivers/power/supply/pm2301_charger.c 	if (gpio_is_valid(pm2->pdata->lpn_gpio)) {
pm2              1128 drivers/power/supply/pm2301_charger.c 		pm2->lpn_pin = pm2->pdata->lpn_gpio;
pm2              1135 drivers/power/supply/pm2301_charger.c 		ret = gpio_request(pm2->lpn_pin, "pm2301_lpm_gpio");
pm2              1138 drivers/power/supply/pm2301_charger.c 			dev_err(pm2->dev, "pm2301_lpm_gpio request failed\n");
pm2              1141 drivers/power/supply/pm2301_charger.c 		ret = gpio_direction_output(pm2->lpn_pin, 0);
pm2              1143 drivers/power/supply/pm2301_charger.c 			dev_err(pm2->dev, "pm2301_lpm_gpio direction failed\n");
pm2              1146 drivers/power/supply/pm2301_charger.c 		set_lpn_pin(pm2);
pm2              1151 drivers/power/supply/pm2301_charger.c 		pm2xxx_reg_read(pm2,
pm2              1155 drivers/power/supply/pm2301_charger.c 	ret = pm2xxx_charger_detection(pm2, &val);
pm2              1158 drivers/power/supply/pm2301_charger.c 		pm2->ac.charger_connected = 1;
pm2              1161 drivers/power/supply/pm2301_charger.c 		pm2->ac_conn = true;
pm2              1162 drivers/power/supply/pm2301_charger.c 		power_supply_changed(pm2->ac_chg.psy);
pm2              1163 drivers/power/supply/pm2301_charger.c 		sysfs_notify(&pm2->ac_chg.psy->dev.kobj, NULL, "present");
pm2              1169 drivers/power/supply/pm2301_charger.c 	if (gpio_is_valid(pm2->lpn_pin))
pm2              1170 drivers/power/supply/pm2301_charger.c 		gpio_free(pm2->lpn_pin);
pm2              1172 drivers/power/supply/pm2301_charger.c 	disable_irq_wake(gpio_to_irq(pm2->pdata->gpio_irq_number));
pm2              1175 drivers/power/supply/pm2301_charger.c 	free_irq(gpio_to_irq(pm2->pdata->gpio_irq_number), pm2);
pm2              1178 drivers/power/supply/pm2301_charger.c 	power_supply_unregister(pm2->ac_chg.psy);
pm2              1181 drivers/power/supply/pm2301_charger.c 	regulator_put(pm2->regu);
pm2              1183 drivers/power/supply/pm2301_charger.c 	destroy_workqueue(pm2->charger_wq);
pm2              1185 drivers/power/supply/pm2301_charger.c 	kfree(pm2);
pm2              1192 drivers/power/supply/pm2301_charger.c 	struct pm2xxx_charger *pm2 = i2c_get_clientdata(i2c_client);
pm2              1195 drivers/power/supply/pm2301_charger.c 	pm_runtime_disable(pm2->dev);
pm2              1197 drivers/power/supply/pm2301_charger.c 	pm2xxx_charger_ac_en(&pm2->ac_chg, false, 0, 0);
pm2              1200 drivers/power/supply/pm2301_charger.c 	disable_irq_wake(gpio_to_irq(pm2->pdata->gpio_irq_number));
pm2              1203 drivers/power/supply/pm2301_charger.c 	free_irq(gpio_to_irq(pm2->pdata->gpio_irq_number), pm2);
pm2              1206 drivers/power/supply/pm2301_charger.c 	destroy_workqueue(pm2->charger_wq);
pm2              1211 drivers/power/supply/pm2301_charger.c 	regulator_put(pm2->regu);
pm2              1213 drivers/power/supply/pm2301_charger.c 	power_supply_unregister(pm2->ac_chg.psy);
pm2              1215 drivers/power/supply/pm2301_charger.c 	if (gpio_is_valid(pm2->lpn_pin))
pm2              1216 drivers/power/supply/pm2301_charger.c 		gpio_free(pm2->lpn_pin);
pm2              1218 drivers/power/supply/pm2301_charger.c 	kfree(pm2);
pm2              7315 fs/btrfs/send.c 			struct pending_dir_move *pm2;
pm2              7317 fs/btrfs/send.c 			pm2 = list_first_entry(&pm->list,
pm2              7319 fs/btrfs/send.c 			free_pending_move(sctx, pm2);
pm2               896 sound/soc/codecs/wm8960.c 	u16 pm2 = snd_soc_component_read32(component, WM8960_POWER2);
pm2               929 sound/soc/codecs/wm8960.c 			if (wm8960->clk_id == WM8960_SYSCLK_AUTO && (pm2 & 0x1))
pm2               986 sound/soc/codecs/wm8960.c 	u16 pm2 = snd_soc_component_read32(component, WM8960_POWER2);
pm2              1050 sound/soc/codecs/wm8960.c 			if (wm8960->clk_id == WM8960_SYSCLK_AUTO && (pm2 & 0x1))