From 2b2781c1da88d874b67e46706a6fc5d9c347b3b3 Mon Sep 17 00:00:00 2001 From: Geert Uytterhoeven Date: Mon, 12 Feb 2007 00:55:15 -0800 Subject: [PATCH] --- yaml --- r: 48067 b: refs/heads/master c: 5b8e8ee6c65a34d8aafaeb8e2eaa97e496c2567c h: refs/heads/master i: 48065: 4b4912ea5ba0ecf07a6e4890b505c26f1f3e4b1d 48063: 2ee2b32410db1a0ab1d91b3aa712b7348f8f262b v: v3 --- [refs] | 2 +- trunk/drivers/ps3/vuart.c | 17 +++++++++++++++++ trunk/drivers/ps3/vuart.h | 1 + 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index a7a97d0a6a37..789f67e90644 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5e14ab8b5ecca8997406180e23761525f49a09a3 +refs/heads/master: 5b8e8ee6c65a34d8aafaeb8e2eaa97e496c2567c diff --git a/trunk/drivers/ps3/vuart.c b/trunk/drivers/ps3/vuart.c index a72da8f651f8..ef8fd4c30875 100644 --- a/trunk/drivers/ps3/vuart.c +++ b/trunk/drivers/ps3/vuart.c @@ -867,6 +867,22 @@ static int ps3_vuart_remove(struct device *_dev) return 0; } +static void ps3_vuart_shutdown(struct device *_dev) +{ + struct ps3_vuart_port_device *dev = to_ps3_vuart_port_device(_dev); + struct ps3_vuart_port_driver *drv = + to_ps3_vuart_port_driver(_dev->driver); + + dev_dbg(&dev->core, "%s:%d: %s\n", __func__, __LINE__, + dev->core.bus_id); + + if (drv->shutdown) + drv->shutdown(dev); + else + dev_dbg(&dev->core, "%s:%d: %s no shutdown method\n", __func__, + __LINE__, dev->core.bus_id); +} + /** * ps3_vuart - The vuart instance. * @@ -878,6 +894,7 @@ struct bus_type ps3_vuart = { .match = ps3_vuart_match, .probe = ps3_vuart_probe, .remove = ps3_vuart_remove, + .shutdown = ps3_vuart_shutdown, }; int __init ps3_vuart_init(void) diff --git a/trunk/drivers/ps3/vuart.h b/trunk/drivers/ps3/vuart.h index 11c421cf7a03..2cbf728a3a0b 100644 --- a/trunk/drivers/ps3/vuart.h +++ b/trunk/drivers/ps3/vuart.h @@ -30,6 +30,7 @@ struct ps3_vuart_port_driver { struct device_driver core; int (*probe)(struct ps3_vuart_port_device *); int (*remove)(struct ps3_vuart_port_device *); + void (*shutdown)(struct ps3_vuart_port_device *); int (*tx_event)(struct ps3_vuart_port_device *dev); int (*rx_event)(struct ps3_vuart_port_device *dev); int (*disconnect_event)(struct ps3_vuart_port_device *dev);