* [PATCH 1/1] pps: retrieve generator specific data from framework
@ 2025-01-28 14:02 subramanian.mohan
2025-01-28 14:06 ` Mohan, Subramanian
0 siblings, 1 reply; 2+ messages in thread
From: subramanian.mohan @ 2025-01-28 14:02 UTC (permalink / raw)
To: linux-doc, linux-kernel
Cc: giometti, pandith.n, thejesh.reddy.t.r, david.zage,
srinivasan.chinnadurai, rdunlap, bagasdotme, subramanian.mohan
From: Subramanian Mohan <subramanian.mohan@intel.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@intel.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
^ permalink raw reply related [flat|nested] 2+ messages in thread
* RE: [PATCH 1/1] pps: retrieve generator specific data from framework
2025-01-28 14:02 [PATCH 1/1] pps: retrieve generator specific data from framework subramanian.mohan
@ 2025-01-28 14:06 ` Mohan, Subramanian
0 siblings, 0 replies; 2+ messages in thread
From: Mohan, Subramanian @ 2025-01-28 14:06 UTC (permalink / raw)
To: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org
Cc: giometti@enneenne.com, N, Pandith, T R, Thejesh Reddy,
Zage, David, Chinnadurai, Srinivasan, rdunlap@infradead.org,
bagasdotme@gmail.com
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@intel.com>
> Sent: Tuesday, January 28, 2025 7:33 PM
> To: linux-doc@vger.kernel.org; linux-kernel@vger.kernel.org
> Cc: giometti@enneenne.com; N, Pandith <pandith.n@intel.com>; T R, Thejesh
> Reddy <thejesh.reddy.t.r@intel.com>; Zage, David <david.zage@intel.com>;
> Chinnadurai, Srinivasan <srinivasan.chinnadurai@intel.com>;
> rdunlap@infradead.org; bagasdotme@gmail.com; Mohan, Subramanian
> <subramanian.mohan@intel.com>
> Subject: [PATCH 1/1] pps: retrieve generator specific data from framework
>
> From: Subramanian Mohan <subramanian.mohan@intel.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@intel.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
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2025-01-28 14:07 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-28 14:02 [PATCH 1/1] pps: retrieve generator specific data from framework subramanian.mohan
2025-01-28 14:06 ` Mohan, Subramanian
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox