drivers/usb/fotg210/fotg210.h

Source file repositories/reference/linux-study-clean/drivers/usb/fotg210/fotg210.h

File Facts

System
Linux kernel
Corpus path
drivers/usb/fotg210/fotg210.h
Extension
.h
Size
1285 bytes
Lines
62
Domain
Driver Families
Bucket
drivers/usb
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct fotg210 {
	struct device *dev;
	struct resource *res;
	void __iomem *base;
	struct clk *pclk;
	struct regmap *map;
	enum gemini_port port;
};

void fotg210_vbus(struct fotg210 *fotg, bool enable);

#ifdef CONFIG_USB_FOTG210_HCD
int fotg210_hcd_probe(struct platform_device *pdev, struct fotg210 *fotg);
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,
				    struct fotg210 *fotg)
{
	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, struct fotg210 *fotg);
int fotg210_udc_remove(struct platform_device *pdev);
#else
static inline int fotg210_udc_probe(struct platform_device *pdev,
				    struct fotg210 *fotg)
{
	return 0;
}
static inline int fotg210_udc_remove(struct platform_device *pdev)
{
	return 0;
}
#endif

#endif /* __FOTG210_H */

Annotation

Implementation Notes