From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E02DA54774 for ; Thu, 12 Feb 2026 15:53:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770911636; cv=none; b=mDnpZDAQu4/XCBkjshaIO6BMn29GvAHCypICwzA41UYI8iT3wglDCjoyphYNosi0zYeqwMpQ8sW6xfLhuX4/uJeMUim+mPbYcVxqog1nzpdGpHLRzQ+8PwOkfocSwXJZXhcBj6KAu6HD+o0wSagDowtVht5fPUOuA5HfRUk4u5Y= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770911636; c=relaxed/simple; bh=9qWShex5a172uhSvoMtt5lOID1otTQrVNaCakTMDxi4=; h=Message-ID:Date:MIME-Version:From:Subject:To:Cc:References: In-Reply-To:Content-Type; b=onvt6zeRtQrnUEYKXY5aroCzIXNCcu4QVLf2sWrcTZq7RwcK0C7hTklOmqIZ95heK4ng1+D2Epr/AXdXvCyNZoLn3eMzlezvjR/UtXJjBUWbAZ+3/EOgJBJ1cgvBTCKPowX4905IrI1SiSwpOJHC3o7bvnQV752hzfOXBs6KlY4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=AroI99lk; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Id6dO+YE; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="AroI99lk"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Id6dO+YE" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61CDRdLa4033263 for ; Thu, 12 Feb 2026 15:53:53 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= BuTnx4kFiFxswmc+ph8pSr0EIfDBaa5ryAFfn0gTWMk=; b=AroI99lk/TX9IHrz ibLgbBfVdcKBZrB2CHM7LksUtvwNZd3/W4DBI8Lil/ZKDYPlpYoS0uX1wwZYYjE1 XSORpPgcQXMTnhPUI1aDBtZlNfX/xQ+FaPqDqDC079ObRLYfwZju/0/I5/UuSJJ/ VHf+sOHIwDmKlveLg1zwGPt7ba/KU7eMWSYD9vTWlsRC5TctCcjNcnZRqXp/rO22 66NY1DZ8Wh9D2AYxtFNqa1S/zcY3frqL12uVhFzFG/H9m1lr7/og5IAf98EK3/+4 FWREjw/vXhy/MGekmXp38n2qtIgv5XchKB8uwv0nK7xC1cIlANuJcRdVjaXU4gdM InGKAA== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c9ck2h6ce-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 12 Feb 2026 15:53:53 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8c70b6a5821so5359085a.0 for ; Thu, 12 Feb 2026 07:53:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770911632; x=1771516432; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:subject:from:user-agent:mime-version:date:message-id:from:to :cc:subject:date:message-id:reply-to; bh=BuTnx4kFiFxswmc+ph8pSr0EIfDBaa5ryAFfn0gTWMk=; b=Id6dO+YE19FVQEIXM1bxlhXcqSTAb8T4M7ESXrvP8qwuoUdnIr+eia0eTbPRpMuwqw 8KrDyPyOVa2DZWkaXPb1wC4+35OlLbuz3hEwSVQxxN4F9n+UTKR/imMCyqTM4UctuvAP nsqYBS4p16MDHvDoKKaF05bWvevIAomWXJwV2gogc4SU+1AuUU3IKFOd3H3wYs67blMS v/mCU+m925NAAKrgoir0AC4EHCISrNh45qnP9Vopy98dKs6D7eYGo5TRV7nNw3il0FgZ xRSrxKBx8QPFfJ66CvWdaxdwa13qXEKq5PBXr8/dikmC8Uq2TiYsIJjKWPyG5ta0FmLK g+mg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770911632; x=1771516432; h=content-transfer-encoding:in-reply-to:content-language:references :cc:to:subject:from:user-agent:mime-version:date:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=BuTnx4kFiFxswmc+ph8pSr0EIfDBaa5ryAFfn0gTWMk=; b=RLQ7YD8Y3kYuJKYPE9fgC1p/okURRWyBkZ5XB+ZTIePoZFKPgPxRY6Xs0SBWw+tezq qyj7Xaq1mUbvYZM9T/T705Qiah/9iIAkOqVJd631acW4HBLO+TqcVX4LMeDOgy4dbKSv ClHUJjXIEds+nGEBi5wC8+pgbBExgi+aIu52Riya4Mb4bSGRWQQiQDTYKZB9EFezONCW NX029waKmK17mN/LIcP1ymvsTRNzUboFDEzkDESNNNCzzSBvSyHYMRnTE9/SUvwvgfQ8 RSrCclK8PRbC8ZK63+PVuHv7mxePEBmcAiZBEx1heFqObG6D9unHjW1M3SLjIy/Lfl9m O0RQ== X-Forwarded-Encrypted: i=1; AJvYcCUWlH2LdO31jBSQKPk4KmfHI+6UqjCiYeQR/1s1G71G9tXzQGehU0obe7PILqQhzlgugtrDtEiDB+s0Teg=@vger.kernel.org X-Gm-Message-State: AOJu0YyoLlYHb+Mtg+b7TsDiLoVFf+sCoXFVdcL5FsBAIJUkD7dgIixB hJyuZ0HKT8R+cz4NklkPRCl3sZtw9vYW6lK2c1EjHgylHmf/cf5C5CD2cOV8XSPc69UR09rWM+r UAwv2rIg6KJKZs88M6ya/wKwpFgD8HnY9qQpeACF7idm555wCllaUI+amr3Q9ECmIDK4= X-Gm-Gg: AZuq6aLuXCiqLhRAchK4ULjxqv6hvEPEJGMwGIw+OLCDH5w8HrvPcqD5KtzTgkEfPlt z7QD85hJKCcDgII7gAadsTASvGyYcFBo6QwlazJl2Aa27m5EfLnJm2i4MP3HRN/CGN/6C2PlbRf X1yvsIQTbLeR4y64foNC7nB8mKF9RuvD+NMzaKIJWT0D0KpAEuA4kGNpT90SszWNBFt1dvQWMvq npfHebr0TT0HukffpoRi/B8YQl7cyZK4VXYOOJ4AWa3yhFYvBGk4QbLDrflWsQ8zbOIJNnhe3aZ 6x1syBCDvi/GmE53UEOlTrNCR9ibAo4aSZZAqqlatAgNEXyrap6fWgg2nkCbxXWwOmB0AwHeCSZ paicwiDC/asUf5hMQNl8b+10CX+qllte1scHXbH4qpZDjm61gd/GH31wxI3c0gXb5hd6c6eei05 mmOjBCLOZLdP/a5WxQhdlfgbP2Q33Sp0xDzHbGb9gFfylQ2AwBL2t6RJIM+j93SdgO/1pieMncB QCUEO7rfCpID89+ X-Received: by 2002:a05:620a:44c2:b0:8c6:a034:9225 with SMTP id af79cd13be357-8cb330af84emr367849785a.35.1770911631994; Thu, 12 Feb 2026 07:53:51 -0800 (PST) X-Received: by 2002:a05:620a:44c2:b0:8c6:a034:9225 with SMTP id af79cd13be357-8cb330af84emr367846285a.35.1770911631496; Thu, 12 Feb 2026 07:53:51 -0800 (PST) Received: from ?IPV6:2001:1c00:c32:7800:5bfa:a036:83f0:f9ec? (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id a640c23a62f3a-b8f84bb7b0fsm125659966b.1.2026.02.12.07.53.50 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 12 Feb 2026 07:53:50 -0800 (PST) Message-ID: <1cb955d5-c813-4b52-8f0a-51e4635d7b27@oss.qualcomm.com> Date: Thu, 12 Feb 2026 16:53:50 +0100 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird From: johannes.goede@oss.qualcomm.com Subject: Re: [PATCH v2 2/2] media: i2c: mt9m114: add support for Aptina MI1040 To: Svyatoslav Ryhel , Laurent Pinchart , Mauro Carvalho Chehab , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Sakari Ailus Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org References: <20260212122302.29211-1-clamor95@gmail.com> <20260212122302.29211-3-clamor95@gmail.com> Content-Language: en-US, nl In-Reply-To: <20260212122302.29211-3-clamor95@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Authority-Analysis: v=2.4 cv=cd7fb3DM c=1 sm=1 tr=0 ts=698df791 cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=IkcTkHD0fZMA:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=pGLkceISAAAA:8 a=z7WSZaPc-eUsHMb9-vEA:9 a=QEXdDO2ut3YA:10 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjEyMDEyMSBTYWx0ZWRfXzhohSdUmlc0c jUFmQpINe7jLVVxTnrqvPczuUamsRn/ySHDQqrDvK9QsFZik0gGlEDIT0GNcdxdme05UvWPkKOE dDB2wQ1oMr/7N9RyUdF0yAQJhNPx7JcjZQQZc5+d+xARofRySqxjLcwofK+KJ+dd2Sh5jZUWq4p XgDwTW9fhLR83F5r9GAQPqfGDBSM0GqL2+oFAKHOSivkHu8xcxucJeFs73VJtucHZ9DpQ4uQrjA sBbkSNdbmRwW6hlKtnpaSsfV/5suTynTLd82XokYxVYXC7cQdgSSCqk1rGoc3UoTPXNJBQVdPdI 0LoHFLGLFYHbnklX7g/fmj/oLX64BsxjkfHHrrNoEKGoKSB5IKpKuCjntKUKTHMlXMyc9I6KNMr etZllA4mLVLp2yzxpA0XivmKemaNMEN2sFgSEwA10llu+3zzXh4WnUObq4CEsdKXQj3zk+7xx3q B7BRDB73YmXBG7Ediag== X-Proofpoint-GUID: y0WCcjKxusUEV7vR_cBrrd65GEJLnQR9 X-Proofpoint-ORIG-GUID: y0WCcjKxusUEV7vR_cBrrd65GEJLnQR9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-12_04,2026-02-12_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 priorityscore=1501 lowpriorityscore=0 spamscore=0 impostorscore=0 malwarescore=0 bulkscore=0 phishscore=0 adultscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602120121 Hi, On 12-Feb-26 13:23, Svyatoslav Ryhel wrote: > Slightly different version of MT9M114 camera module is used in a several > devices like ASUS Nexus 7 (2012) or ASUS Transformer Prime TF201 and is > called Aptina MI1040. The only difference found so far is lacking ability > to poll STATE register during power on sequence, which causes driver to > fail with time out error. Add state_polling flag to diverge models and > address quirk found in MI1040. > > Signed-off-by: Svyatoslav Ryhel > --- > drivers/media/i2c/mt9m114.c | 29 ++++++++++++++++++++++++----- > 1 file changed, 24 insertions(+), 5 deletions(-) > > diff --git a/drivers/media/i2c/mt9m114.c b/drivers/media/i2c/mt9m114.c > index d5b142fe68a9..a4b021702a1f 100644 > --- a/drivers/media/i2c/mt9m114.c > +++ b/drivers/media/i2c/mt9m114.c > @@ -373,6 +373,10 @@ enum { > * Data Structures > */ > > +struct mt9m114_model_info { > + bool state_polling; > +}; > + > enum mt9m114_format_flag { > MT9M114_FMT_FLAG_PARALLEL = BIT(0), > MT9M114_FMT_FLAG_CSI2 = BIT(1), > @@ -422,6 +426,8 @@ struct mt9m114 { > > struct v4l2_ctrl *tpg[4]; > } ifp; > + > + const struct mt9m114_model_info *info; > }; > > /* ----------------------------------------------------------------------------- > @@ -2279,9 +2285,11 @@ static int mt9m114_power_on(struct mt9m114 *sensor) > * reaches the standby mode (either initiated manually above in > * parallel mode, or automatically after reset in MIPI mode). > */ > - ret = mt9m114_poll_state(sensor, MT9M114_SYS_STATE_STANDBY); > - if (ret < 0) > - goto error_clock; > + if (sensor->info->state_polling) { > + ret = mt9m114_poll_state(sensor, MT9M114_SYS_STATE_STANDBY); > + if (ret < 0) > + goto error_clock; > + } So I would expect a flag called state_polling to be checked in mt9m114_poll_state(). It looks like you are only disabling one specific case of state polling, not all of them. Please rename the flag to reflect this. > > return 0; > > @@ -2527,6 +2535,8 @@ static int mt9m114_probe(struct i2c_client *client) > if (ret < 0) > return ret; > > + sensor->info = device_get_match_data(dev); > + This can return NULL when the driver is manually bound through sysfs, which will result in a crash later on when checked in mt9m114_power_on() Regards, Hans > /* Acquire clocks, GPIOs and regulators. */ > sensor->clk = devm_v4l2_sensor_clk_get(dev, NULL); > if (IS_ERR(sensor->clk)) { > @@ -2641,9 +2651,18 @@ static void mt9m114_remove(struct i2c_client *client) > pm_runtime_set_suspended(dev); > } > > +static const struct mt9m114_model_info mt9m114_models_default = { > + .state_polling = true, > +}; > + > +static const struct mt9m114_model_info mt9m114_models_aptina = { > + .state_polling = false, > +}; > + > static const struct of_device_id mt9m114_of_ids[] = { > - { .compatible = "onnn,mt9m114" }, > - { /* sentinel */ }, > + { .compatible = "onnn,mt9m114", .data = &mt9m114_models_default }, > + { .compatible = "aptina,mi1040", .data = &mt9m114_models_aptina }, > + { /* sentinel */ } > }; > MODULE_DEVICE_TABLE(of, mt9m114_of_ids); >