On Friday 26 Septemb.er 2008, Felipe Balbi wrote:
> + if (twl_has_usb() && pdata->usb) {
> + pdev = platform_device_alloc("twl4030_usb", -1);
> + if (pdev) {
> + twl = &twl4030_modules[TWL4030_SLAVENUM_NUM0];
> + pdev->dev.parent = &twl->client->dev;
> + device_init_wakeup(&pdev->dev, 1);
> + status = platform_device_add_data(pdev, pdata->usb,
> + sizeof(*pdata->usb));
> + if (status < 0) {
> + platform_device_put(pdev);
> + goto err;
> + }
> + status = platform_device_add(pdev);
> + if (status < 0)
> + platform_device_put(pdev);
> + } else {
> + status = -ENOMEM;
> + goto err;
> + }
> + }
I notice that here -- and elsewhere! -- you're not adding an IRQ
resource. We should get rid of the TWL4030_MODIRQ_* and *_PWRIRQ_*
symbols ... I think you'll observe that the twl_has_gpio() branch
is a slightly better model than the original twl_has_rtc() code,
in terms of how to add each child that uses interrupts.
In this case you can add an IRQ resource 4 more than the base IRQ
(GPIO using 0 more), switch the relevant USB code over so that it's
using platform_get_irq(), and comment out TWL4030_MODIRQ_USB in
the header (now that nobody's using it).
I'll send a small IRQ cleanup patch doing that for the RTC in a
bit, after I sanity check it.
- Dave
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at http://vger.kernel.org/majordomo-info.html