Skip to content

Commit ef0f7d1

Browse files
hadessgregkh
authored andcommitted
USB: Export generic USB device driver functions
This will make it possible to implement device drivers which extend the generic driver without needing to reimplement it. Signed-off-by: Bastien Nocera <[email protected]> Acked-by: Alan Stern <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 6a9746f commit ef0f7d1

File tree

2 files changed

+14
-8
lines changed

2 files changed

+14
-8
lines changed

drivers/usb/core/generic.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -195,7 +195,7 @@ int usb_choose_configuration(struct usb_device *udev)
195195
}
196196
EXPORT_SYMBOL_GPL(usb_choose_configuration);
197197

198-
static int generic_probe(struct usb_device *udev)
198+
int usb_generic_driver_probe(struct usb_device *udev)
199199
{
200200
int err, c;
201201

@@ -222,7 +222,7 @@ static int generic_probe(struct usb_device *udev)
222222
return 0;
223223
}
224224

225-
static void generic_disconnect(struct usb_device *udev)
225+
void usb_generic_driver_disconnect(struct usb_device *udev)
226226
{
227227
usb_notify_remove_device(udev);
228228

@@ -234,7 +234,7 @@ static void generic_disconnect(struct usb_device *udev)
234234

235235
#ifdef CONFIG_PM
236236

237-
static int generic_suspend(struct usb_device *udev, pm_message_t msg)
237+
int usb_generic_driver_suspend(struct usb_device *udev, pm_message_t msg)
238238
{
239239
int rc;
240240

@@ -262,7 +262,7 @@ static int generic_suspend(struct usb_device *udev, pm_message_t msg)
262262
return rc;
263263
}
264264

265-
static int generic_resume(struct usb_device *udev, pm_message_t msg)
265+
int usb_generic_driver_resume(struct usb_device *udev, pm_message_t msg)
266266
{
267267
int rc;
268268

@@ -285,11 +285,11 @@ static int generic_resume(struct usb_device *udev, pm_message_t msg)
285285

286286
struct usb_device_driver usb_generic_driver = {
287287
.name = "usb",
288-
.probe = generic_probe,
289-
.disconnect = generic_disconnect,
288+
.probe = usb_generic_driver_probe,
289+
.disconnect = usb_generic_driver_disconnect,
290290
#ifdef CONFIG_PM
291-
.suspend = generic_suspend,
292-
.resume = generic_resume,
291+
.suspend = usb_generic_driver_suspend,
292+
.resume = usb_generic_driver_resume,
293293
#endif
294294
.supports_autosuspend = 1,
295295
};

drivers/usb/core/usb.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,12 @@ extern void usb_release_bos_descriptor(struct usb_device *dev);
4747
extern char *usb_cache_string(struct usb_device *udev, int index);
4848
extern int usb_set_configuration(struct usb_device *dev, int configuration);
4949
extern int usb_choose_configuration(struct usb_device *udev);
50+
extern int usb_generic_driver_probe(struct usb_device *udev);
51+
extern void usb_generic_driver_disconnect(struct usb_device *udev);
52+
extern int usb_generic_driver_suspend(struct usb_device *udev,
53+
pm_message_t msg);
54+
extern int usb_generic_driver_resume(struct usb_device *udev,
55+
pm_message_t msg);
5056

5157
static inline unsigned usb_get_max_power(struct usb_device *udev,
5258
struct usb_host_config *c)

0 commit comments

Comments
 (0)