lkml.org 
[lkml]   [2010]   [Aug]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[RFC PATCH 15/43] ptrace, frv: cleanup arch_ptrace()
    Date
    use new regno, datap variables in order to remove duplicated expressions and
    unnecessary castings.

    Signed-off-by: Namhyung Kim <namhyung@gmail.com>
    Cc: David Howells <dhowells@redhat.com>
    ---
    arch/frv/kernel/ptrace.c | 25 +++++++++++--------------
    1 files changed, 11 insertions(+), 14 deletions(-)

    diff --git a/arch/frv/kernel/ptrace.c b/arch/frv/kernel/ptrace.c
    index 3d87d1c..9d68f7f 100644
    --- a/arch/frv/kernel/ptrace.c
    +++ b/arch/frv/kernel/ptrace.c
    @@ -259,6 +259,8 @@ long arch_ptrace(struct task_struct *child, long request,
    {
    unsigned long tmp;
    int ret;
    + int regno = addr >> 2;
    + unsigned long __user *datap = (unsigned long __user *) data;

    switch (request) {
    /* read the word at location addr in the USER area. */
    @@ -269,9 +271,9 @@ long arch_ptrace(struct task_struct *child, long request,
    break;

    ret = 0;
    - switch (addr >> 2) {
    + switch (regno) {
    case 0 ... PT__END - 1:
    - tmp = get_reg(child, addr >> 2);
    + tmp = get_reg(child, regno);
    break;

    case PT__END + 0:
    @@ -300,7 +302,7 @@ long arch_ptrace(struct task_struct *child, long request,
    }

    if (ret == 0)
    - ret = put_user(tmp, (unsigned long *) data);
    + ret = put_user(tmp, datap);
    break;
    }

    @@ -309,14 +311,9 @@ long arch_ptrace(struct task_struct *child, long request,
    if (addr & 3)
    break;

    - ret = 0;
    - switch (addr >> 2) {
    + switch (regno) {
    case 0 ... PT__END - 1:
    - ret = put_reg(child, addr >> 2, data);
    - break;
    -
    - default:
    - ret = -EIO;
    + ret = put_reg(child, regno, data);
    break;
    }
    break;
    @@ -325,25 +322,25 @@ long arch_ptrace(struct task_struct *child, long request,
    return copy_regset_to_user(child, &user_frv_native_view,
    REGSET_GENERAL,
    0, sizeof(child->thread.user->i),
    - (void __user *)data);
    + datap);

    case PTRACE_SETREGS: /* Set all integer regs in the child. */
    return copy_regset_from_user(child, &user_frv_native_view,
    REGSET_GENERAL,
    0, sizeof(child->thread.user->i),
    - (const void __user *)data);
    + datap);

    case PTRACE_GETFPREGS: /* Get the child FP/Media state. */
    return copy_regset_to_user(child, &user_frv_native_view,
    REGSET_FPMEDIA,
    0, sizeof(child->thread.user->f),
    - (void __user *)data);
    + datap);

    case PTRACE_SETFPREGS: /* Set the child FP/Media state. */
    return copy_regset_from_user(child, &user_frv_native_view,
    REGSET_FPMEDIA,
    0, sizeof(child->thread.user->f),
    - (const void __user *)data);
    + datap);

    default:
    ret = ptrace_request(child, request, addr, data);
    --
    1.7.2.2


    \
     
     \ /
      Last update: 2010-08-27 11:51    [W:0.061 / U:0.236 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site