2020-06-12 12:55:39

by Merlijn Wajer

[permalink] [raw]
Subject: [PATCH 0/2] Add SW_MACHINE_COVER key

this series adds the sw_machine_cover key, and changes the nokia n900 dts to
expose the key via gpio-keys.

before, this gpio was used as card detect gpio, causing the card not to show up
if the phone was booted without cover, see this thread on linux-omap:

n900: remove mmc1 "safety feature"? (was: re: mmc0 on nokia n900 on linux 5.4.18)

since there is no realistic use for using this gpio as card detect, instead
expose it to userspace via gpio-keys. there are no event type for machine covers
yet, so add that first.

the key should be 1 when the cover is closed, and 0 when the cover is open.

starting the nokia n900 with the cover removed, putting the cover in place:

event: time 1581684523.415296, type 5 (ev_sw), code 16 (?), value 1

removing the cover again, exposing mmc1 and the battery:

event: time 1581684529.413706, type 5 (ev_sw), code 16 (?), value 0

Merlijn Wajer (2):
Input: add `SW_MACHINE_COVER`
ARM: dts: n900: remove mmc1 card detect gpio

arch/arm/boot/dts/omap3-n900.dts | 12 ++++++++----
include/linux/mod_devicetable.h | 2 +-
include/uapi/linux/input-event-codes.h | 3 ++-
3 files changed, 11 insertions(+), 6 deletions(-)

--
2.24.1


2020-06-12 12:57:06

by Merlijn Wajer

[permalink] [raw]
Subject: [PATCH 1/2] Input: add `SW_MACHINE_COVER`

This event code represents the state of a removable cover of a device.
Value 0 means that the cover is open or removed, value 1 means that the
cover is closed.

