From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f47.google.com (mail-ed1-f47.google.com [209.85.208.47]) (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 15716466B68 for ; Tue, 12 May 2026 07:05:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass smtp.client-ip=209.85.208.47 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778569541; cv=pass; b=fudoj9Uh/xPpbxaD739caHkEwShRRSiNrCu8zhqQSCMSIU+2IgXm5nEharPThCBvFrsKT37te8KrgYdew1OXM+Kvx8gC0xWQ8uy60Vj5nJ3lY8c36iXVP5YlzasR46d9+AsflaxYSyWOa+gyLlFaFi0ADOUiucFvmDGZxTl9e24= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778569541; c=relaxed/simple; bh=iUA4KanOx+PRFfzuu3dxsfCzyK7fuN7zilHuCkz4ENU=; h=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject: To:Cc:Content-Type; b=pFsZXAFApXn56mokypMZ2DX3ePDkKw3dFKlyAN2jUqf7yW6caCQSbK++WBosJyzz3jqe+d/1kuf3xpEPGcEsGut/Y99WwmYjNLUYW16KhjsAz12K5DyC+VW/JwhfZmqzJ8MNSixwKxfV5/ks+sD74OBJ0WRot7MTGv7jEyWbYyE= ARC-Authentication-Results:i=2; 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=rxYqZB+/; arc=pass smtp.client-ip=209.85.208.47 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="rxYqZB+/" Received: by mail-ed1-f47.google.com with SMTP id 4fb4d7f45d1cf-67da63ae541so9020957a12.0 for ; Tue, 12 May 2026 00:05:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1778569534; cv=none; d=google.com; s=arc-20240605; b=hMBl8oNGd20DjchgytJJ41CAUy+ozAVQEooyNBXb/OtDDaSpknOMwUvD8XSv3KQk6W o8my4bwA9r8A5Mcb3NtauXK9csrUFwHXa6xfk3KGfIoj9FSu0Hyg2f0Nd5ob/L93rh0K +gllT5aKAqPjnfXXRFWocR7LaG0DfRfNYGDFxCnxcpOi1M+8iU5RS9VxiwjI9OszQJmu nYkNQ0HdhjhLdzGFRdlaJhuuJrILsYPcTXuiKJtmzGuIx3DD4cVMInYyBndGQNHrUuFH jtrdSMDABSNstGlgIIq7hldzPSVBNDCTc0hMWzgpYjzTJhOD1xuszKmav98Ni8S4aun8 qo6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=4WKO48wCVFVY/Q3lQzIe4xzewKQpps/o90phN6WWe98=; fh=WZPdLrf6kjns7PAu0S0udjovRrDgevsAks2BHd+Dg2I=; b=CHHNENOLUM0A5WQCRJYYX1je6nxRKTYUrzG5Ev79PbU/w/9ixV6NOGEchknfInoAkb JMHPRw1FCR+ZcIS7CeijEJlmaUYFtK6iZgacKDFt8V5VNB5oj21nEec6zesQF1bkBOQ1 tLDcaOv6kzNiKFm7OSbyPWAqMqvk9hhwbl7ZB5W+zvZYKv/iRiUlB+bsT78lVvJ62BUc o2h98zDHuzJDVPW+toSoUQ9kaA5aUm/oJqHT75Y7GN/72wmfuafwcYIPhS4dVdkR0Yh0 manbFQwYosrpKyhZuOE89CvmkVItws9pf2ThC0+pWSfGY+d1nuDYgyZSYpiQU9qXEtoe K+eg==; darn=vger.kernel.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1778569534; x=1779174334; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=4WKO48wCVFVY/Q3lQzIe4xzewKQpps/o90phN6WWe98=; b=rxYqZB+/UHFvOKizRzFW+V6ETszlYvcxLmNJyeZiLpObexJbJF04PmilU8HL5ysClb P+bWv3h2BLwYiI0+XqjR6wCDWdJSO32OOH4hzcuYXcFyD7gtQYBmVINNd4EiqMVS/ern 4utktMp9gVUDnsM8TOIf6dbKmPPyZySlhmbfyy7D5lxJsc4Y4CQ1o4PGAbnxJaDCCSyl sIYyHYjZ13Q0RJ+mfzVDtX3H+6RW7nInH5BpyTb6/Y/F1TIATduf7V54wT3mhq9hEQqX wm4s0g9PXWmGppFSCReIatjLiMQ0XsDThgBbJjPbgM5j/Xhx+EmIXwTDbI/p9hTTC2Jb 9w7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778569534; x=1779174334; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=4WKO48wCVFVY/Q3lQzIe4xzewKQpps/o90phN6WWe98=; b=VgngoK191VdYYYwb2tfDddUbydnGpFAQO4QZzUlnAuZFZXaM1DQxV4v92azobnkF6b 8byQ1aZre8GZdavC1IpHyGXvaiWBlqq3TjAD+RlNeuaWjj8mXB+/X8kkeQzU9I8lI0vj yMkUqLnZ3/GeLliEgdUe8B3fjMZDF3euQiA3EioRsHtTKQQsj4FAx89LfxlCt0wG6UtV IqmD8RgnYp4WvI9CslS2LpuoOp6ND6enGWLSE5AjZ3MgNt5kkLuOFESvhw1SYMAN7Uia 46jUanybs6e1WiZEhdMn+pkTinMREbyDalVWlqJDn+gwwFgLpkf4XIV5x1YMDMEsE1Zd Z4/Q== X-Forwarded-Encrypted: i=1; AFNElJ+tE6M22RF7LW4fTJqTazmDnZ5+Z8AnJ2OKb+XhUpfzYatOYWo9apLyWY4t4qJWKITamiqnxLOWY6hiXLQ=@vger.kernel.org X-Gm-Message-State: AOJu0YxcvKSlhBsBPdxuNW0g1SAD+SpocXj51/8yQ70O0zNsaoWDc557 0oHTlQcF+yKmbZPuVso4frND/j4KHxy2KnqhuLLBwGKcqv8caW80TM483CXInJVJpdGO2IN+Trs g0sVNsFzg2Jw/FosOoxp0HE8qusUaENs= X-Gm-Gg: Acq92OFJkYd5BUR1Pt5IF3IlU9izCIPK/rx7UyER2pqX6BpMBltk00czZR9cPOxuxNH a/EJ7EshXAAtORa1eU3p5gsUhIJVkRowl2jcbosV0OTjgBXp6qI8r5UmGzgZ36dLHYtkSNghbm1 +3a9Nu0PW6YNnmSCjMx/+QnbyRR+y4QMMj4XSXmu9Us2b/VgcIVJ2KT2Odiy0IRs08hCWvydBCp Q4kUFS17YnUCh66BhpQOgCKtD856IPar/cz8E8P7euPG1wbYuufpiui6DX4IH3h7lYrBvkIVgbX CHfNOI18/pimEQEWz4ZWjXPPH4fdgUVEjH2NOvFMtDC+UMAU922nC/joSLAwYGd/MrKUd2oCyM/ zpXT5HuQ= X-Received: by 2002:a17:907:8b87:b0:bcd:2dbd:8241 with SMTP id a640c23a62f3a-bcd2dbd8f82mr647649566b.5.1778569533677; Tue, 12 May 2026 00:05:33 -0700 (PDT) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 References: <20260512-mt6323-v2-0-3efcba579e88@protonmail.com> <20260512-mt6323-v2-7-3efcba579e88@protonmail.com> In-Reply-To: <20260512-mt6323-v2-7-3efcba579e88@protonmail.com> From: Andy Shevchenko Date: Tue, 12 May 2026 10:04:56 +0300 X-Gm-Features: AVHnY4Ir9Mq_UQabCQBoJYVIwG-u_PpfuUXY4u_xRVfJJhNKJhDnleR-UqRVa9w Message-ID: Subject: Re: [PATCH v2 07/16] thermal: mediatek: add PMIC thermal support To: rva333@protonmail.com Cc: Jonathan Cameron , David Lechner , =?UTF-8?B?TnVubyBTw6E=?= , Andy Shevchenko , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Matthias Brugger , AngeloGioacchino Del Regno , Sen Chu , Sean Wang , Macpaul Lin , Lee Jones , Srinivas Kandagatla , "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , linux-iio@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-pm@vger.kernel.org, Ben Grisdale Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Tue, May 12, 2026 at 8:21=E2=80=AFAM Roman Vivchar via B4 Relay wrote: > > Add a new driver to support thermal monitoring on MediaTek PMICs. > > The driver retrieves calibration data from EFUSE, calculates the > temperature using a linear interpolation, and registers the device with > the thermal framework. > > Initial support is added for the mt6323 PMIC. ... + array_size.h > +#include > +#include > +#include > +#include > +#include > +#include No way the driver(s) nowadays use this header. Please, drop it and add the ones that are really in use (there are missing ones). > +#include > +#include > +#include > +#include > +#include > +#include Is it used? > +#include Missing types.h > +#include ... > +#define MT6323_ADC_VOLTAGE_RANGE 1800 > +#define MT6323_ADC_RESOLUTION 32768 These two ring a bell with the first code patch. Are they the same? Can they be deduplicated? ... > + ret =3D iio_read_channel_processed(sensor->adc_channel, &raw); > + if (ret < 0) { Do we need that ' < 0' part? What is the meaning of positive returned value (if any) and why do we ignore that? Same question to all similar checks in the whole series. > + dev_err(sensor->mt->dev, "failed to read iio channel: %d\= n", > + ret); > + return ret; > + } ... > + /* > + * Temperature coefficient. The o_slope is a trim value applied t= o > + * the base calibration Respect English grammar and punctuation. Here is the period missing. > + */ ... > +static int mtk_pmic_thermal_extract_efuse_mt6323(struct mtk_pmic_thermal= *mt, > + u16 *buf) > +{ > + u32 reg; > + s32 vts, degc_cali, o_slope, o_slope_sign, id; > + int ret; Better to keep reversed xmas tree order. > + return 0; > +} ... > +static int mtk_pmic_thermal_get_calib_data(struct device *dev, > + struct mtk_pmic_thermal *mt) > +{ > + void *buf __free(kfree) =3D NULL; This is a discouraged way of defining variables with __free(). See below. > + struct nvmem_cell *cell; > + size_t len; > + int ret; > + > + cell =3D nvmem_cell_get(dev, NULL); > + if (IS_ERR(cell)) > + return PTR_ERR(cell); > + buf =3D nvmem_cell_read(cell, &len); Should be rather here void *buf __free(kfree) =3D nvmem_cell_read(cell, &len); > + nvmem_cell_put(cell); > + > + if (IS_ERR(buf)) { > + ret =3D PTR_ERR(buf); > + buf =3D NULL; > + return ret; > + } > + > + if (len < 2 * sizeof(u16)) { > + dev_err(dev, "invalid calibration data length\n"); > + return -EINVAL; return dev_err_probe(...); > + } > + > + ret =3D mt->data->extract_efuse(mt, buf); > + if (ret) { > + dev_info(dev, "device not calibrated, using default value= s\n"); > + mt->data->precalc(mt, MT6323_DEFAULT_VTS, > + MT6323_DEFAULT_DEGC_CALI, > + MT6323_DEFAULT_SLOPE, > + MT6323_DEFAULT_SLOPE_SIGN); > + } > + > + return 0; > +} > + > +static int mtk_pmic_thermal_init_sensor(struct mtk_pmic_thermal *mt, int= id) > +{ > + struct mtk_pmic_sensor *sensor =3D &mt->sensors[id]; > + struct device *dev =3D mt->dev; > + > + sensor->id =3D id; > + sensor->mt =3D mt; > + > + if (mt->data->num_sensors > 1) > + sensor->adc_channel =3D devm_iio_channel_get(dev, mt->dat= a->sensors[id]); > + else > + sensor->adc_channel =3D devm_iio_channel_get(dev, NULL); > + Unneeded blank line as the above and below are coupled semantically. > + if (IS_ERR(sensor->adc_channel)) > + return dev_err_probe(dev, PTR_ERR(sensor->adc_channel), > + "failed to get channel %s\n", > + mt->data->sensors[id]); > + > + sensor->tzdev =3D devm_thermal_of_zone_register(dev, id, sensor, > + &mtk_pmic_thermal_o= ps); > + if (IS_ERR(sensor->tzdev)) > + return dev_err_probe(dev, PTR_ERR(sensor->tzdev), > + "failed to register thermal zone %d\= n", id); > + > + return 0; > +} ... > +static const struct of_device_id mtk_pmic_thermal_of_match[] =3D { > + { .compatible =3D "mediatek,mt6323-thermal", > + .data =3D &mt6323_thermal_data }, > + { /* sentinel */ }, No comma for the terminator entry. > +}; --=20 With Best Regards, Andy Shevchenko