[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <ffc0f65b-8bdc-3353-8fb8-6e60582c2412@arinc9.com>
Date: Sun, 12 Feb 2023 14:29:10 +0300
From: Arınç ÜNAL <arinc.unal@...nc9.com>
To: Mattijs Korpershoek <mkorpershoek@...libre.com>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Matthias Brugger <matthias.bgg@...il.com>,
AngeloGioacchino Del Regno
<angelogioacchino.delregno@...labora.com>,
Jonathan Cameron <Jonathan.Cameron@...wei.com>
Cc: linux-input@...r.kernel.org,
Linux ARM <linux-arm-kernel@...ts.infradead.org>,
"moderated list:ARM/Mediatek SoC support"
<linux-mediatek@...ts.infradead.org>,
linux-kernel <linux-kernel@...r.kernel.org>,
Frank Wunderlich <frank-w@...lic-files.de>,
erkin.bozoglu@...ont.com
Subject: Re: mtk-pmic-keys: Ignore power button if pressed before driver loads
Hey Mattijs,
Sorry for the late response.
On 30.01.2023 20:21, Mattijs Korpershoek wrote:
> Hi Arınç,
>
> On lun., janv. 30, 2023 at 16:36, Arınç ÜNAL <arinc.unal@...nc9.com> wrote:
>
>> Hi all,
>>
>> The power button on my Bananapi BPI-R2 (MT7623NI SoC, mt6323-keys) is
>> shorted, so the device automatically boots when there's power. This
>> causes the device to reboot when KEYBOARD_MTK_PMIC is loaded because the
>> driver sees the power button being pressed.
>
> What evidence do you have that there is actually a "press" event being
> received by userspace? Did you tested this with evtest or something
> similar?
>
> If a "power button press" is generated, than I imagine that a userspace
> process must receive it and halt the system, right?
>
> The PMIC also has a feature to shutdown in case detect a long key-press,
> which is controlled by the mediatek,long-press-mode device-tree
> property.
> So is it the pmic that shutdown your board (probably no evidence in
> logs, just a "power cut" behaviour) or is it userspace?
Nothing appears on the kernel log and evtest doesn't detect anything.
The input device appears only after loading mtk-pmic-keys.ko so I have
to run evtest after the driver is loaded. After that, I see nothing
noticeable running evtest:
# evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0: mtk_cir
/dev/input/event1: mtk-pmic-keys
Select the device event number [0-1]: 1
Input driver version is 1.0.1
Input device ID: bus 0x19 vendor 0x1 product 0x1 version 0x1
Input device name: "mtk-pmic-keys"
Supported events:
Event type 0 (EV_SYN)
Event type 1 (EV_KEY)
Event code 114 (KEY_VOLUMEDOWN)
Event code 116 (KEY_POWER)
Properties:
Testing ... (interrupt to exit)
(Device reboots)
I've set this on the devicetree of Bananapi BPI-R2:
&mt6323keys {
mediatek,long-press-mode = <0>;
};
This prevents the device from rebooting after the driver is loaded so I
believe this proves that it's the driver that tries to shutdown the board.
>
>>
>> I was wondering if it's possible to change the driver in a way that
>> doesn't break in this situation. Maybe don't do anything if the first
>> state of the the power button the driver sees is being pressed, and if
>> the state doesn't change.
>
> If the driver is an issue, can't we blacklist it from being probed
> instead? or do you want to use the home key feature that that same
> driver provides?
Since it's a special case, specific to my own board, I just disabled the
key.
&mt6323keys {
power {
status = "disabled";
};
};
I also see there's no home key on this board so I may submit a patch to
disable the home button for this device.
Thanks for your help!
Cheers.
Arınç
Powered by blists - more mailing lists