* [PATCH 1/1] cdx: register shutdown callback for cdx controller
@ 2024-10-17 10:32 Abhijit Gangurde
2024-11-04 0:43 ` Greg KH
2024-11-11 11:28 ` Agarwal, Nikhil
0 siblings, 2 replies; 3+ messages in thread
From: Abhijit Gangurde @ 2024-10-17 10:32 UTC (permalink / raw)
To: gregkh, linux-kernel
Cc: git, michal.simek, Nipun.Gupta, nikhil.agarwal, Abhijit Gangurde
register shutdown callback for cdx controller platform device
to handle graceful connection closure of rpmsg transport.
Also, handle shutdown of cdx bus device by disabling the bus.
Signed-off-by: Abhijit Gangurde <abhijit.gangurde@amd.com>
---
drivers/cdx/cdx.c | 5 ++++-
drivers/cdx/controller/cdx_controller.c | 6 ++++++
2 files changed, 10 insertions(+), 1 deletion(-)
diff --git a/drivers/cdx/cdx.c b/drivers/cdx/cdx.c
index 07371cb653d3..655a056bca4e 100644
--- a/drivers/cdx/cdx.c
+++ b/drivers/cdx/cdx.c
@@ -338,8 +338,11 @@ static void cdx_shutdown(struct device *dev)
{
struct cdx_driver *cdx_drv = to_cdx_driver(dev->driver);
struct cdx_device *cdx_dev = to_cdx_device(dev);
+ struct cdx_controller *cdx = cdx_dev->cdx;
- if (cdx_drv && cdx_drv->shutdown)
+ if (cdx_dev->is_bus && cdx_dev->enabled && cdx->ops->bus_disable)
+ cdx->ops->bus_disable(cdx, cdx_dev->bus_num);
+ else if (cdx_drv && cdx_drv->shutdown)
cdx_drv->shutdown(cdx_dev);
}
diff --git a/drivers/cdx/controller/cdx_controller.c b/drivers/cdx/controller/cdx_controller.c
index 7c1ea5373b12..9aad5a9b328c 100644
--- a/drivers/cdx/controller/cdx_controller.c
+++ b/drivers/cdx/controller/cdx_controller.c
@@ -261,6 +261,11 @@ static void xlnx_cdx_remove(struct platform_device *pdev)
kfree(cdx_mcdi);
}
+static void xlnx_cdx_shutdown(struct platform_device *pdev)
+{
+ cdx_destroy_rpmsg(pdev);
+}
+
static const struct of_device_id cdx_match_table[] = {
{.compatible = "xlnx,versal-net-cdx",},
{ },
@@ -276,6 +281,7 @@ static struct platform_driver cdx_pdriver = {
},
.probe = xlnx_cdx_probe,
.remove_new = xlnx_cdx_remove,
+ .shutdown = xlnx_cdx_shutdown,
};
static int __init cdx_controller_init(void)
--
2.25.1
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH 1/1] cdx: register shutdown callback for cdx controller
2024-10-17 10:32 [PATCH 1/1] cdx: register shutdown callback for cdx controller Abhijit Gangurde
@ 2024-11-04 0:43 ` Greg KH
2024-11-11 11:28 ` Agarwal, Nikhil
1 sibling, 0 replies; 3+ messages in thread
From: Greg KH @ 2024-11-04 0:43 UTC (permalink / raw)
To: Abhijit Gangurde
Cc: linux-kernel, git, michal.simek, Nipun.Gupta, nikhil.agarwal
On Thu, Oct 17, 2024 at 04:02:16PM +0530, Abhijit Gangurde wrote:
> register shutdown callback for cdx controller platform device
> to handle graceful connection closure of rpmsg transport.
> Also, handle shutdown of cdx bus device by disabling the bus.
When you say "also" that implies it should be a separate patch, right?
And why send this to me and not to the cdx maintainers?
thanks,
greg k-h
^ permalink raw reply [flat|nested] 3+ messages in thread
* RE: [PATCH 1/1] cdx: register shutdown callback for cdx controller
2024-10-17 10:32 [PATCH 1/1] cdx: register shutdown callback for cdx controller Abhijit Gangurde
2024-11-04 0:43 ` Greg KH
@ 2024-11-11 11:28 ` Agarwal, Nikhil
1 sibling, 0 replies; 3+ messages in thread
From: Agarwal, Nikhil @ 2024-11-11 11:28 UTC (permalink / raw)
To: Gangurde, Abhijit, linux-kernel@vger.kernel.org,
gregkh@linuxfoundation.org
Cc: git (AMD-Xilinx), Simek, Michal, Gupta, Nipun, Gangurde, Abhijit
> -----Original Message-----
> From: Abhijit Gangurde <abhijit.gangurde@amd.com>
>
> register shutdown callback for cdx controller platform device to handle graceful
> connection closure of rpmsg transport.
> Also, handle shutdown of cdx bus device by disabling the bus.
>
> Signed-off-by: Abhijit Gangurde <abhijit.gangurde@amd.com>
> ---
> drivers/cdx/cdx.c | 5 ++++-
> drivers/cdx/controller/cdx_controller.c | 6 ++++++
> 2 files changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/cdx/cdx.c b/drivers/cdx/cdx.c index 07371cb653d3..655a056bca4e
> 100644
> --- a/drivers/cdx/cdx.c
> +++ b/drivers/cdx/cdx.c
> @@ -338,8 +338,11 @@ static void cdx_shutdown(struct device *dev) {
> struct cdx_driver *cdx_drv = to_cdx_driver(dev->driver);
> struct cdx_device *cdx_dev = to_cdx_device(dev);
> + struct cdx_controller *cdx = cdx_dev->cdx;
>
> - if (cdx_drv && cdx_drv->shutdown)
> + if (cdx_dev->is_bus && cdx_dev->enabled && cdx->ops->bus_disable)
> + cdx->ops->bus_disable(cdx, cdx_dev->bus_num);
> + else if (cdx_drv && cdx_drv->shutdown)
> cdx_drv->shutdown(cdx_dev);
Please drop else from here.
Also, as suggested by Greg, please split this patch into 2 separate patches
for device shutdown and controller shutdown.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-11-11 11:28 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-17 10:32 [PATCH 1/1] cdx: register shutdown callback for cdx controller Abhijit Gangurde
2024-11-04 0:43 ` Greg KH
2024-11-11 11:28 ` Agarwal, Nikhil
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox