{"id":1839951,"url":"http://patchwork.ozlabs.org/api/covers/1839951/?format=json","web_url":"http://patchwork.ozlabs.org/project/devicetree-bindings/cover/20230926-gpio-led-trigger-dt-v2-0-e06e458b788e@linaro.org/","project":{"id":37,"url":"http://patchwork.ozlabs.org/api/projects/37/?format=json","name":"Devicetree Bindings","link_name":"devicetree-bindings","list_id":"devicetree.vger.kernel.org","list_email":"devicetree@vger.kernel.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20230926-gpio-led-trigger-dt-v2-0-e06e458b788e@linaro.org>","list_archive_url":null,"date":"2023-09-26T21:48:10","name":"[v2,0/3] Rewrite GPIO LED trigger to use trigger-sources","submitter":{"id":7055,"url":"http://patchwork.ozlabs.org/api/people/7055/?format=json","name":"Linus Walleij","email":"linus.walleij@linaro.org"},"mbox":"http://patchwork.ozlabs.org/project/devicetree-bindings/cover/20230926-gpio-led-trigger-dt-v2-0-e06e458b788e@linaro.org/mbox/","series":[{"id":375005,"url":"http://patchwork.ozlabs.org/api/series/375005/?format=json","web_url":"http://patchwork.ozlabs.org/project/devicetree-bindings/list/?series=375005","date":"2023-09-26T21:48:10","name":"Rewrite GPIO LED trigger to use trigger-sources","version":2,"mbox":"http://patchwork.ozlabs.org/series/375005/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/1839951/comments/","headers":{"Return-Path":"\n <devicetree+bounces-3589-incoming-dt=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming-dt@patchwork.ozlabs.org","devicetree@vger.kernel.org"],"Delivered-To":"patchwork-incoming-dt@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=linaro.org header.i=@linaro.org header.a=rsa-sha256\n header.s=google header.b=lsTrmsIP;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=permerror (SPF Permanent Error: More than 10 MX records returned)\n smtp.mailfrom=vger.kernel.org (client-ip=2604:1380:45d1:ec00::1;\n helo=ny.mirrors.kernel.org;\n envelope-from=devicetree+bounces-3589-incoming-dt=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from ny.mirrors.kernel.org (ny.mirrors.kernel.org\n [IPv6:2604:1380:45d1:ec00::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4RwCzc1csXz1ypJ\n\tfor <incoming-dt@patchwork.ozlabs.org>;\n Wed, 27 Sep 2023 07:48:27 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby ny.mirrors.kernel.org (Postfix) with ESMTP id 11E441C20956\n\tfor <incoming-dt@patchwork.ozlabs.org>; Tue, 26 Sep 2023 21:48:25 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 5CE634A55D;\n\tTue, 26 Sep 2023 21:48:22 +0000 (UTC)","from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net\n [23.128.96.19])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id C27143717A\n\tfor <devicetree@vger.kernel.org>; Tue, 26 Sep 2023 21:48:20 +0000 (UTC)","from mail-lf1-x12a.google.com (mail-lf1-x12a.google.com\n [IPv6:2a00:1450:4864:20::12a])\n\tby lindbergh.monkeyblade.net (Postfix) with ESMTPS id BE1497EDC\n\tfor <devicetree@vger.kernel.org>; Tue, 26 Sep 2023 14:48:16 -0700 (PDT)","by mail-lf1-x12a.google.com with SMTP id\n 2adb3069b0e04-50309daf971so15868565e87.3\n        for <devicetree@vger.kernel.org>;\n Tue, 26 Sep 2023 14:48:16 -0700 (PDT)","from [127.0.1.1] ([85.235.12.238])\n        by smtp.gmail.com with ESMTPSA id\n f10-20020a19ae0a000000b0050334e5f5a8sm2299982lfc.271.2023.09.26.14.48.14\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Tue, 26 Sep 2023 14:48:14 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=linaro.org; s=google; t=1695764895; x=1696369695;\n darn=vger.kernel.org;\n        h=cc:to:content-transfer-encoding:mime-version:message-id:date\n         :subject:from:from:to:cc:subject:date:message-id:reply-to;\n        bh=XtIGAJAIn5DFyAAok8KJTgELmOKMBX9AjGhOfdYwP9U=;\n        b=lsTrmsIPu0gmn8AcD60ok0KEm1Hg/8coLlGwBA4bCQN/ZCAzNgtj6zXpZUEN1Q0e/S\n         ZmIt4HSagXgR59rsCtpRrbJIOECxGJ1WmYzU6z0XT9qiNjz2OUOX4viNs70806Tli21s\n         vG6YBqXBP4KHzGhAwS7ioHianYwlD1guOZYi6/fr1SF1ZnBMDKyPmpzSMNNbsmSiBtvp\n         ij75kfDitb3p/wRv6vm4sJgwROJoqir3uE+apqB3giHrQrCHw8bwgrfDudk6hS1AWua8\n         8GpUcai+VMu2P7kzIBfpQLB4MRyzMzpD7c3LoPTyxgnVMmF2Ey/uHpN/6bgEt0tsWqpQ\n         qCWg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20230601; t=1695764895; x=1696369695;\n        h=cc:to:content-transfer-encoding:mime-version:message-id:date\n         :subject:from:x-gm-message-state:from:to:cc:subject:date:message-id\n         :reply-to;\n        bh=XtIGAJAIn5DFyAAok8KJTgELmOKMBX9AjGhOfdYwP9U=;\n        b=qjXS4hY5olx5s/SQPc3wg0n02rWelZTCNw9rqRfZZUQsiPoJNdLh9f+tJ0pIqXBYL3\n         u+qRvSAHm5y/In7aejMwl/GX4ahK6LPJOLgQAhzFS1Ah+5SjLyvnKX2l4HOL6UO+JWJT\n         zhc3VBvyJtUkCeNcanBmqKSSRAY81NpLRIfpBPAAGYr1yB4r5cCk8ayv/9F0RR9nraAL\n         cn5AdI1zcY/kmnHE8Mt0K6iCGfhVqDU2egbmGAloVOUtjP6PQjBDjlFr/n/u4Li2Zfnr\n         kWvQ0n2TgN9am/G+eJrsDjdJNRCpqakd8ghu8siSTFciaKgjkoseJFim8ghB5mEDT46Z\n         GBDg==","X-Gm-Message-State":"AOJu0YxQ3aXI7sMCAB/dLzkFJPX5fVAIhm4hwLc5rMTFNqOyK9bpazmy\n\twbtYkqKiWK6h84+Uf1H5/Tn7sw==","X-Google-Smtp-Source":"\n AGHT+IGZJN6D1LppUajBIqaDv5vMWuxw8Tz7SHNssCZTCzblqzQErVamJzS0AJFKZ15Ta+fT3NcmDg==","X-Received":"by 2002:ac2:4c31:0:b0:500:d8d6:fc5a with SMTP id\n u17-20020ac24c31000000b00500d8d6fc5amr33695lfq.37.1695764894943;\n        Tue, 26 Sep 2023 14:48:14 -0700 (PDT)","From":"Linus Walleij <linus.walleij@linaro.org>","Subject":"[PATCH v2 0/3] Rewrite GPIO LED trigger to use trigger-sources","Date":"Tue, 26 Sep 2023 23:48:10 +0200","Message-Id":"<20230926-gpio-led-trigger-dt-v2-0-e06e458b788e@linaro.org>","Precedence":"bulk","X-Mailing-List":"devicetree@vger.kernel.org","List-Id":"<devicetree.vger.kernel.org>","List-Subscribe":"<mailto:devicetree+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:devicetree+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Type":"text/plain; charset=\"utf-8\"","Content-Transfer-Encoding":"7bit","X-B4-Tracking":"v=1; b=H4sIAJpRE2UC/22NQQqDMBBFryKz7pRkxBa76j2Ki9iMcUCMTIK0i\n HdvKnTX5Xvw398gsQonuFUbKK+SJM4F6FTBc3RzYBRfGMhQbVprMSwScWKPWSUEVvQZW6K+Z7K\n DI4KyXJQHeR3VR1d4lJSjvo+T1X7tr0d/e6tFg7ZvDNfX5uK9u08yO43nqAG6fd8/I9dZIbcAA\n AA=","To":"=?utf-8?q?Jan_Kundr=C3=A1t?= <jan.kundrat@cesnet.cz>,\n  Pavel Machek <pavel@ucw.cz>, Lee Jones <lee@kernel.org>,\n  Rob Herring <robh+dt@kernel.org>,\n  Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,\n  Conor Dooley <conor+dt@kernel.org>,\n  Jacek Anaszewski <jacek.anaszewski@gmail.com>","Cc":"linux-leds@vger.kernel.org, linux-gpio@vger.kernel.org,\n devicetree@vger.kernel.org, Linus Walleij <linus.walleij@linaro.org>,\n Conor Dooley <conor.dooley@microchip.com>","X-Mailer":"b4 0.12.3","X-Spam-Status":"No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED,\n\tDKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED,\n\tSPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6","X-Spam-Checker-Version":"SpamAssassin 3.4.6 (2021-04-09) on\n\tlindbergh.monkeyblade.net"},"content":"This rewrites the platform-data GPIO LED trigger to instead\nuse fwnode trigger-sources to describe the LED used.\n\nThis will work out-of-the-box with e.g. device tree.\n\nTested with real hardware by modifying a device tree adding\ntrigger-sources to a LED and trigger-source-cells to\na gpio chip, setting the trigger to a pushbutton. It works\nlike a charm, once the trigger is set to \"gpio\".\n\nAdding trigger-sources to GPIO chips in a simple way requires\nthis patch to be merged to the generic dtschema:\nhttps://lore.kernel.org/linux-devicetree/20230916-gpio-triggers-v1-1-6e5052bead9a@linaro.org/\n\nSigned-off-by: Linus Walleij <linus.walleij@linaro.org>\n---\nChanges in v2:\n- Add a quirk to gpiolib-of to allow to read out trigger-sources as\n  any regular GPIO.\n- Fix a use-after-free bug found by Dan Carpenter.\n- Tested on hardware.\n- Link to v1: https://lore.kernel.org/r/20230912-gpio-led-trigger-dt-v1-0-1b50e3756dda@linaro.org\n\n---\nLinus Walleij (3):\n      gpiolib: of: Allow \"trigger-sources\" to reference a GPIO\n      dt-bindings: leds: Mention GPIO triggers\n      leds: triggers: gpio: Rewrite to use trigger-sources\n\n Documentation/devicetree/bindings/leds/common.yaml |   2 +\n drivers/gpio/gpiolib-of.c                          |  28 +++++\n drivers/leds/trigger/Kconfig                       |   5 +-\n drivers/leds/trigger/ledtrig-gpio.c                | 137 ++++++---------------\n 4 files changed, 71 insertions(+), 101 deletions(-)\n---\nbase-commit: 8eb1c4d9b44873d30efc1846148944534f4a017d\nchange-id: 20230911-gpio-led-trigger-dt-922bbe21fa22\n\nBest regards,"}