Message ID | 20200511135918.8203-2-andrzej.p@collabora.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | Magic SysRq extensions | expand |
Hi Andrzej, On Mon, May 11, 2020 at 03:59:13PM +0200, Andrzej Pietrasiewicz wrote: > Nobody in the tree uses linux,sysrq-reset-seq in Device Tree source files. > Remove the corresponding code. Unlike platform data, we do not require or even expect that all DT users be present in mainline, so absence if references to a feature in kernel can not serve as justification for removal. Consider the fact that we support DT-style binding in ACPI (which is BIOS/firmware). That said, I am not against removing this support, but we need to make sure that Android (where this came from) does not use this anymore. Thanks.
Hi Dmitry, W dniu 11.05.2020 o 19:58, Dmitry Torokhov pisze: > Hi Andrzej, > > On Mon, May 11, 2020 at 03:59:13PM +0200, Andrzej Pietrasiewicz wrote: >> Nobody in the tree uses linux,sysrq-reset-seq in Device Tree source files. >> Remove the corresponding code. > > Unlike platform data, we do not require or even expect that all DT users > be present in mainline, so absence if references to a feature in kernel > can not serve as justification for removal. Consider the fact that we > support DT-style binding in ACPI (which is BIOS/firmware). > > That said, I am not against removing this support, but we need to make > sure that Android (where this came from) does not use this anymore. How can I do it? Can I at all? Andrzej
diff --git a/drivers/tty/sysrq.c b/drivers/tty/sysrq.c index 0dc3878794fd..93202fc24308 100644 --- a/drivers/tty/sysrq.c +++ b/drivers/tty/sysrq.c @@ -720,41 +720,6 @@ static void sysrq_detect_reset_sequence(struct sysrq_state *state, } } -#ifdef CONFIG_OF -static void sysrq_of_get_keyreset_config(void) -{ - u32 key; - struct device_node *np; - struct property *prop; - const __be32 *p; - - np = of_find_node_by_path("/chosen/linux,sysrq-reset-seq"); - if (!np) { - pr_debug("No sysrq node found"); - return; - } - - /* Reset in case a __weak definition was present */ - sysrq_reset_seq_len = 0; - - of_property_for_each_u32(np, "keyset", prop, p, key) { - if (key == KEY_RESERVED || key > KEY_MAX || - sysrq_reset_seq_len == SYSRQ_KEY_RESET_MAX) - break; - - sysrq_reset_seq[sysrq_reset_seq_len++] = (unsigned short)key; - } - - /* Get reset timeout if any. */ - of_property_read_u32(np, "timeout-ms", &sysrq_reset_downtime_ms); - - of_node_put(np); -} -#else -static void sysrq_of_get_keyreset_config(void) -{ -} -#endif static void sysrq_reinject_alt_sysrq(struct work_struct *work) { @@ -984,8 +949,6 @@ static inline void sysrq_register_handler(void) { int error; - sysrq_of_get_keyreset_config(); - error = input_register_handler(&sysrq_handler); if (error) pr_err("Failed to register input handler, error %d", error);
Nobody in the tree uses linux,sysrq-reset-seq in Device Tree source files. Remove the corresponding code. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com> --- drivers/tty/sysrq.c | 37 ------------------------------------- 1 file changed, 37 deletions(-)