Received: by 2002:a05:6359:c8b:b0:c7:702f:21d4 with SMTP id go11csp450538rwb; Mon, 26 Sep 2022 00:46:33 -0700 (PDT) X-Google-Smtp-Source: AMsMyM5S9azSzBdxgQbsTbKHBpV4okW1TG2045UbD9lYEDwS9oVw6ERI/4+IcVukExkIH0GfQwww X-Received: by 2002:a17:90a:e7c5:b0:200:ab1a:f32 with SMTP id kb5-20020a17090ae7c500b00200ab1a0f32mr34342858pjb.100.1664178393733; Mon, 26 Sep 2022 00:46:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1664178393; cv=none; d=google.com; s=arc-20160816; b=jaQYn+ukSRWa0MemOnGCzAJ32OYwVlxk9PJLUjcIp37to/IBjChWzdy9y/ro+REIS5 mCEm4FgpxWnXZnbNszgVDCoEXlhDGTFgVe9qkP1sUTPtK+cwjfEk5FE38M24pDVChgjU bl4bZ3AV8IsLN/Vam6+pcskhRuwvyjKWgQzEyQNVEjdh3zFzRQWzt06ChgansSkpHkDH n2D/1PVxVe3h9xnsileYD4HgbaL9mfkkuxA1K8PQUD6uIHqPdKASC+liBpwAXGSKsmu5 1Cg3m8bgOEy4CVRh1S6XoYfv8kiW2Ktg20vYDn0bHh3/ObClBnciYxQ51B96E+2PMOe4 UZIg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=iszbgWp+XMy4E/1Fqaw0VvMuVcvOlJ2rp3ekiASDHJc=; b=nES3ZzsZYsilrpde/Kd/ATRSQIQi+q3cx3wEq/uq53QYK8CQpb7dm9ZkG5ZU1q8lmH ekmwpaR1RQCTgo1XULyruQGYj0UFrDCelKO/Ra6lDftonAtGtSJdAsaHdAFPmNRuKoDZ xi24NtsPWUXBmFaErVxYTsE5Yp9oN9deVHxQKMx7maAaJIEJ2Gxs0b90XGTEyVheyJt+ 6U1ktqAlqrSkrhIO2pu1nW61hFMqAgyrFgcY54wLu84ddTEiUJeACpWbcYVPg22czOVn yYgS3dpTwdezxxX2eJtU6uuyk5DBSdIiSH1CzMtAiwQDy6qPV84mMuxC8jox5BL28Taw UAnw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@bgdev-pl.20210112.gappssmtp.com header.s=20210112 header.b=YOou8AyS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id q205-20020a632ad6000000b0043bf03d85b8si15192202pgq.286.2022.09.26.00.46.20; Mon, 26 Sep 2022 00:46:33 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@bgdev-pl.20210112.gappssmtp.com header.s=20210112 header.b=YOou8AyS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232569AbiIZHis (ORCPT + 99 others); Mon, 26 Sep 2022 03:38:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33610 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233855AbiIZHiq (ORCPT ); Mon, 26 Sep 2022 03:38:46 -0400 Received: from mail-wm1-x332.google.com (mail-wm1-x332.google.com [IPv6:2a00:1450:4864:20::332]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0F31A29819 for ; Mon, 26 Sep 2022 00:38:45 -0700 (PDT) Received: by mail-wm1-x332.google.com with SMTP id i203-20020a1c3bd4000000b003b3df9a5ecbso6920487wma.1 for ; Mon, 26 Sep 2022 00:38:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date; bh=iszbgWp+XMy4E/1Fqaw0VvMuVcvOlJ2rp3ekiASDHJc=; b=YOou8AySocycsI7Np6RjW55+2oLY8WOCSybWG/iYtcDrTf/tBU2WB5sHlC852NhMHy uHW2SxZa51yTaLCn3qRhlQMRbGQzOvKsu+/XJOzMPnoaf8tVVc/VxtWKJF51XrpMivSw x5QadKJwp7iVZTwmJO4YuqyyCQgDIPz6LJc6pNnFbKiGnBum7QKA5eBKyEMw6RA/DgNq YLB02CXUn4dmwVUIwwACLDsD1NJqOOwMpwXQaJW2fEHd5xpRpfxBvpd24Xmgi8DIkiQX GyYJuWUjFoJgs0wDbyw0h+I/TAvZ3b8zMAT8+qJX2enix4/ViSbQTZEHy1X96BAlRXGr UqbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date; bh=iszbgWp+XMy4E/1Fqaw0VvMuVcvOlJ2rp3ekiASDHJc=; b=7rU88nC+YOg46QP4fddvYzXhWkDUqv246Fvu4UrVoQVdaZTwTTFtazbwHDM31blnG4 TMNx99AybCdPO6BxtWp4dXcIX9+bnQ4XJiPwf+QN03iB0+U5G1VnIzH8dZBErBVDTRIq HbB+ZiwJiWA2jlh7qLZeMlMMxjq9hut+xgboo3F1lAFPt/+cGExvGlFlbCMFY8LHX0wd CIVGxnqXUbnytD+oN7M+WN89s+blQoPca6zraKTI7intO1/Oo/4Ok2/TNoMqt2ZEKcy1 ax3mPAk7QRdYPPZcZChO85fB6gybRtTevXIkwzWgN1nDuGw7h5mk7P0swx+Mbi+VHU1u Hzug== X-Gm-Message-State: ACrzQf0UO2PISRemBXAjEeeT1x787LTfc61nljhxsRlR3fR4G7Q3wxYC 2Bl9GuXOnczjyQdDlq20jGhLUKLQZaFsxF96RuMXcg== X-Received: by 2002:a05:600c:1caa:b0:3a8:4066:981d with SMTP id k42-20020a05600c1caa00b003a84066981dmr21051372wms.54.1664177923562; Mon, 26 Sep 2022 00:38:43 -0700 (PDT) MIME-Version: 1.0 References: <20220826080230.1712978-1-weiyongjun1@huawei.com> <557e3d18-057c-f787-d422-d54f6e4be36f@huawei.com> In-Reply-To: <557e3d18-057c-f787-d422-d54f6e4be36f@huawei.com> From: Bartosz Golaszewski Date: Mon, 26 Sep 2022 09:38:32 +0200 Message-ID: Subject: Re: [PATCH -next 0/2] allow gpio simulator be used as interrupt controller To: Wei Yongjun Cc: Thomas Gleixner , Linus Walleij , "open list:GPIO SUBSYSTEM" , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Sep 26, 2022 at 8:57 AM Wei Yongjun wrote: > > > > On 2022/9/1 0:08, Bartosz Golaszewski wrote: > > On Fri, Aug 26, 2022 at 9:44 AM Wei Yongjun wrote: > >> > >> This series allow gpio simulator be used as interrupt controller, the use > >> case is mockup some device which using GPIO as interrupt controller, such > >> as mcp2515 CAN device. With the dts [1], we can mockup a mcp2515 device, > >> and trigger irq by following commands: > >> > >> $ echo pull-down > /sys/bus/gpio/devices/gpiochip0/sim_gpio0/pull > >> $ echo pull-up > /sys/bus/gpio/devices/gpiochip0/sim_gpio0/pull > >> > >> > >> --[1]--------------------------------------------------------- > >> /dts-v1/; > >> > >> #include > >> > >> / { > >> clk24m: clk24m { > >> compatible = "fixed-clock"; > >> clock-output-names = "clk24m"; > >> clock-frequency = <24000000>; > >> #clock-cells = <0>; > >> }; > >> > >> gpio-sim { > >> compatible = "gpio-simulator"; > >> > >> bank0: bank0 { > >> gpio-controller; > >> #gpio-cells = <2>; > >> ngpios = <16>; > >> > >> interrupt-controller; > >> #interrupt-cells = <2>; > >> > >> line_b-hog { > >> gpio-hog; > >> gpios = <0 1>; > >> input; > >> line-name = "irq-sim"; > >> }; > > > > Why do you need this hog? The GPIO will be marked as requested once > > the interrupt is taken by the driver. > > Sorry for reply later. > > It seems that only if driver request gpio with fwnode_gpiod_get_index() > marks GPIO as request one. > > If driver using request_threaded_irq() request one irq, the requested > status will not be marked. We need to use hog or request by userspace > to mark as requested. > Right, of course. Thanks. > > > >> }; > >> }; > >> > >> spi: spi { > >> compatible = "spi-mockup"; > >> > >> #address-cells = <1>; > >> #size-cells = <0>; > >> > >> can0: can@1 { > >> compatible = "microchip,mcp2515"; > >> reg = <1>; > >> clocks = <&clk24m>; > >> interrupt-parent = <&bank0>; > >> interrupts = <0 IRQ_TYPE_EDGE_BOTH>; > >> }; > >> > >> }; > >> }; > >> ------------------------------><----------------------------- > >> > >> Wei Yongjun (2): > >> genirq/irq_sim: Allow both one and two cell bindings > >> gpio: sim: make gpio simulator can be used as interrupt controller > >> > >> drivers/gpio/gpio-sim.c | 2 +- > >> kernel/irq/irq_sim.c | 1 + > >> 2 files changed, 2 insertions(+), 1 deletion(-) > >> > >> -- > >> 2.34.1 > >> > > > > Can you add some info about this to the documentation? > Ok, I'll wait for v2. And you can drop the -next prefix too, it doesn't fix anything in next. Bart > Will do that > > Thanks, > Wei Yongjun