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

Commit c0eb28ee authored by Nick Pelly's avatar Nick Pelly Committed by Amit Pundir
Browse files

ANDROID: net: rfkill: Introduce CONFIG_RFKILL_PM and use instead of CONFIG_PM to power down



Some platforms do not want to power down rfkill devices on suspend.

Change-Id: I62a11630521c636d54a4a02ab9037a43435925f5
Signed-off-by: default avatarNick Pelly <npelly@google.com>

[AmitP: Folded following android-4.9 commit changes into this patch
        faad2b874fea ("rfkill: fix unused function warning")]
Signed-off-by: default avatarAmit Pundir <amit.pundir@linaro.org>
parent deb4d858
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -10,6 +10,11 @@ menuconfig RFKILL
	  To compile this driver as a module, choose M here: the
	  module will be called rfkill.

config RFKILL_PM
	bool "Power off on suspend"
	depends on RFKILL && PM
	default y

# LED trigger support
config RFKILL_LEDS
	bool
+3 −8
Original line number Diff line number Diff line
@@ -854,8 +854,7 @@ void rfkill_resume_polling(struct rfkill *rfkill)
}
EXPORT_SYMBOL(rfkill_resume_polling);

#ifdef CONFIG_PM_SLEEP
static int rfkill_suspend(struct device *dev)
static __maybe_unused int rfkill_suspend(struct device *dev)
{
	struct rfkill *rfkill = to_rfkill(dev);

@@ -865,7 +864,7 @@ static int rfkill_suspend(struct device *dev)
	return 0;
}

static int rfkill_resume(struct device *dev)
static __maybe_unused int rfkill_resume(struct device *dev)
{
	struct rfkill *rfkill = to_rfkill(dev);
	bool cur;
@@ -885,17 +884,13 @@ static int rfkill_resume(struct device *dev)
}

static SIMPLE_DEV_PM_OPS(rfkill_pm_ops, rfkill_suspend, rfkill_resume);
#define RFKILL_PM_OPS (&rfkill_pm_ops)
#else
#define RFKILL_PM_OPS NULL
#endif

static struct class rfkill_class = {
	.name		= "rfkill",
	.dev_release	= rfkill_release,
	.dev_groups	= rfkill_dev_groups,
	.dev_uevent	= rfkill_dev_uevent,
	.pm		= RFKILL_PM_OPS,
	.pm		= IS_ENABLED(CONFIG_RFKILL_PM) ? &rfkill_pm_ops : NULL,
};

bool rfkill_blocked(struct rfkill *rfkill)