Received: by 2002:ab2:6816:0:b0:1f9:5764:f03e with SMTP id t22csp147704lqo; Thu, 16 May 2024 01:55:07 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCV324ItiRDuBTQQ0re0yCb9BxW6kG+OBQQKXSFq5L7T/2NJRcyq6bn3RbtO8iMKwR99i/3qbMNKntlwvbOj4VPoekyL5UbIe+0GrQxOZw== X-Google-Smtp-Source: AGHT+IHZMBY2FcHRqre/FoofpDL7Cr+15+wYVi28I0jHdbghjuovPuVRt7jQQ1woFMXh0+c4TqkF X-Received: by 2002:ac8:5889:0:b0:43d:eeb2:db37 with SMTP id d75a77b69052e-43dfdb81babmr268765351cf.66.1715849707296; Thu, 16 May 2024 01:55:07 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1715849707; cv=pass; d=google.com; s=arc-20160816; b=0QurA+Z+VvcHC72H66EotS7I/s2pLQiPreQidljEBMgRJitIM5Gq7b5SztG7LAX2Et tjeKvvyrrKXghOLRkWqap/lc63dMhYdMq6NSy7mhJGrrxl/tiJJB7itlEizvrgzFYkfA /gi/lZDBn3X4SK+TJdxKAUP1yN/zI/InH4Gh9DsCy2TF3Di6G9oF2w4yGYmZv6pfn+XO rJ5Q4NooqZqmjs1Tqd6S1Tc2Eg5G2dVVZGdE+O+vE12UBztRxz6Xy8/9VeoGnjOhIbGh NyvizheU5O338efw0AbvB4NwdyDt5OdlVyeGJxKTihngiRMPPddQI5bGlHUGxJorRHPX 62kg== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=in-reply-to:content-disposition:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:message-id:subject:cc :to:from:date:dkim-signature; bh=QOReN2lzVLrwR7Z7Ot5yubLSaajl3RKaHFaHl+A5ziE=; fh=bTd2roC6l5gWuf3wrc3+v5PctL1FTWXAe/vO8bt/Y/Y=; b=fiylbW8XWUF+811ShtYfH/sHDsY9M4LYrhrwvK6UlLDlsmX9SZTldr6xEEIBoCwxUU /sMD8YAKhn+J4KIiK6hvuTGmGbQKR8M9YDAIeUT3HPFVAbUzRiLl96YJs6lMVxoTo6aU fPHfx8eQ+uzhGBDcjt/kLc/0wVXiClW3rHwFKuyfu6/nKyYDa+TQnrahoJANP6wq9ZOJ Er8dwC6H43/+OFQyquLOfbdmdGx5MNH6h/DtSYmIOwUD78Y5V4Qo1qeFvRdidkAQWMQe 7ZtEg2BnR2Y7Twjy1KcEY0aPBOtVnkYp784J247Nco3LDDUenMIzdvgkskCb0rzcr0nT S96g==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=d9rS0oVh; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-180800-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-180800-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [147.75.199.223]) by mx.google.com with ESMTPS id d75a77b69052e-43e10788bbasi104630291cf.514.2024.05.16.01.55.07 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 May 2024 01:55:07 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-180800-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) client-ip=147.75.199.223; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20230601 header.b=d9rS0oVh; arc=pass (i=1 spf=pass spfdomain=gmail.com dkim=pass dkdomain=gmail.com dmarc=pass fromdomain=gmail.com); spf=pass (google.com: domain of linux-kernel+bounces-180800-linux.lists.archive=gmail.com@vger.kernel.org designates 147.75.199.223 as permitted sender) smtp.mailfrom="linux-kernel+bounces-180800-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id F11F91C22918 for ; Thu, 16 May 2024 08:55:06 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C190E142E95; Thu, 16 May 2024 08:55:00 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="d9rS0oVh" Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (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 D0AB62D054 for ; Thu, 16 May 2024 08:54:57 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.54 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715849699; cv=none; b=HSz3xRb8y056u7NxJsq614UznZt7nTmVcqkmA6TlSZ8ykOlB/0giBtKgTvDepsNcBQqhMX3XN8es2cS6O7fpF3sWAfe28zo0/rt+hdSiFxNT1TYxrOoZkvilu0OVmabz4l30gjmGeO0BdmQE42QRcaLQpC9lShqor3BpE9tpi/A= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1715849699; c=relaxed/simple; bh=vmAg+FgarLaJFbkZMrmyFbmVsRcMYt086nIwji0hQ60=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=tDeTKpVG0SUuepV3M2FRc869548xrjx+3m6R84M+g5JoovwrqG8yzrXf+rBIpv+Vx/4c4x0sbmeOr76BhB8LHZ95Gbt8y9IYtOuXPOrtDkTqhsHqCuoyjqdTVi61+sdrUC7nKiNDTPpiBTOTin/Ri/fVj+it2z+yoZHIut2yVqQ= 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=d9rS0oVh; arc=none smtp.client-ip=209.85.167.54 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 Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-52327368e59so532874e87.1 for ; Thu, 16 May 2024 01:54:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1715849696; x=1716454496; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=QOReN2lzVLrwR7Z7Ot5yubLSaajl3RKaHFaHl+A5ziE=; b=d9rS0oVhMEbm2Mi2zc4V8QsgAAuhbV5DOH9/3rm+M8yg4bbrWxAYCvspSpCgKkLmSs B3b/R6Xyssbm9o4DLjtvzWvBr5+4qlNfyzLOqQT27DS7xk2fZA6PkoTd7RDYRIaurzrT S683cU2klYF7nqLV95KovmG4cFXaTkbJQl9LadpXjTybIx8zCYkAI8rJcpE1kaEZ0a7g sIhQHi5NgegYOTbDKs44Nn7u8O5dvZWxgiW7UvD4bffO0eGL+CSvviMj4UNegRizi55Q cFQXBxqspajhy2nGfDq5pQd4gMMc4dJNDOjMoSgRhTd+TG4L1JAQQYdCvgndIpI4R7ez 4HrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1715849696; x=1716454496; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=QOReN2lzVLrwR7Z7Ot5yubLSaajl3RKaHFaHl+A5ziE=; b=YMr8ePA8usSLlEHun1JsH7ez5f+dzAJ8usREzpbO5iTywVr869pguFqS4rD95y3r3v vSPsCoCWL6HBIJ8xmAa4cQhXrjYW8iSszPrVmhDuoSLdcE1SiS8kSlZliKPbC9BKDInu A2WSLjQTkTeOkmcVRHyxjHWOuBfRzF71kbULZSvBiAoaDedUUk/vxvstN8URQ6Nq24w9 4A1jl3KpExIbwR3yCWa1Y85GiWWazHQRNDzZWIV4WNQAFqgaH1Ta7dLZzSDdCVdT4nLY nFnIYF+Flap4njH4qHpB4x43C5eEKwoe7eSWz3HznV7O6R28XKXUG9fZtVl4IrEGImgY WBIg== X-Forwarded-Encrypted: i=1; AJvYcCX2xJP9/XZsunRnriiFwOFb9ksvbpY0XwzYBH0wihDLabDy/dkOv95gmysV6NdUqc7HSemBk3IPlBFoJppbcXz09ycvJBz/PSAnHMyJ X-Gm-Message-State: AOJu0YzKqoDLkwEPavbLoq/o0ovyYnW4fGWKYmMqYlsrqgTp+2vnFpoV YvpgLQgzPpjkofRtZdssvGgy3ybZjcN8Ecst6+oc5RHzdzqteTPY X-Received: by 2002:a05:6512:3b14:b0:523:8819:6c with SMTP id 2adb3069b0e04-5238819010bmr4132458e87.30.1715849695753; Thu, 16 May 2024 01:54:55 -0700 (PDT) Received: from fedora ([213.255.186.46]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-521f39d2c63sm2845026e87.278.2024.05.16.01.54.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 16 May 2024 01:54:55 -0700 (PDT) Date: Thu, 16 May 2024 11:54:41 +0300 From: Matti Vaittinen To: Matti Vaittinen , Matti Vaittinen Cc: Matti Vaittinen , Liam Girdwood , Mark Brown , linux-kernel@vger.kernel.org Subject: [PATCH 2/3] regulator: bd71828: Don't overwrite runtime voltages Message-ID: References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="ju4vgvCpkoEaiHHL" Content-Disposition: inline In-Reply-To: --ju4vgvCpkoEaiHHL Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Some of the regulators on the BD71828 have common voltage setting for RUN/SUSPEND/IDLE/LPSR states. The enable control can be set for each state though. The driver allows setting the voltage values for these states via device-tree. As a side effect, setting the voltages for SUSPEND/IDLE/LPSR will also change the RUN level voltage which is not desired and can break the system. The comment in code reflects this behaviour, but it is likely to not make people any happier. The right thing to do is to allow setting the enable/disable state at SUSPEND/IDLE/LPSR via device-tree, but to disallow setting state specific voltages for those regulators. BUCK1 is a bit different. It only shares the SUSPEND and LPSR state voltages. The former behaviour of allowing to silently overwrite the SUSPEND state voltage by LPSR state voltage is also changed here so that the SUSPEND voltage is prioritized over LPSR voltage. Prevent setting PMIC state specific voltages for regulators which do not support it. Signed-off-by: Matti Vaittinen Fixes: 522498f8cb8c ("regulator: bd71828: Basic support for ROHM bd71828 PM= IC regulators") --- drivers/regulator/bd71828-regulator.c | 58 +-------------------------- 1 file changed, 2 insertions(+), 56 deletions(-) diff --git a/drivers/regulator/bd71828-regulator.c b/drivers/regulator/bd71= 828-regulator.c index 08d4ee369287..dd871ffe979c 100644 --- a/drivers/regulator/bd71828-regulator.c +++ b/drivers/regulator/bd71828-regulator.c @@ -206,14 +206,11 @@ static const struct bd71828_regulator_data bd71828_rd= ata[] =3D { .suspend_reg =3D BD71828_REG_BUCK1_SUSP_VOLT, .suspend_mask =3D BD71828_MASK_BUCK1267_VOLT, .suspend_on_mask =3D BD71828_MASK_SUSP_EN, - .lpsr_on_mask =3D BD71828_MASK_LPSR_EN, /* * LPSR voltage is same as SUSPEND voltage. Allow - * setting it so that regulator can be set enabled at - * LPSR state + * only enabling/disabling regulator for LPSR state */ - .lpsr_reg =3D BD71828_REG_BUCK1_SUSP_VOLT, - .lpsr_mask =3D BD71828_MASK_BUCK1267_VOLT, + .lpsr_on_mask =3D BD71828_MASK_LPSR_EN, }, .reg_inits =3D buck1_inits, .reg_init_amnt =3D ARRAY_SIZE(buck1_inits), @@ -288,13 +285,7 @@ static const struct bd71828_regulator_data bd71828_rda= ta[] =3D { ROHM_DVS_LEVEL_SUSPEND | ROHM_DVS_LEVEL_LPSR, .run_reg =3D BD71828_REG_BUCK3_VOLT, - .idle_reg =3D BD71828_REG_BUCK3_VOLT, - .suspend_reg =3D BD71828_REG_BUCK3_VOLT, - .lpsr_reg =3D BD71828_REG_BUCK3_VOLT, .run_mask =3D BD71828_MASK_BUCK3_VOLT, - .idle_mask =3D BD71828_MASK_BUCK3_VOLT, - .suspend_mask =3D BD71828_MASK_BUCK3_VOLT, - .lpsr_mask =3D BD71828_MASK_BUCK3_VOLT, .idle_on_mask =3D BD71828_MASK_IDLE_EN, .suspend_on_mask =3D BD71828_MASK_SUSP_EN, .lpsr_on_mask =3D BD71828_MASK_LPSR_EN, @@ -329,13 +320,7 @@ static const struct bd71828_regulator_data bd71828_rda= ta[] =3D { ROHM_DVS_LEVEL_SUSPEND | ROHM_DVS_LEVEL_LPSR, .run_reg =3D BD71828_REG_BUCK4_VOLT, - .idle_reg =3D BD71828_REG_BUCK4_VOLT, - .suspend_reg =3D BD71828_REG_BUCK4_VOLT, - .lpsr_reg =3D BD71828_REG_BUCK4_VOLT, .run_mask =3D BD71828_MASK_BUCK4_VOLT, - .idle_mask =3D BD71828_MASK_BUCK4_VOLT, - .suspend_mask =3D BD71828_MASK_BUCK4_VOLT, - .lpsr_mask =3D BD71828_MASK_BUCK4_VOLT, .idle_on_mask =3D BD71828_MASK_IDLE_EN, .suspend_on_mask =3D BD71828_MASK_SUSP_EN, .lpsr_on_mask =3D BD71828_MASK_LPSR_EN, @@ -370,13 +355,7 @@ static const struct bd71828_regulator_data bd71828_rda= ta[] =3D { ROHM_DVS_LEVEL_SUSPEND | ROHM_DVS_LEVEL_LPSR, .run_reg =3D BD71828_REG_BUCK5_VOLT, - .idle_reg =3D BD71828_REG_BUCK5_VOLT, - .suspend_reg =3D BD71828_REG_BUCK5_VOLT, - .lpsr_reg =3D BD71828_REG_BUCK5_VOLT, .run_mask =3D BD71828_MASK_BUCK5_VOLT, - .idle_mask =3D BD71828_MASK_BUCK5_VOLT, - .suspend_mask =3D BD71828_MASK_BUCK5_VOLT, - .lpsr_mask =3D BD71828_MASK_BUCK5_VOLT, .idle_on_mask =3D BD71828_MASK_IDLE_EN, .suspend_on_mask =3D BD71828_MASK_SUSP_EN, .lpsr_on_mask =3D BD71828_MASK_LPSR_EN, @@ -493,13 +472,7 @@ static const struct bd71828_regulator_data bd71828_rda= ta[] =3D { ROHM_DVS_LEVEL_SUSPEND | ROHM_DVS_LEVEL_LPSR, .run_reg =3D BD71828_REG_LDO1_VOLT, - .idle_reg =3D BD71828_REG_LDO1_VOLT, - .suspend_reg =3D BD71828_REG_LDO1_VOLT, - .lpsr_reg =3D BD71828_REG_LDO1_VOLT, .run_mask =3D BD71828_MASK_LDO_VOLT, - .idle_mask =3D BD71828_MASK_LDO_VOLT, - .suspend_mask =3D BD71828_MASK_LDO_VOLT, - .lpsr_mask =3D BD71828_MASK_LDO_VOLT, .idle_on_mask =3D BD71828_MASK_IDLE_EN, .suspend_on_mask =3D BD71828_MASK_SUSP_EN, .lpsr_on_mask =3D BD71828_MASK_LPSR_EN, @@ -533,13 +506,7 @@ static const struct bd71828_regulator_data bd71828_rda= ta[] =3D { ROHM_DVS_LEVEL_SUSPEND | ROHM_DVS_LEVEL_LPSR, .run_reg =3D BD71828_REG_LDO2_VOLT, - .idle_reg =3D BD71828_REG_LDO2_VOLT, - .suspend_reg =3D BD71828_REG_LDO2_VOLT, - .lpsr_reg =3D BD71828_REG_LDO2_VOLT, .run_mask =3D BD71828_MASK_LDO_VOLT, - .idle_mask =3D BD71828_MASK_LDO_VOLT, - .suspend_mask =3D BD71828_MASK_LDO_VOLT, - .lpsr_mask =3D BD71828_MASK_LDO_VOLT, .idle_on_mask =3D BD71828_MASK_IDLE_EN, .suspend_on_mask =3D BD71828_MASK_SUSP_EN, .lpsr_on_mask =3D BD71828_MASK_LPSR_EN, @@ -573,13 +540,7 @@ static const struct bd71828_regulator_data bd71828_rda= ta[] =3D { ROHM_DVS_LEVEL_SUSPEND | ROHM_DVS_LEVEL_LPSR, .run_reg =3D BD71828_REG_LDO3_VOLT, - .idle_reg =3D BD71828_REG_LDO3_VOLT, - .suspend_reg =3D BD71828_REG_LDO3_VOLT, - .lpsr_reg =3D BD71828_REG_LDO3_VOLT, .run_mask =3D BD71828_MASK_LDO_VOLT, - .idle_mask =3D BD71828_MASK_LDO_VOLT, - .suspend_mask =3D BD71828_MASK_LDO_VOLT, - .lpsr_mask =3D BD71828_MASK_LDO_VOLT, .idle_on_mask =3D BD71828_MASK_IDLE_EN, .suspend_on_mask =3D BD71828_MASK_SUSP_EN, .lpsr_on_mask =3D BD71828_MASK_LPSR_EN, @@ -614,13 +575,7 @@ static const struct bd71828_regulator_data bd71828_rda= ta[] =3D { ROHM_DVS_LEVEL_SUSPEND | ROHM_DVS_LEVEL_LPSR, .run_reg =3D BD71828_REG_LDO4_VOLT, - .idle_reg =3D BD71828_REG_LDO4_VOLT, - .suspend_reg =3D BD71828_REG_LDO4_VOLT, - .lpsr_reg =3D BD71828_REG_LDO4_VOLT, .run_mask =3D BD71828_MASK_LDO_VOLT, - .idle_mask =3D BD71828_MASK_LDO_VOLT, - .suspend_mask =3D BD71828_MASK_LDO_VOLT, - .lpsr_mask =3D BD71828_MASK_LDO_VOLT, .idle_on_mask =3D BD71828_MASK_IDLE_EN, .suspend_on_mask =3D BD71828_MASK_SUSP_EN, .lpsr_on_mask =3D BD71828_MASK_LPSR_EN, @@ -655,13 +610,7 @@ static const struct bd71828_regulator_data bd71828_rda= ta[] =3D { ROHM_DVS_LEVEL_SUSPEND | ROHM_DVS_LEVEL_LPSR, .run_reg =3D BD71828_REG_LDO5_VOLT, - .idle_reg =3D BD71828_REG_LDO5_VOLT, - .suspend_reg =3D BD71828_REG_LDO5_VOLT, - .lpsr_reg =3D BD71828_REG_LDO5_VOLT, .run_mask =3D BD71828_MASK_LDO_VOLT, - .idle_mask =3D BD71828_MASK_LDO_VOLT, - .suspend_mask =3D BD71828_MASK_LDO_VOLT, - .lpsr_mask =3D BD71828_MASK_LDO_VOLT, .idle_on_mask =3D BD71828_MASK_IDLE_EN, .suspend_on_mask =3D BD71828_MASK_SUSP_EN, .lpsr_on_mask =3D BD71828_MASK_LPSR_EN, @@ -720,9 +669,6 @@ static const struct bd71828_regulator_data bd71828_rdat= a[] =3D { .suspend_reg =3D BD71828_REG_LDO7_VOLT, .lpsr_reg =3D BD71828_REG_LDO7_VOLT, .run_mask =3D BD71828_MASK_LDO_VOLT, - .idle_mask =3D BD71828_MASK_LDO_VOLT, - .suspend_mask =3D BD71828_MASK_LDO_VOLT, - .lpsr_mask =3D BD71828_MASK_LDO_VOLT, .idle_on_mask =3D BD71828_MASK_IDLE_EN, .suspend_on_mask =3D BD71828_MASK_SUSP_EN, .lpsr_on_mask =3D BD71828_MASK_LPSR_EN, --=20 2.44.0 --=20 Matti Vaittinen, Linux device drivers ROHM Semiconductors, Finland SWDC Kiviharjunlenkki 1E 90220 OULU FINLAND ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~ Simon says - in Latin please. ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~ Thanks to Simon Glass for the translation =3D]=20 --ju4vgvCpkoEaiHHL Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEEIx+f8wZb28fLKEhTeFA3/03aocUFAmZFydAACgkQeFA3/03a ocWC5AgAipXd6MonmP0kzeRELFJtK6OA67RbNRKmxM/6wp1Mm5wdYEXVQMXlP26O OIyyDnyzt0gf+eogfo/VwYOVjxpg7GBYGBD82Swik8NcDdoXYTjYxMyD2WwauJWZ ISHNkigHIj9rul/3xotzBjfuKDr+Apero8B/8vFHKkdY7KJaul+rk6xN/D/2UCd3 1tqbtA9FjaqS9rm7uozYnVyJnepdL+vbbEgLZzkTfTPzYhH44HXzQy5NE6ekLyIj FknwW4pJsl6msxT4H0gqLnV0FwNxIhEzjjYJpZwB5xcgFesNLcBJ7/tNLBAolxBa GUlEWYC20mSSjq/LcbFoC+C0XDH3oQ== =d9y3 -----END PGP SIGNATURE----- --ju4vgvCpkoEaiHHL--