On Thu, Jun 25, 2009 at 4:18 PM, Greg KH<greg@xxxxxxxxx> wrote: > On Thu, Jun 25, 2009 at 11:36:29AM +0100, Will Newton wrote: >> Hi all, >> >> I'm trying to get the libertas driver working on an embedded >> development board and I've run into what looks like a sysfs problem. >> Although I'm actually using the BusyBox mdev hotplug helper rather >> than udev, I hope this is the right list to be asking this question. > > For busybox questions, not really, but we reserve the right to poke fun > at you for using mdev :) > >> What appears to be happening is I get my initramfs extracted, so I >> have access to the various necessary files including the hotplug >> helper and my firmware files. This step is taken care of by the rootfs >> initcall level. Then the driver initcalls are run, including the >> libertas setup routines, which call request_firmware. request_firmware >> fires off a uevent and calls the hotplug helper. The hotplug helper >> looks for the /sys/class/firmware entry for the libertas device, but >> it doesn't find one because I don't appear to have a mounted sysfs on >> the /sys mountpoint. >> >> So my question is: who should be mounting sysfs here? init will mount >> sysfs, but is run much later than the device initcalls. > > You need to mount sysfs as one of the first things to have happen. Look > at your distro's startup scripts as an example of this. Yes, I want my sysfs mounted as early as possible, but userspace (via /sbin/init) does not get a chance to do this until after the device initcalls have been run. I'm interested to know if there's a standard way to get sysfs mounted before /sbin/init is run. I could modify mdev to mount sysfs if it detects that it isn't already, but that seems like something of a hack. -- To unsubscribe from this list: send the line "unsubscribe linux-hotplug" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html