Received: by 2002:ac0:da4c:0:0:0:0:0 with SMTP id a12csp398234imi; Fri, 22 Jul 2022 01:15:06 -0700 (PDT) X-Google-Smtp-Source: AGRyM1sljw0L7RnqS5q3yzAUHva1ItYkLs2wRg/3PdPK+Cjh58+uk1RSAfi1Yc7JG/Y2Lb0aB+uD X-Received: by 2002:a05:6a00:1690:b0:517:cc9e:3e2d with SMTP id k16-20020a056a00169000b00517cc9e3e2dmr2559906pfc.0.1658477705805; Fri, 22 Jul 2022 01:15:05 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1658477705; cv=none; d=google.com; s=arc-20160816; b=BwQIgfwa99Pf4eIAD+Uy2ven7jA3cWH/Ztv72KB8wv95S9+OOmv/vEqzjo4vLMXsES EHUBvYIvuOfcxrgdAgnFXpTeslgfOpTrSdfGX/k0ytu7aAt4d5IOYTFe3FKwj4d2cN/m jGYRfpj7n0/b0vgV51/vamXodCNmNqTfwUbsgwZrWNYdOgpfW2iEpgWJkFo9RFAgS0un j3MuI6Cof9jA8cNja9uIkrVgu6S3W0jyyp3QI9E7CHGEXbIsUxzl/dN0/GIFaaYiI89p kgCO6cSTgvC5Ory55KO1wTYzqsS2YQD7pcb3YUvazJVS3O69lK8W4KW90N4sejAKapsJ mS0A== 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=3A9wl6/awh0ONHnYzQh0bjNcc5DYGmyBrqA0jJSd7cY=; b=YOElTWukXw7aaR2n3p5lHM87rs+Y04c9OSyvO1u8RBSfXx1StRMcBRSD5wZ1PkvD/F oqDjoVltJuJq8RzJ6ZIzArTb75kbSvRqhCspT3RS2LAdIXu1fT19g8zQDw953xJJRkFM ufbKgwqVElYu8Jy9opVcM30QRhjxJbbbd/AJs6Hcq3KWvbT7wCE19CJ6Sw1uVVCQeF8I 5SjqHUTIURnfllV4Bix2+vVRlqPdzVdJ9cDkUj360rAZ9dCJlXUNTF3yTkvy4k2SZFwM lDuvw5Ka97uOzR4O8roQodsSnSGLhBw1MizmoMU3aWkfKPLGQJH2y+eTRjU+rX2dG9e4 yDSA== 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 Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id bg16-20020a056a02011000b00419ec868496si5425010pgb.368.2022.07.22.01.14.50; Fri, 22 Jul 2022 01:15:05 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234819AbiGVIMB (ORCPT + 99 others); Fri, 22 Jul 2022 04:12:01 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35062 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234812AbiGVIL7 (ORCPT ); Fri, 22 Jul 2022 04:11:59 -0400 Received: from smtpout1.mo3004.mail-out.ovh.net (smtpout1.mo3004.mail-out.ovh.net [79.137.123.219]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DCDE99D1CB; Fri, 22 Jul 2022 01:11:55 -0700 (PDT) Received: from pro2.mail.ovh.net (unknown [10.108.1.79]) by mo3004.mail-out.ovh.net (Postfix) with ESMTPS id DE2A22454B7; Fri, 22 Jul 2022 08:11:53 +0000 (UTC) Received: from localhost.localdomain (88.161.25.233) by DAG1EX1.emp2.local (172.16.2.1) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.9; Fri, 22 Jul 2022 10:11:53 +0200 From: Jean-Jacques Hiblot To: , , CC: , , , , Jean-Jacques Hiblot Subject: [RESEND PATCH v6 0/3] Add support for the TLC5925 Date: Fri, 22 Jul 2022 10:11:43 +0200 Message-ID: <20220722081146.47262-1-jjhiblot@traphandler.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [88.161.25.233] X-ClientProxiedBy: DAG4EX2.emp2.local (172.16.2.32) To DAG1EX1.emp2.local (172.16.2.1) X-Ovh-Tracer-Id: 6613817531275426267 X-VR-SPAMSTATE: OK X-VR-SPAMSCORE: 0 X-VR-SPAMCAUSE: gggruggvucftvghtrhhoucdtuddrgedvfedrvddtvddgtdduucetufdoteggodetrfdotffvucfrrhhofhhilhgvmecuqfggjfdpvefjgfevmfevgfenuceurghilhhouhhtmecuhedttdenucenucfjughrpefhvfevufffkffoggfgtghisehtkeertdertddtnecuhfhrohhmpeflvggrnhdqlfgrtghquhgvshcujfhisghlohhtuceojhhjhhhisghlohhtsehtrhgrphhhrghnughlvghrrdgtohhmqeenucggtffrrghtthgvrhhnpeejuefhkeelgffhlefhtefhgeektdevvdfgkeeltdehgeeujeeutdehkeeuhffftdenucfkpheptddrtddrtddrtddpkeekrdduiedurddvhedrvdeffeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhhouggvpehsmhhtphhouhhtpdhhvghlohepphhrohdvrdhmrghilhdrohhvhhdrnhgvthdpihhnvghtpedtrddtrddtrddtpdhmrghilhhfrhhomhepjhhjhhhisghlohhtsehtrhgrphhhrghnughlvghrrdgtohhmpdhnsggprhgtphhtthhopedupdhrtghpthhtoheplhhinhhugidqkhgvrhhnvghlsehvghgvrhdrkhgvrhhnvghlrdhorhhgpdfovfetjfhoshhtpehmoheftddtge X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,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 Resending the v6 of the series. Pavel, do you have any comment/suggestion on this series ? Thanks, JJ Original cover-letter: This series adds the support for the TLC5925 LED controller. This LED controller is driven through SPI. There is little internal logic and it can be thought of as a deserializer + latches. The TLC5925 itself drives up to 16 LEDs, but multiple TLC5925s can be chained to drive more. The first patch describes the dt bindings. The second patch implements most of the driver and supports only synchronous brightness setting (brightness_set_blocking). The last patch implements the non-blocking version (brightness_set). changes v5->v6: * Make the 'ti,shif-register-length' property optional. The default value is 16: the length of the shift register of a single TLC5925. * fix minor issues in the binding description changes v4->v5: * add the headers that the code is a direct user of * replace dev_err() with dev_err_probe() in ->probe() * comestic changes (spaces, alignment and blank lines) changes v3->v4: * add missing MODULE_DEVICE_TABLE(of, ...) * use dev_err_probe() to avoid spamming the log in case of deferred probe * use bitmap ops instead of direct memory access + lock * sort headers and a few other cosmetic changes. changes v2->v3: * fixed the yaml description of the bindings (now passes dt_binding_check) * renamed shit-register-length into ti,shift-register-length and specify its type changes v1->v2: * renamed property shift_register_length into shift-register-length * add a SPI MODULE_DEVICE_TABLE structure * fixed the yaml description of the bindings (now passes dt_binding_check) Jean-Jacques Hiblot (3): dt-bindings: leds: Add bindings for the TLC5925 controller leds: Add driver for the TLC5925 LED controller leds: tlc5925: Add support for non blocking operations .../devicetree/bindings/leds/ti,tlc5925.yaml | 105 ++++++++++ drivers/leds/Kconfig | 6 + drivers/leds/Makefile | 1 + drivers/leds/leds-tlc5925.c | 182 ++++++++++++++++++ 4 files changed, 294 insertions(+) create mode 100644 Documentation/devicetree/bindings/leds/ti,tlc5925.yaml create mode 100644 drivers/leds/leds-tlc5925.c -- 2.25.1