From patchwork Tue Jan 29 13:35:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bartosz Golaszewski X-Patchwork-Id: 10786253 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 08B81184E for ; Tue, 29 Jan 2019 13:35:56 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id ECE6729C88 for ; Tue, 29 Jan 2019 13:35:55 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DFF902AB2D; Tue, 29 Jan 2019 13:35:55 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.9 required=2.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI autolearn=unavailable version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 34E6D29C88 for ; Tue, 29 Jan 2019 13:35:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725911AbfA2Nfx (ORCPT ); Tue, 29 Jan 2019 08:35:53 -0500 Received: from mail-wm1-f66.google.com ([209.85.128.66]:52299 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726239AbfA2Nfx (ORCPT ); Tue, 29 Jan 2019 08:35:53 -0500 Received: by mail-wm1-f66.google.com with SMTP id m1so17879434wml.2 for ; Tue, 29 Jan 2019 05:35:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bgdev-pl.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=cYbQf7Ftq94NoTrCoNs53HmaI2VN3lVTpXUwyN8aUw8=; b=gjaZIx/Mm3Y5mJ6EkZT9uPrwbdHOWndGA88lUCRIJpwbBZMR7BFoTDlsozVAWx+XD/ KINjIu3NONzFYp5FRE97lvNJO9ydXF58a0ydblP2mB3xowX6dyL2z68XPUneSSY8a28E P86DUBzSr0PJBOR1b0ahEnByJL26SHJOFSk7neAruXl5ZlJxyABliGz8hS776epmYOaR i07W+zqmJe+KPf2E8I0bNqi0YJ8zTC5OOipdikqaB6YpT3QYDh+2X7+Vf/10pUKRPcO7 UUCiC/kHQPLXKZxi5YDsGkRVFCe/5651MZbb/tC3U2MEmnAQupTmSq6OA1/7rNbcx/XP MCSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=cYbQf7Ftq94NoTrCoNs53HmaI2VN3lVTpXUwyN8aUw8=; b=HdmBFddewSJT2xSkQgHq5VT4woEhKDZ3MDvHLulkt2GPSNtpeybDywgJX0x2gIPfYo Np1SH6PIt3HLK+ZW8v+5x+zOcj4zKdbj98EjG+uXBHcMYUPwGxOlIZLtYmHBhwrx0NOR MKJGFYSjOhQrbjlr4hkqG/9nr5gPS8TJiyY971Tv0V0RnUsrSdKzz9FR4fym813zqnBs QnIOO6d0tIGONjNee38fhV90kJWRfACIzscAfibVFcTtMq6R59Uk//MFGwT+a5wnChVl o7SWvTAZQMyYbUrjm7KLw634C+7j5XSVqB0xQfA+371R8d+E9Gx9rshNgagrRhFKcQ2R +GFQ== X-Gm-Message-State: AJcUukfinX6BF5wOHy+fdNKNGWzOfbeTyuIA6v8LHSXV4i5f7jyLFaDE C7qYS8H7Znf6CVeF3SuWrRbBIlkRFOPMWg== X-Google-Smtp-Source: ALg8bN6OHIN3kNRPaoTOigcQGvWPgNdY67rcuLzp6rmQBMJ7taD36vgSYyt3nMJpNphEAD9362GNlg== X-Received: by 2002:a1c:494:: with SMTP id 142mr21257911wme.111.1548768951009; Tue, 29 Jan 2019 05:35:51 -0800 (PST) Received: from debian-brgl.home ([2a01:cb1d:af:5b00:6d6c:8493:1ab5:dad7]) by smtp.gmail.com with ESMTPSA id k128sm4367891wmd.37.2019.01.29.05.35.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 29 Jan 2019 05:35:50 -0800 (PST) From: Bartosz Golaszewski To: Rob Herring , Mark Rutland , Linus Walleij , Dmitry Torokhov , Jacek Anaszewski , Pavel Machek , Lee Jones , Sebastian Reichel , Liam Girdwood , Mark Brown , Greg Kroah-Hartman Cc: linux-kernel@vger.kernel.org, linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-input@vger.kernel.org, linux-leds@vger.kernel.org, linux-pm@vger.kernel.org, Bartosz Golaszewski Subject: [PATCH v2 00/13] mfd: add support for max77650 PMIC Date: Tue, 29 Jan 2019 14:35:31 +0100 Message-Id: <20190129133545.1931-1-brgl@bgdev.pl> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 Sender: linux-input-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-input@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Bartosz Golaszewski This series adds support for max77650 ultra low-power PMIC. It provides the core mfd driver and a set of five sub-drivers for the regulator, power supply, gpio, leds and input subsystems. Patches 1-6 add the DT binding documents. Patches 7-12 add all drivers. Last patch adds a MAINTAINERS entry for this device. Note that patch 8/13 depends on commit 03c87b95ac04 ("regulator: provide rdev_get_regmap()") which was picked up by Mark Brown for v5.1. v1 -> v2: General: - use C++ style comments for the SPDX license identifier and the copyright header - s/MODULE_LICENSE("GPL")/MODULE_LICENSE("GPL v2")/ - lookup the virtual interrupt numbers in the MFD driver, setup resources for child devices and use platform_get_irq_byname() in sub-drivers - picked up review tags - use devm_request_any_context_irq() for interrupt requests LEDs: - changed the max77650_leds_ prefix to max77650_led_ - drop the max77650_leds structure as the only field it held was the regmap pointer, move said pointer to struct max77650_led - change the driver name to "max77650-led" - drop the last return value check and return the result of regmap_write() directly - change the labeling scheme to one consistent with other LED drivers ONKEY: - drop the key reporting helper and call the input functions directly from interrupt handlers - rename the rv local variable to error - drop parent device asignment Regulator: - drop the unnecessary init_data lookup from the driver code - drop unnecessary include Charger: - disable the charger on driver remove - change the power supply type to POWER_SUPPLY_TYPE_USB GPIO: - drop interrupt support until we have correct implementation of hierarchical irqs in gpiolib Bartosz Golaszewski (13): dt-bindings: mfd: add DT bindings for max77650 dt-bindings: regulator: add DT bindings for max77650 dt-bindings: power: supply: add DT bindings for max77650 dt-bindings: gpio: add DT bindings for max77650 dt-bindings: leds: add DT bindings for max77650 dt-bindings: input: add DT bindings for max77650 mfd: max77650: new core mfd driver regulator: max77650: add regulator support power: supply: max77650: add support for battery charger gpio: max77650: add GPIO support leds: max77650: add LEDs support input: max77650: add onkey support MAINTAINERS: add an entry for max77650 mfd driver .../bindings/gpio/gpio-max77650.txt | 34 ++ .../bindings/input/max77650-onkey.txt | 26 + .../bindings/leds/leds-max77650.txt | 57 ++ .../devicetree/bindings/mfd/max77650.txt | 28 + .../power/supply/max77650-charger.txt | 27 + .../bindings/regulator/max77650-regulator.txt | 41 ++ MAINTAINERS | 14 + drivers/gpio/Kconfig | 7 + drivers/gpio/Makefile | 1 + drivers/gpio/gpio-max77650.c | 189 +++++++ drivers/input/misc/Kconfig | 9 + drivers/input/misc/Makefile | 1 + drivers/input/misc/max77650-onkey.c | 127 +++++ drivers/leds/Kconfig | 6 + drivers/leds/Makefile | 1 + drivers/leds/leds-max77650.c | 152 +++++ drivers/mfd/Kconfig | 11 + drivers/mfd/Makefile | 1 + drivers/mfd/max77650.c | 338 ++++++++++++ drivers/power/supply/Kconfig | 7 + drivers/power/supply/Makefile | 1 + drivers/power/supply/max77650-charger.c | 355 ++++++++++++ drivers/regulator/Kconfig | 8 + drivers/regulator/Makefile | 1 + drivers/regulator/max77650-regulator.c | 518 ++++++++++++++++++ include/linux/mfd/max77650.h | 59 ++ 26 files changed, 2019 insertions(+) create mode 100644 Documentation/devicetree/bindings/gpio/gpio-max77650.txt create mode 100644 Documentation/devicetree/bindings/input/max77650-onkey.txt create mode 100644 Documentation/devicetree/bindings/leds/leds-max77650.txt create mode 100644 Documentation/devicetree/bindings/mfd/max77650.txt create mode 100644 Documentation/devicetree/bindings/power/supply/max77650-charger.txt create mode 100644 Documentation/devicetree/bindings/regulator/max77650-regulator.txt create mode 100644 drivers/gpio/gpio-max77650.c create mode 100644 drivers/input/misc/max77650-onkey.c create mode 100644 drivers/leds/leds-max77650.c create mode 100644 drivers/mfd/max77650.c create mode 100644 drivers/power/supply/max77650-charger.c create mode 100644 drivers/regulator/max77650-regulator.c create mode 100644 include/linux/mfd/max77650.h