Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp6179499rwd; Mon, 19 Jun 2023 03:40:36 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ7L333h0zQ7lkZ/54ajW8ZUxzMYJu0GjyXQkW1LxqXsUrsY/yQjT1bmo0rzRzMNcTcGUm+3 X-Received: by 2002:a17:903:48a:b0:1b3:df53:1b87 with SMTP id jj10-20020a170903048a00b001b3df531b87mr4654647plb.63.1687171236070; Mon, 19 Jun 2023 03:40:36 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1687171236; cv=none; d=google.com; s=arc-20160816; b=kQZPFzhL75Th4+Yhv3f4TuCNtrRfxSlFT+YjDy3x/UG2Ty8AUffD9R1PoI808il9ME jgwHV+fyb84dS0xdIjvDXxPSM0Ypfr94OvDfD/VWpM2gM6q2X4h4PtXa3ZwPpqOird+J T+e5Me3BPKkN76lwyElNnB1VZLCCUV4KsUZfpFtX3X/bCqqG5dcvJ1NVOyhqC2LkFeP8 ErlJvsv74ntutxz0yCcfzNrvNTlS7ZR45JccGg6xfNUSKv0iCtjYtIK0B/YxLAy437As nUmQpQyeWuLEzk799LNrz74t3Yc0g7xRwt+CKuYyvY3FGoCi3/WWbzOzB0k+ifmosyDW LVjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:in-reply-to:from :references:cc:to:content-language:subject:user-agent:mime-version :date:message-id:dkim-signature; bh=lR7oxA8w2oSaK+X38hRjbanj1RBBz3YzyOARU7FUIqU=; b=L2uqGoJ042RKgWehWhLP56lAdT9jcEoKEtT+smUmyD+gFLkVAnveF0uB8vv0T0mHYP K4UZ7qm36EO4eLMkkN1h5sOFjOeK4fNgquWoaraEtEY4x1TamtMLg67SuoWqhVMj4WRA kNSz0k13t9IM84St6yfZoJW28+qB2rbONgUyZ3iCAodQGjszFJuP962X7Vi3Y+asLean 4Y2QgVqdm/pdNswlzjmHgSspZeNxJufJOlEwCoUmJMXlVgkznQqdbsotCgnHKEARh1qM PH3fDxhlanq7ofCGVWpBKSmWAMCeDh5peTOFMfOqM5YwLM20M29K9PxVd3ULsCmRKltQ XFyQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=wkRCdL38; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id n7-20020a170902e54700b001adf26a9390si21763082plf.191.2023.06.19.03.40.23; Mon, 19 Jun 2023 03:40:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass (test mode) header.i=@ideasonboard.com header.s=mail header.b=wkRCdL38; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231569AbjFSKhp (ORCPT + 99 others); Mon, 19 Jun 2023 06:37:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41576 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231342AbjFSKhi (ORCPT ); Mon, 19 Jun 2023 06:37:38 -0400 Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [213.167.242.64]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 04F14102; Mon, 19 Jun 2023 03:37:37 -0700 (PDT) Received: from [192.168.88.20] (91-154-35-171.elisa-laajakaista.fi [91.154.35.171]) by perceval.ideasonboard.com (Postfix) with ESMTPSA id CDD9BFB; Mon, 19 Jun 2023 12:36:59 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ideasonboard.com; s=mail; t=1687171021; bh=j9D//YVQRuMR4JMg7qTsktMpiYHgQzslyET9vXnkYSM=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=wkRCdL384dHyrzyc5/AzEr1y4PG/e063YSnYU+MjC1opw04AURFAkbt/QT8cR9k6q NhmK2GmVrH0HG+KDKRUSgPg/qXK0rlAQXIlZGtWWpuOMCMA/DHNBPRLQ7368ZgmSEB QF+KWfY5QTRlgZvqdaPDvjG8TM75ZqiMQh7BMVF0= Message-ID: Date: Mon, 19 Jun 2023 13:37:31 +0300 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.11.0 Subject: Re: [PATCH v14 15/18] media: i2c: ds90ub953: Handle V4L2_MBUS_CSI2_NONCONTINUOUS_CLOCK Content-Language: en-US To: Andy Shevchenko Cc: linux-media@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-i2c@vger.kernel.org, Luca Ceresoli , Matti Vaittinen , Laurent Pinchart , Sakari Ailus , Wolfram Sang , Rob Herring , Krzysztof Kozlowski , Mauro Carvalho Chehab , Peter Rosin , Liam Girdwood , Mark Brown , Michael Tretter , Hans Verkuil , Mike Pagano , =?UTF-8?Q?Krzysztof_Ha=c5=82asa?= , Marek Vasut , Satish Nagireddy References: <20230616135922.442979-1-tomi.valkeinen@ideasonboard.com> <20230616135922.442979-16-tomi.valkeinen@ideasonboard.com> From: Tomi Valkeinen In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.2 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,NICE_REPLY_A,SPF_HELO_PASS, SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 16/06/2023 17:33, Andy Shevchenko wrote: > On Fri, Jun 16, 2023 at 04:59:19PM +0300, Tomi Valkeinen wrote: >> Handle V4L2_MBUS_CSI2_NONCONTINUOUS_CLOCK flag to configure the CSI-2 RX >> continuous/non-continuous clock register. > > ... > >> struct regmap *regmap; > > I forgot if we discussed this along with i2c_client *client nearby. Since I > reviewed Hans' patches the pure struct device *dev (instead of *client) might > make more sense, despite being duplicative with regmap associated device. > >> u32 num_data_lanes; >> + bool non_cont_clk; >> >> struct gpio_chip gpio_chip; > > And also try to place this as a first member and see (by using bloat-o-meter, > for example) if it saves bytes. > > I'm wondering if we have tools like pahole but which suggests the better layout > based on the code generation... Maybe something along with clang? Isn't all this a bit on the side of pointless micro-optimizations? We're talking about possibly saving a few tens of bytes in a struct that's likely allocated a few times, by possibly messing up the (cosmetic) grouping and ordering of the fields in the struct? If there's a common rule-of-thumb wrt. struct members that everyone should follow, I'm good with that and can change this accordingly. But just trying to hunt for a field order that happens to save a few bytes here... It doesn't sound like time well spent. If things were perfect, this would be something the compiler would optimize, presuming the field ordering in the struct doesn't matter. Tomi