Received: by 2002:a05:6358:45e:b0:b5:b6eb:e1f9 with SMTP id 30csp168024rwe; Fri, 26 Aug 2022 02:53:28 -0700 (PDT) X-Google-Smtp-Source: AA6agR4rA2iYrXhxbpRJ7q4Z/nPuIbZwzKOOPH+NbcYmL3ItqSgI6p5WmamBjm40Qvgo5fOD7qqU X-Received: by 2002:a17:903:11d2:b0:172:6ea1:b6e6 with SMTP id q18-20020a17090311d200b001726ea1b6e6mr3046691plh.72.1661507608620; Fri, 26 Aug 2022 02:53:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1661507608; cv=none; d=google.com; s=arc-20160816; b=lc5Elc2I80cKpzAHINyJTcWXX9HOdohw57Gbx0tMhiezt11q6v6fd3DzcUuQh1mIrs R/JnxOFHfFclC+J53SJNqEryjsLZ/HKir1JpuLAWakZsJirZJ++ctWo2dZyFycN5W9Mn TqIHFKDQhwQi8aWTUy/EB7OGkzmQN6RTlTIjnGinpS/60vYLRwlu3MQlawS5QKCLeYQ0 KzFK+9ekTZVmHYCHu7/9RU0IG52h1+Sem2AfoeRsHqjvkgZx+jLSs+gpRRIzNE8q+Shp A2CQfSbRI0/Jvfop9fqmUdffCldIXvHs0Y/USe4o4FLhTpj+7mKPKs9TBUdSCN3ZZPkh i9LQ== 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=EHyZfx9f30GYvoWGWrL1/d31tZ2j1jnuSexhcB0B028=; b=JTtxOqG4HMPsbwSFbwSWETUpa6GGEa0ROatvCz+jd15gacQ+6m7znfqowGuI9Chql+ +7wKweF8xyiwQZaIBPhlVKXW7mQ9oP+gLtqiBOoQrjeBSmvNZXT21/8VjL8xDQsPNa5l AaG8h4CBZ4RdDDuLHulFogElH1CPkigJsCPmxxyfXc66rEFTaiUvo4bBfh8oScKHnQLf 9iAKTkGh5/6+U6w03CLUV95SqkJka+jRRJVlKu9vXgw7m4+nNaDu5DzfY6cT7kigNdbe CxkNzNkHU4jpeGji3ZWfsvLYXhKFNVwi9GwSA3P1MJvfZ2ZQcrt+OLpqEsyk4t+8HFXf mX/w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b="H4E8O/FZ"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id j74-20020a636e4d000000b0042ae3d2c134si1450500pgc.129.2022.08.26.02.53.14; Fri, 26 Aug 2022 02:53:28 -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=@linaro.org header.s=google header.b="H4E8O/FZ"; 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=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S245717AbiHZJLb (ORCPT + 99 others); Fri, 26 Aug 2022 05:11:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59074 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S245551AbiHZJLZ (ORCPT ); Fri, 26 Aug 2022 05:11:25 -0400 Received: from mail-ej1-x635.google.com (mail-ej1-x635.google.com [IPv6:2a00:1450:4864:20::635]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6B1B0D11ED for ; Fri, 26 Aug 2022 02:11:14 -0700 (PDT) Received: by mail-ej1-x635.google.com with SMTP id d21so1994190eje.3 for ; Fri, 26 Aug 2022 02:11:14 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc; bh=EHyZfx9f30GYvoWGWrL1/d31tZ2j1jnuSexhcB0B028=; b=H4E8O/FZWenOUNLemv28DGZCdkWQLC1IHud8bPn1Zt5jaLswZKwZ4GWY7Kc+M5rne0 tpnyVWL+K70RTKeP6Bi8rlmmmKFJoH2Mr2fMWrJ6n7yZt6SXe/jVP4fIlidg2biWXXN0 Y8rKFfD9nTJwjEPs7e7k//u4sUtCL0mi9DCoCyyN5qUUwXJ1jiNv7YgjeURYOUbaviXg pa7H5LGylpM4+N7+ZDMbT9UESKOsCUS4rQUGz7Nal5bwJmhHY8tHsZ4YysgvyYJzqJQw 7fqodXyghB4EZTmrIPPiAqhO3pE0vXrgJCRjYWOmJ8cPMSL+azcEJDf5q6VpSkMBPq7L rtxQ== 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; bh=EHyZfx9f30GYvoWGWrL1/d31tZ2j1jnuSexhcB0B028=; b=2Uq+4p4rnEriuKjD7+RYTeV/BYHW0h0v4yPLAHJETkf6TxY+k3Kg9BNGKENcWMad7e mevReMgU2MmhzWo3ES2XcAsl4vVbibWnenXR5fmfmf5PA5ZWe6ug9uX135opD+8a9YnO PVQEx8khOOzbcHzeCQwhALufft+cx3FR7i98Bl8HYL57kTtMx85+bFIVH23AZVxdkH3W pR9/1g+7Q2Komlg0+cq2S0EaurJ19VI7Zy+M1M+5b+s1DAfoSPB6Dsod0DPNyXK4zYpd lWc6QCRupu2HZj9YVRWK8NrVxVEzvvwxeXds8ET7jadXeN8NAY38JxNTsJB6DiWe++2n 2Y+A== X-Gm-Message-State: ACgBeo0kRQftw1fxtyfcUDumSXc5VLBKLlHE9MEugOdWqqjO5bUdCmUw QBuPey/NbbvQZAdBpkDChezYDMxc5xgOeu2iZAexvw== X-Received: by 2002:a17:906:478f:b0:73d:7919:b23 with SMTP id cw15-20020a170906478f00b0073d79190b23mr4546844ejc.690.1661505073018; Fri, 26 Aug 2022 02:11:13 -0700 (PDT) MIME-Version: 1.0 References: <20220722081146.47262-1-jjhiblot@traphandler.com> <20220722081146.47262-3-jjhiblot@traphandler.com> <5ba34982-52c7-e41a-fba8-d88d93529e47@traphandler.com> <20220804210412.GA30210@duo.ucw.cz> <0663c616-97c8-444c-f390-275fae402453@traphandler.com> <5bb9955e-4c2f-ca55-0e77-c082a868371a@traphandler.com> In-Reply-To: From: Linus Walleij Date: Fri, 26 Aug 2022 11:11:01 +0200 Message-ID: Subject: Re: [RESEND PATCH v6 2/3] leds: Add driver for the TLC5925 LED controller To: Andy Shevchenko Cc: Jean-Jacques Hiblot , Linus Walleij , Bartosz Golaszewski , Pavel Machek , Rob Herring , Krzysztof Kozlowski , Linux LED Subsystem , devicetree , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=unavailable 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 Wed, Aug 24, 2022 at 12:19 PM Andy Shevchenko wrote: > > >> I don't know if this is enough to make a dedicated TLC5925 driver > > >> desirable in the kernel. > > > I don't think you have enough justification for a new driver. One thing to keep in mind is that LEDs are MMI (man-machine-interface) and designed as such, so small glitches etc are fine as long as they are not noticeable by human perception... > After this message I first must withdraw my Rb tag, and turn my voice > against this driver because of the above. On the contrary we might ask > the GPIO library for a specific API to have what you do with the > user's consent of side effects. Linus, Bart, I'm talking of the > delayed (async) version of gpio_set_multiple(). But personally I think > it's not so easy to implement in a bugless manner (because we need to > synchronize it forcibly at any time we call another GPIO API against > the same chip). I suppose this can just be a gpio-led using the GPIO driver underneath? If the usecase for TLC5925 is such that it is often (as defined by experienced developers having seen it on boards in the wild) used as a GPIO expander rather than a pure LED driver, then it is better to have this in the GPIO subsystem in some or other form. If it is always just used for LEDs then my first comment about this being MMI applies I suppose. Or rather, ask the question from an operator point of view rather than a logic level point of view. (I think that was Andy's point though.) I agree that we probably need some generic library to properly handle the jungle of funny TTL-type constructs that is popping up left and right for GPIO. Someone should ideally sit down and think about what is common among these. Yours, Linus Walleij