[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <PH7PR11MB58628475CF6DB11BE731CC1CF7EF2@PH7PR11MB5862.namprd11.prod.outlook.com>
Date: Tue, 28 Jan 2025 14:06:58 +0000
From: "Mohan, Subramanian" <subramanian.mohan@...el.com>
To: "linux-doc@...r.kernel.org" <linux-doc@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
CC: "giometti@...eenne.com" <giometti@...eenne.com>, "N, Pandith"
<pandith.n@...el.com>, "T R, Thejesh Reddy" <thejesh.reddy.t.r@...el.com>,
"Zage, David" <david.zage@...el.com>, "Chinnadurai, Srinivasan"
<srinivasan.chinnadurai@...el.com>, "rdunlap@...radead.org"
<rdunlap@...radead.org>, "bagasdotme@...il.com" <bagasdotme@...il.com>
Subject: RE: [PATCH 1/1] pps: retrieve generator specific data from framework
Hi All,
Sorry for inconvenience.
Kindly ignore the V1 series.
V2 patch will be sent out accordingly.
Thanks,
Subbu
> -----Original Message-----
> From: Mohan, Subramanian <subramanian.mohan@...el.com>
> Sent: Tuesday, January 28, 2025 7:33 PM
> To: linux-doc@...r.kernel.org; linux-kernel@...r.kernel.org
> Cc: giometti@...eenne.com; N, Pandith <pandith.n@...el.com>; T R, Thejesh
> Reddy <thejesh.reddy.t.r@...el.com>; Zage, David <david.zage@...el.com>;
> Chinnadurai, Srinivasan <srinivasan.chinnadurai@...el.com>;
> rdunlap@...radead.org; bagasdotme@...il.com; Mohan, Subramanian
> <subramanian.mohan@...el.com>
> Subject: [PATCH 1/1] pps: retrieve generator specific data from framework
>
> From: Subramanian Mohan <subramanian.mohan@...el.com>
>
> While adapting pps generator driver(tio generator as an example)to the new
> generator framework, As part of driver registration the pps_gen_device
> pointer is returned from framework. Due to which there is difficulty in getting
> generator driver data back in enable function. we won’t be able to use
> container_of macro as it results in static assert. we might end up in using static
> pointer. To avoid the same and get back the generator driver data back we are
> proposing generic approach to add drv_prv_data pointer inside the struct
> pps_gen_source_info.
>
> Example TIO structure wrapped with pps_gen_device and usage.
>
> struct pps_tio {
> /* Framework Related * /
> struct pps_gen_source_info pps_tio_source_info
> struct pps_gen_device *pps_gen;
>
> /* TIO Specific Data */
> };
>
> static int pps_tio_enable(struct pps_gen_device *pps_gen, bool enable) {
>
> /* Getting TIO data back */
> /* Note: drv_prv_data will be initialized in our init routine */
> struct pps_tio *tio = pps_gen->info.drv_prv_data;
>
> /* Access tio members here to set some of the parameters */
>
> return 0;
> }
>
> Signed-off-by: Subramanian Mohan <subramanian.mohan@...el.com>
> ---
> include/linux/pps_gen_kernel.h | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/include/linux/pps_gen_kernel.h b/include/linux/pps_gen_kernel.h
> index 022ea0ac4440..8484bb2828ef 100644
> --- a/include/linux/pps_gen_kernel.h
> +++ b/include/linux/pps_gen_kernel.h
> @@ -35,6 +35,7 @@ struct pps_gen_source_info {
> int (*get_time)(struct pps_gen_device *pps_gen,
> struct timespec64 *time);
> int (*enable)(struct pps_gen_device *pps_gen, bool enable);
> + void *drv_prv_data;
>
> /* private: internal use only */
> struct module *owner;
> --
> 2.35.3
Powered by blists - more mailing lists