Message ID | c70c100a-ebfd-442e-875f-738593faf0dc@web.de (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mmc: atmel-mci: Use common error handling code in atmci_of_init() | expand |
On 05/11/2023 16:50, Markus Elfring wrote: > Add a jump target so that a bit of exception handling can be better > reused at the end of this function. > > Signed-off-by: Markus Elfring <elfring@users.sourceforge.net> Acked-by: Aubin Constans <aubin.constans@microchip.com> > --- > drivers/mmc/host/atmel-mci.c | 18 ++++++++++-------- > 1 file changed, 10 insertions(+), 8 deletions(-) > > diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c > index dba826db739a..1e83119d1dcb 100644 > --- a/drivers/mmc/host/atmel-mci.c > +++ b/drivers/mmc/host/atmel-mci.c > @@ -675,10 +675,9 @@ atmci_of_init(struct platform_device *pdev) > "cd", GPIOD_IN, "cd-gpios"); > err = PTR_ERR_OR_ZERO(pdata->slot[slot_id].detect_pin); > if (err) { > - if (err != -ENOENT) { > - of_node_put(cnp); > - return ERR_PTR(err); > - } > + if (err != -ENOENT) > + goto put_node; > + > pdata->slot[slot_id].detect_pin = NULL; > } > > @@ -690,15 +689,18 @@ atmci_of_init(struct platform_device *pdev) > "wp", GPIOD_IN, "wp-gpios"); > err = PTR_ERR_OR_ZERO(pdata->slot[slot_id].wp_pin); > if (err) { > - if (err != -ENOENT) { > - of_node_put(cnp); > - return ERR_PTR(err); > - } > + if (err != -ENOENT) > + goto put_node; > + > pdata->slot[slot_id].wp_pin = NULL; > } > } > > return pdata; > + > +put_node: > + of_node_put(cnp); > + return ERR_PTR(err); > } > #else /* CONFIG_OF */ > static inline struct mci_platform_data* > -- > 2.42.0 > Best regards, Aubin
diff --git a/drivers/mmc/host/atmel-mci.c b/drivers/mmc/host/atmel-mci.c index dba826db739a..1e83119d1dcb 100644 --- a/drivers/mmc/host/atmel-mci.c +++ b/drivers/mmc/host/atmel-mci.c @@ -675,10 +675,9 @@ atmci_of_init(struct platform_device *pdev) "cd", GPIOD_IN, "cd-gpios"); err = PTR_ERR_OR_ZERO(pdata->slot[slot_id].detect_pin); if (err) { - if (err != -ENOENT) { - of_node_put(cnp); - return ERR_PTR(err); - } + if (err != -ENOENT) + goto put_node; + pdata->slot[slot_id].detect_pin = NULL; } @@ -690,15 +689,18 @@ atmci_of_init(struct platform_device *pdev) "wp", GPIOD_IN, "wp-gpios"); err = PTR_ERR_OR_ZERO(pdata->slot[slot_id].wp_pin); if (err) { - if (err != -ENOENT) { - of_node_put(cnp); - return ERR_PTR(err); - } + if (err != -ENOENT) + goto put_node; + pdata->slot[slot_id].wp_pin = NULL; } } return pdata; + +put_node: + of_node_put(cnp); + return ERR_PTR(err); } #else /* CONFIG_OF */ static inline struct mci_platform_data*