From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.8 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 3BA56C432BE for ; Tue, 10 Aug 2021 13:54:26 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2288861073 for ; Tue, 10 Aug 2021 13:54:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236814AbhHJNyq (ORCPT ); Tue, 10 Aug 2021 09:54:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56106 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S240447AbhHJNyq (ORCPT ); Tue, 10 Aug 2021 09:54:46 -0400 Received: from mail-lf1-x12d.google.com (mail-lf1-x12d.google.com [IPv6:2a00:1450:4864:20::12d]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DB79DC061799 for ; Tue, 10 Aug 2021 06:54:23 -0700 (PDT) Received: by mail-lf1-x12d.google.com with SMTP id z2so24899231lft.1 for ; Tue, 10 Aug 2021 06:54:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=jwWuIJqiBzpe1+2G6GtRorjiBXRmpvLNd3Ic9h54t+Q=; b=W8fomkKIUYVT177erd3QXdCb9N+w4GU7xEHCTq5V+/pLfs4vtKwHrQWVUWoJUa0WKb yROIoySSTQNgzo/gwzIxqRF0R5bfQS+nDpd4VtEzC7ELr7a7smTBhEYmnBQS7iU28eFl 6/XmILEUsrPbVSQo2USlm6N8PSX516JZiNcZJXsvUVhtLxfMxR0eLAOF6GrZr45uhpYA i7Yq+yxNWPQ9DzLISfpIM6HOHFoZYWG8HkNOCTHmLhZ4GupDBs4AmopLoCHgMdalRbIB DLdHvCypgf5HJo3jpK3W4lZxDXnfAGL3udivEZnwKrCtcdQJBxxszPhgqQXRt34MHJsX q8WQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=jwWuIJqiBzpe1+2G6GtRorjiBXRmpvLNd3Ic9h54t+Q=; b=ulE7ODoPXQNAWmbO5PMnNkG4HGsimT3e8ZDbpS0m4nEyZXcQcJXnl7tjnl5jGift8q 2xsswDvOvJtTrWF2cvRZgchSzA2DqpUd8Ns5CxvzJ+y6Ey0QS15/vEj03zNqj6lGc7wl e3uMDsBOsHYIGE0k67EmxrB9QajACXhcyDSANkjOA0M0xd+URTGgQCpObHDO4/xLMXnc woCWA4JCDNYeOGE06l9Fdep1Iswv1jf9LomwV5gJ+klq6BNYorjbEFjxWqEjuoCRSc9b cI2t2xL2kKhgDP1T3Ac6UdG9od43NIvU/TN2+k8QDsFuJtJ6F1gbyW5qldSYLSxbpHz1 DePA== X-Gm-Message-State: AOAM532FrE1moJZMPhPyC2bgM2ywEhr4GVLGJiEP/tMmyX4ZvxgwVmxU vfYx2KBAw6bPcosd9WQmpuy6ksY0bcXzBbei/5oucQ== X-Google-Smtp-Source: ABdhPJydL53OBU+42r6QKcJIZe4IlQ/SoqsP/bpkjgaMcCdQZB8nlKWRZ68tmLNyMtyFuqJpiUzbjuD8656QAXWk9KU= X-Received: by 2002:ac2:4d0f:: with SMTP id r15mr21366821lfi.649.1628603662266; Tue, 10 Aug 2021 06:54:22 -0700 (PDT) MIME-Version: 1.0 References: <20210723075858.376378-1-andrew@aj.id.au> <20210723075858.376378-5-andrew@aj.id.au> In-Reply-To: <20210723075858.376378-5-andrew@aj.id.au> From: Linus Walleij Date: Tue, 10 Aug 2021 15:54:11 +0200 Message-ID: Subject: Re: [RFC PATCH 4/6] leds: pca955x: Use pinctrl to map GPIOs to pins To: Andrew Jeffery Cc: Linux LED Subsystem , "open list:GPIO SUBSYSTEM" , =?UTF-8?Q?C=C3=A9dric_Le_Goater?= , Rob Herring , Joel Stanley , Pavel Machek , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , Linux ARM , linux-aspeed , linux-kernel Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org On Fri, Jul 23, 2021 at 9:59 AM Andrew Jeffery wrote: > The leds-pca955x driver currently assumes that the GPIO numberspace and > the pin numberspace are the same. This quickly falls apart with a > devicetree binding such as the following: (...) Honestly I do not understand this patch. It seems to implement a pin controller and using it in nonstandard ways. If something implements the pin controller driver API it should be used as such IMO, externally. This seems to be using it do relay calls to itself which seems complicated, just invent something locally in the driver in that case? No need to use pin control? Can you explain why this LED driver needs to implement a pin controller? Yours, Linus Walleij