From: Marc Kleine-Budde <mkl@pengutronix.de>
To: netdev@vger.kernel.org
Cc: davem@davemloft.net, kuba@kernel.org, linux-can@vger.kernel.org,
kernel@pengutronix.de,
Vincent Mailhol <mailhol.vincent@wanadoo.fr>,
Marc Kleine-Budde <mkl@pengutronix.de>
Subject: [PATCH net-next 39/46] can: etas_es58x: use error pointer during device probing
Date: Mon, 26 Jul 2021 16:11:37 +0200 [thread overview]
Message-ID: <20210726141144.862529-40-mkl@pengutronix.de> (raw)
In-Reply-To: <20210726141144.862529-1-mkl@pengutronix.de>
From: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Make es58x_init_es58x_dev return a pointer to the allocated structure
instead of returning an integer. Errors are handled through the helper
function ERR_PTR and IS_ERR.
This slightly simplifies the code.
Link: https://lore.kernel.org/r/20210628155420.1176217-3-mailhol.vincent@wanadoo.fr
Signed-off-by: Vincent Mailhol <mailhol.vincent@wanadoo.fr>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
---
drivers/net/can/usb/etas_es58x/es58x_core.c | 23 +++++++++------------
1 file changed, 10 insertions(+), 13 deletions(-)
diff --git a/drivers/net/can/usb/etas_es58x/es58x_core.c b/drivers/net/can/usb/etas_es58x/es58x_core.c
index 4758f793627a..7650e349cae1 100644
--- a/drivers/net/can/usb/etas_es58x/es58x_core.c
+++ b/drivers/net/can/usb/etas_es58x/es58x_core.c
@@ -2152,14 +2152,13 @@ static int es58x_get_product_info(struct es58x_device *es58x_dev)
/**
* es58x_init_es58x_dev() - Initialize the ES58X device.
* @intf: USB interface.
- * @p_es58x_dev: pointer to the address of the ES58X device.
* @driver_info: Quirks of the device.
*
- * Return: zero on success, errno when any error occurs.
+ * Return: pointer to an ES58X device on success, error pointer when
+ * any error occurs.
*/
-static int es58x_init_es58x_dev(struct usb_interface *intf,
- struct es58x_device **p_es58x_dev,
- kernel_ulong_t driver_info)
+static struct es58x_device *es58x_init_es58x_dev(struct usb_interface *intf,
+ kernel_ulong_t driver_info)
{
struct device *dev = &intf->dev;
struct es58x_device *es58x_dev;
@@ -2176,7 +2175,7 @@ static int es58x_init_es58x_dev(struct usb_interface *intf,
ret = usb_find_common_endpoints(intf->cur_altsetting, &ep_in, &ep_out,
NULL, NULL);
if (ret)
- return ret;
+ return ERR_PTR(ret);
if (driver_info & ES58X_FD_FAMILY) {
param = &es58x_fd_param;
@@ -2188,7 +2187,7 @@ static int es58x_init_es58x_dev(struct usb_interface *intf,
es58x_dev = kzalloc(es58x_sizeof_es58x_device(param), GFP_KERNEL);
if (!es58x_dev)
- return -ENOMEM;
+ return ERR_PTR(-ENOMEM);
es58x_dev->param = param;
es58x_dev->ops = ops;
@@ -2213,9 +2212,7 @@ static int es58x_init_es58x_dev(struct usb_interface *intf,
ep_out->bEndpointAddress);
es58x_dev->rx_max_packet_size = le16_to_cpu(ep_in->wMaxPacketSize);
- *p_es58x_dev = es58x_dev;
-
- return 0;
+ return es58x_dev;
}
/**
@@ -2232,9 +2229,9 @@ static int es58x_probe(struct usb_interface *intf,
struct es58x_device *es58x_dev;
int ch_idx, ret;
- ret = es58x_init_es58x_dev(intf, &es58x_dev, id->driver_info);
- if (ret)
- return ret;
+ es58x_dev = es58x_init_es58x_dev(intf, id->driver_info);
+ if (IS_ERR(es58x_dev))
+ return PTR_ERR(es58x_dev);
ret = es58x_get_product_info(es58x_dev);
if (ret)
--
2.30.2
next prev parent reply other threads:[~2021-07-26 14:14 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-07-26 14:10 pull-request: can-next 2021-07-25 Marc Kleine-Budde
2021-07-26 14:10 ` [PATCH net-next 01/46] can: j1939: j1939_sk_sock_destruct(): correct a grammatical error Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 02/46] can: j1939: fix checkpatch warnings Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 03/46] can: j1939: replace fall through comment by fallthrough pseudo-keyword Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 04/46] can: j1939: j1939_session_completed(): use consistent name se_skb for the session skb Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 05/46] can: j1939: j1939_session_tx_dat(): use consistent name se_skcb for session skb control buffer Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 06/46] can: j1939: j1939_xtp_rx_dat_one(): use separate pointer " Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 07/46] can: rx-offload: add skb queue for use during ISR Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 08/46] can: rx-offload: can_rx_offload_irq_finish(): directly call napi_schedule() Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 09/46] can: rx-offload: can_rx_offload_threaded_irq_finish(): add new function to be called from threaded interrupt Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 10/46] can: bittiming: fix documentation for struct can_tdc Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 11/46] can: netlink: clear data_bittiming if FD is turned off Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 12/46] can: netlink: remove redundant check in can_validate() Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 13/46] dt-bindings: net: can: Document transceiver implementation as phy Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 14/46] can: m_can: Add support for transceiver " Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 15/46] can: m_can: use devm_platform_ioremap_resource_byname Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 16/46] can: m_can: remove support for custom bit timing Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 17/46] can: mcp251xfd: mcp251xfd_probe(): try to get crystal clock rate from property Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 18/46] can: mcp251xfd: Fix header block to clarify independence from OF Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 19/46] can: mcp251xfd: mcp251xfd_open(): request IRQ as shared Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 20/46] can: esd_usb2: use DEVICE_ATTR_RO() helper macro Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 21/46] can: janz-ican3: use DEVICE_ATTR_RO/RW() " Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 22/46] can: at91_can: use DEVICE_ATTR_RW() " Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 23/46] net: at91_can: remove redundant blank lines Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 24/46] net: at91_can: add blank line after declarations Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 25/46] net: at91_can: fix the code style issue about macro Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 26/46] net: at91_can: use BIT macro Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 27/46] net: at91_can: fix the alignment issue Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 28/46] net: at91_can: add braces {} to all arms of the statement Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 29/46] net: at91_can: remove redundant space Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 30/46] net: at91_can: fix the comments style issue Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 31/46] can: peak_pci: convert comments to network style comments Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 32/46] can: peak_pci: fix checkpatch warnings Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 33/46] can: peak_pci: Add name and FW version of the card in kernel buffer Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 34/46] can: peak_usb: pcan_usb_get_device_id(): read value only in case of success Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 35/46] can: peak_usb: PCAN-USB: add support of loopback and one-shot mode Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 36/46] can: peak_usb: pcan_usb_encode_msg(): add information Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 37/46] can: peak_usb: pcan_usb_decode_error(): upgrade handling of bus state changes Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 38/46] can: etas_es58x: fix three typos in author name and documentation Marc Kleine-Budde
2021-07-26 14:11 ` Marc Kleine-Budde [this message]
2021-07-26 14:11 ` [PATCH net-next 40/46] can: etas_es58x: use devm_kzalloc() to allocate device resources Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 41/46] can: etas_es58x: add es58x_free_netdevs() to factorize code Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 42/46] can: etas_es58x: use sizeof and sizeof_field macros instead of constant values Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 43/46] can: etas_es58x: rewrite the message cast in es58{1,_fd}_tx_can_msg to increase readability Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 44/46] can: flexcan: add platform data header Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 45/46] can: flexcan: add mcf5441x support Marc Kleine-Budde
2021-07-26 14:11 ` [PATCH net-next 46/46] can: flexcan: update Kconfig to enable coldfire Marc Kleine-Budde
2021-07-26 21:20 ` pull-request: can-next 2021-07-25 patchwork-bot+netdevbpf
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20210726141144.862529-40-mkl@pengutronix.de \
--to=mkl@pengutronix.de \
--cc=davem@davemloft.net \
--cc=kernel@pengutronix.de \
--cc=kuba@kernel.org \
--cc=linux-can@vger.kernel.org \
--cc=mailhol.vincent@wanadoo.fr \
--cc=netdev@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).