Commit 81148a7a authored by Greg Kroah-Hartman's avatar Greg Kroah-Hartman
Browse files

Revert "cardreader/rtsx_pcr.c: use generic power management"



This reverts commit 6bf23661.

0-day reported build problems with it.

Reported-by: default avatarkernel test robot <lkp@intel.com>
Cc: Vaibhav Gupta <vaibhavgupta40@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent ba2104c2
Loading
Loading
Loading
Loading
+17 −10
Original line number Diff line number Diff line
@@ -1604,9 +1604,10 @@ static void rtsx_pci_remove(struct pci_dev *pcidev)
		pci_name(pcidev), (int)pcidev->vendor, (int)pcidev->device);
}

static int __maybe_unused rtsx_pci_suspend(struct device *dev_d)
#ifdef CONFIG_PM

static int rtsx_pci_suspend(struct pci_dev *pcidev, pm_message_t state)
{
	struct pci_dev *pcidev = to_pci_dev(dev_d);
	struct pcr_handle *handle;
	struct rtsx_pcr *pcr;

@@ -1622,15 +1623,17 @@ static int __maybe_unused rtsx_pci_suspend(struct device *dev_d)

	rtsx_pci_power_off(pcr, HOST_ENTER_S3);

	device_wakeup_disable(dev_d);
	pci_save_state(pcidev);
	pci_enable_wake(pcidev, pci_choose_state(pcidev, state), 0);
	pci_disable_device(pcidev);
	pci_set_power_state(pcidev, pci_choose_state(pcidev, state));

	mutex_unlock(&pcr->pcr_mutex);
	return 0;
}

static int __maybe_unused rtsx_pci_resume(struct device *dev_d)
static int rtsx_pci_resume(struct pci_dev *pcidev)
{
	struct pci_dev *pcidev = to_pci_dev(dev_d);
	struct pcr_handle *handle;
	struct rtsx_pcr *pcr;
	int ret = 0;
@@ -1642,6 +1645,11 @@ static int __maybe_unused rtsx_pci_resume(struct device *dev_d)

	mutex_lock(&pcr->pcr_mutex);

	pci_set_power_state(pcidev, PCI_D0);
	pci_restore_state(pcidev);
	ret = pci_enable_device(pcidev);
	if (ret)
		goto out;
	pci_set_master(pcidev);

	ret = rtsx_pci_write_register(pcr, HOST_SLEEP_STATE, 0x03, 0x00);
@@ -1659,8 +1667,6 @@ static int __maybe_unused rtsx_pci_resume(struct device *dev_d)
	return ret;
}

#ifdef CONFIG_PM

static void rtsx_pci_shutdown(struct pci_dev *pcidev)
{
	struct pcr_handle *handle;
@@ -1680,18 +1686,19 @@ static void rtsx_pci_shutdown(struct pci_dev *pcidev)

#else /* CONFIG_PM */

#define rtsx_pci_suspend NULL
#define rtsx_pci_resume NULL
#define rtsx_pci_shutdown NULL

#endif /* CONFIG_PM */

static SIMPLE_DEV_PM_OPS(rtsx_pci_pm_ops, rtsx_pci_suspend, rtsx_pci_resume);

static struct pci_driver rtsx_pci_driver = {
	.name = DRV_NAME_RTSX_PCI,
	.id_table = rtsx_pci_ids,
	.probe = rtsx_pci_probe,
	.remove = rtsx_pci_remove,
	.driver.pm = &rtsx_pci_pm_ops,
	.suspend = rtsx_pci_suspend,
	.resume = rtsx_pci_resume,
	.shutdown = rtsx_pci_shutdown,
};
module_pci_driver(rtsx_pci_driver);