提交 54bc28b4 编写于 作者: P Phil Elwell 提交者: Zheng Zengkai

gpio-poweroff: Allow it to work on Raspberry Pi

raspberrypi inclusion
category: feature
bugzilla: 50432

--------------------------------

The Raspberry Pi firmware manages the power-down and reboot
process. To do this it installs a pm_power_off handler, causing
the gpio-poweroff module to abort the probe function.

This patch introduces a "force" DT property that overrides that
behaviour, and also adds a DT overlay to enable and control it.

Note that running in an active-low configuration (DT parameter
"active_low") requires a custom dt-blob.bin and probably won't
allow a reboot without switching off, so an external inversion
of the trigger signal may be preferable.
Signed-off-by: NFang Yafen <yafen@iscas.ac.cn>
Signed-off-by: NZheng Zengkai <zhengzengkai@huawei.com>
上级 d5c13edb
...@@ -50,9 +50,11 @@ static int gpio_poweroff_probe(struct platform_device *pdev) ...@@ -50,9 +50,11 @@ static int gpio_poweroff_probe(struct platform_device *pdev)
{ {
bool input = false; bool input = false;
enum gpiod_flags flags; enum gpiod_flags flags;
bool force = false;
/* If a pm_power_off function has already been added, leave it alone */ /* If a pm_power_off function has already been added, leave it alone */
if (pm_power_off != NULL) { force = of_property_read_bool(pdev->dev.of_node, "force");
if (!force && (pm_power_off != NULL)) {
dev_err(&pdev->dev, dev_err(&pdev->dev,
"%s: pm_power_off function already registered\n", "%s: pm_power_off function already registered\n",
__func__); __func__);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册