Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp1627898pxj; Wed, 19 May 2021 10:06:54 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxFMIg/sU3kPp+AaI6xKgCnlLJJGmAJiPWmvi6YtUhJy/IJl6cBnh+krRK8djpXy1oXNPGV X-Received: by 2002:aa7:de99:: with SMTP id j25mr51535edv.91.1621444014456; Wed, 19 May 2021 10:06:54 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1621444014; cv=none; d=google.com; s=arc-20160816; b=y9xuI9eOeO6dYD0T9QiNuQm25UACi4r4v5kJL7fW07UyxqMvTcKnpKFY5lTZm/BIBN yUNd30S1FnBtQr0ukVXr2zNnqAybz46QL724U5Ep+XQReoNH1h7jZa//a7TMsPUXVpdO Z1zAUD3Lhx4f48uWaEXoaOj96L0dsYoyrpvstqlRCDWzmBEAkxPo625V6GlvGut/Igz+ GN3KiKKjcidFPcjMRL29bblhAMrTmlyEmTSwAe5dumRzqsOcmDGOqvyYVjEmzRdIoZhi ihtGTobbZRvjCldI4vnXiCX6++aPQAIzVc72KKlSS6hNhX+hWxojSV6VZQ4UcJaseEE5 lQcw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:importance:content-transfer-encoding :mime-version:subject:references:in-reply-to:message-id:cc:to:from :date:dkim-signature; bh=NVnw5g+VXhVolsNBA9uOez+5YRjViDjU8xB516saj4c=; b=Z1v58CDMr6YJaQcjTDQIZwJnZ5pcebw3mB1SaZXLVGZeAXfnC8eccUsAGVIphmpwcU 9vCmJE/uYd2k9te4lEbAEohzzqlyea95MVR1T8OpJprjlGGDudMUJUC+5/XubEsVoliL LWXFpqQVI/LbPiUGrpM5cDKIOAJEIEh3K5MIEGcgGJ4XXBKcVRML3+Iy3kdfKOubfo3K iZEIDteY2JQSlXg1bptljRafEchAeWdKVDRrrL7bFPESEPnUltPIYiEnWXgHmq6O68z9 6yPkf4VJCRoTTqAMUcX5YTmGuohkZdYoPdE0TEepUq0v2vDmi3Rij7rSAPU5lY23KTay bMFQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@libero.it header.s=s2021 header.b=KV2KAo9X; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=libero.it Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id f8si231874ejw.475.2021.05.19.10.06.30; Wed, 19 May 2021 10:06:54 -0700 (PDT) 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=@libero.it header.s=s2021 header.b=KV2KAo9X; 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=QUARANTINE sp=QUARANTINE dis=NONE) header.from=libero.it Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S238872AbhERI6v (ORCPT + 99 others); Tue, 18 May 2021 04:58:51 -0400 Received: from smtp-32-i2.italiaonline.it ([213.209.12.32]:58184 "EHLO libero.it" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S234654AbhERI6u (ORCPT ); Tue, 18 May 2021 04:58:50 -0400 Received: from oxapps-11-062.iol.local ([10.101.8.72]) by smtp-32.iol.local with ESMTPA id ivXflS2QoBc6YivXflyVc1; Tue, 18 May 2021 10:57:31 +0200 x-libjamoibt: 1601 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=libero.it; s=s2021; t=1621328251; bh=NVnw5g+VXhVolsNBA9uOez+5YRjViDjU8xB516saj4c=; h=From; b=KV2KAo9X6fPXwYtzH3q+0GN7GvtyTZlWnripOO/8qsxlHQDhU3GJuxpxND0ojAX7G lWvRNSoAxsWi8o3KN0uXmHrjexb7lRQGCF+0dFsNUjH1FvQjcQfdu0oAX+J+KAinpp 6DcL+o7shC0KSna31mxXfVqm2qAFtQYeQgiSCFePD1BYQDECvQvHMDg0wSDH5WxQCX iRFiUwImB6H1uJUxluBXg+sGiobMOdfaNl1GoPb3rCy0+7Rk8tiSZqY9fSRuV1DlYD TSNbIwdFV52wCerr0D8OZT6/UEM8SzYHTZopH48AwQ81ny9PZm32oxEXSOU3UXAgSx YQ5FR+DRZQ86w== X-CNFS-Analysis: v=2.4 cv=B6l8bMhM c=1 sm=1 tr=0 ts=60a3817b cx=a_exe a=ArCppHiS2LX9rvfu7+HyXQ==:117 a=C-c6dMTymFoA:10 a=IkcTkHD0fZMA:10 a=vesc6bHxzc4A:10 a=2KMo9-giAAAA:8 a=D_9wInirL2l4cj3dWgsA:9 a=QEXdDO2ut3YA:10 a=UeCTMeHK7YUBiLmz_SX7:22 Date: Tue, 18 May 2021 10:57:31 +0200 (CEST) From: Dario Binacchi To: Tony Lindgren Cc: linux-kernel@vger.kernel.org, Haojian Zhuang , Linus Walleij , linux-arm-kernel@lists.infradead.org, linux-gpio@vger.kernel.org, linux-omap@vger.kernel.org Message-ID: <1340368809.152927.1621328251188@mail1.libero.it> In-Reply-To: References: <20210517200002.6316-1-dariobin@libero.it> <20210517200002.6316-3-dariobin@libero.it> Subject: Re: [PATCH v2 2/2] pinctrl: single: set pinmux from pins debug file MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Priority: 3 Importance: Normal X-Mailer: Open-Xchange Mailer v7.10.3-Rev34 X-Originating-IP: 185.33.57.41 X-Originating-Client: open-xchange-appsuite x-libjamsun: B0TjijWmrbfJWP3WAkKFWo1lCjhGy9T6 x-libjamv: ghWYi9jvb6w= X-CMAE-Envelope: MS4xfCr5xJ5H3yfOGVmZvzF4wcZgFaf0rRSXvIEcInlgH1v5EZ/YwGVek1PyBI+EJJvi7FRHYPUjrF/2YiYR2VT7/91Fg7GaZuHmZYk6kh8kS7A4hBeOREmu 0flGY6ZewK/uspSQ0HLHmyr2/6a+q4L3vhIkXqXEasYtNwx20D+Kdsel1635GBLQoG1GDB6FQdz5bGgFHM3dJA7ZEKS8uLBoKzrdoTNSbopQ1irMLEgUp6/V y+eW+mIQ86THswG+MKbNcQRBB1Chdu+CEEJ0WOG9vVddkLd46N/yKcAKiTSlM8l+DJnsyvDWwzBOxcxqMy4Zu3Uj+WQzN9elFOhzbk7UwF57GQ9HD4HwxPDL Xni1zqz9pznlUCr/woNVIHlJQ2uJFwxGgseyJ0vKV+Ma7LEbe8R53Vfi+cdSOMZUp4JRvZqqMknbgQYShnEVQGP1A0C1yA== Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Tony, > Il 18/05/2021 08:05 Tony Lindgren ha scritto: > > > Hi, > > I noticed few more things I started to wonder about after > looking at this again. > > * Dario Binacchi [210517 20:00]: > > +static int pcs_pin_dbg_set(struct pinctrl_dev *pctldev, unsigned int pin, > > + char *buf) > > +{ > > + struct pcs_device *pcs; > > + unsigned int val, mux_bytes; > > + > > + buf = skip_spaces(buf); > > + if (kstrtouint(buf, 0, &val)) > > + return -EINVAL; > > + > > + pcs = pinctrl_dev_get_drvdata(pctldev); > > + > > + mux_bytes = pcs->width / BITS_PER_BYTE; > > + pcs->write(val, pcs->base + pin * mux_bytes); > > + return 0; > > +} > > Since you're adding a new interface, how about pass unsigned > int val instead of char *buf? I thought about passing char *buf because it seemed more generic to me. As the output of pin_dbg_show() depends on the platform driver, perhaps pin_dbg_set() may need driver-dependent data. Is it possible that only the value to be set in the register (unsigned int) is required? > > > static void pcs_dt_free_map(struct pinctrl_dev *pctldev, > > struct pinctrl_map *map, unsigned num_maps) > > { > > @@ -331,6 +348,9 @@ static const struct pinctrl_ops pcs_pinctrl_ops = { > > .get_group_name = pinctrl_generic_get_group_name, > > .get_group_pins = pinctrl_generic_get_group_pins, > > .pin_dbg_show = pcs_pin_dbg_show, > > +#if IS_ENABLED(CONFIG_DEVMEM) > > + .pin_dbg_set = pcs_pin_dbg_set, > > +#endif > > .dt_node_to_map = pcs_dt_node_to_map, > > .dt_free_map = pcs_dt_free_map, > > }; > > It might be better to always have the .pin_dbg_set around to > avoid the IS_ENABLED(CONFIG_DEVMEM). Ok, I'll remove the CONFIG_DEVMEM dependency > > Does the new interface need something under Documentation too? Yes, the description of `pins` in Documentation/driver-api/pin-control.rst needs to be updated. I'll add another patch to the series. Thanks and regards, Dario > > Regards, > > Tony