.bind=android_bind 이런 코드 형식은 어떻게 호출되는 걸까요
글쓴이: ykstudent / 작성시간: 목, 2011/05/12 - 4:41오후
static struct usb_composite_driver android_usb_driver = {
.name = "android_usb",
.dev = &device_desc,
.strings = dev_strings,
.bind = android_bind,
};
static int __init android_bind(struct usb_composite_dev *cdev)
{
...
}
이런식의 코드가 있는데, android_bind를 실제 어느 부분에서 호출되는지 모르겠네요
소스상에 android_usb_driver->bind 혹은 android_usb_driver.bind 이런 코드로 호출이 될걸로 예상되는데
검색을 해봐도 없네요...
실제 호출은 되는데 어디서 호출이 직접 이루어 지는지 모르겠습니다.
아시는 분 설명 좀 부탁드립니다.
Forums:
linux/drivers/usb/gadget/comp
linux/drivers/usb/gadget/composite.c 보세요. android_usb_driver를 등록을 하면 다른 곳에 포인터를 저장하고 프레임워크가 그걸 사용하기 때문에 android_usb_driver.bind 같이 호출될 일이 없죠. usb_composite_register()를 따라가다 보면 닶이 나올듯 합니다.
댓글 달기