Received: by 2002:a05:6a10:2785:0:0:0:0 with SMTP id ia5csp842228pxb; Wed, 13 Jan 2021 18:03:23 -0800 (PST) X-Google-Smtp-Source: ABdhPJzt8+JFgcH8I6/p4uhOB/wSFf5XdxRypE4AkYWs+Icy4CdDXj2yV7OKSLUWk9QxIyEOkKx7 X-Received: by 2002:a17:906:a43:: with SMTP id x3mr3516910ejf.277.1610589803479; Wed, 13 Jan 2021 18:03:23 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1610589803; cv=none; d=google.com; s=arc-20160816; b=bmH7j5zQQQfsl/4+KDOOo1DmtO2q6De+WWDkFB+PBK5QXBYJxI0TQPJBBLy9N25rs4 ytuQX2GI3N45fequcICAy8X+AXTQpYUvIX3QpihNi2o2Ovo6jl04wO/vXMMdKL6OGZOw 7/SJbjzVe5qbaLfM2SwYbDqNQ0I0PUNbKEVVKaA1o81M22ew7nV5nJHI0r1Rk8W+lSc6 Qn2AmTow8GYanOZJ19hudxSsD+DTLupiZnHi5BDOlAgepTeUbS/eLeWt7zpq1zL+/i2n obTFWwIhdwPkQ6S3oAi4ZS51qscpgMCuW6ih5ajOCRwGGX1UdSGjKjH2Ef739B9LkQng Ap5w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:message-id:date:to:cc:from:subject :references:in-reply-to:content-transfer-encoding:mime-version :dkim-signature; bh=vga+wd3Nu9yrCvWtrwJ+7XS8La99u1RixLre7Gn5LkE=; b=qp8vGtdVPyebas4DTWReRpyAGU6lDLI44tutbFedLvcLT1JRbm6TALDdbzipIg9/Cl JjISlmu6p4GPCkb4hScGFnxEBCG38zwNRVq4PMZis9M7egIBfh6AQn6CnGPIdFZhJ56z IirsRK3hdk/SftKAI6jNL0+QuK5c8cdgxic/FO8hWD0vup2NivtdNl71NN8E71qe9sB0 6LSF7KV9yKeA3EFCLrRLG+NLp3+Pfp35TAerIBzXJ9jN2pIo9znBzPst+kucGJrOCOxt A3ccEIoZKnBhmy1j65Ga4sXO+NW7zBNVRIxvyeZu81I86uVIaKLpyGzlZ9cNX7+r0qBX femA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=b9aAhe38; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id l11si1911453ejx.27.2021.01.13.18.02.55; Wed, 13 Jan 2021 18:03:23 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=b9aAhe38; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727383AbhANCAA (ORCPT + 99 others); Wed, 13 Jan 2021 21:00:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45050 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727880AbhANB76 (ORCPT ); Wed, 13 Jan 2021 20:59:58 -0500 Received: from mail-pj1-x1030.google.com (mail-pj1-x1030.google.com [IPv6:2607:f8b0:4864:20::1030]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C31CAC0617A7 for ; Wed, 13 Jan 2021 17:36:47 -0800 (PST) Received: by mail-pj1-x1030.google.com with SMTP id l23so2315519pjg.1 for ; Wed, 13 Jan 2021 17:36:47 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=mime-version:content-transfer-encoding:in-reply-to:references :subject:from:cc:to:date:message-id:user-agent; bh=vga+wd3Nu9yrCvWtrwJ+7XS8La99u1RixLre7Gn5LkE=; b=b9aAhe38hfmS6Q8Ys2/kESKGyf+1JqmiKscnWbOQNSkNC/UMGevpErTP2h6bExA9sq czZioshGrro5Gyui6STk+DqW8bTvmC46zT69EJX3XGbBgCfF4qmn/430/+D2WzpVRTiT mVu9Bla9RncdgvN8tQ6xtt5rJyLhWMBYkbpeI= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:content-transfer-encoding :in-reply-to:references:subject:from:cc:to:date:message-id :user-agent; bh=vga+wd3Nu9yrCvWtrwJ+7XS8La99u1RixLre7Gn5LkE=; b=rk7N+q34ndQCVbtB8Sg4SXjtMEb5gylBsbkJdxNWn1c5rrvuBE2S7SnwSh6MhPvR8x Ip41EntEHQGQ0kBvk7JYhiDK6T9VSYssV7YcAVu1LVTUn7SJ+2tclpnfixSEnQF0F+OX I//cCbvXBJlUhNMcvbNFWxWoO5xCes0zO4e7yanLP11ZGCGo2OGHNVbdTHq6h2fU+c8T 7OgFy7KFKcE2YEq0hCvWjwFzCcWAn0Xp7x5+Mre4HHMpRCahlWVJg4V4UpkFtNJFBdPX sLi657LG8QMw7vceobcT7loClihiYMX7hKff9NThLdIn2weAdps7X8oYOoSRaT1i311W gTaw== X-Gm-Message-State: AOAM530ZqA9WTMn4s0WLj/r7LsWKi/LMzPw5gTw37GLwUS5Dp9rfT1SO sfMfsTIZqwCD83OtqsNSa+4CVQ== X-Received: by 2002:a17:90a:8985:: with SMTP id v5mr2206883pjn.27.1610588207284; Wed, 13 Jan 2021 17:36:47 -0800 (PST) Received: from chromium.org ([2620:15c:202:201:3e52:82ff:fe6c:83ab]) by smtp.gmail.com with ESMTPSA id x16sm3821817pfp.62.2021.01.13.17.36.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 13 Jan 2021 17:36:46 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable In-Reply-To: <20210113172450.v5.2.I38e90f114f0311b8aa3bcfff750ba381c09dd3b6@changeid> References: <20210113172450.v5.1.I025fb861cd5fa0ef5286b7dce514728e9df7ae74@changeid> <20210113172450.v5.2.I38e90f114f0311b8aa3bcfff750ba381c09dd3b6@changeid> Subject: Re: [PATCH v5 2/2] Input: cros-ec-keyb - Expose function row physical map to userspace From: Stephen Boyd Cc: dianders@chromium.org, Philip Chen , Benson Leung , Enric Balletbo i Serra , Guenter Roeck , Lee Jones , Rajat Jain , linux-input@vger.kernel.org To: LKML , Philip Chen , dmitry.torokhov@gmail.com Date: Wed, 13 Jan 2021 17:36:45 -0800 Message-ID: <161058820506.3661239.14441197324080899810@swboyd.mtv.corp.google.com> User-Agent: alot/0.9.1 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Quoting Philip Chen (2021-01-13 17:25:13) > diff --git a/drivers/input/keyboard/cros_ec_keyb.c b/drivers/input/keyboa= rd/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 =3D idev; > cros_ec_keyb_compute_valid_keys(ckdev); > =20 > + of_property_for_each_u32(dev->of_node, "function-row-physmap", > + prop, p, key_pos) { > + if (i >=3D 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. > + MAX_NUM_TOP_ROW_KEYS); > + break; > + } > + ckdev->function_row_physmap[i] =3D MATRIX_SCAN_CODE( Maybe grow some more local variables, like for function_row_physmap so this can fit on one line? row =3D KEY_ROW(key_pos); col =3D KEY_COL(key_pos); map[i] =3D MATRIX_SCAN_CODE(row, col, ckdev->row_shift); > + KEY_ROW(key_pos), KEY_COL(key_pos), ckdev->row_sh= ift); > + 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. > + } > + ckdev->num_function_row_keys =3D i; > + > err =3D input_register_device(ckdev->idev); > if (err) { > dev_err(dev, "cannot register input device\n");