From patchwork Fri Apr 11 12:35:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Mergnat X-Patchwork-Id: 14048345 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id D0A35C36010 for ; Fri, 11 Apr 2025 12:43:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=jM702IHJZgWY+bz6KCTgaeHyuuKyyx07sXK0MSiTh1k=; b=TCdiUu5ABnxIpyM+RnlkaoBO6f 56YptBRhwjSQQyfgluvcnm0iqf0MiASFlSDWQq+pLZY4R+14MAnvvGvhOUlSgB1MQoi/lQHEL0rmF qSbDSDtW+0nO2Ieg2B0mkl/rCMbCjAJSJVKfo9HDvVCbXQ5dLVf3I21JaGKawl++o7SiUitES2+lS Jq5S8Ld4070OwqXO+EAlXfSHVurB72EUMF+nE2tmc7o/ZTDdGRESEa55+0IiIaj+MEOrgJ5BqObmL 3FYletaGKAkoLlJXDCCM61CdDnaUiPhUIPE2lwpmBV8sPXN6gRoKnAkmoFq+s45i7XwW5RcbFCo83 JaIVzJOA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u3DjW-0000000Dmfr-3f2R; Fri, 11 Apr 2025 12:43:46 +0000 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u3DcT-0000000DlE8-15Dl for linux-mediatek@lists.infradead.org; Fri, 11 Apr 2025 12:36:30 +0000 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-739be717eddso1441327b3a.2 for ; Fri, 11 Apr 2025 05:36:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1744374988; x=1744979788; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=jM702IHJZgWY+bz6KCTgaeHyuuKyyx07sXK0MSiTh1k=; b=Y5UBk9uTo2gbjABcC6U6Xn99numHPfDC836nOtG6Sr8Jg+7JrL24wpnOdikKLTSBju 2raYsh5LxtYq+47NX0tm3bMW+dv3mqUokBkPIvzYe6o5N8s1dokUlNKd70LrnL8lb3YI k+njEIB9Hi9PrYOYmicEsYOb4fuW5Tb5fGhiMI6Zgi3JBjvSjskNtZHIeNHW2rdh1rt9 pkAJUCKVC/+DkXYEuGJiEQrn47PfEMjq3q0niKuzQ3WFmmlDRT7nEar25+Ug3sPEm/zO 7nGr4gch2qXDXgL4bFJjeFWj0tqRQU85fLGyQQ1N/NlJyG7oBnckXQswOHNni+rP5klr +IOg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744374988; x=1744979788; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=jM702IHJZgWY+bz6KCTgaeHyuuKyyx07sXK0MSiTh1k=; b=p7KokTlEhRIYMBYst+RTecAOZITv9UhUZK5Cw6KyhiHYph0QNQ9t0Gf2gWGi9S66sh LHQzYr8U13W6fZnjT88O7bPxRKKvcNHG/Od5IOSP3dHtrdvUDipi6sc+eR+e97TIXPtk K58WiLdpUduxxfa4pk0+UQINVns/mqENhzYNvoYmeoHtkGUuqC6izaFTQ1qrrVrnSjcA GO3C+gFqYXayO6/PFBmcfFI+a1fN9yqDt/p7xujSBj0x4MR/ZJ6c73qKvw2mhWzI6y15 fS7iqCE0F1m/3saQTvo8HrZRbC25Ufxz/DUy0bFBFsUrVqgqD7G3KrlLB2fuk55tJmtc 0Hfw== X-Forwarded-Encrypted: i=1; AJvYcCWAKKNlj7PVE4DvgWj8tqX0OjYWXejfXolREyzhTYY/h4floAfIuWjQuF8Kj4WymkivPLTxTLtfbceQVChDYw==@lists.infradead.org X-Gm-Message-State: AOJu0Yw+Tv5yAD6tVMH4uruJKJap+R9Nvu9V9WmJiH6ZaINTsLDE4Vd5 keOtTkYp6+f5nN8Ret3xs+NND/9fKlFJrYgVH3TOwHli5s9oPX/QLSt/ytCqThw= X-Gm-Gg: ASbGncsET5ZAFVtGPFDizewvOfQreYLOIjiUl6ejWejT8OwEs4bX/faReSzUGMHi930 p4dv9qGpMuy1m+w8fu8cNq6uUdg77XnScfdF783Q6r08T/Xa2v0hqViK3OQjJXNRHj6nEQ3z/T0 cMR+juL3JskSLtTwVKDBR2y92A5eJCdSUy8HNxpxOI+ulpJSj1Hox3lxK18g3+inQbLqlIrcAc2 MF8a3B/9TX9AuVE5EMG8mwTOiEKiwSSmqoOh9kdq2EnhMPCV62yywtQxcx4bi1U41UQU85PMxgO NnqgiszkV9xCT1RugEJn3tpTqMEyqUAWSTEDThqrVcQ= X-Google-Smtp-Source: AGHT+IHQwIeS61ZHw7ELcaetMk1hxBxZhzt/gB3vL7AAjlG4usbaBhvHS6AeD5lvUMBQjtxiLN9JMg== X-Received: by 2002:a05:6a20:2d0e:b0:1f5:6b36:f574 with SMTP id adf61e73a8af0-201799908cemr4162219637.38.1744374988404; Fri, 11 Apr 2025 05:36:28 -0700 (PDT) Received: from [127.0.1.1] ([2a01:e0a:5ee:79d0:cf9d:bb30:5951:692]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-73bd22f8253sm1408292b3a.93.2025.04.11.05.36.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Apr 2025 05:36:28 -0700 (PDT) From: Alexandre Mergnat Date: Fri, 11 Apr 2025 14:35:54 +0200 Subject: [PATCH v3 1/5] rtc: mt6359: Add mt6357 support MIME-Version: 1.0 Message-Id: <20250109-enable-rtc-v3-1-f003e8144419@baylibre.com> References: <20250109-enable-rtc-v3-0-f003e8144419@baylibre.com> In-Reply-To: <20250109-enable-rtc-v3-0-f003e8144419@baylibre.com> To: Eddie Huang , Sean Wang , Alexandre Belloni , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-rtc@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Alexandre Mergnat X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=888; i=amergnat@baylibre.com; h=from:subject:message-id; bh=kapZgj+SJrEW/7vg45el3XbqPXPyGqqzv8dsBko1XSY=; b=owEBbQKS/ZANAwAKAStGSZ1+MdRFAcsmYgBn+Qy+TYlfRYrK9qBDtMoT67TK2uUDW65YoKt+VK8q GnOGMrmJAjMEAAEKAB0WIQQjG17X8+qqcA5g/osrRkmdfjHURQUCZ/kMvgAKCRArRkmdfjHURR2DD/ 4yLxGKl9OOCFSJeMkLVMWu8AstKcIkMWXfnsYBqGiG0y70mV141mnz9uA1Wc0q0e436oYHlfRwILuj 8vaI3DBOZWPdM/vUXhxbr06wjzwcYlTSrvVEQD9mwFWuVcRma8pnf7iinuqfOQAl0xsdZ4vs/gn2// 5Fxxc8ddmo2NGUZlrxrgFhYrn5FZe7ICGucwwYbHE6aJQVKSCv7ndCXIBFUs6hUZ0ZU9a2tPcmOemT WTVdyPhr+e/DT0LtIPnaqlgRaFEepcVsClWO2gD/TNvOoEakEuhUryURlyDJkApbyRme6GolKf4mCG pOT6Tf1mgbrGy1+NfTixaf58L0ePsfbhAUBXYotRpddCYUzbSTjLrFNmT1fpVzSfUvb4Bt6QzarYJC iiSUZwUappYupYyPDSPVV9jq17rxTtlRmXCEdJEjSBUmjaIt+0D2hPmSoJVwG2vhvSk6I99CJpRkKF IGQiqU9unaNRqaO1LK2nUKL9o5OoWDgs8QzyPglItnNxE3AdyMqLysqQENtPq3zEpQJq6QznOFOS5g D5bVbSKVNMxItR+mw5dlkJ5V5UuIleFlsoTvFThtHRjdfUQ5pFM5Pogs7PR435ybYQp7/MZwKStj2L y23u5rPPoMo2O0aFe0vMVu2TUB37HGnrKMbmKoVXX9l61d7LzZQfDbpfD1Bw== X-Developer-Key: i=amergnat@baylibre.com; a=openpgp; fpr=231B5ED7F3EAAA700E60FE8B2B46499D7E31D445 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250411_053629_303585_594517B3 X-CRM114-Status: GOOD ( 11.15 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org The MT6357 PMIC contains the same RTC as MT6358 which allows to add support for it trivially by just complementing the list of compatibles. Signed-off-by: Alexandre Mergnat --- drivers/rtc/rtc-mt6397.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c index 6979d225a78e4..692c00ff544b2 100644 --- a/drivers/rtc/rtc-mt6397.c +++ b/drivers/rtc/rtc-mt6397.c @@ -332,6 +332,7 @@ static const struct mtk_rtc_data mt6397_rtc_data = { static const struct of_device_id mt6397_rtc_of_match[] = { { .compatible = "mediatek,mt6323-rtc", .data = &mt6397_rtc_data }, + { .compatible = "mediatek,mt6357-rtc", .data = &mt6358_rtc_data }, { .compatible = "mediatek,mt6358-rtc", .data = &mt6358_rtc_data }, { .compatible = "mediatek,mt6397-rtc", .data = &mt6397_rtc_data }, { } From patchwork Fri Apr 11 12:35:55 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Mergnat X-Patchwork-Id: 14048346 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1C5F7C369A8 for ; Fri, 11 Apr 2025 12:45:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=3IG4g6G6O5d0C+h1ORyM98qH6q+iKpuRjuLFaymrvAM=; b=sBbssZtJE3lIZfeetaGFMWQlTz YVgAPOJ/5degS1Pd88yxyXIOSLBiOL2y7hatdZrx9Vfaqh8mwwKtDUcs42PkuHc39LY3xuMGpLlax UDmWcIz+ODk/ov2LnVd2gHW6IJ7CI3pnX9pvzKn3PE3ViJJTTtzOqX/7JcVf7VJQ6dboHOdDacda0 JkWEk1ihXJjKxbreox3iYug/dUM+iksqPteoMVh3qIoHh/c6ndumpk48E4gReN5YkAYVFpvCCiATs +OFlcH0L+qCLGTzG9Wr5Cd7tfeGJ2EbfamJ+S0/YBw3SEqhNuhL7dabPj1XJ8LHgr2xqS+9PhhRc2 JFT5XDXQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u3DlJ-0000000Dn2I-0dzY; Fri, 11 Apr 2025 12:45:37 +0000 Received: from mail-pf1-x435.google.com ([2607:f8b0:4864:20::435]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u3Dca-0000000DlHF-3bzD for linux-mediatek@lists.infradead.org; Fri, 11 Apr 2025 12:36:38 +0000 Received: by mail-pf1-x435.google.com with SMTP id d2e1a72fcca58-73712952e1cso1818723b3a.1 for ; Fri, 11 Apr 2025 05:36:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1744374996; x=1744979796; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=3IG4g6G6O5d0C+h1ORyM98qH6q+iKpuRjuLFaymrvAM=; b=yTDRvz0CQlrN/NyReUXdbnAVxw1Y6IYle+vUY/wI74TqFyUnmZUGxG40IjE8CYsp9E XfiofXHSP3GoykiCqjY3mPYluV8QFFXa3mpu8Rja+CYqBQFKducUSppQKHPIvDzGgi86 ARucjeXMkMVGmjL8olCCj8syh2bZyj9zDfmoLITk89uF/FK6zHe/5xxl0bbv0Z6PogPy BAEMb7CGw2gnqERcAeWEMYbM75LHrU83XKaXeN2nRkN2o4G5/4n/wfCI4IioKV5lFYpg Mk3Eq3VWtsZ5PM1DLpjyff95Tjo9J/rxifzlRqYVyJCzvAtQonxCB3mAjvaOW0kH2jRa 6L0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744374996; x=1744979796; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=3IG4g6G6O5d0C+h1ORyM98qH6q+iKpuRjuLFaymrvAM=; b=bHWyCVdRZebYEdyrJwQ3mY/ljaAiF/kMRTeJHIGBwIUiTmu5CLfJoLH3PWBDyxVHDx 5lJwSOdtMxQoXBGrY1HGvmx2MFki1ii2pWbagfL3MzS4eu/JC+KsefVuQJ0TlJAgAYTr gnrThb44raxAuZtNbByPo3uhqV1En69taFgYv/gqWwCQBHNhLacLuMiwzfZ4ETe4vT8A EAgEQlvnWD9WQ37Q+4HyRkaSmDqiYL7l6b+0FsC2BdxUYci+1REKvIXaaiPAsZx8Y4US ARRzESywNMSEk8NZpeO+aVaIIxGcCU4nRnmw5eUUCoqoMILt+ArhawrzByehJBef36tI VTPA== X-Forwarded-Encrypted: i=1; AJvYcCWqBw7invZlr8hwWv17ShWR1fsvoKAHXFR2xTiU3N7eH1WrwBXq7eFnSIipx11VMSTXCu2AhJjX/P49NP18Hg==@lists.infradead.org X-Gm-Message-State: AOJu0Yw2OHyKP4r2Q6KGYmW8y+r3GwlOROqIBhbG9zJZ1BaU7LbHmhTi yZQ6TTuPxnnVzX2a49WbREkoChtHiWcNY3EoleKx2+r55mITGEOB5j5ACbYLlDw= X-Gm-Gg: ASbGncstREbq9f8MUejv/5YsgIKq6YiW4vhkwbKu5G6q9ywx38YQQtp0pmtv6gyBNtD cLKmzLId22TKTAcVp81sDhhoInDMeycmcGern2Wn7zfRtxoYRVNarFuUOO49eiHYiPvY7seli1O Z26RtjDfsrsZXeAkSapd5PhBRoH1MGiIsWJtVXRa+mNKLjG36ceR0MuigazWWZBxhcmBhGCHmjM POEb+k7wYFXa/YwTHZj8ld9JfACgj4PhuSGcO3QnB6aDVnVKfwB+d3dR0Jip6TofVD4HeDaKScL KpiHxXfILzmFe9j2c0PQJs304vVnoaaR5hQEBexS0RY= X-Google-Smtp-Source: AGHT+IFsg0ZCckIXxc+IHljq9KDD7/UlDwl63B9XFgkbLhB3RqdDeYk2J9Ou9a3sdf+9kaQpQwYZGg== X-Received: by 2002:a05:6a20:6f06:b0:1f5:8622:5ecb with SMTP id adf61e73a8af0-2017996f524mr5486935637.34.1744374995986; Fri, 11 Apr 2025 05:36:35 -0700 (PDT) Received: from [127.0.1.1] ([2a01:e0a:5ee:79d0:cf9d:bb30:5951:692]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-73bd22f8253sm1408292b3a.93.2025.04.11.05.36.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Apr 2025 05:36:35 -0700 (PDT) From: Alexandre Mergnat Date: Fri, 11 Apr 2025 14:35:55 +0200 Subject: [PATCH v3 2/5] rtc: Add handling of pre-1970 dates in time conversion functions MIME-Version: 1.0 Message-Id: <20250109-enable-rtc-v3-2-f003e8144419@baylibre.com> References: <20250109-enable-rtc-v3-0-f003e8144419@baylibre.com> In-Reply-To: <20250109-enable-rtc-v3-0-f003e8144419@baylibre.com> To: Eddie Huang , Sean Wang , Alexandre Belloni , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-rtc@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Alexandre Mergnat X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3599; i=amergnat@baylibre.com; h=from:subject:message-id; bh=tyu764S29y/vhFyNtYKo1iTVWCgv8kwvcYIcevIAdQU=; b=owEBbQKS/ZANAwAKAStGSZ1+MdRFAcsmYgBn+Qy+3CiQcNMagXuWDXp22y2fLo6SR/giORhsb2jL j0l2Rq+JAjMEAAEKAB0WIQQjG17X8+qqcA5g/osrRkmdfjHURQUCZ/kMvgAKCRArRkmdfjHURTB5D/ oD+VRGtB9vanDklEZ0FOkM4AmBfEcomkMxEDgrwUagbw2dNBqsBDibhbpl+Sfv8LRErcT0R2SZFxrp RtKYr6GJex551wXHt1dKOuzkiwjjkQGGjkiMz+TiZl8EIkrta/RocTjEfge7N4L6OoD5NaFKz55+jX DvEoKYEFAoRThw2/D2suWlaWpSHLdghBIsl/klG9QtRORclyp3HujfG0tvxr6jVmK/QGyQoCwf+LqW pdAFz9vCGnFBX2sPbt3LKO3Gz8EctYNidjvItdLLiGh35/l+eicEv+l5H/9C/Cxp16Uhbuv4M6M72k V+SnyE6EBtp/M17/nXlLAFGA2FhGXsyTJI1JKiICr9trYFGVONewVdRMfBAAx/LNpVs8Iyhyq6AlUE fptqtoE5GZ5yngSLsMZxYzyPKrfq0Jn1O71MWTQ/oxB/B0YrrAxAaMyzgT0qni9cNCFO6PBHxhyxJ9 3PH3bSZZUTYQLp2hq1tAFWNPWVtTRmareCUcNJ5ICuMxF0cyNOeiR0klJxiUOvVNiob/78WIIkHE77 PDAMkXx5z0Dscs7Vq0qwJflmgG9ccXA8U7czRYuErgYMYtVQYDhMJ6a53gbeMumYFwlK1Z1KGHV+pP KLlRSR1FEgbNLnKO2j53929m8ZuE3EPJHDvWf+VXU1F/cbUYSk27vJnWk4xA== X-Developer-Key: i=amergnat@baylibre.com; a=openpgp; fpr=231B5ED7F3EAAA700E60FE8B2B46499D7E31D445 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250411_053636_910524_9ADD8532 X-CRM114-Status: GOOD ( 18.66 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Linux RTC subsystem's time conversion functions couldn't properly handle dates before January 1, 1970 (negative time64_t values). This affected offset calculations, causing incorrect time translations for RTCs with pre-1970 base years like those using a 1900 epoch. The original rtc_time64_to_tm() function produced incorrect dates for pre-1970 inputs and rtc_valid_tm() rejected all years before 1970 as invalid, even if they were within the hardware's capabilities. For example, converting January 1, 1942 2:36:47 is equal to -883603393. converting it back resulted in wildly incorrect values => January 2, 1942 1193025:5:3. These issues made it impossible to correctly use RTCs with pre-1970 base years, particularly affecting embedded systems using hardware like the MT6357 RTC. Modify rtc_time64_to_tm to implement special handling for negative time values, properly calculating days and seconds for dates before 1970. It also removes the tm_year < 70 restriction in rtc_valid_tm to allow pre-1970 dates to be validated correctly, ensuring accurate conversion between hardware and system time across the full range of RTC hardware capabilities. Signed-off-by: Alexandre Mergnat --- drivers/rtc/lib.c | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) diff --git a/drivers/rtc/lib.c b/drivers/rtc/lib.c index fe361652727a3..2014a86499e02 100644 --- a/drivers/rtc/lib.c +++ b/drivers/rtc/lib.c @@ -46,7 +46,6 @@ EXPORT_SYMBOL(rtc_year_days); * rtc_time64_to_tm - converts time64_t to rtc_time. * * @time: The number of seconds since 01-01-1970 00:00:00. - * (Must be positive.) * @tm: Pointer to the struct rtc_time. */ void rtc_time64_to_tm(time64_t time, struct rtc_time *tm) @@ -59,11 +58,39 @@ void rtc_time64_to_tm(time64_t time, struct rtc_time *tm) day_of_year, month, day; bool is_Jan_or_Feb, is_leap_year; - /* time must be positive */ - days = div_s64_rem(time, 86400, &secs); + bool is_negative = false; + + /* Handle negative time values (dates before 1970-01-01) */ + if (time < 0) { + /* Store that we had a negative value */ + is_negative = true; + + /* Convert to positive value for the algorithm, but + * we'll subtract one more day to handle the boundary correctly + */ + time = -time; + + /* Get days and seconds */ + days = div_s64_rem(time, 86400, &secs); + + /* If we have seconds, we need to adjust to the previous day */ + if (secs > 0) { + days += 1; + secs = 86400 - secs; + } + + /* Make days negative again */ + days = -days; + } else { + /* Positive time value - normal case */ + days = div_s64_rem(time, 86400, &secs); + } /* day of the week, 1970-01-01 was a Thursday */ tm->tm_wday = (days + 4) % 7; + /* Ensure tm_wday is always positive */ + if (tm->tm_wday < 0) + tm->tm_wday += 7; /* * The following algorithm is, basically, Proposition 6.3 of Neri @@ -93,7 +120,7 @@ void rtc_time64_to_tm(time64_t time, struct rtc_time *tm) * thus, is slightly different from [1]. */ - udays = ((u32) days) + 719468; + udays = days + 719468; u32tmp = 4 * udays + 3; century = u32tmp / 146097; @@ -146,8 +173,7 @@ EXPORT_SYMBOL(rtc_time64_to_tm); */ int rtc_valid_tm(struct rtc_time *tm) { - if (tm->tm_year < 70 || - tm->tm_year > (INT_MAX - 1900) || + if (tm->tm_year > (INT_MAX - 1900) || ((unsigned int)tm->tm_mon) >= 12 || tm->tm_mday < 1 || tm->tm_mday > rtc_month_days(tm->tm_mon, From patchwork Fri Apr 11 12:35:56 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Mergnat X-Patchwork-Id: 14048353 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8DBC9C36010 for ; Fri, 11 Apr 2025 12:47:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=wWvOtZ2Ij96tOi1o1hUr0b9qGVWu80vcBedKzsseg9k=; b=H5l2ooVmYMIpSzqL0KHIM05wqa 7ZVUIHoydLkpuMqqbZw2sNNaIvepRYkc2gd7oZVdxzjgKns5H3Y9F89q1wD9qk16SVrxMlBYsnAkK pS5uNlg2ndgazMyK8sNgAQ36/SGTxdNOyIP0zCkEbYezMVkTwToYFpvTP0NWPaZP7Df69E7nBIRBf Tw4gS0KmLE9iii7COtsJYLs1ujmut1WhPpESd40tPVW2Iu5kEfGmw85UH9hmdQW2FwabFVG05Wu3q rDilKZoECJMktHaMo8LdfR6fM0MIhX+oiFFPXj+E6c1EB7Uz72aawARIvGiUtaInmCTiWlfhu3Ekh m8D1BqJg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u3Dn6-0000000DnMr-2XdR; Fri, 11 Apr 2025 12:47:28 +0000 Received: from mail-pf1-x431.google.com ([2607:f8b0:4864:20::431]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u3Dci-0000000DlK3-0n0d for linux-mediatek@lists.infradead.org; Fri, 11 Apr 2025 12:36:45 +0000 Received: by mail-pf1-x431.google.com with SMTP id d2e1a72fcca58-736a72220edso1982213b3a.3 for ; Fri, 11 Apr 2025 05:36:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1744375003; x=1744979803; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=wWvOtZ2Ij96tOi1o1hUr0b9qGVWu80vcBedKzsseg9k=; b=LYvELdZRx+CbQ3JrBI9MemKZM2o7zFC/fPg5ql6jtXpEdLLYW4VtBy2wpMRHHlWEJ6 KXhxhgy9CEhOn+AJuOglnpVaKrzsTH4lChcX5EmE4cegRRHfEpVdYWc3+m55wWEuAF1E mf8i2pdQvwFda2d48Lx86Tr6+3AdWt54cDSFeZ3gnraXB1YTJjRCezHwykCaDtiBRYOt kzMXWogINdabQ3Ye0r2ERHZqj9yUyK+7txbzt3aLB50+WPBeMAop82kUcJLNV9aeIYxl ya0XN9NjuBI+wVeMwm1b7JRlku5xEHUo4YHagoWOP5cTKSV9dfIZQ0MMlB4azILE11tt SwUA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744375003; x=1744979803; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wWvOtZ2Ij96tOi1o1hUr0b9qGVWu80vcBedKzsseg9k=; b=w+jt2Klv/+Ju7U6YWE90FMY3zQfrDNm2sp+nJj8xkfnYLk05uoD7G/soFn64/ge/wM DyCkuEiSEWYH+P3w3yjBkvNXcW+sK2+8tzBO3/9BpdpM0yArOWmJUroJSWndKsUoeT+d x/cI9hAe2gVP+4ltSKQ3LvYFJ2R0s62aa4RHyhFVuUHvuZcoww0cra9tfFIQV1+qjqbY RoXZqnisSIb7fpNmy7IROs55zg8X8VIiFim5xmP1I1pM44zmYQbHEA4oR6WyVRmoebTm BvCkt3NBKNC7glVabUoGV4q8zZt6KbGSbq2gZSF9D9dkPWU+Wi3vVi6UZbJislZ0+fZX jSLw== X-Forwarded-Encrypted: i=1; AJvYcCWFYWWsK4UmRtZmroLet9sDF8ahYQ1hsn0PcyfPdAYWBlbiU30nlZstu4JtkiPSf+SXpEP53VEqy1kUeCmtPw==@lists.infradead.org X-Gm-Message-State: AOJu0YxlURNCWzWbhAn4uXsMTXFeDgWNAajCVqBA5FAoOQPXPp/V7SDH yU7U3rghdchXQC0ud7IfIJyfGvy1/RtXAf/Zf6e/HbLoLvlEoO9NM6F8w7bZs3Q= X-Gm-Gg: ASbGncscMhe99IjX5g4KrQuCz+u688ZwkCUK8rrwhsM8lfwfsdeRVqT3dIrnGbPj2QU RVGfsYaw8ws78RsBnyzIsSB96Y6DZGH2Gn6XlM8gu57T2RwicmPQ33kIhk5+C5WXW5dOkul+eXM UNTbQ/iaq0/uaV73z2iAnIDS/migOV9QCBJWBOgNlhKoCX4chySr4jW+ogn/P9xTLprtvoskdV7 sEhe3tJcEzEaUK//4KfhzoZ6rBrI07nijRrVl2cvI/qI8A74ks/F97mq3ad2VawCk1OLQhd29qj IDtn5qLqGyRTBG2anY3DBKdinR/b7ZdI5YrgiivZOKM= X-Google-Smtp-Source: AGHT+IHHr6PfcniD19K70c7n3k5QYjLiwj66+qa8B+xXfSPCuWN5/YZWkukIqVWOva+qdLyKiB11mg== X-Received: by 2002:a05:6a00:3908:b0:736:5822:74b4 with SMTP id d2e1a72fcca58-73bd129c6d1mr3275598b3a.21.1744375003638; Fri, 11 Apr 2025 05:36:43 -0700 (PDT) Received: from [127.0.1.1] ([2a01:e0a:5ee:79d0:cf9d:bb30:5951:692]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-73bd22f8253sm1408292b3a.93.2025.04.11.05.36.36 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Apr 2025 05:36:43 -0700 (PDT) From: Alexandre Mergnat Date: Fri, 11 Apr 2025 14:35:56 +0200 Subject: [PATCH v3 3/5] rtc: Fix the RTC time comparison issues adding cast MIME-Version: 1.0 Message-Id: <20250109-enable-rtc-v3-3-f003e8144419@baylibre.com> References: <20250109-enable-rtc-v3-0-f003e8144419@baylibre.com> In-Reply-To: <20250109-enable-rtc-v3-0-f003e8144419@baylibre.com> To: Eddie Huang , Sean Wang , Alexandre Belloni , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-rtc@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Alexandre Mergnat X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3840; i=amergnat@baylibre.com; h=from:subject:message-id; bh=vGUfgBYd/nqdiWhakMrxzcEEIqB0t/sqp/diq7LMGlc=; b=owEBbQKS/ZANAwAKAStGSZ1+MdRFAcsmYgBn+Qy+G925gTSnI2f/g5RRp1mmiZxGxczjO4K3kNYm 9g+lrSyJAjMEAAEKAB0WIQQjG17X8+qqcA5g/osrRkmdfjHURQUCZ/kMvgAKCRArRkmdfjHURcl9D/ wP0ww2kkK7+Wdz6lCWG8tR0wOKrrvr2qjTu4xuKN9SRbZGSWhA9QmDb/dWzu4/0eAm8sl3qJMEk5Yk 72cNB66JOZpwVfgY4Xp+ppUa5CNpHWBGe3QOQegRAvq9iSOBZ0Befi0rR5kfl788zp72w+3x1VXO7E R1BFLx8c2FhBePEp0TmhPL/thzoVTQhUv/11ONiQwlSewTu3UTlymMfTRZ8D6pSsM3pfNhSLzDLCh1 yybqickSMBVYd4qqOnp08M4WsDnTHYsFYb51RyUczq3CSXrZ7Tw3/8rnGoaMFfRoe+9a2GaVNfcena LCt1tD6kBkx31OUdTCgi2xU4TbUkN0KBgcGLu8G6MH2r4Zj/Ul3Dd8BAHPtQdYc1qL86ylvzmkLCT+ XZ04Bh+xraV8u4h7iUkZAoDEn12HInoSfG5xk2AIlsUP6jWf5w1VGcBHbwuBvVfUQr4IF3WsZNJb5p +iS8HHZgWKGNJaC7hsERyf63bEwLaYX/v9yCj9JsPBJ8kN+CnJ9QvKUqS39GqOS0fNyH34jfvnBUSv eX9nVxrWHyd4x5cifMm5s4lhMt2iZinXa7klv9V8rXsvW5aXOUmt9iBd0RF3YBmxDj+xcv5XUVKG6H MPHZrxIA9oPg2KHF1+4pye8NG1q1tx7stersv89cat7tXtLmaMbi2Fs7UNbQ== X-Developer-Key: i=amergnat@baylibre.com; a=openpgp; fpr=231B5ED7F3EAAA700E60FE8B2B46499D7E31D445 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250411_053644_234573_542A1B90 X-CRM114-Status: GOOD ( 17.83 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org The RTC subsystem was experiencing comparison issues between signed and unsigned time values. When comparing time64_t variables (signed) with potentially unsigned range values, incorrect results could occur leading to runtime errors. Adds explicit type casts to time64_t for critical RTC time comparisons in both class.c and interface.c files. The changes ensure proper handling of negative time values during range validation and offset calculations, particularly when dealing with timestamps before 1970. The previous implementation might incorrectly interpret negative values as extremely large positive values, causing unexpected behavior in the RTC hardware abstraction logic. Signed-off-by: Alexandre Mergnat --- drivers/rtc/class.c | 6 +++--- drivers/rtc/interface.c | 8 ++++---- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/rtc/class.c b/drivers/rtc/class.c index e31fa0ad127e9..1ee3f609f92ea 100644 --- a/drivers/rtc/class.c +++ b/drivers/rtc/class.c @@ -282,7 +282,7 @@ static void rtc_device_get_offset(struct rtc_device *rtc) * then we can not expand the RTC range by adding or subtracting one * offset. */ - if (rtc->range_min == rtc->range_max) + if (rtc->range_min == (time64_t)rtc->range_max) return; ret = device_property_read_u32(rtc->dev.parent, "start-year", @@ -299,7 +299,7 @@ static void rtc_device_get_offset(struct rtc_device *rtc) if (!rtc->set_start_time) return; - range_secs = rtc->range_max - rtc->range_min + 1; + range_secs = (time64_t)rtc->range_max - rtc->range_min + 1; /* * If the start_secs is larger than the maximum seconds (rtc->range_max) @@ -327,7 +327,7 @@ static void rtc_device_get_offset(struct rtc_device *rtc) * * Otherwise the offset seconds should be 0. */ - if (rtc->start_secs > rtc->range_max || + if (rtc->start_secs > (time64_t)rtc->range_max || rtc->start_secs + range_secs - 1 < rtc->range_min) rtc->offset_secs = rtc->start_secs - rtc->range_min; else if (rtc->start_secs > rtc->range_min) diff --git a/drivers/rtc/interface.c b/drivers/rtc/interface.c index aaf76406cd7d7..93bdf06807f23 100644 --- a/drivers/rtc/interface.c +++ b/drivers/rtc/interface.c @@ -37,7 +37,7 @@ static void rtc_add_offset(struct rtc_device *rtc, struct rtc_time *tm) */ if ((rtc->start_secs > rtc->range_min && secs >= rtc->start_secs) || (rtc->start_secs < rtc->range_min && - secs <= (rtc->start_secs + rtc->range_max - rtc->range_min))) + secs <= (time64_t)(rtc->start_secs + rtc->range_max - rtc->range_min))) return; rtc_time64_to_tm(secs + rtc->offset_secs, tm); @@ -58,7 +58,7 @@ static void rtc_subtract_offset(struct rtc_device *rtc, struct rtc_time *tm) * device. Otherwise we need to subtract the offset to make the time * values are valid for RTC hardware device. */ - if (secs >= rtc->range_min && secs <= rtc->range_max) + if (secs >= rtc->range_min && secs <= (time64_t)rtc->range_max) return; rtc_time64_to_tm(secs - rtc->offset_secs, tm); @@ -66,7 +66,7 @@ static void rtc_subtract_offset(struct rtc_device *rtc, struct rtc_time *tm) static int rtc_valid_range(struct rtc_device *rtc, struct rtc_time *tm) { - if (rtc->range_min != rtc->range_max) { + if (rtc->range_min != (time64_t)rtc->range_max) { time64_t time = rtc_tm_to_time64(tm); time64_t range_min = rtc->set_start_time ? rtc->start_secs : rtc->range_min; @@ -74,7 +74,7 @@ static int rtc_valid_range(struct rtc_device *rtc, struct rtc_time *tm) (rtc->start_secs + rtc->range_max - rtc->range_min) : rtc->range_max; - if (time < range_min || time > range_max) + if (time < range_min || time > (time64_t)range_max) return -ERANGE; } From patchwork Fri Apr 11 12:35:57 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Mergnat X-Patchwork-Id: 14048354 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 33E1CC36010 for ; Fri, 11 Apr 2025 12:51:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=wSHsj9E7pEVKPo/XiZbiTbb5aejzBmBA8Mzu2UJ7TSE=; b=JzZ2eA6K1tuR40+XvEjaA6uGeW 8kxg/5NTTXS7sJssYJktl8uDYsItdX+u4Y4dTaLzSoPQ5uLmEbsSiMtuZWBMtVJujaB68A5ACCIwT 2m+D3yyoWuMee52WaMut2ud1XyngvqdXxOK8Hfhn7AT/NxX52nDNiTYSbQCnSMCTdEa3sV5h5hZN5 +shYAbnWFDNyLckMxvTP8E/MOWAGSYlN7w8z2kilL6lE2ZMsJbAmIZs6ogZt0C+fiL+5WiJa60YQ8 W09Qjpm+7uJGuAp/nf0xPUn3zV3LqktlGEKdgrnrxbgzQZuWpJt+ahmu6iu2RUfRxY8ZMH3BlSCqu luLA8gRQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u3Dqf-0000000DoCq-1GoV; Fri, 11 Apr 2025 12:51:09 +0000 Received: from mail-pf1-x42c.google.com ([2607:f8b0:4864:20::42c]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u3Dcp-0000000DlM9-3oPm for linux-mediatek@lists.infradead.org; Fri, 11 Apr 2025 12:36:53 +0000 Received: by mail-pf1-x42c.google.com with SMTP id d2e1a72fcca58-736c3e7b390so1731977b3a.2 for ; Fri, 11 Apr 2025 05:36:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1744375011; x=1744979811; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=wSHsj9E7pEVKPo/XiZbiTbb5aejzBmBA8Mzu2UJ7TSE=; b=L7Nx/iDXo3FHL+oEA7JVlfYdjRvNYWBccVqgq6GIDF+fwZ+WcIvOU8q4vGBAXxo7xk ZjuiRXPj82AHFAwzSgGXglMAOO8kCdUNLUs07g5/FN4nDc5/IIkFHWCI1nkvpZhHA7d4 I38uw5u0jEqzplBRiNZQbZxpCrDf64dDq/s4WRn3vAR25bAv8h3YYHKmJT5AvPmdzlQh VEVlkSZ5QXjzfpmuvsqvZz9st7JzI8lU6RROY/GzF+b88TY/L00DglTyB24p2cSbBMch gumFYPXRn4YfVQrDy7Ixw65gu6PnljrDTLgHjo7jOUla1ZvPpi2uYB7Py+grvI0eocOk uhQQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744375011; x=1744979811; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=wSHsj9E7pEVKPo/XiZbiTbb5aejzBmBA8Mzu2UJ7TSE=; b=LBzipqm4xOYAA4NVKHlngGRUOmSw5+LIQ8tu39FgkOoByCRgiwtw7bSTyuWLOMdwEq sl+N/hgkDXsD6NW8miy3Q5nb7tF9hj9avxtRL5yu+Jrg+6CSdtfX2mXGPFVXFz1z/e+v 7UqIbI/IxdnVKi6rSbo8whuHEhIfLbszzqqgXfT50a5S9Nrf+dA/3vyfIuYy1SxEfWgk X9NIoWPFILLGhZsLQj2uKDkLddh8VtF9+bE/i2d4FBnMWOgWBd8re0rtmpSTUU8Hl5Wx SnfG1v5uCz/+5jeJkNuCuJbDMQh0DIHgNX4PjZbpz1v21/GBH4UjnR5fK0LRRF6NXpHW enaQ== X-Forwarded-Encrypted: i=1; AJvYcCWV/EhwMSLTcXS9QE/5mfsb/SFv3P7W9l82RpPHG0+JwJ5y8W/dDwC5y1dX2klo67cOu0XjUAZPzCWiXAqAqA==@lists.infradead.org X-Gm-Message-State: AOJu0YySnYzS8HNzMc11pJa6gG5LIZg1qfz/6S7Vs/YTfsBcvujWHjTo 8fyXZS6pbt2ngSjZZv0yFi+cwhSXb3oDctqLaijATNQ5yiWuKgYnuAQ5WF9A4Eo= X-Gm-Gg: ASbGncsF/55Av4LVOrg6TPIuVlxKI2IldCurykm91AUiPFFsJDzMaCJ1UdkJRGsfR5A O+dUcH9KJrIWOxXpkLe9DqeJYy3ZhSlc/gXuVWpSpYjPvfLM1SIMt99m7SXsBqvWDw95gQMFmN3 LyBGg4BlCyBzs3t2+BtL8mg2KAGuyZHMKgpzkElnsIhmt/j7MDGkMEV25p7HIVcx3pA4qRqIEIl 16vw+vyazSuYXl8RorOTqd/RBD73FJoznHJXhKmhClZ3RNn2lCZg4SrIouq4nHwf6ZnQla4IHfZ I7H9by+6DzwPOxXpI7MjIkFFDiKZc1F/RC+fHbHAQ+A= X-Google-Smtp-Source: AGHT+IFfX3ot/L43d0QBZxG633pc/hZyXtl8UpByDyVjAeqVDIhCDU73ulTwgr/AGiuYBQtmE0nzNw== X-Received: by 2002:aa7:8895:0:b0:736:3d7c:2368 with SMTP id d2e1a72fcca58-73bd11dc695mr3255714b3a.7.1744375010978; Fri, 11 Apr 2025 05:36:50 -0700 (PDT) Received: from [127.0.1.1] ([2a01:e0a:5ee:79d0:cf9d:bb30:5951:692]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-73bd22f8253sm1408292b3a.93.2025.04.11.05.36.44 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Apr 2025 05:36:50 -0700 (PDT) From: Alexandre Mergnat Date: Fri, 11 Apr 2025 14:35:57 +0200 Subject: [PATCH v3 4/5] rtc: mt6397: Remove start time parameters MIME-Version: 1.0 Message-Id: <20250109-enable-rtc-v3-4-f003e8144419@baylibre.com> References: <20250109-enable-rtc-v3-0-f003e8144419@baylibre.com> In-Reply-To: <20250109-enable-rtc-v3-0-f003e8144419@baylibre.com> To: Eddie Huang , Sean Wang , Alexandre Belloni , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-rtc@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Alexandre Mergnat X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1012; i=amergnat@baylibre.com; h=from:subject:message-id; bh=trGJ+81hvgNk61JAyUi09epqF3tLwjd5H58jiE8ssKI=; b=owEBbQKS/ZANAwAKAStGSZ1+MdRFAcsmYgBn+Qy+LNjqc2TQncoR/fu21kLb3B4nDnpKBpYpF3u7 K+vKNHeJAjMEAAEKAB0WIQQjG17X8+qqcA5g/osrRkmdfjHURQUCZ/kMvgAKCRArRkmdfjHURUBLEA CAC42jhzXF95nwzYaBzqk8pqi2wLrVXoH4PBA0deKY2gEdZoIl9sAOEFMAke8ktBZFrY8zyD3Iilcs oByCGpN9m/wQ5S2Ih3Us5gmmwCkWz1CcqvUeMk6aOzqC6tnV+SUW/WHutDoEzQrS+Y3hbbq8SCf628 TxVPv8tc1AaQc1RRi29L97urd+zi8P2/ucYydlvR0VnVd5BEd9ve7obWrjiwfWA22tckQTsOCO2sAB z+j+DbUM3nWqNIVBRj+hlyQOkgxl2NMLlZYfY4uSdJjl42PBffIMp2plpK2m2DZwO2b9LqYtEu33Xv qKE/nKDGQK3kUPIQqDkgZpXsg8YdsCSkn09ne3NOpGaw4S8q306wT4gViU2OyQbq2jDy/+5X3WyH6r bswFi1Fwgg1sefTSK+B7S/NhI8rhjGYcRxNj7YvLRwGEu2bzNW8KwkcQWYjlF5FAo7lfeuIizrxfqA OLV8tKAgl8ncXWKuHgzKKtYqaJzfA2aJXrD6yK5u3U9aNlVe5qbOd3r10sFURDisAhtuCm7fURJqHx JC+aHpfgCVZUB/fiWVkYOXBkyeKLsx++ZOoMa2Wi8/mg1CSRWFX0MERFX6a/9stWB7mb3L0L4McAod KlRc9GKCciMymJ4QFkvBsy0p0HLsmyvqgdUvtv0sgoLe96aZBCXhM1PiaHFQ== X-Developer-Key: i=amergnat@baylibre.com; a=openpgp; fpr=231B5ED7F3EAAA700E60FE8B2B46499D7E31D445 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250411_053651_949954_34A1C342 X-CRM114-Status: GOOD ( 11.27 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org The start time parameters is currently hardcoded to the driver, but it may not fit with all equivalent RTC that driver is able to support. Remove the start_secs and set_start_time value setup because it will be handled by the rtc_device_get_offset function using the start-year DTS property. Signed-off-by: Alexandre Mergnat --- drivers/rtc/rtc-mt6397.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/drivers/rtc/rtc-mt6397.c b/drivers/rtc/rtc-mt6397.c index 692c00ff544b2..d47626d47602f 100644 --- a/drivers/rtc/rtc-mt6397.c +++ b/drivers/rtc/rtc-mt6397.c @@ -291,8 +291,6 @@ static int mtk_rtc_probe(struct platform_device *pdev) rtc->rtc_dev->ops = &mtk_rtc_ops; rtc->rtc_dev->range_min = RTC_TIMESTAMP_BEGIN_1900; rtc->rtc_dev->range_max = mktime64(2027, 12, 31, 23, 59, 59); - rtc->rtc_dev->start_secs = mktime64(1968, 1, 2, 0, 0, 0); - rtc->rtc_dev->set_start_time = true; return devm_rtc_register_device(rtc->rtc_dev); } From patchwork Fri Apr 11 12:35:58 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alexandre Mergnat X-Patchwork-Id: 14048357 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id B6BB1C36010 for ; Fri, 11 Apr 2025 12:53:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:List-Subscribe:List-Help :List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To:References :Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version:Subject:Date: From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=uPJqCmoSsx1GevRwEqwTz+KiO5ldodlroUJvFu2/V3o=; b=XGOS2j3zHOJOoDr5seGY/r6R8G ioYYlvNWsUiCY0bHwqR62UUfmqna/bTuNF36PixJ9FUrzcDzu/13R9PPZQPFygHoMAqIKwBQAnjrr ap4fwGISvzCFGhVrFaP6M5/ISTqibOW2MRot5jTB+YQlieWb7udYRM3AAUWqWpPZ6D7RftpjhWvic VV1Xh973/D0+53KW9lT2290bMj5qDfVE+VRu5LnVvtEkKPtzSGKG6ioy2dYfRqnEMlavwh2Uzu7dM qNzdBnvoA/wfYUde1xwq9PLTha00bstEDLkiPRQjuPyJiCH2LQJbVxArNW9wdFy41vEriXDTVuJZ6 XVhjeRBQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1u3DsS-0000000DoWF-2gq7; Fri, 11 Apr 2025 12:53:00 +0000 Received: from mail-pl1-x62f.google.com ([2607:f8b0:4864:20::62f]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1u3Dcx-0000000DlNJ-0Gt9 for linux-mediatek@lists.infradead.org; Fri, 11 Apr 2025 12:37:00 +0000 Received: by mail-pl1-x62f.google.com with SMTP id d9443c01a7336-22423adf751so18578815ad.2 for ; Fri, 11 Apr 2025 05:36:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=baylibre-com.20230601.gappssmtp.com; s=20230601; t=1744375018; x=1744979818; darn=lists.infradead.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:from:to:cc:subject:date:message-id :reply-to; bh=uPJqCmoSsx1GevRwEqwTz+KiO5ldodlroUJvFu2/V3o=; b=l+uyAgl6JEJrFYnK5rESPGbApZtv+6J+rx5pA6va9z4oxJvhB6EaBH1DE6O5hidGra 71+V96el+fz/R1JBxguvW1nP2bvvFLnwPNcigOcsvYdRYhypjioQNulQ3EqwrJkt5Djw QD5nT/NBYOxX6LpngjQRSTV7Uu0G4sN7IfJ1j6kd5XWKxVK+CKaZG+u18xnxmpMy+2nt SR9v2wWA8KJ/dTFOIiobmAxVTV/SRvlLkgQDjLFz9YvRUaEqwwQgS77sXgRewM/br4Vt ZNUU+vsMIS4aUosCXPnps+WIm+n4+x3iaSUr4FKbpCZBXMlCPzeeg2igRMCJmoB/U7uq WX9A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1744375018; x=1744979818; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :mime-version:subject:date:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uPJqCmoSsx1GevRwEqwTz+KiO5ldodlroUJvFu2/V3o=; b=b/etg10nt21d44Caw797NP2lwP63C2m6RH2cRhOjA6v+MfBIrIaW7arSULb4tQsc9a 979GV8WjoulL28pnN7PCo2ZkMPUejo3hr6TdO6+OOeiHaVXKpzcs5USd3du1kdwjrwu0 QoWSIhxO70PWAeenBg8sjQtkvSU2PsWDDufS/l0GgGke3PBU9Zm0upoXYIet7lMqlugQ uD80zgwI1aYqvK6uyLr4x9S9pGnvYRAKOlRYFwEelspfUBmCPrm25KRi7wXACuho71DQ 7l7x7nt9OL+uwsych3G3Q3cLYawhVtSKMnppAf4kuqvhojjcsDDp5RNvP5yweO1KpwbA OW/Q== X-Forwarded-Encrypted: i=1; AJvYcCWJcrC3lOIkZFW+/2/R3gijL+96gXQjkff2LvfyhmunqlAmap/eMojuXDUyWpiuwUBeKqTdY3ufEVjZSfVL6A==@lists.infradead.org X-Gm-Message-State: AOJu0YzfsR+NUsjG6ASxZguCxqYrFv5PjiUYgb5Vev0L+vEIcAi6TZHw DoW8EYLTZDKexh65WTL3pe0y2lQAuXTyypNTXIXiJ27aeUD7BW7yHGQ+umWfdao= X-Gm-Gg: ASbGncsHLGN5O6JEfG/RAag8sqEqh5MfJO+Y9zS0YTm2X86Zwd/0EQc2ZMnysmspdyN 3mjoH0uAAVEa4mt8kToGDXb9DtJQz1zaOVoXr5YCy+7ng2qgCOywhMX9cwd82nkN/AymcQjwI2N M2gz3t+ALELIV3Qr00kApufPJ6RgHGMQf7xQqMStsPQ6nR3we3oRy+9xV5MO6D2Vh2LcdCtC64b /j8kg7CJr+Oenft5QkatGGh/6FLGrI6OkMNCOHr7fBWSpQayprbXylReGkcumzh7bkw0eVF0Bfn d23CphQYCsdPUC4s8iljOXPutmxp1CFa4oTXgCW2884= X-Google-Smtp-Source: AGHT+IFpLD5B7k7fXna43PL4COCo2fb781nBQohi+uOKDq+PQ5C/xXOE6xN0MQ0jZ8H8pyV6WtJL6g== X-Received: by 2002:a17:902:cec9:b0:227:e980:9190 with SMTP id d9443c01a7336-22bea4fcad1mr41903285ad.44.1744375018241; Fri, 11 Apr 2025 05:36:58 -0700 (PDT) Received: from [127.0.1.1] ([2a01:e0a:5ee:79d0:cf9d:bb30:5951:692]) by smtp.googlemail.com with ESMTPSA id d2e1a72fcca58-73bd22f8253sm1408292b3a.93.2025.04.11.05.36.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 11 Apr 2025 05:36:57 -0700 (PDT) From: Alexandre Mergnat Date: Fri, 11 Apr 2025 14:35:58 +0200 Subject: [PATCH v3 5/5] arm64: dts: mediatek: Set RTC start year property MIME-Version: 1.0 Message-Id: <20250109-enable-rtc-v3-5-f003e8144419@baylibre.com> References: <20250109-enable-rtc-v3-0-f003e8144419@baylibre.com> In-Reply-To: <20250109-enable-rtc-v3-0-f003e8144419@baylibre.com> To: Eddie Huang , Sean Wang , Alexandre Belloni , Matthias Brugger , AngeloGioacchino Del Regno , Rob Herring , Krzysztof Kozlowski , Conor Dooley Cc: linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-rtc@vger.kernel.org, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, Alexandre Mergnat X-Mailer: b4 0.12.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1631; i=amergnat@baylibre.com; h=from:subject:message-id; bh=7fUfH1eE+n+zmzKhP4D/88n0duk+DQJUKxhnlJl8LM8=; b=owEBbQKS/ZANAwAKAStGSZ1+MdRFAcsmYgBn+Qy+kE39onw4c/4Fkz528PzOFaSGz5L4XeHhWzBX hDMFF+eJAjMEAAEKAB0WIQQjG17X8+qqcA5g/osrRkmdfjHURQUCZ/kMvgAKCRArRkmdfjHURZFAEA CMgGOq5n82NrZ1LYEtWO5FV0efEnXxIHS7oTUff/+0zjS/Y8jlqnNx8HPZO5nwUH8Nf9LGtZBslozP vWuRX7cK0jNVQfcIjqh9mpcZ2kT1QJoVCsGw9gN+QqAL6mNPZVhvCwG2HIOIEsxRF69xVDOMZbGJMH DRGrZpV24VYPp83m3Rgz+RqqYjOsB6go3Cppb67f56Go43Wa7Bh4h5bL0jMyT9wvc47+ZzIhF8Dsnu tL3sRzfjBIhd456WR4crywwS+Le3HSdnF0s0KBzUmHhKd4e9llBzJ6d9jxQfZmsNvXqlatDiioEYYz G2WgVthTQ1zPwsLFGvmM8dAbs6P/tc1O1RRVxU1RIdOaRjwIh2+BuH6Nf9TC9a748hBugjATRYmiTX 5DUCslbH/zOfvqxbGqVbwjZhdyKXFSTewkXwDt1YuxWaE8spAjAFQYBu6Wcf7p79iPZy1Eoq4D2VtD 4VbzRlik1xMo/9KPiwY3Np5IFPJpEqx2CnO2uCx27ns+84mWkSUIPlxhQVC5yrk/qbbU/hc+7N9uCZ EeICxRI7pmEj546cN1sweBOzcU67+ct8Kd4CZ1plilw+i65YAUP0JXj5JJVcxsWta+SoyGzIojnLcw HDa/GKX3CnNeQrPYSTWlTk7V9dW560HevmEhZH0M64UhIbAGF5pDYsk1OjIw== X-Developer-Key: i=amergnat@baylibre.com; a=openpgp; fpr=231B5ED7F3EAAA700E60FE8B2B46499D7E31D445 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250411_053659_095457_46CEAD03 X-CRM114-Status: UNSURE ( 9.45 ) X-CRM114-Notice: Please train this message. X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org Set the start-year property for MT6357, MT6358 and MT6359 to have a consistent value between the HW registers and the RTC framework. Signed-off-by: Alexandre Mergnat --- arch/arm64/boot/dts/mediatek/mt6357.dtsi | 1 + arch/arm64/boot/dts/mediatek/mt6358.dtsi | 1 + arch/arm64/boot/dts/mediatek/mt6359.dtsi | 1 + 3 files changed, 3 insertions(+) diff --git a/arch/arm64/boot/dts/mediatek/mt6357.dtsi b/arch/arm64/boot/dts/mediatek/mt6357.dtsi index 5fafa842d312f..d79ba87361d00 100644 --- a/arch/arm64/boot/dts/mediatek/mt6357.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt6357.dtsi @@ -267,6 +267,7 @@ mt6357_vusb33_reg: ldo-vusb33 { rtc { compatible = "mediatek,mt6357-rtc"; + start-year = <1942>; }; keys { diff --git a/arch/arm64/boot/dts/mediatek/mt6358.dtsi b/arch/arm64/boot/dts/mediatek/mt6358.dtsi index e23672a2eea4a..226259a51188f 100644 --- a/arch/arm64/boot/dts/mediatek/mt6358.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt6358.dtsi @@ -340,6 +340,7 @@ mt6358_vsim2_reg: ldo_vsim2 { mt6358rtc: rtc { compatible = "mediatek,mt6358-rtc"; + start-year = <1968>; }; mt6358keys: keys { diff --git a/arch/arm64/boot/dts/mediatek/mt6359.dtsi b/arch/arm64/boot/dts/mediatek/mt6359.dtsi index 150ad84d5d2b3..7f9182be79724 100644 --- a/arch/arm64/boot/dts/mediatek/mt6359.dtsi +++ b/arch/arm64/boot/dts/mediatek/mt6359.dtsi @@ -299,6 +299,7 @@ mt6359_vsram_others_sshub_ldo: ldo_vsram_others_sshub { mt6359rtc: mt6359rtc { compatible = "mediatek,mt6358-rtc"; + start-year = <1968>; }; }; };