Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41324420 authored by Abhijeet Dharmapurikar's avatar Abhijeet Dharmapurikar
Browse files

power: qpnp-smbcharger: remove wireless insertion work



The stark based wireless charger need not delay drawing current from
DC path. The wireless insertion work was created just to provide the
delay after the pad was detected to be present.

Remove this code.
Change-Id: I952d395fe77c6e07012f491691598b3feac1303f
Signed-off-by: default avatarAbhijeet Dharmapurikar <adharmap@codeaurora.org>
parent 528a33e3
Loading
Loading
Loading
Loading
+4 −43
Original line number Diff line number Diff line
@@ -135,7 +135,6 @@ struct smbchg_chip {
	bool				psy_registered;

	struct smbchg_regulator		otg_vreg;
	struct delayed_work		wireless_insertion_work;
	struct work_struct		usb_set_online_work;
	spinlock_t			sec_access_lock;
	struct mutex			current_change_lock;
@@ -1488,16 +1487,6 @@ static void smbchg_regulator_deinit(struct smbchg_chip *chip)
		regulator_unregister(chip->otg_vreg.rdev);
}

static void wireless_insertion_work(struct work_struct *work)
{
	struct smbchg_chip *chip =
		container_of(work, struct smbchg_chip,
				wireless_insertion_work.work);

	/* unsuspend dc */
	smbchg_dc_en(chip, false, REASON_WIRELESS);
}

#define HOT_BAT_HARD_BIT	BIT(0)
#define HOT_BAT_SOFT_BIT	BIT(1)
#define COLD_BAT_HARD_BIT	BIT(2)
@@ -1688,25 +1677,12 @@ static irqreturn_t dcin_uv_handler(int irq, void *_chip)
	pr_debug("chip->dc_present = %d dc_present = %d\n",
			chip->dc_present, dc_present);

	if (chip->dc_present && !dc_present) {
		/* dc removed */
		chip->dc_present = dc_present;
		if (chip->dc_psy_type == POWER_SUPPLY_TYPE_WIRELESS) {
			cancel_delayed_work_sync(
				&chip->wireless_insertion_work);
			smbchg_dc_en(chip, true, REASON_WIRELESS);
		}
	}

	if (!chip->dc_present && dc_present) {
		/* dc inserted */
	if (chip->dc_present != dc_present) {
		/* dc changed */
		chip->dc_present = dc_present;
		if (chip->dc_psy_type == POWER_SUPPLY_TYPE_WIRELESS)
			schedule_delayed_work(&chip->wireless_insertion_work,
				msecs_to_jiffies(DCIN_UNSUSPEND_DELAY_MS));
	}
		if (chip->psy_registered)
			power_supply_changed(&chip->dc_psy);
	}

	return IRQ_HANDLED;
}
@@ -1937,18 +1913,6 @@ static int determine_initial_status(struct smbchg_chip *chip)
	else
		handle_usb_removal(chip);

	if (chip->dc_psy_type != -EINVAL) {
		if (chip->dc_psy_type == POWER_SUPPLY_TYPE_WIRELESS) {
			/*
			 * put the dc path in suspend state if it is powered
			 * by wireless charger
			 */
			if (chip->dc_present)
				smbchg_dc_en(chip, false, REASON_WIRELESS);
			else
				smbchg_dc_en(chip, true, REASON_WIRELESS);
		}
	}
	return 0;
}

@@ -2698,8 +2662,6 @@ static int smbchg_probe(struct spmi_device *spmi)
		return -ENOMEM;
	}

	INIT_DELAYED_WORK(&chip->wireless_insertion_work,
					wireless_insertion_work);
	INIT_WORK(&chip->usb_set_online_work, smbchg_usb_update_online_work);
	chip->spmi = spmi;
	chip->dev = &spmi->dev;
@@ -2807,7 +2769,6 @@ static int smbchg_remove(struct spmi_device *spmi)
{
	struct smbchg_chip *chip = dev_get_drvdata(&spmi->dev);

	cancel_delayed_work_sync(&chip->wireless_insertion_work);
	if (chip->dc_psy_type != -EINVAL)
		power_supply_unregister(&chip->dc_psy);