Messages in this thread | | | Date | Mon, 26 Nov 2012 08:47:57 +0100 | Subject | Re: The ethernet driver doesn't get probed | From | Belisko Marek <> |
| |
On Mon, Nov 26, 2012 at 7:59 AM, Woody Wu <narkewoody@gmail.com> wrote: > Hi, List > > I enabled an ax88796 Ethernet driver in the kernel configuration menu. > Kernel version is 3.4.19. The arch is ARM and the system type is > Samsung S3C2410. > > In my debugging, I found the probe function of the driver did not get > invoked. Did you define platform data and platform device in board file? See: arch/arm/mach-pxa/colibri-pxa300.c (line ~87) > > This driver is declared as platform_driver > > static struct platform_driver axdrv = { > .driver = { > .name = "ax88796", > .owner = THIS_MODULE, > }, > .probe = ax_probe, > .remove = ax_remove, > .suspend = ax_suspend, > .resume = ax_resume, > }; > > module_platform_driver(axdrv); > > So, its driver init function actually goes through > platform_driver_register() and then driver_register(), which eventually > call driver_attach() trying to attach the driver to the "platform" bus. > But, on the platform bus, there is no any device that can match the > ax88796 driver, hence the driver failed in attaching. > > I discovered the full list of devices found on the platform bus: > > s3c2410-ohci, > s3c2410-lcd, > s3c2410-wdt, > s3c2410-i2c, > s3c24xx-iis, > s3c2410-nand, > s3c24xx_led, > s3c2410-uart, > > You see, in the list, there is no a device looks like ax88796. All these > already existed devices on the platform bus are build-in peripherals on > the SoC of s3c2410, they are compiled into the code by enabling some > kernel configuration options. > > My question is, in terms of Linux driver technology, how to enable a > non-PCI and not on-chip device driver? I think the ax_probe function > must be called somehow, is this thinking right? If yes, I think before > the driver get initialized, the corresponding device has to appear on > the bus, but now it seems not. > > Thanks in advance. > > -- > woody > I can't go back to yesterday - because I was a different person then. > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/
Cheers,
mbe
-- as simple and primitive as possible ------------------------------------------------- Marek Belisko - OPEN-NANDRA Freelance Developer
Ruska Nova Ves 219 | Presov, 08005 Slovak Republic Tel: +421 915 052 184 skype: marekwhite twitter: #opennandra web: http://open-nandra.com
| |