Message ID | 20240314-pci-epf-rework-v1-3-6134e6c1d491@linaro.org |
---|---|
State | New |
Headers | show |
Series | PCI: endpoint: Make host reboot handling more robust | expand |
On Thu, Mar 14, 2024 at 08:53:42PM +0530, Manivannan Sadhasivam wrote: > core_init() callback is used to notify the EPC initialization event to the > EPF drivers. The 'core' prefix was used indicate that the controller IP > core has completed initialization. But it serves no purpose as the EPF > driver will only care about the EPC initialization as a whole and there is > no real benefit to distinguish the IP core part. > > So let's rename the core_init() callback in 'struct pci_epc_event_ops' to > just init() to make it more clear. > > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > --- > drivers/pci/endpoint/functions/pci-epf-mhi.c | 4 ++-- > drivers/pci/endpoint/functions/pci-epf-test.c | 4 ++-- > drivers/pci/endpoint/pci-epc-core.c | 16 ++++++++-------- > include/linux/pci-epf.h | 4 ++-- > 4 files changed, 14 insertions(+), 14 deletions(-) > > diff --git a/drivers/pci/endpoint/functions/pci-epf-mhi.c b/drivers/pci/endpoint/functions/pci-epf-mhi.c > index e5d67aec7574..da894a9a447e 100644 > --- a/drivers/pci/endpoint/functions/pci-epf-mhi.c > +++ b/drivers/pci/endpoint/functions/pci-epf-mhi.c > @@ -700,7 +700,7 @@ static void pci_epf_mhi_dma_deinit(struct pci_epf_mhi *epf_mhi) > epf_mhi->dma_chan_rx = NULL; > } > > -static int pci_epf_mhi_core_init(struct pci_epf *epf) > +static int pci_epf_mhi_epc_init(struct pci_epf *epf) > { > struct pci_epf_mhi *epf_mhi = epf_get_drvdata(epf); > const struct pci_epf_mhi_ep_info *info = epf_mhi->info; > @@ -881,7 +881,7 @@ static void pci_epf_mhi_unbind(struct pci_epf *epf) > } > > static const struct pci_epc_event_ops pci_epf_mhi_epc_event_ops = { > - .core_init = pci_epf_mhi_core_init, > + .init = pci_epf_mhi_epc_init, > }; > > static const struct pci_epc_bus_event_ops pci_epf_mhi_bus_event_ops = { > diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c > index 751dab5799d5..1dae0fce8fc4 100644 > --- a/drivers/pci/endpoint/functions/pci-epf-test.c > +++ b/drivers/pci/endpoint/functions/pci-epf-test.c > @@ -746,7 +746,7 @@ static int pci_epf_test_set_bar(struct pci_epf *epf) > return 0; > } > > -static int pci_epf_test_core_init(struct pci_epf *epf) > +static int pci_epf_test_epc_init(struct pci_epf *epf) Why have _epc_ init in the name at all? Isn't static int pci_epf_test_init(struct pci_epf *epf) Enough? From my perspective, it is the EPF that is initializing (by configuring the BARS according to it's liking), not the EPC initializing. > { > struct pci_epf_test *epf_test = epf_get_drvdata(epf); > struct pci_epf_header *header = epf->header; > @@ -814,7 +814,7 @@ static int pci_epf_test_link_up(struct pci_epf *epf) > } > > static const struct pci_epc_event_ops pci_epf_test_epc_event_ops = { > - .core_init = pci_epf_test_core_init, > + .init = pci_epf_test_epc_init, > }; > > static const struct pci_epc_bus_event_ops pci_epf_test_bus_event_ops = { > diff --git a/drivers/pci/endpoint/pci-epc-core.c b/drivers/pci/endpoint/pci-epc-core.c > index f602f08a11a2..5a522b2842e2 100644 > --- a/drivers/pci/endpoint/pci-epc-core.c > +++ b/drivers/pci/endpoint/pci-epc-core.c > @@ -732,9 +732,9 @@ void pci_epc_linkdown(struct pci_epc *epc) > EXPORT_SYMBOL_GPL(pci_epc_linkdown); > > /** > - * pci_epc_init_notify() - Notify the EPF device that EPC device's core > - * initialization is completed. > - * @epc: the EPC device whose core initialization is completed > + * pci_epc_init_notify() - Notify the EPF device that EPC device initialization > + * is completed. > + * @epc: the EPC device whose initialization is completed > * > * Invoke to Notify the EPF device that the EPC device's initialization > * is completed. > @@ -749,8 +749,8 @@ void pci_epc_init_notify(struct pci_epc *epc) > mutex_lock(&epc->list_lock); > list_for_each_entry(epf, &epc->pci_epf, list) { > mutex_lock(&epf->lock); > - if (epf->epc_event_ops && epf->epc_event_ops->core_init) > - epf->epc_event_ops->core_init(epf); > + if (epf->epc_event_ops && epf->epc_event_ops->init) > + epf->epc_event_ops->init(epf); > mutex_unlock(&epf->lock); > } > epc->init_complete = true; > @@ -761,7 +761,7 @@ EXPORT_SYMBOL_GPL(pci_epc_init_notify); > /** > * pci_epc_notify_pending_init() - Notify the pending EPC device initialization > * complete to the EPF device > - * @epc: the EPC device whose core initialization is pending to be notified > + * @epc: the EPC device whose initialization is pending to be notified > * @epf: the EPF device to be notified > * > * Invoke to notify the pending EPC device initialization complete to the EPF > @@ -772,8 +772,8 @@ void pci_epc_notify_pending_init(struct pci_epc *epc, struct pci_epf *epf) > { > if (epc->init_complete) { > mutex_lock(&epf->lock); > - if (epf->epc_event_ops && epf->epc_event_ops->core_init) > - epf->epc_event_ops->core_init(epf); > + if (epf->epc_event_ops && epf->epc_event_ops->init) > + epf->epc_event_ops->init(epf); > mutex_unlock(&epf->lock); > } > } > diff --git a/include/linux/pci-epf.h b/include/linux/pci-epf.h > index 1271e1e00bbd..ff8304e72f8e 100644 > --- a/include/linux/pci-epf.h > +++ b/include/linux/pci-epf.h > @@ -69,10 +69,10 @@ struct pci_epf_ops { > > /** > * struct pci_epc_event_ops - Callbacks for capturing the EPC specific events > - * @core_init: Callback for the EPC initialization event > + * @init: Callback for the EPC initialization event > */ > struct pci_epc_event_ops { > - int (*core_init)(struct pci_epf *epf); > + int (*init)(struct pci_epf *epf); > }; > > /** > > -- > 2.25.1 >
On Fri, Mar 22, 2024 at 05:08:48PM +0100, Niklas Cassel wrote: > On Thu, Mar 14, 2024 at 08:53:42PM +0530, Manivannan Sadhasivam wrote: > > core_init() callback is used to notify the EPC initialization event to the > > EPF drivers. The 'core' prefix was used indicate that the controller IP > > core has completed initialization. But it serves no purpose as the EPF > > driver will only care about the EPC initialization as a whole and there is > > no real benefit to distinguish the IP core part. > > > > So let's rename the core_init() callback in 'struct pci_epc_event_ops' to > > just init() to make it more clear. > > > > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> > > --- > > drivers/pci/endpoint/functions/pci-epf-mhi.c | 4 ++-- > > drivers/pci/endpoint/functions/pci-epf-test.c | 4 ++-- > > drivers/pci/endpoint/pci-epc-core.c | 16 ++++++++-------- > > include/linux/pci-epf.h | 4 ++-- > > 4 files changed, 14 insertions(+), 14 deletions(-) > > > > diff --git a/drivers/pci/endpoint/functions/pci-epf-mhi.c b/drivers/pci/endpoint/functions/pci-epf-mhi.c > > index e5d67aec7574..da894a9a447e 100644 > > --- a/drivers/pci/endpoint/functions/pci-epf-mhi.c > > +++ b/drivers/pci/endpoint/functions/pci-epf-mhi.c > > @@ -700,7 +700,7 @@ static void pci_epf_mhi_dma_deinit(struct pci_epf_mhi *epf_mhi) > > epf_mhi->dma_chan_rx = NULL; > > } > > > > -static int pci_epf_mhi_core_init(struct pci_epf *epf) > > +static int pci_epf_mhi_epc_init(struct pci_epf *epf) > > { > > struct pci_epf_mhi *epf_mhi = epf_get_drvdata(epf); > > const struct pci_epf_mhi_ep_info *info = epf_mhi->info; > > @@ -881,7 +881,7 @@ static void pci_epf_mhi_unbind(struct pci_epf *epf) > > } > > > > static const struct pci_epc_event_ops pci_epf_mhi_epc_event_ops = { > > - .core_init = pci_epf_mhi_core_init, > > + .init = pci_epf_mhi_epc_init, > > }; > > > > static const struct pci_epc_bus_event_ops pci_epf_mhi_bus_event_ops = { > > diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c > > index 751dab5799d5..1dae0fce8fc4 100644 > > --- a/drivers/pci/endpoint/functions/pci-epf-test.c > > +++ b/drivers/pci/endpoint/functions/pci-epf-test.c > > @@ -746,7 +746,7 @@ static int pci_epf_test_set_bar(struct pci_epf *epf) > > return 0; > > } > > > > -static int pci_epf_test_core_init(struct pci_epf *epf) > > +static int pci_epf_test_epc_init(struct pci_epf *epf) > > Why have _epc_ init in the name at all? > > Isn't > static int pci_epf_test_init(struct pci_epf *epf) > > Enough? > > From my perspective, it is the EPF that is initializing > (by configuring the BARS according to it's liking), > not the EPC initializing. > Hmm, you are right. It makes sense to remove 'epc' from the naming. - Mani
diff --git a/drivers/pci/endpoint/functions/pci-epf-mhi.c b/drivers/pci/endpoint/functions/pci-epf-mhi.c index e5d67aec7574..da894a9a447e 100644 --- a/drivers/pci/endpoint/functions/pci-epf-mhi.c +++ b/drivers/pci/endpoint/functions/pci-epf-mhi.c @@ -700,7 +700,7 @@ static void pci_epf_mhi_dma_deinit(struct pci_epf_mhi *epf_mhi) epf_mhi->dma_chan_rx = NULL; } -static int pci_epf_mhi_core_init(struct pci_epf *epf) +static int pci_epf_mhi_epc_init(struct pci_epf *epf) { struct pci_epf_mhi *epf_mhi = epf_get_drvdata(epf); const struct pci_epf_mhi_ep_info *info = epf_mhi->info; @@ -881,7 +881,7 @@ static void pci_epf_mhi_unbind(struct pci_epf *epf) } static const struct pci_epc_event_ops pci_epf_mhi_epc_event_ops = { - .core_init = pci_epf_mhi_core_init, + .init = pci_epf_mhi_epc_init, }; static const struct pci_epc_bus_event_ops pci_epf_mhi_bus_event_ops = { diff --git a/drivers/pci/endpoint/functions/pci-epf-test.c b/drivers/pci/endpoint/functions/pci-epf-test.c index 751dab5799d5..1dae0fce8fc4 100644 --- a/drivers/pci/endpoint/functions/pci-epf-test.c +++ b/drivers/pci/endpoint/functions/pci-epf-test.c @@ -746,7 +746,7 @@ static int pci_epf_test_set_bar(struct pci_epf *epf) return 0; } -static int pci_epf_test_core_init(struct pci_epf *epf) +static int pci_epf_test_epc_init(struct pci_epf *epf) { struct pci_epf_test *epf_test = epf_get_drvdata(epf); struct pci_epf_header *header = epf->header; @@ -814,7 +814,7 @@ static int pci_epf_test_link_up(struct pci_epf *epf) } static const struct pci_epc_event_ops pci_epf_test_epc_event_ops = { - .core_init = pci_epf_test_core_init, + .init = pci_epf_test_epc_init, }; static const struct pci_epc_bus_event_ops pci_epf_test_bus_event_ops = { diff --git a/drivers/pci/endpoint/pci-epc-core.c b/drivers/pci/endpoint/pci-epc-core.c index f602f08a11a2..5a522b2842e2 100644 --- a/drivers/pci/endpoint/pci-epc-core.c +++ b/drivers/pci/endpoint/pci-epc-core.c @@ -732,9 +732,9 @@ void pci_epc_linkdown(struct pci_epc *epc) EXPORT_SYMBOL_GPL(pci_epc_linkdown); /** - * pci_epc_init_notify() - Notify the EPF device that EPC device's core - * initialization is completed. - * @epc: the EPC device whose core initialization is completed + * pci_epc_init_notify() - Notify the EPF device that EPC device initialization + * is completed. + * @epc: the EPC device whose initialization is completed * * Invoke to Notify the EPF device that the EPC device's initialization * is completed. @@ -749,8 +749,8 @@ void pci_epc_init_notify(struct pci_epc *epc) mutex_lock(&epc->list_lock); list_for_each_entry(epf, &epc->pci_epf, list) { mutex_lock(&epf->lock); - if (epf->epc_event_ops && epf->epc_event_ops->core_init) - epf->epc_event_ops->core_init(epf); + if (epf->epc_event_ops && epf->epc_event_ops->init) + epf->epc_event_ops->init(epf); mutex_unlock(&epf->lock); } epc->init_complete = true; @@ -761,7 +761,7 @@ EXPORT_SYMBOL_GPL(pci_epc_init_notify); /** * pci_epc_notify_pending_init() - Notify the pending EPC device initialization * complete to the EPF device - * @epc: the EPC device whose core initialization is pending to be notified + * @epc: the EPC device whose initialization is pending to be notified * @epf: the EPF device to be notified * * Invoke to notify the pending EPC device initialization complete to the EPF @@ -772,8 +772,8 @@ void pci_epc_notify_pending_init(struct pci_epc *epc, struct pci_epf *epf) { if (epc->init_complete) { mutex_lock(&epf->lock); - if (epf->epc_event_ops && epf->epc_event_ops->core_init) - epf->epc_event_ops->core_init(epf); + if (epf->epc_event_ops && epf->epc_event_ops->init) + epf->epc_event_ops->init(epf); mutex_unlock(&epf->lock); } } diff --git a/include/linux/pci-epf.h b/include/linux/pci-epf.h index 1271e1e00bbd..ff8304e72f8e 100644 --- a/include/linux/pci-epf.h +++ b/include/linux/pci-epf.h @@ -69,10 +69,10 @@ struct pci_epf_ops { /** * struct pci_epc_event_ops - Callbacks for capturing the EPC specific events - * @core_init: Callback for the EPC initialization event + * @init: Callback for the EPC initialization event */ struct pci_epc_event_ops { - int (*core_init)(struct pci_epf *epf); + int (*init)(struct pci_epf *epf); }; /**
core_init() callback is used to notify the EPC initialization event to the EPF drivers. The 'core' prefix was used indicate that the controller IP core has completed initialization. But it serves no purpose as the EPF driver will only care about the EPC initialization as a whole and there is no real benefit to distinguish the IP core part. So let's rename the core_init() callback in 'struct pci_epc_event_ops' to just init() to make it more clear. Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> --- drivers/pci/endpoint/functions/pci-epf-mhi.c | 4 ++-- drivers/pci/endpoint/functions/pci-epf-test.c | 4 ++-- drivers/pci/endpoint/pci-epc-core.c | 16 ++++++++-------- include/linux/pci-epf.h | 4 ++-- 4 files changed, 14 insertions(+), 14 deletions(-)