All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bjorn Andersson <bjorn.andersson@linaro.org>
To: Arnaud POULIQUEN <arnaud.pouliquen@foss.st.com>
Cc: Ohad Ben-Cohen <ohad@wizery.com>,
	Mathieu Poirier <mathieu.poirier@linaro.org>,
	linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-stm32@st-md-mailman.stormreply.com
Subject: Re: [PATCH v5 3/4] rpmsg: Move the rpmsg control device from rpmsg_char to rpmsg_ctrl
Date: Fri, 15 Oct 2021 23:46:43 -0500	[thread overview]
Message-ID: <YWpZMwgWqcPMvL5q@yoga> (raw)
In-Reply-To: <f0696b4d-c0b6-5283-2eda-e5791462cbba@foss.st.com>

On Mon 11 Oct 05:46 CDT 2021, Arnaud POULIQUEN wrote:

> 
> 
> 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 <arnaud.pouliquen@foss.st.com>
> >> Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
> >> ---
> >>  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
> 

Perhaps if this is considered a common piece shared between multiple
rpmsg modules we can create such class in the rpmsg "core" itself?

> 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/...?
> 

If I read the uevent messages correctly they seem to contain a SUBSYTEM=
property when the class is provided. But I'm not sure about the reasons
for that.

Regards,
Bjorn

> Thanks,
> Arnaud
> 
> > 
> > Regards,
> > Bjorn
> > 

  reply	other threads:[~2021-10-16  4:46 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-12 12:37 [PATCH v5 0/4] Restructure the rpmsg char to decorrelate the control part Arnaud Pouliquen
2021-07-12 12:37 ` [PATCH v5 1/4] rpmsg: char: Remove useless include Arnaud Pouliquen
2021-10-09  0:30   ` (subset) " Bjorn Andersson
2021-07-12 12:37 ` [PATCH v5 2/4] rpmsg: char: Export eptdev create an destroy functions Arnaud Pouliquen
2021-10-08 23:29   ` Bjorn Andersson
2021-10-11 10:39     ` Arnaud POULIQUEN
2021-07-12 12:37 ` [PATCH v5 3/4] rpmsg: Move the rpmsg control device from rpmsg_char to rpmsg_ctrl Arnaud Pouliquen
2021-10-08 23:35   ` Bjorn Andersson
2021-10-11 10:46     ` Arnaud POULIQUEN
2021-10-16  4:46       ` Bjorn Andersson [this message]
2021-10-18  9:13         ` Arnaud POULIQUEN
2021-10-19  3:08           ` Bjorn Andersson
2021-07-12 12:37 ` [PATCH v5 4/4] rpmsg: Update rpmsg_chrdev_register_device function Arnaud Pouliquen
2021-10-08 23:21 ` [PATCH v5 0/4] Restructure the rpmsg char to decorrelate the control part Bjorn Andersson
2021-10-11 10:38   ` Arnaud POULIQUEN
2021-10-19  3:28     ` Bjorn Andersson
2021-10-19 12:54       ` Arnaud POULIQUEN

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YWpZMwgWqcPMvL5q@yoga \
    --to=bjorn.andersson@linaro.org \
    --cc=arnaud.pouliquen@foss.st.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-remoteproc@vger.kernel.org \
    --cc=linux-stm32@st-md-mailman.stormreply.com \
    --cc=mathieu.poirier@linaro.org \
    --cc=ohad@wizery.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.