All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg KH <gregkh@linuxfoundation.org>
To: Min Li <min.li.xe@renesas.com>
Cc: "derek.kiernan@xilinx.com" <derek.kiernan@xilinx.com>,
	"dragan.cvetic@xilinx.com" <dragan.cvetic@xilinx.com>,
	"arnd@arndb.de" <arnd@arndb.de>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH misc] misc: Add Renesas Synchronization Management Unit (SMU) support
Date: Wed, 15 Sep 2021 07:38:58 +0200	[thread overview]
Message-ID: <YUGG8iPWMLx5vJ1f@kroah.com> (raw)
In-Reply-To: <OS3PR01MB6593057EA6257006C7228542BADA9@OS3PR01MB6593.jpnprd01.prod.outlook.com>

On Tue, Sep 14, 2021 at 08:43:44PM +0000, Min Li wrote:
> Hi Greg
> 
> Thanks for the review
> 
> > >  drivers/misc/Kconfig      |   9 ++
> > >  drivers/misc/Makefile     |   2 +
> > >  drivers/misc/rsmu_cdev.c  | 239
> > > ++++++++++++++++++++++++++++++++++++++++++++++
> > >  drivers/misc/rsmu_cdev.h  |  77 +++++++++++++++
> > >  drivers/misc/rsmu_cm.c    | 164 +++++++++++++++++++++++++++++++
> > >  drivers/misc/rsmu_sabre.c | 133 ++++++++++++++++++++++++++
> > 
> > If you make this all one .c file, the .h file can go away and it will be much
> > simpler in the end.  And will get rid of the global symbols.
> > 
> 
> That is doable. But <linux/mfd/idt8a340_reg.h> and <linux/mfd/idt82p33_reg.h> have naming confliction.
> To make this change one file, I have to include both of them and therefore I have to change them to resolve
> Conflicts. Can I include this 

Yes, that should be fine, do it as patch 1/X in a series.

> > >
> > > +config RSMU
> > > +	tristate "Renesas Synchronization Management Unit (SMU)"
> > > +	help
> > > +	  This option enables support for the IDT ClockMatrix(TM) and
> > 82P33xxx
> > > +	  families of timing and synchronization devices. It will be used by
> > > +	  Renesas PTP Clock Manager for Linux (pcm4l) software to provide
> > support
> > > +	  for GNSS assisted partial timing support (APTS) and other
> > networking
> > > +	  timing functions.
> > 
> > No driver name listed?
> 
> Sorry, what do you mean by driver name in this context?

Most Kconfig help texts say the driver name if it is built as a module.

> > > +
> > > +/**
> > > + * struct rsmu_cdev - Driver data for RSMU character device
> > > + * @name: rsmu device name as rsmu[index]
> > > + * @dev: pointer to device
> > > + * @mfd: pointer to MFD device
> > > + * @miscdev: character device handle
> > > + * @regmap: I2C/SPI regmap handle
> > > + * @lock: mutex to protect operations from being interrupted
> > > + * @type: rsmu device type, passed through platform data
> > > + * @ops: rsmu device methods
> > > + * @index: rsmu device index
> > > + */
> > > +struct rsmu_cdev {
> > > +	char name[16];
> > > +	struct device *dev;
> > 
> > What device is this pointing to?
> 
> It is the platform device from rsmu_probe(struct platform_device *pdev)

Then why not just point to the platform device?

> > 
> > > +	struct device *mfd;
> > 
> > What is this for?
> 
> It is the multi-functional device from driver/mfd/rsmu_core.c
> The mfd driver is responsible for spawn this platform device and spi/i2c
> bus access

Why do you need to mess with that if you have a pointer to the platform
device instead?

> > > +/*
> > > + * RSMU IOCTL List
> > > + */
> > > +#define RSMU_MAGIC '?'
> > 
> > Where did you get this value from?
> > 
> > Where did you reserve it?
> 
> No I didn't reserve it. I checked other code and they all seem to use a random character

That's not the best way to do this.

Why do you need ioctls at all anyway?  What userspace tools will be
accessing this driver?  Do you have a link to where they are located at?

> > > +
> > > +/**
> > > + * @Description
> > 
> > What is this format?  It is not kernel-doc :(
> > 
> > > + * ioctl to set SMU combo mode.Combo mode provides physical layer
> > > + frequency
> > > + * support from the Ethernet Equipment Clock to the PTP clock
> > > + *
> > > + * @Parameters
> > 
> > Same here and elsewhere in this file.
> 
> I was copying the format from xilinx_sdfec.h
> 
> Is there a place that tells me how to properly document ioctl or can you give me an code example?

The kerneldoc format should be described in Documentation/ somewhere...

thanks,

greg k-h

  reply	other threads:[~2021-09-15  5:39 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-02 18:45 [PATCH misc] misc: Add Renesas Synchronization Management Unit (SMU) support min.li.xe
2021-09-14  9:06 ` Greg KH
2021-09-14 20:43   ` Min Li
2021-09-15  5:38     ` Greg KH [this message]
2021-09-15  5:54       ` Randy Dunlap
2021-09-15 14:42       ` Min Li
2021-09-15 14:46         ` Greg KH
2021-09-15 15:00           ` Min Li

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=YUGG8iPWMLx5vJ1f@kroah.com \
    --to=gregkh@linuxfoundation.org \
    --cc=arnd@arndb.de \
    --cc=derek.kiernan@xilinx.com \
    --cc=dragan.cvetic@xilinx.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=min.li.xe@renesas.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.