Re: [PATCH 4/8] ARM/etm/sysrq: fix inconstistent help message ofsysrq key

From: zhangwei(Jovi)
Date: Thu Mar 07 2013 - 22:32:44 EST


On 2013/3/7 19:36, Russell King - ARM Linux wrote:
> On Thu, Mar 07, 2013 at 05:00:23PM +0800, zhangwei(Jovi) wrote:
>> Currently help message of /proc/sysrq-trigger highlight its
>> upper-case characters, like below:
>>
>> SysRq : HELP : loglevel(0-9) reBoot Crash terminate-all-tasks(E)
>> memory-full-oom-kill(F) kill-all-tasks(I) ...
>>
>> this would confuse user trigger sysrq by upper-case character, which is
>> inconsistent with the real lower-case character registed key.
>>
>> This inconsistent help message will also lead more confused when
>> 26 upper-case letters put into use in future.
>>
>> This patch fix arm etm sysrq key: "etm buffer dump(v)"
>
> Umm, actually this is wrong. sysrq doesn't deal with case.
>
> static int sysrq_key_table_key2index(int key)
> {
> int retval;
>
> if ((key >= '0') && (key <= '9'))
> retval = key - '0';
> else if ((key >= 'a') && (key <= 'z'))
> retval = key + 10 - 'a';
> else
> retval = -1;
> return retval;
> }
>
> It actually accepts no upper case characters (because they can't be
> typed on a PC keyboard with the simple code that is sysrq.) The sysrq
> key combinations there are Alt+Sysrq+key.
>
No, sysrq doesn't accept upper-case characters just now,
function sysrq_key_table_key2index will be change if lower-case character is full for sysrq key use.

upper-case can be use for sysrq, whatever user trigger it by Sysrq key in PC keyboard, or echo "letter" into /proc/sysrq-trigger.
When trigger upper-case sysrq key by PC keyboard, you need open Caps-Lock firstly.
(Tested in my PC box)

> All sysrq help messages give the key in parens with a capital letter.
> However, there's one change you should make to this anyway - there
> should be no spaces in the help message - instead, the spaces should
> be the "-" character. Space is used to separate each sysrq key help
> message.
You are right, I fix it by below patch. Thanks.

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