From nobody Sat Apr 11 12:21:00 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 71B3A30EF9A for ; Fri, 6 Mar 2026 13:34:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772804066; cv=none; b=EwOAvxnuNMg3XqwOauwSzPBxcOoc9rfFtgzKDlw0RNwun4CD8NiplCZYhU0kFkILp04rklKiTzQD4Gr5nXqm1a7ZJL8jODvk/epuWElm/f6AbTBOyaTEwJYE69NcwgBrCpY63TNeBgwpt5uKRE38i5+1lGsXQeBVxilAf5oeado= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1772804066; c=relaxed/simple; bh=OCqMqTV3Fk0GHlGjVJ0UFzNI1DHV1XFUgzJgSRR9AZA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=f71EEh0nErhqIuFLpilnatWJD4zVbRPLKHzu+HcwPtUiELyzjEV/GIl0ZiUqnmGdGMiLDSlSTpDJozY9coymN6MGZmDI4mWATc1Vu/a8kzBF9HhbkHWp7TRUuvg62xE3Q5YuSOtq7iJXBJpIF1T3DXUwR93BSdKU2aTRLX3qJew= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=RARZgury; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="RARZgury" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4836e3288cdso62616615e9.0 for ; Fri, 06 Mar 2026 05:34:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1772804063; x=1773408863; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+87770G0UGJrf+jBGNAZwy7BjuGZ53X0m5gpUF71N68=; b=RARZguryO4ErVuxUbv/YdeAplJY3bpibccbpThpiYNLNRwG17J7VE6S8BWBeHmR2+Z QsOd/YFpG1NSzx10htZk3tk8pUE/2MddazrvFOOLieHn2F6YNNttrGzAhaDvKrSsACus 2Rj064GoDsgbyztWp/zEtYSfDc8UiE/zZw4FoPjuMWPyyjcIJYN6tde83x4mzxO74EWl WBMUFcdgoyX2O/zOHO/ThiSqt4QpT3XTwKV8psQdwGA9k6LlGtTF3vAvuagO0l93VjZj xGS2eS66/n/N2fpWR6P80IDA1IIwgAsEKk1rlE68oEO+iOlJ4k4SFwm1QSppgwgEvou1 l5ww== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1772804063; x=1773408863; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=+87770G0UGJrf+jBGNAZwy7BjuGZ53X0m5gpUF71N68=; b=UCfGiBCc0UJ7rHt0JsbxF9DmtcC9WzP1NtN3YeSENaeihy6f7s+Bit8qy5uLrZq5Pw 9XJ4/NaeXyvHT7C7cS5jAqxsDfcP/5MQpXbB75KJox0MClyL9HwDKF7I1lbar+VzUBsB xoh5Bd7v72rCgpj7bV69ER78OqBxwjJDMxtQTvqeftOhfKlflH0YXpljaP0KYFYq+xr2 XPN3cxY8CGt0THnlZcA8VKh2FQqHIoFw5VTfJ2wCW+1y6pbdhfnjoOSqjwfM9friMZ/R RgSzyfDqf6xCLYKuTHEdPKKx2J0Obu0+iM+oXZB3h+4y/l6xSq1Eq4LM7NNIENlQkhJm hzqw== X-Forwarded-Encrypted: i=1; AJvYcCWPRNY9hrdWd9e2SfK4nCzyY82+qANV3FopKyOWOoEv2maXcAx60dFQf3GJHzvlJAPEQf4xUfynD3VHPuM=@vger.kernel.org X-Gm-Message-State: AOJu0YwAWcHfIBRbYG9qzgif1lc6TsBrpbwd3jmnEIRcHF/H8gxsffCX 6fkdap7edJtyWmOvN96gpzSF3trsk1hpWdxucQW1+1Maa5a0mvnW081S X-Gm-Gg: ATEYQzzWKeAHiP3MYMV+sKceuxuJdb2MDh5syD7PD8zX8qW0oYLHAXuqxWufO1G5aZL /Jf5coqtqRYk0crqwd1OE2weIUVVjW3kiuHJm3sr3YCm5cHIwAsFVyYiHH93mKvMvG9Vqn5iSL1 RLYB+C6RcxAV6eGjXc+kRYTjg3xyKRO8Djb5Fk7EV9iqgeQQ/ViVvPESLnXCLifw8HkFT8j5ZAZ 9tmsKI2LUq1x0vUuqyYi6WFw1GaAC34mOFiNeiyzhgCHqXX8uWfyGq1JGFWHAOJgmJ7UGlwTzSs 8+NbEA3qSlAoHyt03zwrzTTdaz02sJWekGcMT5/9UbwJwVnde6BT3Q87Xa01q8TfQkWyIlJVGei xxCbGVvkAX54D+gSEA80nl1brEX2gwtN5ZJyW+7EHlu0RGbbXDb3cKq8iGknenQuxORwoDjdcFF ZColh3maJ7cMvy X-Received: by 2002:a05:600c:3147:b0:481:a662:b3f3 with SMTP id 5b1f17b1804b1-4852671cbebmr31770145e9.7.1772804062705; Fri, 06 Mar 2026 05:34:22 -0800 (PST) Received: from xeon ([188.163.112.72]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48527681a3esm80856735e9.4.2026.03.06.05.34.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 06 Mar 2026 05:34:22 -0800 (PST) From: Svyatoslav Ryhel To: Linus Walleij , Bartosz Golaszewski , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Lee Jones , Liam Girdwood , Mark Brown , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Chanwoo Choi , Alexandre Belloni , Svyatoslav Ryhel Cc: linux-gpio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pm@vger.kernel.org, linux-rtc@vger.kernel.org Subject: [PATCH v3 6/6] rtc: max77686: convert to i2c_new_ancillary_device Date: Fri, 6 Mar 2026 15:33:51 +0200 Message-ID: <20260306133351.31589-7-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260306133351.31589-1-clamor95@gmail.com> References: <20260306133351.31589-1-clamor95@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" Convert RTC I2C device creation from devm_i2c_new_dummy_device() to i2c_new_ancillary_device() to enable the use of a device tree-specified RTC address instead of a hardcoded value. If the device tree does not provide an address, use hardcoded values as a fallback. This addresses an issue with the MAX77663 PMIC, which can have the RTC at different I2C positions (either 0x48, like the MAX77714, or 0x68, like the MAX77620). The MAX77620 value is used as the default. The I2C position of the MAX77663 is factory-set and cannot be detected from the chip itself. Signed-off-by: Svyatoslav Ryhel --- drivers/rtc/rtc-max77686.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/drivers/rtc/rtc-max77686.c b/drivers/rtc/rtc-max77686.c index 69ea3ce75b5a..3cdfd78a07cc 100644 --- a/drivers/rtc/rtc-max77686.c +++ b/drivers/rtc/rtc-max77686.c @@ -686,6 +686,11 @@ static int max77686_rtc_init_reg(struct max77686_rtc_i= nfo *info) return ret; } =20 +static void max77686_rtc_release_dev(void *client) +{ + i2c_unregister_device(client); +} + static int max77686_init_rtc_regmap(struct max77686_rtc_info *info) { struct device *parent =3D info->dev->parent; @@ -713,12 +718,17 @@ static int max77686_init_rtc_regmap(struct max77686_r= tc_info *info) goto add_rtc_irq; } =20 - client =3D devm_i2c_new_dummy_device(info->dev, parent_i2c->adapter, - info->drv_data->rtc_i2c_addr); + client =3D i2c_new_ancillary_device(parent_i2c, "rtc", + info->drv_data->rtc_i2c_addr); if (IS_ERR(client)) return dev_err_probe(info->dev, PTR_ERR(client), "Failed to allocate I2C device for RTC\n"); =20 + ret =3D devm_add_action_or_reset(info->dev, max77686_rtc_release_dev, + client); + if (ret) + return ret; + info->rtc_regmap =3D devm_regmap_init_i2c(client, info->drv_data->regmap_config); if (IS_ERR(info->rtc_regmap)) --=20 2.51.0