The puzzle for usb host controller in the linux kernel
I am studying the usb sub sytem in the linux kernel .Now I encounter some difficult .I know that the linux kernel use the bus,device and driver model. A new driver will search it's device when registered into the bus . I am studying the ohci-s3c2410.c and find the function can register itself .And the probe function can be called either. But I can not understand where the device come from .When the device is register into the usb bus ?
int usb_hcd_s3c2410_probe (const struct hc_driver *driver,
struct platform_device *dev)
I know that the paramer dev is got from the device list of bus . But I don't know when and where the device is registered into the bus . I realy want to know it .
Thank you !