From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id D5101C6379F for ; Thu, 19 Jan 2023 10:10:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229900AbjASKKG (ORCPT ); Thu, 19 Jan 2023 05:10:06 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:44842 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230388AbjASKKE (ORCPT ); Thu, 19 Jan 2023 05:10:04 -0500 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A605066FB6; Thu, 19 Jan 2023 02:10:03 -0800 (PST) Received: from [192.168.1.15] (91-154-32-225.elisa-laajakaista.fi [91.154.32.225]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id 1F4D77EC; Thu, 19 Jan 2023 11:10:00 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1674123001; bh=KeS3ZYlh0v1hgL0ubBbk0cm/I4qwuUYr/hTn/NPRngw=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=jC2PNGu9dua0vIbdOBh1G+iQ0MzFzcucrYoElYzktJUvYPo770BRKM3Lksy5LKOjn VD7dMrirvMpZTaCupD6iBWTPWYnFJNHpYg9uq7Tu/Il4GfJsywW4TgpFx9O9Lxc77P AG1sd5foL/PfPoZ1TR2hq7a15lL7LfdojcvU8YV0= Message-ID: Date: Thu, 19 Jan 2023 12:09:57 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [PATCH v7 1/7] i2c: add I2C Address Translator (ATR) support Content-Language: en-US To: Luca Ceresoli , Andy Shevchenko Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, Rob Herring , Krzysztof Kozlowski , Wolfram Sang , Matti Vaittinen , Laurent Pinchart , Mauro Carvalho Chehab , Peter Rosin , Liam Girdwood , Mark Brown , Sakari Ailus , Michael Tretter , Shawn Tu , Hans Verkuil , Mike Pagano , =?UTF-8?Q?Krzysztof_Ha=c5=82asa?= , Marek Vasut , Luca Ceresoli References: <20230118124031.788940-1-tomi.valkeinen@ideasonboard.com> <20230118124031.788940-2-tomi.valkeinen@ideasonboard.com> <20230118181753.7a325953@booty> <20230119092115.02cbbab3@booty> From: Tomi Valkeinen In-Reply-To: <20230119092115.02cbbab3@booty> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org On 19/01/2023 10:21, Luca Ceresoli wrote: >>>>> +void i2c_atr_set_driver_data(struct i2c_atr *atr, void *data) >>>>> +{ >>>>> + atr->priv = data; >>>>> +} >>>>> +EXPORT_SYMBOL_NS_GPL(i2c_atr_set_driver_data, I2C_ATR); >>>>> + >>>>> +void *i2c_atr_get_driver_data(struct i2c_atr *atr) >>>>> +{ >>>>> + return atr->priv; >>>>> +} >>>>> +EXPORT_SYMBOL_NS_GPL(i2c_atr_get_driver_data, I2C_ATR); >>>> >>>> Just to be sure: Is it really _driver_ data and not _device instance_ data? >>> >>> It is device instance data indeed. I don't remember why this got >>> changed, but in v3 it was i2c_atr_set_clientdata(). >> >> It's me who was and is against calling it clientdata due to possible >> confusion with i2c_set/get_clientdata() that is about *driver data*. >> I missed that time the fact that this is about device instance data. >> I dunno which name would be better in this case, i2c_atr_set/get_client_priv() ? > > Not sure I'm following you here. The i2c_atr_set_clientdata() name was > given for similarity with i2c_set_clientdata(). The latter wraps > dev_set_drvdata(), which sets `struct device`->driver_data. There is > one driver_data per each `struct device` instance, not per each driver. > The same goes for i2c_atr_set_driver_data(): there is one priv pointer > per each `struct i2c_atr` instance. I'm a bit confused. What is "driver data" and what is "device instance data"? This deals with the driver's private data, where the "driver" is the owner/creator of the i2c-atr. The i2c-atr itself doesn't have a device (it's kind of part of the owner's device), and there's no driver in i2c-atr.c I don't like "client" here, as it reminds me of i2c_client (especially as we're in i2c context). What about i2c_atr_set_user_data()? Or "owner_data"? Tomi