Received: by 2002:a25:e74b:0:0:0:0:0 with SMTP id e72csp581416ybh; Tue, 21 Jul 2020 02:49:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxmZiq5LVrZlxE3G9H0tkbNAxUI5qhs9PKWhn11PSG9f/wevilNVkqgDDnjXhDRf4cd0pug X-Received: by 2002:aa7:de05:: with SMTP id h5mr24270437edv.275.1595324969596; Tue, 21 Jul 2020 02:49:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1595324969; cv=none; d=google.com; s=arc-20160816; b=P718so5eJ8ylo+WwjxOzXyhyhNyKmuQFtZLEaullDh4pkvlrgxDyG+2pevi1leBQXY LUQ1TLxGQ23KETYhQzb4mvuA3uH6zOwEKXrADbNw7WE1gOkm30B8U2f/ZrqTbvlUms81 3yyUjW/NuuGRPwxv5T8yFMw/PSHRBYbExEb0SheJomV6DJW6yXW29eMSX857qqQyUmsZ qdfZ2Ju3f16EGg35EoNR5V9tg09OIZu8PeVOLzMTjZCwK+zf75UBl6bDDOnBsp5EZt2q t3HzKqikNi5TvTNDFraN7X4o98zbEQmxtmk7TMA2UFhRIeUs2R4JIUKbrYSlyMItbOuW NGHQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:date:from :dkim-signature; bh=LjGsKNOLfrFLP10m1bYALwDxL+3kb4RKPq53OhKfCAA=; b=cRAwGfHRQv/382m34L3B8UdjiL8ibAcNIScZiwfrA+r+CNNJcDLcI/hMEym2iUbbtn 4Z1mDHO6fX84tZYGg1BKFpR9WnUHD6PWmUv3Qbbe9amtNMv38Q2kSBOAxc1hr838zbiv ZYqGmfSYtL5vvmFxjhxTcXbURrn9O4R76zq3R14X75dYAnvqZaWqkgvB3ppDr7rnPtoB jmZqI9USwDuG/T1qwNPxXKjo8q2yUIAvDiACpv+MtqEXOiY+AeSeAyDa3LRG1Jcfinm+ MyVT1XjwllMBFvaeQKNAXRxRP0vmnn92ArWIswRfauQlrg4Opo8rD9Xgx72rNSzzbvL6 fsqA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ZoeL+RbH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s27si11863945edw.322.2020.07.21.02.49.06; Tue, 21 Jul 2020 02:49:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=ZoeL+RbH; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726531AbgGUJqu (ORCPT + 99 others); Tue, 21 Jul 2020 05:46:50 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38686 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726089AbgGUJqt (ORCPT ); Tue, 21 Jul 2020 05:46:49 -0400 Received: from mail-lf1-x142.google.com (mail-lf1-x142.google.com [IPv6:2a00:1450:4864:20::142]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 59892C061794; Tue, 21 Jul 2020 02:46:49 -0700 (PDT) Received: by mail-lf1-x142.google.com with SMTP id k13so2350252lfo.0; Tue, 21 Jul 2020 02:46:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:date:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to; bh=LjGsKNOLfrFLP10m1bYALwDxL+3kb4RKPq53OhKfCAA=; b=ZoeL+RbHQ+l5uPKnAsvF3Yhg1/K2gC+LAKj7r6LYeSWfqTkRKRwqhktZhuf99vtb5B 1BRhNsBA2on1ZXiKsqwlsrN0wTpUBvZAzrHVz6HvXtyaircxRx1CagSzOsat1hUemnJF ENzjrALS5f/UERQcZDTUb1BNiArOfslEov7a1+HSnIryEWzb8hjvFia84kCpRUP8pl1o RI1I8Jhm8xUKFz2CavHUdaI0IKM/WeWrIW38JgK32LiX7vPBKAxUHNGSlzbf+Rd8Hg4L QP7qJ5lUe84SLvCgAFYBDZXO3H5o0yHIKYYufBdjeNLEjV0/ajQffp2utLto43EHBOt5 q6wA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:date:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to; bh=LjGsKNOLfrFLP10m1bYALwDxL+3kb4RKPq53OhKfCAA=; b=ODfI0uVb7TWd5a5S6ZBv+/wxnt27vWSN7lXOcPfYgY4bKeVJc5FHP2L7Zy+rrY6IRK 08r1y7JOUHgkv0RwFYCuEx4wVRtHNOf4j5V5G/A+NP7KiVqDlQnTYoJh8VnwZt7bBTAD IfDNYLcOhYuQcZ2AGQTig12+9c9WhbiXWxkHKZy0+pavHoihqUPDofgCLj8M/gzHLMaN gbjD4gncmzVxj3tVM5o0icMjHRhSeT2pdzamSrBW1saE7ibVmCuTvt6D05dr6MK58BnF cxAKqIwSBDanJihAQgB8Z1X9szj7EflZ7kiF3pCN12m8/zvWoFtRJKJk38nTp5j70k8p B2JQ== X-Gm-Message-State: AOAM531rghT+e8FDqJYf9MWVELgVjnQFhAtOPCsE5TqeyeTmWVX3jsnw 5lULPAxqASHLTGmK+xmT44w= X-Received: by 2002:a19:c7d0:: with SMTP id x199mr7849459lff.205.1595324807710; Tue, 21 Jul 2020 02:46:47 -0700 (PDT) Received: from eriador.lumag.spb.ru ([94.25.229.9]) by smtp.gmail.com with ESMTPSA id m18sm4998998lfr.53.2020.07.21.02.46.45 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 21 Jul 2020 02:46:46 -0700 (PDT) From: Dmitry Baryshkov X-Google-Original-From: Dmitry Baryshkov Date: Tue, 21 Jul 2020 12:46:43 +0300 To: Alexandru Ardelean Cc: , , , , , , Jonathan Cameron Subject: Re: [PATCH v4 2/7] iio: core: wrap IIO device into an iio_dev_opaque object Message-ID: <20200721094643.GA1598380@eriador.lumag.spb.ru> References: <20200630045708.14166-1-alexandru.ardelean@analog.com> <20200630045708.14166-3-alexandru.ardelean@analog.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20200630045708.14166-3-alexandru.ardelean@analog.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hello, On Tue, Jun 30, 2020 at 07:57:03AM +0300, Alexandru Ardelean wrote: > There are plenty of bad designs we want to discourage or not have to review > manually usually about accessing private (marked as [INTERN]) fields of > 'struct iio_dev'. > > Sometimes users copy drivers that are not always the best examples. > > A better idea is to hide those fields into the framework. > For 'struct iio_dev' this is a 'struct iio_dev_opaque' which wraps a public > 'struct iio_dev' object. > > In the next series, some fields will be moved to this new struct, each with > it's own rework. [skipped] > > Signed-off-by: Alexandru Ardelean > Signed-off-by: Jonathan Cameron > --- > drivers/iio/industrialio-core.c | 19 +++++++++++++------ > include/linux/iio/iio-opaque.h | 17 +++++++++++++++++ > include/linux/iio/iio.h | 6 +++++- > 3 files changed, 35 insertions(+), 7 deletions(-) > create mode 100644 include/linux/iio/iio-opaque.h > > diff --git a/drivers/iio/industrialio-core.c b/drivers/iio/industrialio-core.c > index 75661661aaba..33e2953cf021 100644 > --- a/drivers/iio/industrialio-core.c > +++ b/drivers/iio/industrialio-core.c [skipped] > @@ -1506,11 +1510,14 @@ struct iio_dev *iio_device_alloc(struct device *parent, int sizeof_priv) > /* ensure 32-byte alignment of whole construct ? */ > alloc_size += IIO_ALIGN - 1; > > - dev = kzalloc(alloc_size, GFP_KERNEL); > - if (!dev) > + iio_dev_opaque = kzalloc(alloc_size, GFP_KERNEL); > + if (!iio_dev_opaque) > return NULL; > > - dev->dev.parent = parent; This chunk (together with 8cb631ccbb1952b6422917f2ed16f760d84a762e and d3be83244c7dfe686d23f1c0bac75915587fc044) break devicetree bindings of IIO clients. After these changes there are no links between devicetree nodes and corresponding IIO channels. I'd kindly ask to restore this dev->dev.parent assignment (which restores of node binding). > + dev = &iio_dev_opaque->indio_dev; > + dev->priv = (char *)iio_dev_opaque + > + ALIGN(sizeof(struct iio_dev_opaque), IIO_ALIGN); > + > dev->dev.groups = dev->groups; > dev->dev.type = &iio_device_type; > dev->dev.bus = &iio_bus_type; -- With best wishes Dmitry