From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f47.google.com (mail-wm1-f47.google.com [209.85.128.47]) (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 666DC1B21BD for ; Sat, 27 Sep 2025 16:43:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758991431; cv=none; b=rTHxpfnn3kqG3znogMeE6UdAuK8zyEh0U4sVfYl4KE+T2dtZ0Q5TSVcv7TnCuoQRf10PnATmU5Zk6t4uO+r5enOVf6bTM5wS+OLKY0BFvYLK9Bki2c3JM5mDvoHl8SqmF1jNCk0GJHg5rQXz2d6ZVRcBKJEoas6KWKe4QO16scc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1758991431; c=relaxed/simple; bh=vKpTRRRmpkwvD+RKQ8Vdg4UWvE2ebw01JOfwjsbS5Qs=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=pKzQnUQPtBCMCdje/dbqc5CRkLDH0GOI79DrMpcG4PO19Nl+DPGUpJXB1s9OJlgaQ46yVtVkCjmToAAl7GAoj+9S4Qfl0ag7Vzlvtuq3jYC6YgETOhPc5LBvyPJTs8Q73uHJLqwhsZ5CANpNDsMeKHUp8f5R/1wti3TvSTCBgys= 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=YtRyPe0K; arc=none smtp.client-ip=209.85.128.47 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="YtRyPe0K" Received: by mail-wm1-f47.google.com with SMTP id 5b1f17b1804b1-46e491a5b96so2928295e9.2 for ; Sat, 27 Sep 2025 09:43:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1758991428; x=1759596228; darn=vger.kernel.org; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=OOF0Bc+2gNxqDcWN5Q3dw7KfEBLw6JtH3pzFUg7pzQA=; b=YtRyPe0KtIa0kjup/zwBrbRwDVnHi0WaXzFiFg3Xpcv4wPgKFH0wRWujllvtkPNRdz XYtlSv/KbJKF7nb908fZSjIqZAz6KEcXP/XLJf96tITazZooRfdPtIyfQH6QtJqRh9ye CuDsmLQrWBcjZdQhw1N7+JsLNsbd0KZVAGxwNlt9QFEqniMapvCxuOG601Wlq890W3ap EBF7st/PVk0VSgQjCbhA/XQXhhOrWK+n+vtyZibHAj7lQrM6pqpxBreS1hKc33d1wCu/ 6xeqqB9RzApBQ4FU3cRvinwq950uAvq29uehlLsrocBKWbpWkjbiHAvY5Ei9oOaKAHsm SyXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1758991428; x=1759596228; h=content-transfer-encoding:in-reply-to:from:content-language :references:cc:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=OOF0Bc+2gNxqDcWN5Q3dw7KfEBLw6JtH3pzFUg7pzQA=; b=hQsbSw9z8dTrl6L9T+1/rtrl+yeT8nFpti4044tQhe79pb1XA3BPPAOcImYPO+hIge yej4SarHgVgXESMY5EvTMHPqmNBgHXVWsg3j9mXrE6IGQbd5seaiE1c6mx9I0lY8MLT0 Sr6iDm7QZB3oRjGWAvuqlokywb5pPA6L5S9o42rm/dtXlG6D2mO9iy824XPzfAWGtaXT TFXooZdbAF3Jqr4CBR/xehchkmfMXrKv3l3EDZtHrkcqwB76iH9WBN0TKxT0by/aFAI8 WCiEuYnnP7fk8h++yAF0gFvRf25Etw/d99h0gOn0Sz85ekIhqVIlaxia4CLwTxM9rngJ 7SCA== X-Forwarded-Encrypted: i=1; AJvYcCXi7pEctPSjDi/oUwTjbxXOtnBlGWn9LotG/rKFKollkULArTlrTyHs5B27AUYnuLTBTwDZM5/vLr/3Zm8=@vger.kernel.org X-Gm-Message-State: AOJu0Yy7XSB805Et40WS2YLQctNPRGsjdFuPEE2YA2/FAWsOF5wcbeAe iUxGXRlD1iabukHEgUvrJnC04LwivKYnz6wHgT31AJIeAO30rzAth1uu X-Gm-Gg: ASbGnctXbyZV2NMAltwKVIj6cCDEJ8S0dIl67GfcP9bPpyRaZb/YOKNyLFIc8ec/7Rm sFb1BPssoQehIiuSH0jkES39ac+ytWdgR+C5MvTrSmnDAXnYN9v4MEFdhwyZXnlLypbYfFWnQT7 RZS7S7Nvp+925sj3uvVGZgCRoQVhKhprqDq+8vC0rkV/4WvCHerquMvjgbjhnVUGE8TqQ1515bK yuQyfGKyJ4CEdmXKsc21yzF7FnGORSzdMsRpuCIKddPAZuzMQ4FylmfmqErmbVd2w8/6dycCT0k Di+B84sDY8ssGmyNlLPy0BcA1IvvIAqdC+O/cfwFoRsC3o3SoWixHKjl9cUHqBdoqsczaHN584R +uoge4fv2xPIfVj+f6HALL1JOTRBlQYIkrBjf/zdO4YGx/+8Ipqa0gSnwYAg6dwOH4y83ZSLdz7 uAeEvEZOK7uQzyjNOfjqEpZWIsalBUug== X-Google-Smtp-Source: AGHT+IFIv5xrxFaIIFhGL3xlayHFyRiak61vxIYfE2UYyGSdIiQTfaA3TXu6JLuem0D6Pr7aB35E1Q== X-Received: by 2002:a05:6000:400b:b0:3f0:4365:1d36 with SMTP id ffacd0b85a97d-40e4354dfddmr11267608f8f.16.1758991427482; Sat, 27 Sep 2025 09:43:47 -0700 (PDT) Received: from ?IPV6:2a02:c7c:8b21:7400:a8dc:c580:efa:e675? ([2a02:c7c:8b21:7400:a8dc:c580:efa:e675]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-40fb72fbb27sm11247673f8f.4.2025.09.27.09.43.46 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 Sep 2025 09:43:47 -0700 (PDT) Message-ID: Date: Sat, 27 Sep 2025 17:43:43 +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 Subject: Re: [PATCH v5 2/3] rust: i2c: add manual I2C device creation abstractions To: Danilo Krummrich Cc: Miguel Ojeda , Alex Gaynor , Wolfram Sang , Boqun Feng , Gary Guo , =?UTF-8?Q?Bj=C3=B6rn_Roy_Baron?= , Benno Lossin , Andreas Hindborg , Alice Ryhl , Trevor Gross , Greg Kroah-Hartman , Viresh Kumar , Asahi Lina , Wedson Almeida Filho , Alex Hung , Tamir Duberstein , Xiangfei Ding , linux-kernel@vger.kernel.org, rust-for-linux@vger.kernel.org, linux-i2c@vger.kernel.org References: <20250911154717.96637-1-igor.korotin.linux@gmail.com> <20250911155015.97250-1-igor.korotin.linux@gmail.com> Content-Language: en-US From: Igor Korotin In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hello Danilo On 9/11/2025 9:34 PM, Danilo Krummrich wrote: > On Thu Sep 11, 2025 at 5:50 PM CEST, Igor Korotin wrote: >> +impl I2cAdapter { >> + /// Gets pointer to an `i2c_adapter` by index. >> + pub fn get(index: i32) -> Result> { > > Where do we get this index usually from? OF, ACPI, etc. I assume? I feel like it > could make sense to wrap it into a new type. Even though it is not safety > relevant it eliminates a source for mistakes. It usually comes as predefined magic number in a platform driver info. I'll define a specific type for this number for clearance. >> + } >> +} >> + >> +impl AsRef> for I2cAdapter { >> + fn as_ref(&self) -> &I2cAdapter { >> + &self >> + } >> +} > > This AsRef implementation doesn't seem to do anything? I misunderstood the concept of the ARef a little bit and used this as_ref() instead of just getting a reference by &adapter. I'll remove this in the next drop Thanks for the review. All other comments are noted. I'll address them in the next drop as well Cheers Igor