From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtpcmd11117.aruba.it (smtpcmd11117.aruba.it [62.149.156.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 004F819F429 for ; Thu, 10 Oct 2024 07:32:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=62.149.156.117 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1728545548; cv=none; b=rVJleae6taVysQdtplF40pLX3Igj8DBOrDee5yXV/TDE2t3P429p/Ci5q788z8gOho1QLDpOHOAtT6SksUy1uioZiMDpbEdcHe4/TGPhjpob7OvCndLCHIKiv/QAdrSPwKS/yU7XhqbnE4+d6B4mJZJGRWdothmOz3lWCU8LEoc= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1728545548; c=relaxed/simple; bh=KPNml1L+XHqiySHOFCtAH//tJ60Ngm2xZh/2sZMiPeA=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=hmRjR1BIoBbJDSDxM/IkkTxbNHdj0pkXPkKme+Bj2a3XE7E1/KW18wcjuus8KOMsgB4W1gYbhZdEK8GOPL8k0kHHr8VV6gQ0lf7na2FzqwoHRxQtl8rkB5Obu/ZnC3dVEvboE3Iq7qdhFGw4UOC6YaQJtL8voSCsynA7X/EG8Vo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=enneenne.com; spf=pass smtp.mailfrom=enneenne.com; dkim=pass (2048-bit key) header.d=aruba.it header.i=@aruba.it header.b=ZVc4xgbP; arc=none smtp.client-ip=62.149.156.117 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=enneenne.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=enneenne.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=aruba.it header.i=@aruba.it header.b="ZVc4xgbP" Received: from [192.168.1.58] ([79.0.204.227]) by Aruba Outgoing Smtp with ESMTPSA id yneosmA3R7AmWyneosLPzT; Thu, 10 Oct 2024 09:32:24 +0200 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=aruba.it; s=a1; t=1728545544; bh=KPNml1L+XHqiySHOFCtAH//tJ60Ngm2xZh/2sZMiPeA=; h=Date:MIME-Version:Subject:To:From:Content-Type; b=ZVc4xgbP2ttGhNU80RPUilGgLQccqeSeNZzauwdFdd6IXADgx0UaHBixfFgi4mGUb gnspM69bXmT74qJDIqMqwxYRH6kRv2Mspb2GWwQkNo7mCMhfY4HyAdBiQAyrKCyoV5 nIs3MzbtKQDekj3kfHobAJrmgtk6ecNmlcYFKV5Xwcf1AmkmmgyaP9Ao8PJXgffV45 rEU5ZWYOXGq/HU14jqROIY/16C9UOJ45mXm6mJJ8Qkaq2yMIgHw7lvKw22+szI0Dfa v+7QM9KoIScrSMLyQG873NaxKkQcQErAGjiVXifg7h0TtzJYUNbydaFVl5ri+vJOkS 3KNvzd1uHXl5A== Message-ID: Date: Thu, 10 Oct 2024 09:32:22 +0200 Precedence: bulk X-Mailing-List: linux-doc@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [RFC 1/3] drivers pps: add PPS generators support To: Greg KH Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, Andrew Morton , corbet@lwn.net, Hall Christopher S , Mohan Subramanian , tglx@linutronix.de, andriy.shevchenko@linux.intel.com, Dong Eddie , N Pandith , T R Thejesh Reddy , Zage David , Chinnadurai Srinivasan References: <20241008135033.3171915-1-giometti@enneenne.com> <20241008135033.3171915-2-giometti@enneenne.com> <2024100855-unsecured-mammogram-001a@gregkh> <541eb5c6-5546-4170-9e8b-d421d55822a1@enneenne.com> <2024101013-reputably-skid-9e01@gregkh> From: Rodolfo Giometti Content-Language: en-US In-Reply-To: <2024101013-reputably-skid-9e01@gregkh> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-CMAE-Envelope: MS4xfOPkyaVC6LqebjicwZrioxjyNpUJfBqudK6X/7WNq+3/CJ0Gecp35wbwSgBddN4Dgf0Er7Ci8Pa+iknawuPdzmabrvnOVitoEBee/99C/ow1mIg6WfK+ kjkXRmbGDNeEMCVr3+Q6out7Mr/+6gGGgy0X9V5HOq9JZrqD4vOWtdadhyndrb7Ynj+QuFIPjKINl7IyzbLvPXn44X0kxjyXfDbAsJ9yXFZU1FLnsd9rycIX KdCCx43qUhj7sF71T4Tgf/ZvD8C6qVZvsnNUIRHYEYuu6/is4sgnZF5o7q1T30CSd2l3x5iyXrl6xkNPtj0/89qBLrqiXFQnHo2OmsYzJ9kk7Idb+35AfKY9 /pmsnGbIueCz9aol+Tajw8gLqc7Hgd6awf4UVLs+4+2Jy6ysRoGj0vLB32D5yh6ppfwd/62KcFkN8PGMTTQWocoXBQB81RSbYO0ptNb/qHSMp799PXd5UpNg CxUJv3y0GRyfJwir/xIqnZWZSp8yg+JWYJQJvFDlxlGS8JjZ2IeAZvYKXedNtDyABBNLFAUPLKlQgoAPEakBkCi4j27djPj5ZrrL/JAAdVDfeZoY7jYg3c45 /ZSNOeRMRru9PiqZSPqzjP3v/JBSbl+eLe+T8RUXr3jhKFK+U+1//+7rH2OBig/MMKECKoiT3x6F5bttvtA8Fhoj On 10/10/24 09:15, Greg KH wrote: > 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). Here is an example about ida API, but I'm using idr API. Ciao, Rodolfo -- GNU/Linux Solutions e-mail: giometti@enneenne.com Linux Device Driver giometti@linux.it Embedded Systems phone: +39 349 2432127 UNIX programming