Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753554AbcCHBBh (ORCPT ); Mon, 7 Mar 2016 20:01:37 -0500 Received: from mail-qg0-f68.google.com ([209.85.192.68]:34472 "EHLO mail-qg0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752248AbcCHBBb (ORCPT ); Mon, 7 Mar 2016 20:01:31 -0500 From: "David Rivshin (Allworx)" To: linux-leds@vger.kernel.org, devicetree@vger.kernel.org Cc: Richard Purdie , Jacek Anaszewski , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , Stefan Wahren , linux-kernel@vger.kernel.org Subject: [PATCH v2 0/4] leds: Add driver for the ISSI IS31FL32xx family of LED controllers Date: Mon, 7 Mar 2016 19:57:12 -0500 Message-Id: <1457398636-6485-1-git-send-email-drivshin.allworx@gmail.com> X-Mailer: git-send-email 2.5.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3100 Lines: 64 From: David Rivshin This series adds support for the ISSI IS31FL32xx family of I2C LED controllers. Since the IS31FL3218/3216 are actually the same devices as the SN3218/3216, adds their compatible strings as aliases. As requested, this series is based on the current linux-leds/for-next, minus patch 2 and 3 of the standalone sn3218 driver. As such, it will not directly apply to the current linux-next without minor merges in the leds Kconfig and Makefile. This will apply cleanly to v4.5-rc7, albeit with a compiler warning in patch 3 (which is fixed elsewhere in linux-next). Changes from v1 [1]: - swapped node name and label in binding example - removed line stating filename from file header comment of is31fl32xx.c - dropped #includes for err.h and of_platform.h - added #includes for device.h, of.h, and of_device.h - patch 4 no longer removes leds-sn3218, as that will be done separately - patch 4 commit log no longer references leds-sn3218 driver - added Rob's acks for patches 1, 2, and 4 - added Tested-By from Stefan (for SN3218) Changes from RFC [2]: - Removed max-brightness DT property. - Added #address-cells and #size-cells properties to the example DT. - Refer to these devices as "LED controllers" in Kconfig. - Removed redundant last sentence from Kconfig entry - Removed unnecessary debug code. - Do not set led_classdev.brightness to 0 explicitly, as it is already initialized to 0 by devm_kzalloc(). - Used of_property_read_string() instead of of_get_property(). - Fail immediately on DT parsing error in a child node, rather than continuing on with the non-faulty ones. - Added additional comments for some things that might be non-obvious. - Added constants for the location of the SSD bit in the SHUTDOWN register, and the 3216's CONFIG register. - Added special sw_shutdown_func for the 3216 device, as that bit is in a different register, at a different position, and has reverse polarity compared to all the other devices. - Refactored is31fl32xx_init_regs() to separate out some logic into is31fl32xx_reset_regs() and is31fl32xx_software_shutdown(). - Added 4th patch to replace the now-redundant leds-sn3218. [1] https://lkml.org/lkml/2016/3/2/1004 [2] http://www.spinics.net/lists/linux-leds/msg05564.html David Rivshin (4): DT: Add vendor prefix for Integrated Silicon Solutions Inc. DT: leds: Add binding for the ISSI IS31FL32xx family of LED controllers leds: Add driver for the ISSI IS31FL32xx family of LED controllers leds: Add SN3218 and SN3216 support to the IS31FL32XX driver .../devicetree/bindings/leds/leds-is31fl32xx.txt | 52 +++ .../devicetree/bindings/vendor-prefixes.txt | 1 + drivers/leds/Kconfig | 8 + drivers/leds/Makefile | 1 + drivers/leds/leds-is31fl32xx.c | 508 +++++++++++++++++++++ 5 files changed, 570 insertions(+) create mode 100644 Documentation/devicetree/bindings/leds/leds-is31fl32xx.txt create mode 100644 drivers/leds/leds-is31fl32xx.c -- 2.5.0