기존 이솝 임베디드 포럼의 지식인 서비스가 게시판 형태로 변경되었습니다.

안녕하세요! 오랜만에 질문을 올리게 되네요! ㅎ
S3C6410 보드를 사용하고 있고, Kernel은 2.6.28을 사용하고 있습니다.
 
SMSC LAN9215 LAN chip을 사용하고 있는데, 다소 문제가 있어,
smsc911x driver를 아래 사이트에서 하라는데로 대치를 하였습니다.

-------------------
MAINTAINERS | 6 +
 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
---------------------
 
즉 Kconfig, Makefile와 smsc.c 파일을 수정하고,
smsc911x.c, smsc911x.h와 include/linux/smsc911x.h 파일을 만들었습니다.
또한 make menuconfig 에서 기존 메뉴를 uncheck 하고 새로 추가된 메뉴에 check를 하였습니다.

그런데 smsc911x.c 파일에서 smsc911x_init_module 펑선은 지나가는데,
바로 다음에 불려져야 할 smsc911x_drv_probe 펑선이 불려지지 않습니다.
printk 문장을 위의 각 펑션 첫머리에 넣어서 확인을 하였습니다.
결국 드라이버가 제대로 올라 오지 못하는 것 같습니다. ㅠㅠㅠㅠㅠ;;
사이트에서 하라는거는 다 한것 같은데... 무얼 더 해야 되는지 모르겠네요~ㅠㅠ;;
 
고수님들의 행복한 조언을 부탁 드립니다.
꾸뻑~ㅎ
 
ps) 위의 create mode 100644는 무슨 뜻인가요? chmod 할때 주는거 같은데... 값이 너무 큰데...ㅜㅜ;;


죠니주니

2012.04.19 19:05:36
*.196.81.226

아키텍처단에

   platform_device_register(&smc91x_device);
이런식으로 추가를 해주신부분이 없으신게 아니신지요???

저런식으로 디바이스를 추가해주시고 네임을 맞춰주시면..

해당드라이버의 프로브 함수가 타는걸로 알고있는데요..

아키텍처부분을 살펴보시는게 좋을듯합니다..

프로브함수 안타는것은 아키텍처에서 디바이스를 등록해주지 않으셨을 확률이 있네요...

스페셜

2012.04.19 20:49:41
*.149.14.247

아하~ !! 그렇겠네요... 그걸 잊구 있었네요!

감사합니다. 당장 해 봐야겠습니다.

꾸뻑~~~^^*

스페셜

2012.04.19 23:10:14
*.149.14.247

그런데, 이미 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는 아니데, 조금 난감합니다.

도와 주시면 감사하겠습니다.

List of Articles
번호 제목 글쓴이 날짜 조회 수sort
6368 flow control에 관해서 여쭤 보고자 합니다. 열심히 2015-06-17 123
6367 input device에 할당된 버튼키를 제거하고 터미널에서 키보드로 대... [1] 김민욱 2017-05-25 131
6366 android uenvt에 내용을 추가 했는데요 맞는 방법인가요? [1] pedor11 2015-05-20 131
6365 [apt pkg server 관련] [2] 밥줘잉 2016-10-20 155
6364 압력센서 신호처리 관련하여 문의드립니다. [3] kernel_study 2016-11-03 158
6363 camera HAL시 퍼미션을 얻을 수 있는가요? [2] 조신 2015-11-18 160
6362 touch screen관련 여쭤봅니다. [1] 열심히 2015-07-25 179
6361 nfs 서버 구축 질문 [4] 김민욱 2017-06-10 179
6360 ACPI Shutdown Signal이 들어갈때의 동작을 변경하고 싶습니다. +... [4] 겟페우스 2017-06-08 180
6359 USB GPS를 재부팅 후에도 자동으로 동작하게 하려고 합니다. [3] 겟페우스 2017-06-03 181
6358 virtualbox에 안드로이드가 잘 안도네요 [1] 더미원 2017-03-20 191
6357 2440 보드의 address 신호와 소스상의 주소를 어떻게 이해 하고 있... [2] DavidKim 2015-07-29 194
6356 키이벤트 관련 질문드립니다. [3] 하하호호하하 2015-10-06 194
6355 SoM GPIO 제어 문의 [1] 단순최고 2021-01-25 197
6354 Alto 4330 보드에서 sdcard의 리눅스 커널로 부팅하는 방법 [2] 포도씨 2016-11-18 202
6353 check_usb_vfs("/dev/bus/usb") 에러 [1] 생생맥주 2015-01-25 205
6352 udev 를 이용하여 /dev 사용권한을 변경할수 있나요? [1] pedor11 2015-11-18 206
6351 밑의 LCD 포팅 질문드렸었는데 추가 질문이 있습니다. [2] ImYeol 2015-08-13 209
6350 smsc9220 질문 file [2] *김종원 2015-07-24 211
6349 on cell 형 multi touch panel 사용법? [1] 문종섭 2016-09-29 211

사용자 로그인