From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f41.google.com (mail-wm1-f41.google.com [209.85.128.41]) (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 7F7DA283FC4 for ; Mon, 5 Jan 2026 22:28:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.41 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767652089; cv=none; b=mRC88RUkB8El1YwUPasyZ1lYMZnyuvdD0AbRh3C9gNJTg9CP6HA8DcSjIj1KGwOTfBNpkTx2sHQQDizcKtwNqxOxmZ6R0aIul7Ps+AU8sgODoaIFhHDRkCBACsP79cPUugkQJIaepErFYSvVGDC3nW63fwwh/EQh4E2mSFnQ61I= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1767652089; c=relaxed/simple; bh=b7vj7AV2tixYlEJCK+3DYsd/jhWamA+HobSOptAlXGY=; h=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=HgDFT19i3rj45oJfXGhZPz+PW+9tPQ5kR7ERo0vCk2IxpYcyOeUFyBGItzm4NWksV+cdzdhclwH6DXe5X3zWXnY3a0gIB7LYc3tWR9X8J9x8M8iFoXK+VOnKr43bfGqts7n9qSiKaWhkHCkd226oMIRX89hLN/CFpmeaPxA89wE= 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=iv+y5Qcs; arc=none smtp.client-ip=209.85.128.41 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="iv+y5Qcs" Received: by mail-wm1-f41.google.com with SMTP id 5b1f17b1804b1-4779aa4f928so4342065e9.1 for ; Mon, 05 Jan 2026 14:28:07 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1767652086; x=1768256886; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:from:to:cc:subject:date :message-id:reply-to; bh=tP3TKn35fuKWSrYkUT4P8AjhyfJ/uEDWn4TeWwqGKdg=; b=iv+y5QcsMnn172Muu979Lbja8Ok9z1cYpp+19RIbCfnmgWdhRoBI4afP1Db4/DjxAD 0Z4pGiOqFxab2zM+VBBQQYNzakSbXCv5voS9HACtA49vUJ6HQKDNXCFRWvVnSeyqjVei dFwpbnrRqTO/mpdSoBqjZ5mUL32VDOsM8jTJKiX4zQPaWQmV6YLzsb8vSpjcdekPy4eo F+94ksP9PavOs4GYrQ5WLdkdb5sddGpnF8yj09De9uHuCwMQiuLajdEqXDXep0Hl8MCS Q0hTC3JUrFcwojJXx9Ge7YKifRwCDZNe75bEYCb4KOA2U/LOzWfTNV25XjKHcITaQifT BhCA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1767652086; x=1768256886; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=tP3TKn35fuKWSrYkUT4P8AjhyfJ/uEDWn4TeWwqGKdg=; b=uG5/TS9LqwCujHOsmyaxwG2QKHK2iFhv0/JpEGH1a82fS2Deo8NMyCMz2DfHg0ezeA kJ7bFr0pwAtILRvo2vV9ar8RTnxshXN3LzAdIj0jucrPH190Mxt0kDQTwEazluDZNCWV Co5766lSZFHzp9mZoU2ysU+dKqtIIeN0zipNZQllUdUV1LR9DB4OylQtpk3AYJbeZEvA 5mNX4Qh89Vo7X8wBDci876wc4ZdX93r4PyhMn2sTPHF5omVT61hsjXm20MQlvZVe1tPv NaE/kOkBsIFmWTyPrW9Z9k+1J9wHLgytLaXS9ti3Ma+IBVw+7GRjD0ESmSu69Z7tm5gf s1hA== X-Forwarded-Encrypted: i=1; AJvYcCVLj5hHj3CDxkLwyiR7154MFlX52R8WuP9ksP8KjXePSPgSJmUmu9uIbHyrpIRTHnCB3i+eedOP0/82oNg=@vger.kernel.org X-Gm-Message-State: AOJu0YwoksfBk/t+IPfh2NutAHVZ3PtUMe1mTbAfns8b3eOLd4ZAjV4F SYJWcycgj5YnBBTdjk+YPsjhsy4/yjvbDxWbf2txdDWTFmfCAu+alQMW X-Gm-Gg: AY/fxX7N6iqObHdfTFPsNtez3cBlvB5bvV/b8yeMRvlLFLjvjsXYGvWs3mS6DyCn0Qr 51312oBrdqxr3hgZ7t26E6RXsVxTLA4Xxd/he9MPBEsdjo3+Z6FD0qiuCHwLA+pKey82TGiom6+ Ewi0lHWDO2B9lFHMCvSK8XTvSr2tzqmjWa7ZsAynEquW8dnbA2Ernz1TfhCOAelUxgqGu5A5EPJ USvGgiK47nwv4LAmB1nDljltoBnW/0wXld5u+8Kqpd5Zc8qfG9dDVYLLi2Kiuea/tWkG2B6DCGf qhH+rKho3TJHnWb0khkG7zYdZlzcvo9dTfaFXj8qcTMaAVVE51iYRYXDr1RkXoyH9u9h+t6ra6t 4fRy8dBTw+8l01uLtxeTi0DDATHBre2R+RElspAYZw8edBfFIXy5rhXyMGjeZ+dlAdk1o0qeiPj ycUBJx3+SJi/z1wA1r4t3FjemD6QNi96w5C3Ea0bHe/atZ2j8emOjT X-Google-Smtp-Source: AGHT+IHQ2jumI7ob3RSLeH/S99yo8OIt0/2N7w2n2pE1KCHuEJ1chMCDPXq93Nmz5uhJL4PGy4W++A== X-Received: by 2002:a05:600c:848c:b0:477:76bf:e1fb with SMTP id 5b1f17b1804b1-47d7f075bb8mr12511695e9.16.1767652081057; Mon, 05 Jan 2026 14:28:01 -0800 (PST) Received: from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-47d7f661a03sm10123945e9.13.2026.01.05.14.28.00 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 05 Jan 2026 14:28:00 -0800 (PST) Date: Mon, 5 Jan 2026 22:27:55 +0000 From: David Laight To: Thorsten Blum Cc: "Rafael J. Wysocki" , Daniel Lezcano , Zhang Rui , Lukasz Luba , Florian Fainelli , Broadcom internal kernel review list , Ray Jui , Scott Branden , Luca Ceresoli , Geert Uytterhoeven , linux-pm@vger.kernel.org, linux-rpi-kernel@lists.infradead.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH RESEND] thermal: broadcom: Use clamp to simplify bcm2835_thermal_temp2adc Message-ID: <20260105222755.305787f7@pumpkin> In-Reply-To: <20260105121308.1761-1-thorsten.blum@linux.dev> References: <20260105121308.1761-1-thorsten.blum@linux.dev> X-Mailer: Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf) Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit On Mon, 5 Jan 2026 13:13:03 +0100 Thorsten Blum wrote: > Use clamp() to simplify bcm2835_thermal_temp2adc() and improve its > readability. Explicitly cast BIT() to int to prevent a signedness error. > > Signed-off-by: Thorsten Blum > --- > drivers/thermal/broadcom/bcm2835_thermal.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/thermal/broadcom/bcm2835_thermal.c b/drivers/thermal/broadcom/bcm2835_thermal.c > index 685a5aee5e0d..c5105dfc6ec9 100644 > --- a/drivers/thermal/broadcom/bcm2835_thermal.c > +++ b/drivers/thermal/broadcom/bcm2835_thermal.c > @@ -11,6 +11,7 @@ > #include > #include > #include > +#include > #include > #include > #include > @@ -80,12 +81,7 @@ static int bcm2835_thermal_temp2adc(int temp, int offset, int slope) > temp -= offset; > temp /= slope; > > - if (temp < 0) > - temp = 0; > - if (temp >= BIT(BCM2835_TS_TSENSSTAT_DATA_BITS)) > - temp = BIT(BCM2835_TS_TSENSSTAT_DATA_BITS) - 1; > - > - return temp; > + return clamp(temp, 0, (int)BIT(BCM2835_TS_TSENSSTAT_DATA_BITS) - 1); Hmmm.... I wonder if I can get 'statically_true(lo >= 0)' into the type check so that cast isn't necessary. signed_val < 0 ? 0 : signed_val > unsigned_val ? unsigned_val : signed_val is fine. Would mean swapping the order of the tests - which shouldn't break anything. But will need a full audit - various bits of code have relied on the order of the comparisons. David > } > > static int bcm2835_thermal_get_temp(struct thermal_zone_device *tz, int *temp) >