Re: [RFC 1/3] drivers pps: add PPS generators support

Greg KH
2024-10-10T07:15:55Z

On Wed, Oct 09, 2024 at 10:48:14AM +0200, Rodolfo Giometti wrote:
> > > +#ifdef CONFIG_COMPAT
> > > +static long pps_gen_cdev_compat_ioctl(struct file *file,
> > > + unsigned int cmd, unsigned long arg)
> > > +{
> > > + cmd = _IOC(_IOC_DIR(cmd), _IOC_TYPE(cmd), _IOC_NR(cmd), sizeof(void *));
> > > + return pps_gen_cdev_ioctl(file, cmd, arg);
> > > +}
> > > +#else
> > > +#define pps_gen_cdev_compat_ioctl NULL
> > > +#endif
> > > +
> > > +static struct pps_gen_device *pps_gen_idr_get(unsigned long id)
> > > +{
> > > + struct pps_gen_device *pps_gen;
> > > +
> > > + mutex_lock(&pps_gen_idr_lock);
> > > + pps_gen = idr_find(&pps_gen_idr, id);
> > > + if (pps_gen)
> > > + kobject_get(&pps_gen->dev->kobj);
> > > +
> > > + mutex_unlock(&pps_gen_idr_lock);
> >
> > Doesn't an idr have a lock in it? I can never remember...
>
> As far as I know we must use a mutex...

If you do, someone will come along and remove it, please see:
https://lore.kernel.org/r/b1fcc6707ec2b6309d50060fa52ccc2c892afde2.1728507153.git.christophe.jaillet@wanadoo.fr
as an example (with links that show it is not needed).

thanks,

greg k-h