Message ID | 20231105214406.3765906-5-u.kleine-koenig@pengutronix.de |
---|---|
State | New |
Headers | show |
Series | tty: hvc: Convert to platform remove callback returning void | expand |
On Mon, Nov 13, 2023 at 07:45:27PM +1000, Nicholas Piggin wrote: > On Mon Nov 6, 2023 at 7:44 AM AEST, Uwe Kleine-König wrote: > > The function hvc_remove() returns zero unconditionally. Make it return > > void instead to make it obvious that the caller doesn't need to do any > > error handling. Accordingly drop the error handling from > > hvc_opal_remove(). > > > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > IIUC these are functionally no change, just tidying and removing > dead code? In case this isn't only a rethorical question: There is indeed no change in behaviour. hvc_remove() returned always zero, so rc = hvc_remove(hp); if (rc == 0) { ... some code not changing rc ... } ... some more code not changing rc ... return rc can be simplified to hvc_remove(hp); ... some code not changing rc ... ... some more code not changing rc ... return 0; Best regards Uwe
On Mon Nov 13, 2023 at 7:57 PM AEST, Uwe Kleine-König wrote: > On Mon, Nov 13, 2023 at 07:45:27PM +1000, Nicholas Piggin wrote: > > On Mon Nov 6, 2023 at 7:44 AM AEST, Uwe Kleine-König wrote: > > > The function hvc_remove() returns zero unconditionally. Make it return > > > void instead to make it obvious that the caller doesn't need to do any > > > error handling. Accordingly drop the error handling from > > > hvc_opal_remove(). > > > > > > Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> > > > > IIUC these are functionally no change, just tidying and removing > > dead code? > > In case this isn't only a rethorical question: There is indeed no > change in behaviour. Thanks, it wasn't. Your changelog and code seemed to be quite clear, I just wanted to confirm I didn't misread or misunderstand it. Thanks, Nick > hvc_remove() returned always zero, so > > rc = hvc_remove(hp); > if (rc == 0) { > ... some code not changing rc ... > } > ... some more code not changing rc ... > return rc > > can be simplified to > > hvc_remove(hp); > ... some code not changing rc ... > ... some more code not changing rc ... > return 0; > > Best regards > Uwe
diff --git a/drivers/tty/hvc/hvc_console.c b/drivers/tty/hvc/hvc_console.c index 959fae54ca39..57f5c37125e6 100644 --- a/drivers/tty/hvc/hvc_console.c +++ b/drivers/tty/hvc/hvc_console.c @@ -976,7 +976,7 @@ struct hvc_struct *hvc_alloc(uint32_t vtermno, int data, } EXPORT_SYMBOL_GPL(hvc_alloc); -int hvc_remove(struct hvc_struct *hp) +void hvc_remove(struct hvc_struct *hp) { unsigned long flags; struct tty_struct *tty; @@ -1010,7 +1010,6 @@ int hvc_remove(struct hvc_struct *hp) tty_vhangup(tty); tty_kref_put(tty); } - return 0; } EXPORT_SYMBOL_GPL(hvc_remove); diff --git a/drivers/tty/hvc/hvc_console.h b/drivers/tty/hvc/hvc_console.h index 9668f821db01..78f7543511f1 100644 --- a/drivers/tty/hvc/hvc_console.h +++ b/drivers/tty/hvc/hvc_console.h @@ -77,7 +77,7 @@ extern int hvc_instantiate(uint32_t vtermno, int index, extern struct hvc_struct * hvc_alloc(uint32_t vtermno, int data, const struct hv_ops *ops, int outbuf_size); /* remove a vterm from hvc tty operation (module_exit or hotplug remove) */ -extern int hvc_remove(struct hvc_struct *hp); +extern void hvc_remove(struct hvc_struct *hp); /* data available */ int hvc_poll(struct hvc_struct *hp); diff --git a/drivers/tty/hvc/hvc_opal.c b/drivers/tty/hvc/hvc_opal.c index 992e199e0ea8..8995b253cf90 100644 --- a/drivers/tty/hvc/hvc_opal.c +++ b/drivers/tty/hvc/hvc_opal.c @@ -235,16 +235,15 @@ static int hvc_opal_probe(struct platform_device *dev) static int hvc_opal_remove(struct platform_device *dev) { struct hvc_struct *hp = dev_get_drvdata(&dev->dev); - int rc, termno; + int termno; termno = hp->vtermno; - rc = hvc_remove(hp); - if (rc == 0) { - if (hvc_opal_privs[termno] != &hvc_opal_boot_priv) - kfree(hvc_opal_privs[termno]); - hvc_opal_privs[termno] = NULL; - } - return rc; + hvc_remove(hp); + if (hvc_opal_privs[termno] != &hvc_opal_boot_priv) + kfree(hvc_opal_privs[termno]); + hvc_opal_privs[termno] = NULL; + + return 0; } static struct platform_driver hvc_opal_driver = {
The function hvc_remove() returns zero unconditionally. Make it return void instead to make it obvious that the caller doesn't need to do any error handling. Accordingly drop the error handling from hvc_opal_remove(). Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> --- drivers/tty/hvc/hvc_console.c | 3 +-- drivers/tty/hvc/hvc_console.h | 2 +- drivers/tty/hvc/hvc_opal.c | 15 +++++++-------- 3 files changed, 9 insertions(+), 11 deletions(-)