From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-ed1-f44.google.com (mail-ed1-f44.google.com [209.85.208.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 D3D09480970 for ; Tue, 5 May 2026 14:25:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777991124; cv=none; b=ukOnYLN/i4p06O70AV39Qwve20TS8ipb/F1MGratXbs3FGwQg/4w/B6PWCvTYASp0b67udLkn8UXUgNSe1PjBd4ogz6PGNxPDmZcFJoUGHPiQJxrdARjvSGp8xEc5jTy94w/W/LRAivAjhejwLgYgIJxzpz+Kz0kBjiCPeXKZvM= 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.44 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-f44.google.com with SMTP id 4fb4d7f45d1cf-67bc8609a9bso2624807a12.0 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=XB0Nsfj9c7mHGiY1S/mEBR5e91lp92HROFBTvJn6+A3MeuN89nleDY8Jzyhnk3onTw Yjl9BSbvYVPYj5O/HKlRtJvz+AWSD9MikR3eBVmJ8zqLQtbwExson5Srm6Z8qZtnH9kq oO173H/sf9ZMKPKhtTriUkVOvLtiMLV7Iruti2LKkXvFf7alSoIqpXrbn+5c1oJveNyD tb3TJDIj8lN7JfLxiAhdq83trU5SjjU9ckbVRuqB7AmH2jWz0dtTSudz1yPvCKG1Lp10 pMPLou4ElH6HFUgHZ7qmKPUHPYXd3bf0gOU13pb5nnBCia0GC2r4o+UgctKSmVVlvxFJ T5hQ== X-Forwarded-Encrypted: i=1; AFNElJ9qrJ8sr2ogEqwBpLtWvdSj9K2Kl+5rpF5MIo9BJ+Ai1olcSrjp6ns9nFx2s0iHpVjjiI+DtVuzHk/aWnc=@vger.kernel.org X-Gm-Message-State: AOJu0YxZvAzgsotteNU7Lhr7w8k47Zk1Du6yeEjWQvowSOPktwDaY9p9 D9341sKxSbYcRMSuVos2bEeUtvqcWBDvelZOpnoDpfXrPxA3jOCQU3cu X-Gm-Gg: AeBDievE1FcjG6o+1T1J22LxcSDa2g//br35gpm/o/FPMIgfHlgCHbUtUgQArwndLPK 0BQEd51ARxJPEv6OfsvnYzkWdFvX6zDn4s6lfxydZx1jAk3IZ3cGk2Gap+2wraOknj3dMOhktsu b/9G2rDA7iyrU9Dxc7HBgUeyWmNozNvvqhmGBiXTtm5qFiMNl4Kac9zWibCxqlEMLgbvmd3jhz+ /SRptUo9hLXaXEkv4/etEvlbwtJvHloOO9iDTpx2z0qnfAa9LqnZUTkpt7xJARBY4Q5sef7Kvnn tEESO85m9zCwCMwuDs5jlYhY5OznUUKATA0qhoOW65IdNNa2dBMAGhvnh8l2RTXX1rOkwtNw1fb vpZgeiUrG364nBxDx4/y03jhyeOC8prIFFx2pPuX+j4jqlvRINwvaW87VCq+72VZe9313SUhlqb MpX+3ixWiXaqmG8U0Ggrt0Q0XJklvqVF+m 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: linux-kernel@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