Reviewed-by: Sebastian Reichel <[email protected]>
Acked-by: Tony Lindgren <[email protected]>
Signed-off-by: Merlijn Wajer <[email protected]>
---
include/linux/mod_devicetable.h | 2 +-
include/uapi/linux/input-event-codes.h | 3 ++-
2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/include/linux/mod_devicetable.h b/include/linux/mod_devicetable.h
index 0754b8d71262..8a84f11bf124 100644
--- a/include/linux/mod_devicetable.h
+++ b/include/linux/mod_devicetable.h
@@ -318,7 +318,7 @@ struct pcmcia_device_id {
#define INPUT_DEVICE_ID_LED_MAX 0x0f
#define INPUT_DEVICE_ID_SND_MAX 0x07
#define INPUT_DEVICE_ID_FF_MAX 0x7f
-#define INPUT_DEVICE_ID_SW_MAX 0x0f
+#define INPUT_DEVICE_ID_SW_MAX 0x10
#define INPUT_DEVICE_ID_PROP_MAX 0x1f

#define INPUT_DEVICE_ID_MATCH_BUS 1
diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h
index b6a835d37826..0c2e27d28e0a 100644
--- a/include/uapi/linux/input-event-codes.h
+++ b/include/uapi/linux/input-event-codes.h
@@ -888,7 +888,8 @@
#define SW_LINEIN_INSERT 0x0d /* set = inserted */
#define SW_MUTE_DEVICE 0x0e /* set = device disabled */
#define SW_PEN_INSERTED 0x0f /* set = pen inserted */
-#define SW_MAX 0x0f
+#define SW_MACHINE_COVER 0x10 /* set = cover closed */
+#define SW_MAX 0x10
#define SW_CNT (SW_MAX+1)

/*
--
2.24.1

2020-06-16 10:52:53

by Pavel Machek

[permalink] [raw]
Subject: Re: [PATCH 0/2] Add SW_MACHINE_COVER key

On Fri 2020-06-12 14:53:57, Merlijn Wajer wrote:
> this series adds the sw_machine_cover key, and changes the nokia n900 dts to
> expose the key via gpio-keys.
>
> before, this gpio was used as card detect gpio, causing the card not to show up
> if the phone was booted without cover, see this thread on linux-omap:
>
> n900: remove mmc1 "safety feature"? (was: re: mmc0 on nokia n900 on linux 5.4.18)
>
> since there is no realistic use for using this gpio as card detect, instead
> expose it to userspace via gpio-keys. there are no event type for machine covers
> yet, so add that first.
>
> the key should be 1 when the cover is closed, and 0 when the cover is open.
>
> starting the nokia n900 with the cover removed, putting the cover in place:
>
> event: time 1581684523.415296, type 5 (ev_sw), code 16 (?), value 1
>
> removing the cover again, exposing mmc1 and the battery:
>
> event: time 1581684529.413706, type 5 (ev_sw), code 16 (?), value 0

Looks good to me.

Acked-by: Pavel Machek <[email protected]>

Pavel


--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

2020-06-16 10:53:38

by Pavel Machek

[permalink] [raw]
Subject: Re: [PATCH 1/2] Input: add `SW_MACHINE_COVER`

On Fri 2020-06-12 14:53:58, Merlijn Wajer wrote:
> This event code represents the state of a removable cover of a device.
> Value 0 means that the cover is open or removed, value 1 means that the
> cover is closed.
>
> Reviewed-by: Sebastian Reichel <[email protected]> Acked-by: Tony Lindgren
> <[email protected]> Signed-off-by: Merlijn Wajer <[email protected]> ---

Dmitry, can we get some kind of comment here, or better yet can we get you to apply this?

Thanks,
Pavel
> +++ b/include/linux/mod_devicetable.h
> @@ -318,7 +318,7 @@ struct pcmcia_device_id {
> #define INPUT_DEVICE_ID_LED_MAX 0x0f
> #define INPUT_DEVICE_ID_SND_MAX 0x07
> #define INPUT_DEVICE_ID_FF_MAX 0x7f
> -#define INPUT_DEVICE_ID_SW_MAX 0x0f
> +#define INPUT_DEVICE_ID_SW_MAX 0x10
> #define INPUT_DEVICE_ID_PROP_MAX 0x1f
>
> #define INPUT_DEVICE_ID_MATCH_BUS 1
> diff --git a/include/uapi/linux/input-event-codes.h b/include/uapi/linux/input-event-codes.h
> index b6a835d37826..0c2e27d28e0a 100644
> --- a/include/uapi/linux/input-event-codes.h
> +++ b/include/uapi/linux/input-event-codes.h
> @@ -888,7 +888,8 @@
> #define SW_LINEIN_INSERT 0x0d /* set = inserted */
> #define SW_MUTE_DEVICE 0x0e /* set = device disabled */
> #define SW_PEN_INSERTED 0x0f /* set = pen inserted */
> -#define SW_MAX 0x0f
> +#define SW_MACHINE_COVER 0x10 /* set = cover closed */
> +#define SW_MAX 0x10
> #define SW_CNT (SW_MAX+1)
>
> /*
> --
> 2.24.1

--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

2020-06-29 21:52:39

by Merlijn Wajer

[permalink] [raw]
Subject: Re: [PATCH 1/2] Input: add `SW_MACHINE_COVER`

Hi,

Looks like we're blocking on this input patch.

On 16/06/2020 12:50, Pavel Machek wrote:
> On Fri 2020-06-12 14:53:58, Merlijn Wajer wrote:
>> This event code represents the state of a removable cover of a device.
>> Value 0 means that the cover is open or removed, value 1 means that the
>> cover is closed.
>>
>> Reviewed-by: Sebastian Reichel <[email protected]> Acked-by: Tony Lindgren
>> <[email protected]> Signed-off-by: Merlijn Wajer <[email protected]> ---
>
> Dmitry, can we get some kind of comment here, or better yet can we get you to apply this?

This is part of a patch series to resolve problems with the Nokia N900
not booting when the cover is removed (making the cover be the card
detect was also just weird IMHO). Just removing the card-detect from the
DTS is fine, but it was suggested that we expose the data instead as
input event. And that's gotten no response for about four months.

Should we just drop the feature and only remove the cd-gpios line from
the DTS, assuming upstream doesn't want this SW_MACHINE_COVER code?

Merlijn


Attachments:
signature.asc (235.00 B)
OpenPGP digital signature

2020-06-30 20:57:13

by Dmitry Torokhov

[permalink] [raw]
Subject: Re: [PATCH 0/2] Add SW_MACHINE_COVER key

On Fri, Jun 12, 2020 at 02:53:57PM +0200, Merlijn Wajer wrote:

Applied, thank you.

--
Dmitry