mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-16 07:24:39 +08:00
aeffd2c3b0
It is since ages perfectly possible to compile both of these modules into the same kernel, which makes no sense since it is one piece of hardware. Compile one module named "fotg210.ko" for both HCD and UDC drivers by collecting the init calls into a fotg210-core.c file and start to centralize things handling one and the same piece of hardware. Stub out the initcalls if one or the other part of the driver was not selected. Tested by compiling one or the other or both of the drivers into the kernel and as modules. Cc: Fabian Vogt <fabian@ritter-vogt.de> Cc: Yuan-Hsin Chen <yhchen@faraday-tech.com> Cc: Felipe Balbi <balbi@kernel.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org> Link: https://lore.kernel.org/r/20221023144708.3596563-2-linus.walleij@linaro.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
43 lines
898 B
C
43 lines
898 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef __FOTG210_H
|
|
#define __FOTG210_H
|
|
|
|
#ifdef CONFIG_USB_FOTG210_HCD
|
|
int fotg210_hcd_probe(struct platform_device *pdev);
|
|
int fotg210_hcd_remove(struct platform_device *pdev);
|
|
int fotg210_hcd_init(void);
|
|
void fotg210_hcd_cleanup(void);
|
|
#else
|
|
static inline int fotg210_hcd_probe(struct platform_device *pdev)
|
|
{
|
|
return 0;
|
|
}
|
|
static inline int fotg210_hcd_remove(struct platform_device *pdev)
|
|
{
|
|
return 0;
|
|
}
|
|
static inline int fotg210_hcd_init(void)
|
|
{
|
|
return 0;
|
|
}
|
|
static inline void fotg210_hcd_cleanup(void)
|
|
{
|
|
}
|
|
#endif
|
|
|
|
#ifdef CONFIG_USB_FOTG210_UDC
|
|
int fotg210_udc_probe(struct platform_device *pdev);
|
|
int fotg210_udc_remove(struct platform_device *pdev);
|
|
#else
|
|
static inline int fotg210_udc_probe(struct platform_device *pdev)
|
|
{
|
|
return 0;
|
|
}
|
|
static inline int fotg210_udc_remove(struct platform_device *pdev)
|
|
{
|
|
return 0;
|
|
}
|
|
#endif
|
|
|
|
#endif /* __FOTG210_H */
|