From nobody Thu Apr 2 18:53:50 2026 Received: from mail-wr1-f48.google.com (mail-wr1-f48.google.com [209.85.221.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 6007E38B7B8 for ; Thu, 12 Mar 2026 08:53:37 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.221.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773305619; cv=none; b=Iw50STso39tJ9YC7xRCHw94SSpdItVOlSguGjlDD1naQYAwf9Deq+v7lZmvB8uYtNZurPpKQv9DLji9bJqjEJKlpTpZUY3wQGgLNg4Wc7q+XbOg2yxrcB1LD9UvHDltePyB3xfDXWtcAwaz5RxhYTtssYnFDvZPM6NCb/ogiFno= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773305619; c=relaxed/simple; bh=OCqMqTV3Fk0GHlGjVJ0UFzNI1DHV1XFUgzJgSRR9AZA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=MPRrwcD96+BTRcBxrd0EzpElM170k3TErKDo/9/M7iPvPKZjX/RHa1MUWUmNIp+fVqOnM+DRTy91jbKkWajDnTpWI48bacawPpcIlND8WzV853b8j8jJooqvOqQtWAqEfCwzkdctw281wABFYhREtdxtlf4ouW7Q2/2bCuwp5hA= 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=O5x3kQ7m; arc=none smtp.client-ip=209.85.221.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="O5x3kQ7m" Received: by mail-wr1-f48.google.com with SMTP id ffacd0b85a97d-439c56e822eso795039f8f.2 for ; Thu, 12 Mar 2026 01:53:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773305616; x=1773910416; 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=O5x3kQ7msFNDjWpbWi8Fq2jQgBplW7GX6/rbZs7RuX+srufoy0h4ikXCbbpKINbGs6 04DUlWvgI4EFP5MXdujfh1Fu6u1x84tByc5cXoF7tll3+iuw+WzMh/bA3TP1rE7bFQ8F G5Toa7k32shC2Nxw8/rlMPEE+WlTsaWhC8hI2s0NZ4pHZkKo4H9kSud5b6Q8z2Q5CXGK rlq6Rh5PY3lhqavFk0mdle4fg/wFDWSErXeftNETUG81ERSj1CT6bPXF1GnOydOJW4ky tU49grRSNu76K94iVgjmZ9mEy3eZkJLGMec1r/EdA9/FiFXzy7HlaprbDHkElKzUC2It DO4w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1773305616; x=1773910416; 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=QDTGVYlpka2n+ydveFBsk5Su7qgksx0vzF4U7bJrBbKBFmrT1YSWtqA3vVvuSMk9kS /p205Rh3euxIjoaHBmAwLHSyOIso2Ke99qkhdFotR86tLa+YHX5CdRtJiyh4l6AQi0+I KDM63urpzoWs/qalBZ/ZSO8s+0fDMvX5K53zDLSjdSHB8h7RqwMuH9kHypjHaG8bUSSw sz/rb2aS6uYXj52QwAfsi/CXwGsvkIldgyIbbV6Ih61HE2z+soG3W5B5lC5pU9PkwB/6 4Bw9RSXNFWlBk7XLcZNoZ/hXEwNeZNaYVGfrzeLVjoBqIqfU5CLBao3EiQvMIK7/FprJ jFJg== X-Forwarded-Encrypted: i=1; AJvYcCVJovkcAP4D9+Q4iyW+ife5AQeMbeoaqGaEa6uvXPUWu2zgRzpApZngg5uNwJBgKXERK+TaKZmbwOH7ujc=@vger.kernel.org X-Gm-Message-State: AOJu0YzLY+LHpSo/+Sh5aKM1HamS/gNzO3+bi+aPhZLjuWqBqYzcH9bG YnpR1S0Rhi1gOWHiSW2NGlAdoQEJ55WNk/Im2p0wHfMQaIglx7aU0yuB X-Gm-Gg: ATEYQzxfBJmlWzgMwipbrDyWxN9zr2NhtVFiUE2Ju6XJvyrY5nZb3SGYryqqNi9CiOr 10izj/5aAkRsa98akZbtLte+JRpN/4UelorhJxr6mb8GwgGkUxd2nmHXYzKTVKx7+WU0kWcBKyY Hnh1jIGGMKipyhM1n3+zPlAVGJ9eUFCP8LWSopYNh46I91J4a2oKPtly5VzAPIP7sVnFz6lLx2y gll2AkfckoxLxMX290s9fzY3axypq/RDIN2r9WaVGbi3EKDFsChvtWyCgLQ3gNCskLWGaLfiJ8K zhvqFfKe+fwjTEQMNk10M9t7q6XUsigrvwBNZNKLTHAObZ61GpqjLzu2tV1ZCnfsQVRzthr7Dak hgp0bY0NSqGL9BM2L1jc7EYvnYgrRQ8EAUjVScBXhuFxr6n56RZ6q7COW0QqPBamV6kdw9sglw7 Nm9fpVs2L9ow/x X-Received: by 2002:a05:600c:4fd6:b0:477:5b0a:e616 with SMTP id 5b1f17b1804b1-4854b0a555dmr91969175e9.5.1773305615537; Thu, 12 Mar 2026 01:53:35 -0700 (PDT) Received: from xeon ([188.163.112.72]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-439fe226473sm5449162f8f.32.2026.03.12.01.53.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Mar 2026 01:53:35 -0700 (PDT) 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 v4 5/5] rtc: max77686: convert to i2c_new_ancillary_device Date: Thu, 12 Mar 2026 10:52:58 +0200 Message-ID: <20260312085258.11431-6-clamor95@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260312085258.11431-1-clamor95@gmail.com> References: <20260312085258.11431-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