Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[PATCH] ps3: add shutdown to virtual uart port driver framework

PS3: Add a shutdown method to the PS3's virtual uart port driver framework

Signed-off-by: Geert Uytterhoeven <Geert.Uytterhoeven@sonycom.com>
Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Cc: James Simmons <jsimmons@infradead.org>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Paul Mackerras <paulus@samba.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Geert Uytterhoeven and committed by
Linus Torvalds
5b8e8ee6 5e14ab8b

+18
+17
drivers/ps3/vuart.c
··· 867 867 return 0; 868 868 } 869 869 870 + static void ps3_vuart_shutdown(struct device *_dev) 871 + { 872 + struct ps3_vuart_port_device *dev = to_ps3_vuart_port_device(_dev); 873 + struct ps3_vuart_port_driver *drv = 874 + to_ps3_vuart_port_driver(_dev->driver); 875 + 876 + dev_dbg(&dev->core, "%s:%d: %s\n", __func__, __LINE__, 877 + dev->core.bus_id); 878 + 879 + if (drv->shutdown) 880 + drv->shutdown(dev); 881 + else 882 + dev_dbg(&dev->core, "%s:%d: %s no shutdown method\n", __func__, 883 + __LINE__, dev->core.bus_id); 884 + } 885 + 870 886 /** 871 887 * ps3_vuart - The vuart instance. 872 888 * ··· 894 878 .match = ps3_vuart_match, 895 879 .probe = ps3_vuart_probe, 896 880 .remove = ps3_vuart_remove, 881 + .shutdown = ps3_vuart_shutdown, 897 882 }; 898 883 899 884 int __init ps3_vuart_init(void)
+1
drivers/ps3/vuart.h
··· 30 30 struct device_driver core; 31 31 int (*probe)(struct ps3_vuart_port_device *); 32 32 int (*remove)(struct ps3_vuart_port_device *); 33 + void (*shutdown)(struct ps3_vuart_port_device *); 33 34 int (*tx_event)(struct ps3_vuart_port_device *dev); 34 35 int (*rx_event)(struct ps3_vuart_port_device *dev); 35 36 int (*disconnect_event)(struct ps3_vuart_port_device *dev);