bcfe934e2e
The .remove() callback for a platform driver returns an int which makes many driver authors wrongly assume it's possible to do error handling by returning an error code. However the value returned is ignored (apart from emitting a warning) and this typically results in resource leaks. To improve here there is a quest to make the remove callback return void. In the first step of this quest all drivers are converted to .remove_new() which already returns void. Eventually after all drivers are converted, .remove_new() is renamed to .remove(). To convert the xhci-plat driver, change the prototype of xhci_plat_remove() to return void. As this function is exported and used by the xhci-rcar driver, convert this driver at the same time accordingly. Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de> Link: https://lore.kernel.org/r/20230530071913.2192214-5-u.kleine-koenig@pengutronix.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
32 lines
884 B
C
32 lines
884 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* xhci-plat.h - xHCI host controller driver platform Bus Glue.
|
|
*
|
|
* Copyright (C) 2015 Renesas Electronics Corporation
|
|
*/
|
|
|
|
#ifndef _XHCI_PLAT_H
|
|
#define _XHCI_PLAT_H
|
|
|
|
#include "xhci.h" /* for hcd_to_xhci() */
|
|
|
|
struct xhci_plat_priv {
|
|
const char *firmware_name;
|
|
unsigned long long quirks;
|
|
void (*plat_start)(struct usb_hcd *);
|
|
int (*init_quirk)(struct usb_hcd *);
|
|
int (*suspend_quirk)(struct usb_hcd *);
|
|
int (*resume_quirk)(struct usb_hcd *);
|
|
};
|
|
|
|
#define hcd_to_xhci_priv(h) ((struct xhci_plat_priv *)hcd_to_xhci(h)->priv)
|
|
#define xhci_to_priv(x) ((struct xhci_plat_priv *)(x)->priv)
|
|
|
|
int xhci_plat_probe(struct platform_device *pdev, struct device *sysdev,
|
|
const struct xhci_plat_priv *priv_match);
|
|
|
|
void xhci_plat_remove(struct platform_device *dev);
|
|
extern const struct dev_pm_ops xhci_plat_pm_ops;
|
|
|
|
#endif /* _XHCI_PLAT_H */
|