From patchwork Fri Apr 17 17:08:23 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 1272327 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=uTXlFR/g; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 493jGn5gGmz9sPF for ; Sat, 18 Apr 2020 03:08:33 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728132AbgDQRIc (ORCPT ); Fri, 17 Apr 2020 13:08:32 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60066 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727913AbgDQRIa (ORCPT ); Fri, 17 Apr 2020 13:08:30 -0400 Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 84549C061A0C; Fri, 17 Apr 2020 10:08:30 -0700 (PDT) Received: by mail-wr1-x442.google.com with SMTP id b11so3894621wrs.6; Fri, 17 Apr 2020 10:08:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=hmsV5eZJXnc9eG+jSXMH3ELzgDo10IgatuJIePLn5QU=; b=uTXlFR/gyHMZJNZ1ZHMqQT3EfnIlp46bYaRMve4QvNvjgCV3LuiqHLvsJmocbwKPIE ckbDmYyWizxQafxcKPWFJxIN6rLZzqVYmwmnCrnHVoXr3cItFwnoEGgoPNce3nZBfuhL 3bMnQL7OOSJ7PjQFahvNuLSQ79Mnh6aydZ0DLwVcIVu5ON/4GqiuJ4gO0mVgZZahB6dE eHhJMhzCUqoJ0gHRd004jINQo2oAxx5QIoxjWAIP6wfcummsjbOiZbLaN76c9cLpkelt kpiDWVpwRATys8nRLmbMr4y27IcFLZNMsDmsAIPJBFbAwMPpVcoHnRCqPuPJNxlGydot rReA== 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=hmsV5eZJXnc9eG+jSXMH3ELzgDo10IgatuJIePLn5QU=; b=uFmykK5/OFUjJ4TdWuXs+9j9661/Jwh7fNwcEn04MYvcTenkcCFEKgW7XUbypo0erX zUp/FqgsE1ZWO0+uQ5hrdaCZdraGQX3UEn1EMQj+fKyTa5lnsougEellrXYtrkGG49hx Y47vR/ED6TlGMZTaNT3RXP0xKwXrhn8ZuvtMueb1LmuAMXoaex7yxIu1ADgVzo0Of+Wh 1TG6mSdXM/gWC/IoYhX5KJ1qOt21qZ8CFl9ui6xj7ZGO3sTL6vPIlolU928LNfkYxh8V GuN6n8J3+Ofk9pob5P/Ok3HZk2wxGRE7gjkSUb0cAy+nZmYAGhctlkD3PFNTjgBM3d66 G6wg== X-Gm-Message-State: AGi0PubjhNttKVQ6imLJnGK5DDnfzlwPEIOyglpOF/aOxoHA9bhgd+7r daSCTreMaRtarbO+K9vnoXs= X-Google-Smtp-Source: APiQypKQueQT8ZMI9JnPq3z4u6/W9TbWbCpMpxaHAnhXnWaZN7grXRuqK9n2P2wUP5BPCur6rCivdQ== X-Received: by 2002:a5d:6785:: with SMTP id v5mr4738957wru.376.1587143309289; Fri, 17 Apr 2020 10:08:29 -0700 (PDT) Received: from localhost (pD9E51D62.dip0.t-ipconnect.de. [217.229.29.98]) by smtp.gmail.com with ESMTPSA id l5sm8318280wmi.22.2020.04.17.10.08.27 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Apr 2020 10:08:28 -0700 (PDT) From: Thierry Reding To: Lee Jones , Rob Herring , Alessandro Zummo , Alexandre Belloni Cc: Jon Hunter , devicetree@vger.kernel.org, linux-rtc@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 1/3] dt-bindings: mfd: Document the RTC present on MAX77620 Date: Fri, 17 Apr 2020 19:08:23 +0200 Message-Id: <20200417170825.2551367-1-thierry.reding@gmail.com> X-Mailer: git-send-email 2.24.1 MIME-Version: 1.0 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org From: Thierry Reding The RTC present on MAX77620 can be used to generate an alarm at a given time, which in turn can be used as a wakeup source for the system if it is properly wired up. Document how to enable the RTC to act as a wakeup source. Signed-off-by: Thierry Reding --- .../devicetree/bindings/mfd/max77620.txt | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/Documentation/devicetree/bindings/mfd/max77620.txt b/Documentation/devicetree/bindings/mfd/max77620.txt index 5a642a51d58e..f05005b0993e 100644 --- a/Documentation/devicetree/bindings/mfd/max77620.txt +++ b/Documentation/devicetree/bindings/mfd/max77620.txt @@ -125,6 +125,17 @@ MAX77663 supports 20, 40, 80, 160, 320, 640, 1280 and 2540 microseconds. control) then, GPIO1/nRST_IO goes LOW. this property is valid for max20024 only. +Realtime Clock +-------------- +The MAX77620 family of power management ICs contain a realtime clock block +that can be used to keep track of time even when the system is powered off. + +The realtime clock can also be programmed to trigger alerts, which can be +used to wake the system up from sleep. In order to configure the RTC to act +as a wakeup source, add an "rtc" child node and add the "wakeup-source" +property. + + For DT binding details of different sub modules like GPIO, pincontrol, regulator, power, please refer respective device-tree binding document under their respective sub-system directories. @@ -159,4 +170,8 @@ max77620@3c { maxim,fps-event-source = ; }; }; + + rtc { + wakeup-source; + }; }; From patchwork Fri Apr 17 17:08:24 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 1272329 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=Lu3Lo0Gl; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 493jGq3d6Lz9sPF for ; Sat, 18 Apr 2020 03:08:35 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728723AbgDQRIf (ORCPT ); Fri, 17 Apr 2020 13:08:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60072 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727913AbgDQRId (ORCPT ); Fri, 17 Apr 2020 13:08:33 -0400 Received: from mail-wm1-x343.google.com (mail-wm1-x343.google.com [IPv6:2a00:1450:4864:20::343]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BA557C061A0C; Fri, 17 Apr 2020 10:08:32 -0700 (PDT) Received: by mail-wm1-x343.google.com with SMTP id v8so5398653wma.0; Fri, 17 Apr 2020 10:08:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=8q8NmYubJY4+KdZO7S+jhcJYKm2n8n4KmwaTPGy68WA=; b=Lu3Lo0Gl/upDatKbC2xfDfz+fVfny7MnW72qQI2FOHqajpRtPyjqS17VnaPXinm6zh vVONvr+kC6TIWlMd5E0AydaI5EQyouCFnrCU5k3lG7U066TL9TUBgjh5xArbLJn6uAT9 BoFeVqI3quCnIlfKUSa7Q/0NIoaSM37raXrfonbz85Q3bSKtqq05OxYfypZOo0vw/7as WK49OWm7GnrQ708BLzqPmpbs4+93+Wi59pJcW9jiK2C+KeHGo6hQ/Ofvd68okcUoHQpi PdBcqU6eBd33EWDXPJKikE+VpgWYZxpz8exTBW1ivrfYpTuxf/tyvNIZLRfI2EGa+y2r enuw== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=8q8NmYubJY4+KdZO7S+jhcJYKm2n8n4KmwaTPGy68WA=; b=hfNSQ/0MDklGkXrYaTh5P6OQlEe1x5ZKf2NViINEJZ2J9Q6xfRPvAro+LK/aiR7C27 fwuOqesxFAIZe1upoALLKm9BNRd/0DRFOlRBXRitUJAUwlYRpdLxY5spoWg7J1C/rast gxGyfZcF4HJ7SC65/8jhmZB5z6UH4eLpswpK+flgqCUBZxq+d8lsOwJUam/mz0gVvEDz MeUNHjJXGDLhAMSZ/W4uY/FB8I4eKEw4wBquR3f477QErEqKrkqVyzUaWpcN4GfFCVx9 d+LstJXKorRxoX5imEbkJNzMojcdFYy2PLEHUPmrqr/PyFreOfZhhzvt+fdTom5sUc7X 3wUA== X-Gm-Message-State: AGi0PubCn+9uSMvi3U0tm6EFeOu205kdUmuaYrsccFd6C2VcnYqEM+W/ Oe5SEDMWlw6/Gw1A0z7bKLI= X-Google-Smtp-Source: APiQypKBaevAWvJ6zvlqCNBU+d1ivgTvNeLsUakVcAeM+o089fkuaYBUEwKdgn4/059S5SsTGdtDXg== X-Received: by 2002:a1c:3dd6:: with SMTP id k205mr4369017wma.138.1587143311482; Fri, 17 Apr 2020 10:08:31 -0700 (PDT) Received: from localhost (pD9E51D62.dip0.t-ipconnect.de. [217.229.29.98]) by smtp.gmail.com with ESMTPSA id a1sm23476779wrn.80.2020.04.17.10.08.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Apr 2020 10:08:30 -0700 (PDT) From: Thierry Reding To: Lee Jones , Rob Herring , Alessandro Zummo , Alexandre Belloni Cc: Jon Hunter , devicetree@vger.kernel.org, linux-rtc@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 2/3] rtc: max77686: Make wakeup support configurable Date: Fri, 17 Apr 2020 19:08:24 +0200 Message-Id: <20200417170825.2551367-2-thierry.reding@gmail.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200417170825.2551367-1-thierry.reding@gmail.com> References: <20200417170825.2551367-1-thierry.reding@gmail.com> MIME-Version: 1.0 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org From: Thierry Reding Use the standard "wakeup-source" device tree property to determine if the RTC can act as a wakeup source for the system. Note that the driver by default always assumes that the RTC can act as a wakeup source, but whether it can really do so or not always depends on how it is hooked up. In order to preserve backwards compatibility with older device trees, only parse the "wakeup-source" property when a device tree node was associated with the RTC device. This doesn't typically happen because the top-level MFD driver doesn't list any compatible strings that can be used to map child nodes to child devices. As a fallback, check if a child node named "rtc" exists and use that instead. Signed-off-by: Thierry Reding Acked-by: Jon Hunter Tested-by: Jon Hunter --- Note that we could obviously add support to the MFD driver to match subdevices to their device tree nodes by compatible string, but there are side-effects, such as the driver core complaining about the lack of a DMA mask for these devices. That in turn could also be fixed but it ends up all being rather hacky, so just looking up a child node by name seems like a good compromise, especially since there are already such subnodes for some of the other subdevices of this PMIC. --- drivers/rtc/rtc-max77686.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/drivers/rtc/rtc-max77686.c b/drivers/rtc/rtc-max77686.c index d5a0e27dd0a0..35fd74b83626 100644 --- a/drivers/rtc/rtc-max77686.c +++ b/drivers/rtc/rtc-max77686.c @@ -722,6 +722,8 @@ static int max77686_rtc_probe(struct platform_device *pdev) { struct max77686_rtc_info *info; const struct platform_device_id *id = platform_get_device_id(pdev); + struct device_node *np = of_node_get(pdev->dev.of_node); + bool wakeup = true; int ret; info = devm_kzalloc(&pdev->dev, sizeof(struct max77686_rtc_info), @@ -746,7 +748,21 @@ static int max77686_rtc_probe(struct platform_device *pdev) goto err_rtc; } - device_init_wakeup(&pdev->dev, 1); + /* + * Only check for the wakeup-source property if there's an actual + * device tree node for the RTC. If no device tree node had been + * attached during device instantiation, try looking up the "rtc" + * child node of the parent's device tree node. + */ + if (!np && pdev->dev.parent->of_node) + np = of_get_child_by_name(pdev->dev.parent->of_node, "rtc"); + + if (np) { + wakeup = of_property_read_bool(np, "wakeup-source"); + of_node_put(np); + } + + device_init_wakeup(&pdev->dev, wakeup); info->rtc_dev = devm_rtc_device_register(&pdev->dev, id->name, &max77686_rtc_ops, THIS_MODULE); From patchwork Fri Apr 17 17:08:25 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Thierry Reding X-Patchwork-Id: 1272330 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org (client-ip=23.128.96.18; helo=vger.kernel.org; envelope-from=linux-tegra-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256 header.s=20161025 header.b=NXoAHHZi; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by ozlabs.org (Postfix) with ESMTP id 493jGy0Bj7z9sSM for ; Sat, 18 Apr 2020 03:08:42 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728763AbgDQRIf (ORCPT ); Fri, 17 Apr 2020 13:08:35 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60080 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728556AbgDQRIe (ORCPT ); Fri, 17 Apr 2020 13:08:34 -0400 Received: from mail-wr1-x442.google.com (mail-wr1-x442.google.com [IPv6:2a00:1450:4864:20::442]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6B469C061A0C; Fri, 17 Apr 2020 10:08:34 -0700 (PDT) Received: by mail-wr1-x442.google.com with SMTP id k11so3903581wrp.5; Fri, 17 Apr 2020 10:08:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=KvsoRNaIPMpQAi34tFrpdDPuh9TmP9Et+cVWafVFTlM=; b=NXoAHHZivibzY4yLgrYyRGMeRigrfaFJn6RcnnC6TiQoW2w8Zh2nPgZcOyN2RV+XqP Q6ztj+Trlj1Qlk+Qx8ire2OlXys/jqrOdHPzzTML9oWz7pyz667kMojzdH76bq8P05DZ 2mxLP6HvQz6Jtn3AaA40ZvVCc0/0SM9NLecxExIsHO8mtHZwwqv0FA2e3lhEh0qOrC1E 7BN5vByv9s5bpfg05DqbBqPnuJ8VmlFnepygSgREONlycbbE0ILpAmrE5kCdlOjdALyS TprgrtlXnpWqrg78lYEq/LLBDSmazQX8iLmoCU6radzCKe8E+JBS02hAm5Qwq3p7ro3E 0JEg== 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:in-reply-to :references:mime-version:content-transfer-encoding; bh=KvsoRNaIPMpQAi34tFrpdDPuh9TmP9Et+cVWafVFTlM=; b=sF9ch2D8QOVd8mr5k2PX0d0tY9IpBHH7PKbL1yE3r3uXNemrADVYSMpxNRC+9rQZ1a UVV0l6l94SG9YTl6pb3gKl0N61ghLhBRgCM7XfoXiV+5anyM6FlppYDVx091IJxmwk0n kJSyARFt1yJLC+8lIv2Fj39c+GdkAroPlP/8mCMHO0EVGpVgnxFKu/EM8WEei3s5yc1f AImhYehzlgAaaAS6prQhF7W8gnpFaqWaYe/eVs6dKz2qmj3WGT9QjzOA9jrl/5X87Vdm ltlmNnq1HU9X5oYkdUBB7kNFlu3zW64RCHALBEuICHVGJBL5GHDOc8v/wK/Wty32d+Vz rxDQ== X-Gm-Message-State: AGi0PuZXkQY0+VKfFLHTTXMyWl4/1Yq19vLi67wbwFgZx6QEzuHFHWrS fi8HzZM3m2Dpmuibxln/rR4= X-Google-Smtp-Source: APiQypKgdT2gpDqOCdnzwUylz3VALkrAqFxBj0ZFndhgeiSg4ua55X8ZE1TIMBymhr+yqIxnbACHGQ== X-Received: by 2002:a5d:49c3:: with SMTP id t3mr4659554wrs.94.1587143313191; Fri, 17 Apr 2020 10:08:33 -0700 (PDT) Received: from localhost (pD9E51D62.dip0.t-ipconnect.de. [217.229.29.98]) by smtp.gmail.com with ESMTPSA id a7sm8419517wmj.12.2020.04.17.10.08.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 17 Apr 2020 10:08:32 -0700 (PDT) From: Thierry Reding To: Lee Jones , Rob Herring , Alessandro Zummo , Alexandre Belloni Cc: Jon Hunter , devicetree@vger.kernel.org, linux-rtc@vger.kernel.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 3/3] rtc: max77686: Use single-byte writes on MAX77620 Date: Fri, 17 Apr 2020 19:08:25 +0200 Message-Id: <20200417170825.2551367-3-thierry.reding@gmail.com> X-Mailer: git-send-email 2.24.1 In-Reply-To: <20200417170825.2551367-1-thierry.reding@gmail.com> References: <20200417170825.2551367-1-thierry.reding@gmail.com> MIME-Version: 1.0 Sender: linux-tegra-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-tegra@vger.kernel.org From: Thierry Reding The MAX77620 doesn't support bulk writes, so make sure the regmap code breaks bulk writes into multiple single-byte writes. Signed-off-by: Thierry Reding Acked-by: Jon Hunter Tested-by: Jon Hunter --- drivers/rtc/rtc-max77686.c | 22 ++++++++++++++++------ 1 file changed, 16 insertions(+), 6 deletions(-) diff --git a/drivers/rtc/rtc-max77686.c b/drivers/rtc/rtc-max77686.c index 35fd74b83626..f53db4d6bead 100644 --- a/drivers/rtc/rtc-max77686.c +++ b/drivers/rtc/rtc-max77686.c @@ -78,6 +78,8 @@ struct max77686_rtc_driver_data { int alarm_pending_status_reg; /* RTC IRQ CHIP for regmap */ const struct regmap_irq_chip *rtc_irq_chip; + /* regmap configuration for the chip */ + const struct regmap_config *regmap_config; }; struct max77686_rtc_info { @@ -182,6 +184,11 @@ static const struct regmap_irq_chip max77686_rtc_irq_chip = { .num_irqs = ARRAY_SIZE(max77686_rtc_irqs), }; +static const struct regmap_config max77686_rtc_regmap_config = { + .reg_bits = 8, + .val_bits = 8, +}; + static const struct max77686_rtc_driver_data max77686_drv_data = { .delay = 16000, .mask = 0x7f, @@ -191,6 +198,13 @@ static const struct max77686_rtc_driver_data max77686_drv_data = { .alarm_pending_status_reg = MAX77686_REG_STATUS2, .rtc_i2c_addr = MAX77686_I2C_ADDR_RTC, .rtc_irq_chip = &max77686_rtc_irq_chip, + .regmap_config = &max77686_rtc_regmap_config, +}; + +static const struct regmap_config max77620_rtc_regmap_config = { + .reg_bits = 8, + .val_bits = 8, + .use_single_write = true, }; static const struct max77686_rtc_driver_data max77620_drv_data = { @@ -202,6 +216,7 @@ static const struct max77686_rtc_driver_data max77620_drv_data = { .alarm_pending_status_reg = MAX77686_INVALID_REG, .rtc_i2c_addr = MAX77620_I2C_ADDR_RTC, .rtc_irq_chip = &max77686_rtc_irq_chip, + .regmap_config = &max77620_rtc_regmap_config, }; static const unsigned int max77802_map[REG_RTC_END] = { @@ -658,11 +673,6 @@ static int max77686_rtc_init_reg(struct max77686_rtc_info *info) return ret; } -static const struct regmap_config max77686_rtc_regmap_config = { - .reg_bits = 8, - .val_bits = 8, -}; - static int max77686_init_rtc_regmap(struct max77686_rtc_info *info) { struct device *parent = info->dev->parent; @@ -698,7 +708,7 @@ static int max77686_init_rtc_regmap(struct max77686_rtc_info *info) } info->rtc_regmap = devm_regmap_init_i2c(info->rtc, - &max77686_rtc_regmap_config); + info->drv_data->regmap_config); if (IS_ERR(info->rtc_regmap)) { ret = PTR_ERR(info->rtc_regmap); dev_err(info->dev, "Failed to allocate RTC regmap: %d\n", ret);