기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.
drivers/net/Kconfig | 14 +
drivers/net/Makefile | 1 +
drivers/net/phy/smsc.c | 28 +
drivers/net/smsc911x.c | 2091 ++++++++++++++++++++++++++++++++++++++++++++++
drivers/net/smsc911x.h | 394 +++++++++
include/linux/smsc911x.h | 42 + 7 files changed, 2576 insertions(+), 0 deletions(-)
create mode 100644 drivers/net/smsc911x.c
create mode 100644 drivers/net/smsc911x.h
create mode 100644 include/linux/smsc911x.h
---------------------
그런데, 이미 test가 다 된 code 인것으로 알고 있는데,
아래의 serial debug message에 보면, memory allocation error가 발생하고 있습니다.
smsc911x: Driver version 2008-10-21.
JCHA, smsc911x_drv_probe(),step 01 !!!!!
vmap allocation failed: use vmalloc=<size> to increase size.
JCHA, smsc911x_drv_probe(),step 02 !!!!!
smsc911x: probe of smsc911x failed with error -12
그 위치의 소스를 보면,,
1957 printk("JCHA, smsc911x_drv_probe(),step 01 !!!!!\n");
1958 SET_NETDEV_DEV(dev, &pdev->dev);
1959
1960 pdata = netdev_priv(dev);
1961
1962 dev->irq = platform_get_irq(pdev, 0);
1963 pdata->ioaddr = ioremap_nocache(res->start, res_size);
1964
1965 printk("JCHA, smsc911x_drv_probe(),step 02 !!!!!\n");
이부분의 ioremap_nocache() function에서 발생하고 있는것 같습니다.
특별히 이상한 code는 아니데, 조금 난감합니다.
도와 주시면 감사하겠습니다.
아키텍처단에
platform_device_register(&smc91x_device);
이런식으로 추가를 해주신부분이 없으신게 아니신지요???
저런식으로 디바이스를 추가해주시고 네임을 맞춰주시면..
해당드라이버의 프로브 함수가 타는걸로 알고있는데요..
아키텍처부분을 살펴보시는게 좋을듯합니다..
프로브함수 안타는것은 아키텍처에서 디바이스를 등록해주지 않으셨을 확률이 있네요...