From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (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 D0958299A81 for ; Fri, 28 Nov 2025 08:10:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317449; cv=none; b=JUV/qPxGfog5AdWmfQzPDlQ5XAWqRLtB8KUkxpdsDLZ8rweO2NiMNNMAMHgFBDzQkCElLzZ27+j57bTjSY1L2DUvi14vhD7a3yOfg7GZPooSPA27dWLXCLmzwrLcsTmaKuntbmiS0Ty2u5KmpFUZg7jh7q+ey3+DlcKYvFNRlL0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764317449; c=relaxed/simple; bh=BI6d5r9H0oVhcgY7hqM0ujL/0z2q9c72cR3/Pq4ycVA=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=WmgLqIqnefC/ZcKjdlRouSoVNOfpw0iAikiSDXGz+HmALhMV3zORaovJgt31Jt8ZRoamGMyKPBBveDSmVFEAU0IIbUiP4AupRy6CYSCjkWfKPq13OHbZVKJh0BAaqARwiSSthMZ84z5ZvAj7PhffuUaYz5Ap3JhTecLoFOAKm5E= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org; spf=pass smtp.mailfrom=linaro.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b=SiVskeq6; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linaro.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linaro.org Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linaro.org header.i=@linaro.org header.b="SiVskeq6" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-4775e891b5eso6357385e9.2 for ; Fri, 28 Nov 2025 00:10:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1764317445; x=1764922245; 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=+2bFlIh8I9NZQcRpDPD+Djsorg8bRceb3xQr+grKSRk=; b=SiVskeq6fS1FHwAMamNK5PYuedSA93M5Bzg0yrtGs3Vr5Llc40P2NzcfRmz5J66o1k m84N4iWTxOtr5b+x3qLpUlRBHt63gzQeDCIGj5jYZgRCLb5RSMFZmIzCasHW4NyPJ+8w qy9SeOQrTLcZEfLvmgF2A7uUDuw14KblgaXULzw7pyaOMl9AApiYAmtpQaX9wFf2/IgA go9jqHKAiaHvocJYzxJnrhfIdZMaGqmhfahg/7qCKuvy78e/qW2hMB+jdJh1CRvn3+up 7ynNV8oJz3Ruq+ZLVcJh9as3+qkkL1seDWmmo+gl2x00y7kjuANKol0ocDQVguNQM2fc 6ung== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1764317445; x=1764922245; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=+2bFlIh8I9NZQcRpDPD+Djsorg8bRceb3xQr+grKSRk=; b=KL7h4ryjWtYeE5VIIieDGVi4iNpwXywOiyvoIOAaxmAwMKa2oJKV8KjtttWJo2Vy67 cESv49IAer/eL0hmp35wcKLI0XLZBcU71Gn2arfa+NomIm8JNdtaFLXgJELYZ+geNmNY gYd3QW26x9ke0T+FdvngsUrtsxXD4r9neRUedRzqL8ju0CiAkdwOmi+cFgKWwQmgkf4b RelZFO7L9ZHsiPgLzM/LOJQIzkfGfMzEeVaLnX76RhH9k3WK/ZiuursJUyJ97VtcxuUw Cja459M5Ykw8lcxCDE4sxf+nkbA52OrPQvcKRrWEoTyaleuA41P9Kea5cj5wfyTsw12w t8NQ== X-Forwarded-Encrypted: i=1; AJvYcCWq3bf4NCkXDTYiMX9rvgOnEU/8edzXz90/tsjyj3bSGV3ampIjoVxsLsASChe9lRMQQIzEPD2Ffbg=@vger.kernel.org X-Gm-Message-State: AOJu0YxvRIY0X4y5p3FcMSunO6rFW6ONDU9YGWwBYK6WFd/Spedl/YVQ T1KUgReUBwsJwlubqMI5lMH82rB30CbAC7dhQb+8bVUH5n5Zv2tK3BPSvZ4L8AakzfU= X-Gm-Gg: ASbGncs73v2IdT59o7ar5bh3SOXhbURJCfctkFeFAM1wa4DQIaxqJiwsYl7b/nHynu8 OI+xP1oTCxjvH03kkj5llLsGDTRIPhHjeiVW4KT4iMC8AJNv68O8PAU2gjVltP4+AIGXboc50r2 WNcU4ZOI9dN8QTSRQwtrcKz92yDEHHjKfI4c5GAZER2NJiW5t+lxfqLSX/TeiPhzGIZBbl5nt4H 9gVT1qrGmMfdoE6Ka4PqXbrbbLuw4tmchOO1KTfe+8PrhP8bjgczlT86oEsykeNwo6DWbm1fBv+ 9Yc5zWw1gVVAN6fVSqP7aQ0ygjKDoyWmJmRTF6jb9HJbcjy4kipqWUP/f9udTUGD5LA5mwCAEEX B7gOcOMPgavtEQBxa+M1dLlbpK2Rlw19Nh9n5KBOhAhguEhxO14BXhsRTX3so0ZeAUiJSKQOPPK 7uLTfiYznjLviXz6ez X-Google-Smtp-Source: AGHT+IHVNGxLHdQSfNonRBBq78f347/I8I+ulkCPlaTONnGVXYiUFj038obXmFsDqBT8iAGXzvuP8A== X-Received: by 2002:a05:600c:1d1d:b0:477:7c7d:d9b7 with SMTP id 5b1f17b1804b1-477c01ec3f5mr247354265e9.33.1764317445111; Fri, 28 Nov 2025 00:10:45 -0800 (PST) Received: from localhost ([196.207.164.177]) by smtp.gmail.com with UTF8SMTPSA id 5b1f17b1804b1-47911143bb6sm83247115e9.3.2025.11.28.00.10.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 28 Nov 2025 00:10:43 -0800 (PST) Date: Fri, 28 Nov 2025 11:10:39 +0300 From: Dan Carpenter To: James Calligeros Cc: Sven Peter , Janne Grunau , Alyssa Rosenzweig , Neal Gompa , Lee Jones , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Alexandre Belloni , Jean Delvare , Guenter Roeck , Dmitry Torokhov , Jonathan Corbet , asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-rtc@vger.kernel.org, linux-hwmon@vger.kernel.org, linux-input@vger.kernel.org, linux-doc@vger.kernel.org Subject: Re: [PATCH v5 06/11] hwmon: Add Apple Silicon SMC hwmon driver Message-ID: References: <20251112-macsmc-subdevs-v5-0-728e4b91fe81@gmail.com> <20251112-macsmc-subdevs-v5-6-728e4b91fe81@gmail.com> Precedence: bulk X-Mailing-List: linux-doc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20251112-macsmc-subdevs-v5-6-728e4b91fe81@gmail.com> On Wed, Nov 12, 2025 at 09:16:52PM +1000, James Calligeros wrote: > +static int macsmc_hwmon_populate_sensors(struct macsmc_hwmon *hwmon, > + struct device_node *hwmon_node) > +{ > + struct device_node *key_node __maybe_unused; The for_each_child_of_node_with_prefix() macros declare key_node so this declaration is never used so far as I can see. I thought Sparse had a warning where we declared shadow variables where two variables have the same name but it doesn't complain here. #strange > + struct macsmc_hwmon_sensor *sensor; > + u32 n_current = 0, n_fan = 0, n_power = 0, n_temperature = 0, n_voltage = 0; > + > + for_each_child_of_node_with_prefix(hwmon_node, key_node, "current-") { ^^^^^^^^ regards, dan carpenter > + n_current++; > + } > + > + if (n_current) { > + hwmon->curr.sensors = devm_kcalloc(hwmon->dev, n_current, > + sizeof(struct macsmc_hwmon_sensor), GFP_KERNEL); > + if (!hwmon->curr.sensors) > + return -ENOMEM; > + > + for_each_child_of_node_with_prefix(hwmon_node, key_node, "current-") { > + sensor = &hwmon->curr.sensors[hwmon->curr.count]; > + if (!macsmc_hwmon_create_sensor(hwmon->dev, hwmon->smc, key_node, sensor)) { > + sensor->attrs = HWMON_C_INPUT; > + > + if (*sensor->label) > + sensor->attrs |= HWMON_C_LABEL; > + > + hwmon->curr.count++; > + } > + } > + } > + > + for_each_child_of_node_with_prefix(hwmon_node, key_node, "fan-") { > + n_fan++; > + } > + > + if (n_fan) { > + hwmon->fan.fans = devm_kcalloc(hwmon->dev, n_fan, > + sizeof(struct macsmc_hwmon_fan), GFP_KERNEL); > + if (!hwmon->fan.fans) > + return -ENOMEM; > + > + for_each_child_of_node_with_prefix(hwmon_node, key_node, "fan-") { > + if (!macsmc_hwmon_create_fan(hwmon->dev, hwmon->smc, key_node, > + &hwmon->fan.fans[hwmon->fan.count])) > + hwmon->fan.count++; > + } > + } > + > + for_each_child_of_node_with_prefix(hwmon_node, key_node, "power-") { > + n_power++; > + } > + > + if (n_power) { > + hwmon->power.sensors = devm_kcalloc(hwmon->dev, n_power, > + sizeof(struct macsmc_hwmon_sensor), GFP_KERNEL); > + if (!hwmon->power.sensors) > + return -ENOMEM; > + > + for_each_child_of_node_with_prefix(hwmon_node, key_node, "power-") { > + sensor = &hwmon->power.sensors[hwmon->power.count]; > + if (!macsmc_hwmon_create_sensor(hwmon->dev, hwmon->smc, key_node, sensor)) { > + sensor->attrs = HWMON_P_INPUT; > + > + if (*sensor->label) > + sensor->attrs |= HWMON_P_LABEL; > + > + hwmon->power.count++; > + } > + } > + } > + > + for_each_child_of_node_with_prefix(hwmon_node, key_node, "temperature-") { > + n_temperature++; > + } > + > + if (n_temperature) { > + hwmon->temp.sensors = devm_kcalloc(hwmon->dev, n_temperature, > + sizeof(struct macsmc_hwmon_sensor), GFP_KERNEL); > + if (!hwmon->temp.sensors) > + return -ENOMEM; > + > + for_each_child_of_node_with_prefix(hwmon_node, key_node, "temperature-") { > + sensor = &hwmon->temp.sensors[hwmon->temp.count]; > + if (!macsmc_hwmon_create_sensor(hwmon->dev, hwmon->smc, key_node, sensor)) { > + sensor->attrs = HWMON_T_INPUT; > + > + if (*sensor->label) > + sensor->attrs |= HWMON_T_LABEL; > + > + hwmon->temp.count++; > + } > + } > + } > + > + for_each_child_of_node_with_prefix(hwmon_node, key_node, "voltage-") { > + n_voltage++; > + } > + > + if (n_voltage) { > + hwmon->volt.sensors = devm_kcalloc(hwmon->dev, n_voltage, > + sizeof(struct macsmc_hwmon_sensor), GFP_KERNEL); > + if (!hwmon->volt.sensors) > + return -ENOMEM; > + > + for_each_child_of_node_with_prefix(hwmon_node, key_node, "volt-") { > + sensor = &hwmon->temp.sensors[hwmon->temp.count]; > + if (!macsmc_hwmon_create_sensor(hwmon->dev, hwmon->smc, key_node, sensor)) { > + sensor->attrs = HWMON_I_INPUT; > + > + if (*sensor->label) > + sensor->attrs |= HWMON_I_LABEL; > + > + hwmon->volt.count++; > + } > + } > + } > + > + return 0; > +}