Received: by 2002:a05:6a10:5bc5:0:0:0:0 with SMTP id os5csp1463131pxb; Mon, 11 Oct 2021 06:35:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzpSdfNgVm5cpMAOaCYvQw++MT5YF3iuk8H1xLdLiomuhloc60LLTEiSYrNNPEsl6PV4Hsf X-Received: by 2002:a17:906:5e52:: with SMTP id b18mr12186866eju.560.1633959355731; Mon, 11 Oct 2021 06:35:55 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1633959355; cv=none; d=google.com; s=arc-20160816; b=WB79BsrLayJKQ7dB1fgys1Smz+ruc4RaZejMBtxPCm9ZS6pfSo/nVf7GMyRoch9OGS GFREmusoIRuJFSRnyV+l/J4kUMjU1b85cgRWCneYvoljEZfPs3DeLnGYP8lxEZIXwSE7 g+nPeTn53Dxmw2RtkFrxXIPjWUk7gIWiSciDt+41d6OkqxNbOjDVf7XiZbVaqJ/Xio6w eHJvI6F9BWNvhCNasg/cIHzX9tJrILNQnYOVEulbqsrhkpt21OP4lvtABO0S8uoinZqM mtaXTBIDnbk5guQCnnVcYu8lrM7H4ByeEnVrW7Rrtek0mwgwdH1qDz7HEJHqPlCctE1r iPLQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=MGTAKhW1EuXoe7o3K5K7J44GWxLr6cNvfJJs+YkI2z8=; b=WMKc3hKrvyGN7JfhPnrqszCvYvdkgnTfpfhptUZsVXR2ZuEQXhF5MTtdFiTUFhwHTr UJLdfzTagtl+w1Xea2xEeDt/wBTzfhAqI139q4ETfNfiDE2E3/uGTBdI0+azNdBg9Wrx BUYGzFyqjArORbW9dH31ZQVHUVcgbPrR8pZcrdqtoJXzzLhD/HPI/XFqcVX5bNfr5mwo SxO3/fMPicYiDTbvlqB5YhVn41gxRpJM555GHUP/wg0VAAzIpz2AfxV2g8OKJaowxyAe dBmdkmXOokvithlOwqWhe+2w+3+HtbLNVrKmo/wBELHlJaYqyQoZdXpdbZoBEUrEjgFv T2vw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@foss.st.com header.s=selector1 header.b=JwoYxRPE; 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=NONE dis=NONE) header.from=foss.st.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 8si12422601ejq.351.2021.10.11.06.35.30; Mon, 11 Oct 2021 06:35:55 -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=@foss.st.com header.s=selector1 header.b=JwoYxRPE; 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=NONE dis=NONE) header.from=foss.st.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235925AbhJKKsw (ORCPT + 99 others); Mon, 11 Oct 2021 06:48:52 -0400 Received: from mx08-00178001.pphosted.com ([91.207.212.93]:51670 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S231240AbhJKKsv (ORCPT ); Mon, 11 Oct 2021 06:48:51 -0400 Received: from pps.filterd (m0046661.ppops.net [127.0.0.1]) by mx07-00178001.pphosted.com (8.16.1.2/8.16.1.2) with SMTP id 19B9Ru8l022177; Mon, 11 Oct 2021 12:46:48 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foss.st.com; h=subject : to : cc : references : from : message-id : date : mime-version : in-reply-to : content-type : content-transfer-encoding; s=selector1; bh=MGTAKhW1EuXoe7o3K5K7J44GWxLr6cNvfJJs+YkI2z8=; b=JwoYxRPEfEHe4f1sAVWOAKSep0pIe8VGw8tGNg5CVH3ikqzLAs162jNqkpRm7rCLYDRI CqVZ8TDyKeVCDetyzRGKaWjN0PrtF7qRP06/ySJygVj1Ipbz/gHkHclt2UmD8/smK77r v6+rkllDmigMIO6o/2QREMv0OYFKTq8cMWWhy8SUgOspdAFmORI5P2mjmDPG0PdwgWrD tKjYFupOxU3tzqYe35vkR45JCVn5FbK9XJH4QJAVAMUXG8WZENVVJO/V02/KJCUIWdBX 3zDF55mPHlOGNrzW0gknaCyIP3dRUc7cCmin/b2w2laJY2RsL9HLfWDE1Ulelo/ZT553 tg== Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 3bmd35tcpk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 11 Oct 2021 12:46:48 +0200 Received: from euls16034.sgp.st.com (euls16034.sgp.st.com [10.75.44.20]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 1646F100034; Mon, 11 Oct 2021 12:46:48 +0200 (CEST) Received: from Webmail-eu.st.com (sfhdag2node2.st.com [10.75.127.5]) by euls16034.sgp.st.com (STMicroelectronics) with ESMTP id 0DC5021CA74; Mon, 11 Oct 2021 12:46:48 +0200 (CEST) Received: from lmecxl0889.lme.st.com (10.75.127.50) by SFHDAG2NODE2.st.com (10.75.127.5) with Microsoft SMTP Server (TLS) id 15.0.1497.18; Mon, 11 Oct 2021 12:46:47 +0200 Subject: Re: [PATCH v5 3/4] rpmsg: Move the rpmsg control device from rpmsg_char to rpmsg_ctrl To: Bjorn Andersson CC: Ohad Ben-Cohen , Mathieu Poirier , , , References: <20210712123752.10449-1-arnaud.pouliquen@foss.st.com> <20210712123752.10449-4-arnaud.pouliquen@foss.st.com> From: Arnaud POULIQUEN Message-ID: Date: Mon, 11 Oct 2021 12:46:47 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit X-Originating-IP: [10.75.127.50] X-ClientProxiedBy: SFHDAG2NODE3.st.com (10.75.127.6) To SFHDAG2NODE2.st.com (10.75.127.5) X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.182.1,Aquarius:18.0.790,Hydra:6.0.391,FMLib:17.0.607.475 definitions=2021-10-11_03,2021-10-07_02,2020-04-07_01 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/9/21 1:35 AM, Bjorn Andersson wrote: > On Mon 12 Jul 05:37 PDT 2021, Arnaud Pouliquen wrote: > >> Create the rpmsg_ctrl.c module and move the code related to the >> rpmsg_ctrldev device in this new module. >> >> Add the dependency between rpmsg_char and rpmsg_ctrl in the >> kconfig file. >> > > As I said in the cover letter, the only reason I can see for doing this > refactoring is in relation to the introduction of > RPMSG_CREATE_DEV_IOCTL. So I would like this patch to go together with > that patch, together with a good motivation why there's merit to > creating yet another kernel module (and by bind/unbind can't be used). > > Perhaps I'm just missing some good usecase related to this? > >> Signed-off-by: Arnaud Pouliquen >> Reviewed-by: Mathieu Poirier >> --- >> drivers/rpmsg/Kconfig | 9 ++ >> drivers/rpmsg/Makefile | 1 + >> drivers/rpmsg/rpmsg_char.c | 170 +---------------------------- >> drivers/rpmsg/rpmsg_char.h | 2 + >> drivers/rpmsg/rpmsg_ctrl.c | 215 +++++++++++++++++++++++++++++++++++++ >> 5 files changed, 229 insertions(+), 168 deletions(-) >> create mode 100644 drivers/rpmsg/rpmsg_ctrl.c >> > [..] >> diff --git a/drivers/rpmsg/rpmsg_char.c b/drivers/rpmsg/rpmsg_char.c > [..] >> -static int rpmsg_chrdev_probe(struct rpmsg_device *rpdev) >> -{ > [..] >> - dev = &ctrldev->dev; >> - device_initialize(dev); >> - dev->parent = &rpdev->dev; >> - dev->class = rpmsg_class; > [..] >> diff --git a/drivers/rpmsg/rpmsg_ctrl.c b/drivers/rpmsg/rpmsg_ctrl.c > [..] >> +static int rpmsg_ctrldev_probe(struct rpmsg_device *rpdev) >> +{ > [..] >> + dev = &ctrldev->dev; >> + device_initialize(dev); >> + dev->parent = &rpdev->dev; > > You lost the assignment of dev->class here, which breaks the udev rules > we use to invoke rpmsgexport to create endpoints and it causes udevadm > to complain that rpmsg_ctrlN doesn't have a "subsystem". We discussed this point with Mathieu, as a first step i kept the class, but that generated another dependency with the rpmsg_char device while information was available on the rpmsg bus. The char device and ctrl device should share the same class. As rpmsg_ctrl is created first it would have to create the class,and provide an API to rpmsg char Please could you details what does means "rpmsg_ctrlN doesn't have a "subsystem"." What exactly the udev is looking for? could it base it check on the /dev/rpmsg_ctrl0 or /sys/bus/rpmsg/devices/...? Thanks, Arnaud > > Regards, > Bjorn >