Re: [PATCH 0/3] omap hsmmc init cleanup and section warning fixes for v3.4 merge window

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



[]...
3. Load the gpio-twl4030 module

I was expecting this to now detect the card, but I instead got
this error which seems to tell gpio-twl4030 has problems
when built/used as a module, outside of the mmc issues.

Looks like I was mislead with the errors and though the twl4030
gpio probe was bailing out with errors, which its not.
It does seem to go ahead, does a mmc late init which registers
the mmc omap_device and hence does a platform_device_add, but the
device never seem to get probed. mmc driver is built in and
registered.


# insmod gpio-twl4030.ko
[   16.217864] twl4030_gpio twl4030_gpio: can't dispatch IRQs from modules
[   16.242004] gpiochip_add: registered GPIOs 192 to 211 on device: twl4030


4. Remove the gpio-twl4030 module
5. Re-load the gpio-twl4030.ko module

and report back what you get.  Thanks.


(4) and (5) are the key bits of what I was asking you to do.

Okay, so that was a total waste of time and effort, because you didn't do
what I asked.

Sorry, I did'nt repond back because I wanted to get this resolved
completely before I did.

(3) did not probe the inserted mmc device because the driver was
doing a platform_driver_probe() and not a platform_driver_register().

Once I fixed that and removed the __init from probe, I then hit a
failure with gpio_to_irq() call in the mmc driver probe.

This was beacuse the twl gpio driver does not register irqs as said by this error at driver load... >>>> [ 16.217864] twl4030_gpio twl4030_gpio: can't dispatch IRQs from modules
... apparently because there is no way to unregister a irq once the
module is unloaded.

That makes sdmmc pretty much unusable if twl gpio is built as a module.


Tony: I think there's a bug here - if the gpio-twl4030 module is inserted,
removed and re-inserted, I think we'll end up creating the devices for MMC
twice with the same name, resulting in sysfs complaining very loudly.

I still went ahead and tried (4) becasue I knew I would hit the above
issue. However I end up with a rmmod complaining 'resource temporarily
unavailable' because I see there are 3 gpio_requests, which I found
were from the .setup callback in the board file (I am using beagle).
The beagle board file does not seem to however register a .teardown
hook provided by twl4030 gpio platform_data structure to do a gpio_free.
So I am now trying to get the teardown function clean stuff up including
unregister the mmc device, which should also fix the problem with
multiple mmc device register that you reported with insmod/rmmod/insmod
 sequence.

I will post patches on top of Tony's series to fix all these issues.


--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux