Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp105875rwe; Fri, 26 Aug 2022 01:21:56 -0700 (PDT) X-Google-Smtp-Source: AA6agR5BkXmSerQXH8BvirOygWDCJTxb3wDh1yEjMD2N2Duj2Yhdjj2uwAi9IR1hI8Ri/AGiPiLO X-Received: by 2002:a63:cf44:0:b0:42a:277:1cb8 with SMTP id b4-20020a63cf44000000b0042a02771cb8mr2465249pgj.198.1661502115976; Fri, 26 Aug 2022 01:21:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661502115; cv=none; d=google.com; s=arc-20160816; b=dVzBdQ/72tcBDCLhzqmrZistXXIBwp/iv0HKht2wvBl0QhXaqXkh3Yba3YKAxOeNgl E8SuxFmbn9tbKAhaPqIhj5zJWU9uNg+hR8REbDaBXvB97Nye6wN7Y9qCcTyJr0lRMjDq uHgzwgpj8Dc8VExAr58faYzaok8AbYT0WOIONEAlFZ5ufoG83y2fi6B6npEDZB3BmVih CMKBNEMZVaSL2/gnk4MBrIc8fnR69liFRMhNmgb+KH/imYRYbx7c8+5ylqDvtoTL/Vp0 vY0xGjnI826kc8VZtWGhSlVOtjQcyDwh6i97AtwRZecxJoJuGzGH3losTA68hptgwa4Q /g0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:from; bh=Bg5e92NTSlcazhyp/nCK/9AflwPUMuzpjjihCjKP7jg=; b=mo4kA2fxYXhPGxlSj7le6Wx5iunZsxZ9KRwD3t/MaXa/4G46Dbl74h9yJNNXeCH3uO ZxdCE7guD9c3ym48mAjw0Ii6cBZReSzlIPI0fZgpY9T2Qt//Xz06ee961B3gLhKvrN2p OYyequxILX0x2GVsoMgR5loy23XgQ2Ljc59UdJ0Xi4hgtaqHXemm3Sqs1YtvGQsSqSmq 5bG8kMo8J2c7EcMUYA+0UTnaQTOjpnT4tBPj6VHCNgP13rOYx1H+KUhfVTpvChqhH1V2 nEUAquWarTu63cPPGjj00O3zLWq5xVTr1R8E4L1G3hIC2UCIkil9wrWwiHy/w5V4zb44 P5aQ== ARC-Authentication-Results: i=1; mx.google.com; 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; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b14-20020a056a000cce00b0053743a63dd1si1290803pfv.136.2022.08.26.01.21.43; Fri, 26 Aug 2022 01:21:55 -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; 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; dmarc=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245555AbiHZHpA (ORCPT + 99 others); Fri, 26 Aug 2022 03:45:00 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45532 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245587AbiHZHoq (ORCPT ); Fri, 26 Aug 2022 03:44:46 -0400 Received: from szxga01-in.huawei.com (szxga01-in.huawei.com [45.249.212.187]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3F308D3468; Fri, 26 Aug 2022 00:44:40 -0700 (PDT) Received: from canpemm500009.china.huawei.com (unknown [172.30.72.53]) by szxga01-in.huawei.com (SkyGuard) with ESMTP id 4MDWy03ZZhzmVLR; Fri, 26 Aug 2022 15:42:16 +0800 (CST) Received: from CHINA (10.175.102.38) by canpemm500009.china.huawei.com (7.192.105.203) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.24; Fri, 26 Aug 2022 15:44:37 +0800 From: Wei Yongjun To: Bartosz Golaszewski , Thomas Gleixner , Linus Walleij CC: Wei Yongjun , , Subject: [PATCH -next 0/2] allow gpio simulator be used as interrupt controller Date: Fri, 26 Aug 2022 08:02:28 +0000 Message-ID: <20220826080230.1712978-1-weiyongjun1@huawei.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.175.102.38] X-ClientProxiedBy: dggems705-chm.china.huawei.com (10.3.19.182) To canpemm500009.china.huawei.com (7.192.105.203) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE 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 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"; }; }; }; 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