From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f52.google.com (mail-ed1-f52.google.com [209.85.208.52]) (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 C81EA48096F for ; Tue, 5 May 2026 14:25:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777991124; cv=none; b=JH1w3xnY62/BgI/vNty9YpeXgGCAJ3QrqwygBFzazuWFZgsZT2qbSNU2f6QZ0qEyimy2ye9ZSEf5QbcUyh9n5+kReCWPptb7hHXuin90lRBrMxq6UXRT8JjA6L9Kv33Gsv2yuE9y3t06Qqf0FE/AuciI9YaVpyf0/B3MEaP8i58= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777991124; c=relaxed/simple; bh=79Mr++4ywq5EgtUZ9PejVwzSpLuYUxCPpfWZYzB0SmE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=auNDFMzJ+9qN4yzb7pXwF+mdg5fX06oKCZeW+MBvzeLvP91IIFfwB9bZdsT8Z71KHNmBiBVyHOE3BDRsxjAJlUuoG+aAJe06nF1bzJWljbD17UaMzLvXDBFdCdvCUJAC2U99YTna9d3b1p/MGOT3+m6QekDUwgI6TlhEfnHFYak= 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=QrfgPQcw; arc=none smtp.client-ip=209.85.208.52 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="QrfgPQcw" Received: by mail-ed1-f52.google.com with SMTP id 4fb4d7f45d1cf-67cac5ece75so3048241a12.2 for ; Tue, 05 May 2026 07:25:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777991121; x=1778595921; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=pzlkHf4YEky1pO/hXCEL+6vJR7HxhQpNLg8+R2TR7cU=; b=QrfgPQcwHXvngsxz2H/Dk3lY09K9lWDc9EE8xVtirSNxHGi7MG7sJEHe+3f0lMJ2xr 6vliTYMvL3ACFLoo8bkfg+ehAZP2Ya55gGky5GqNyWG4sdJ8Bwo/FMjfDBtcyQ83lLc/ Oa8VftE6sVqiwUcGHlgyPy2LdteQikGceS5GWVW7I6vtccL9YCQf/9SA/N67cYjgN3Pk ncer8Bxbfk2N3ShJ/xWUBXehLCMjmcpFypmK2ruOEdobpg+M0U6EcgQr0MYhosXVj8jY 1JqLqjBs9mlGpwAfFOdBK4WPUAAJnet/GzItUQg2njQ7GxRnMQU0Ab+I6ku3nOWoJHAr m8SA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777991121; x=1778595921; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=pzlkHf4YEky1pO/hXCEL+6vJR7HxhQpNLg8+R2TR7cU=; b=sRDRHAjcyvw3ooAPDvTe1Nbwr4mYK7SQ5woR+XZJuNi5p6v5/WE5tkG7WZulw8CWwq gQ2eU3NI0dRa5oKWBiP2w7u57NX0lT3OmrmZSHpmRMq5jmH5udelCO0CwdinzeDLadWd HlxkGVw894+eAYTC03GgBUuryY/AcNzcApC9crww9WuVZXMD2L1OpivMDnn1jp/8qVzx NK2DJ0t1zV9Xvjw2d/AYJAF7+5bBxVIdNZBF0+z1nwPamcODTjxxWTgxWxfOO9mnY7Nb diq0brlIonR6m3tVfO/pY4Oghc4ZACg0lqFIsPk0MSS+8FENt/E/jqByNZa+aLeF0zeg KcUw== X-Forwarded-Encrypted: i=1; AFNElJ9F4th37W2jnWM1LWVFRCmEgsMZmJLLCcNBbEiXyZct5xnzqQYm/qJn+c34PU0Xt2RMpr8SJd0=@vger.kernel.org X-Gm-Message-State: AOJu0Yz6LYT5WKq5TAA17Of55dAYhT3TYka04AD11kDQ80LoIUK2Uu+V PhT5PvsffCYNKsvbY3N110+h5Oc+Im8rOBuB3OpSIPNju5q9Mm7/goIN X-Gm-Gg: AeBDievoMdqVWJ0IYMBrX6nXLJSgCOWIZxSAR6EL/LT45X5KV7B3PK9MSfdovIe6rgj hXcqpCEhqIXQdvmxKJ5NkJwhEtAq98+g/VpHmbyOx4NtPKVSFIAK8DerrV7eZ/+RtQokTBeYBPc 9lfWBllKLYZ7WuR2g0kgsiYGQZK29R82lRlwQpCjgD5ypMIbFZTJnX/kRFumg8p7/w6xOrMLeNT PPBPl78aVXXVi8B5RhTdnlPsbZC9t8+Gl2D8zxGAW+yJ84HFxy9p77k2RtEEdZEkMeDjFIawpds AXm0PmLSRLtT1h70XbvZRt3hyIZJsdD5I97dhgy02owzrbfl1nLuSpH1OccRSaj+pwckPi9/R98 ReQ6qEvbpzoo6/WfG2LyCspFnIobqkd8FNjq78sNkTwHv5P3esN7oFkuigebVwYwc/ZvWMmCSoK R+U/YwS60X48jj7BxgHVMdCp//LyyvgaGR X-Received: by 2002:a17:906:eeca:b0:ba5:dfa6:1e8e with SMTP id a640c23a62f3a-bc40f438b2fmr185301166b.5.1777991120735; Tue, 05 May 2026 07:25:20 -0700 (PDT) Received: from avt74j0.. ([2a02:8109:8617:d700:a1d:902c:85c8:d272]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-bbe6a64d990sm511134366b.22.2026.05.05.07.25.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 05 May 2026 07:25:20 -0700 (PDT) From: Martin Hecht To: Cc: sakari.ailus@linux.intel.com, martin.hecht@avnet.eu, michael.roeder@avnet.eu, stable@vger.kernel.org, Martin Hecht , Tommaso Merciai , Mauro Carvalho Chehab , Hans Verkuil , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH v1] media: i2c: alvium: Fix controls for WB/AWB Date: Tue, 5 May 2026 16:25:10 +0200 Message-ID: <20260505142513.1551721-1-mhecht73@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit With that patch the controls for red-balance and blue-balance were created only if the particular camera supports that. Otherwise the pointers on the control variable are initialized with NULL to prevent side effects for clustering with AWB control. Fixes: 0a7af872915e ("media: i2c: Add support for alvium camera") Signed-off-by: Martin Hecht --- drivers/media/i2c/alvium-csi2.c | 37 ++++++++++++++++++++------------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/drivers/media/i2c/alvium-csi2.c b/drivers/media/i2c/alvium-csi2.c index b62b45a4f2fc..4c6934e9e177 100644 --- a/drivers/media/i2c/alvium-csi2.c +++ b/drivers/media/i2c/alvium-csi2.c @@ -2108,26 +2108,33 @@ static int alvium_ctrl_init(struct alvium_dev *alvium) 0, 0, &alvium->link_freq); ctrls->link_freq->flags |= V4L2_CTRL_FLAG_READ_ONLY; + if (alvium->avail_ft.whiteb) { + ctrls->blue_balance = v4l2_ctrl_new_std(hdl, ops, + V4L2_CID_BLUE_BALANCE, + alvium->min_bbalance, + alvium->max_bbalance, + alvium->inc_bbalance, + alvium->dft_bbalance); + ctrls->red_balance = v4l2_ctrl_new_std(hdl, ops, + V4L2_CID_RED_BALANCE, + alvium->min_rbalance, + alvium->max_rbalance, + alvium->inc_rbalance, + alvium->dft_rbalance); + } else { + /* set to NULL for v4l2_ctrl_auto_cluster if not existing */ + ctrls->blue_balance = NULL; + ctrls->red_balance = NULL; + } + /* Auto/manual white balance */ if (alvium->avail_ft.auto_whiteb) { ctrls->auto_wb = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_AUTO_WHITE_BALANCE, 0, 1, 1, 1); - v4l2_ctrl_auto_cluster(3, &ctrls->auto_wb, 0, false); - } - - ctrls->blue_balance = v4l2_ctrl_new_std(hdl, ops, - V4L2_CID_BLUE_BALANCE, - alvium->min_bbalance, - alvium->max_bbalance, - alvium->inc_bbalance, - alvium->dft_bbalance); - ctrls->red_balance = v4l2_ctrl_new_std(hdl, ops, - V4L2_CID_RED_BALANCE, - alvium->min_rbalance, - alvium->max_rbalance, - alvium->inc_rbalance, - alvium->dft_rbalance); + + v4l2_ctrl_auto_cluster(3, &ctrls->auto_wb, 0, true); + } /* Auto/manual exposure */ if (alvium->avail_ft.auto_exp) { -- 2.43.0