From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-11.0 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F41E0C433DB for ; Fri, 15 Jan 2021 02:33:39 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id A9D5923AFC for ; Fri, 15 Jan 2021 02:33:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1732157AbhAOCdY (ORCPT ); Thu, 14 Jan 2021 21:33:24 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51562 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732041AbhAOCdX (ORCPT ); Thu, 14 Jan 2021 21:33:23 -0500 Received: from mail-yb1-xb2b.google.com (mail-yb1-xb2b.google.com [IPv6:2607:f8b0:4864:20::b2b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 83721C061757 for ; Thu, 14 Jan 2021 18:32:43 -0800 (PST) Received: by mail-yb1-xb2b.google.com with SMTP id r63so3726725ybf.5 for ; Thu, 14 Jan 2021 18:32:43 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=SYPyMMtYoGmTpYo5uTF3sYMQrf2HJmyoPinqb7mUiZI=; b=It3W7q21Lp2VJEpihDIjXsP05P+kRz+QzKILrRoncxpeI5cMnr8u/W3Kr122Z4lp6g +qJF2Vwqpy1pHLLzKGearweZlWqVZeaqcDYnUlkRuocUNPb+pcm7hAQWWzoeVkOeYlQA JIStW87/30JoU619posHpsslVhRz+dNU9DHLc= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=SYPyMMtYoGmTpYo5uTF3sYMQrf2HJmyoPinqb7mUiZI=; b=pZ+9jjz9cmQ6lRzfP3IYC9O1qj58cwrKByDnn6ZmTwzmtSNVsY1fZXa4LlPpkWMU1F SndFzJiFG8QIn+yMSNM50l4E6+Vk5+hETepJNpl2Jtics/YEmMv+tNYNHOPk4TtlYCvx jJ/zAuGPvpZylPtFr5UblYfZcEBYw51DCZ359HJLSiM/McuDkuDhFRWZSHHQMg/J/NxC cCmRXdb9gO0W8yd/csoTW9FxRu4/vVpUBDVoVy3sLzn9mO+AuZZvoHun4XoaXf0/vXHx gppdCcS+fzjYAHWhKJ9jEVRC86GEL971iEukiOmofvlhNxT2p/F4Tb1bljm6KFCaY059 issQ== X-Gm-Message-State: AOAM5317035/N5KOJMCoXHyXwBh0CsXfBXFuFwb+5CdFOT5+DCZh5Dz2 qiS95fldmAQnougTuwQRJ7xEFTskU2reqUOB6GQmFw== X-Google-Smtp-Source: ABdhPJx7dOcNbpBjdhf5MvxvoS8I1K8S+M1Qf5AvKL3Qi9UUOwCQrHsC7ihKS7kah7PHKEUc3p5r/+MfltMG6JQAU0w= X-Received: by 2002:a25:3a04:: with SMTP id h4mr14675417yba.285.1610677962683; Thu, 14 Jan 2021 18:32:42 -0800 (PST) MIME-Version: 1.0 References: <20210113172450.v5.1.I025fb861cd5fa0ef5286b7dce514728e9df7ae74@changeid> <20210113172450.v5.2.I38e90f114f0311b8aa3bcfff750ba381c09dd3b6@changeid> <161058820506.3661239.14441197324080899810@swboyd.mtv.corp.google.com> In-Reply-To: <161058820506.3661239.14441197324080899810@swboyd.mtv.corp.google.com> From: Philip Chen Date: Thu, 14 Jan 2021 18:32:31 -0800 Message-ID: Subject: Re: [PATCH v5 2/2] Input: cros-ec-keyb - Expose function row physical map to userspace To: Stephen Boyd Cc: LKML , Dmitry Torokhov , Douglas Anderson , Benson Leung , Enric Balletbo i Serra , Guenter Roeck , Lee Jones , Rajat Jain , linux-input@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Jan 13, 2021 at 5:36 PM Stephen Boyd wrote: > > Quoting Philip Chen (2021-01-13 17:25:13) > > diff --git a/drivers/input/keyboard/cros_ec_keyb.c b/drivers/input/keyboard/cros_ec_keyb.c > > index b379ed7628781..273e3c9ba0b03 100644 > > --- a/drivers/input/keyboard/cros_ec_keyb.c > > +++ b/drivers/input/keyboard/cros_ec_keyb.c > > @@ -578,6 +590,19 @@ static int cros_ec_keyb_register_matrix(struct cros_ec_keyb *ckdev) > > ckdev->idev = idev; > > cros_ec_keyb_compute_valid_keys(ckdev); > > > > + of_property_for_each_u32(dev->of_node, "function-row-physmap", > > + prop, p, key_pos) { > > + if (i >= MAX_NUM_TOP_ROW_KEYS) { > > + dev_err(dev, "Only support up to %d top row keys.\n", > > dev_warn? And drop the period please as we don't add them in the kernel > usually. Done. > > > + MAX_NUM_TOP_ROW_KEYS); > > + break; > > + } > > + ckdev->function_row_physmap[i] = MATRIX_SCAN_CODE( > > Maybe grow some more local variables, like for function_row_physmap so > this can fit on one line? Done. Please take a look at v6. > > row = KEY_ROW(key_pos); > col = KEY_COL(key_pos); > map[i] = MATRIX_SCAN_CODE(row, col, ckdev->row_shift); > > > + KEY_ROW(key_pos), KEY_COL(key_pos), ckdev->row_shift); > > + i++; > > We could remove this and just increment num_function_row_keys instead. > Then that condition check may be a little longer but probably still ok. Done. Please take a look at v6. > > > > + } > > + ckdev->num_function_row_keys = i; > > + > > err = input_register_device(ckdev->idev); > > if (err) { > > dev_err(dev, "cannot register input device\n");