On 06/23/2011 03:40 AM, Matthew Garrett wrote: >> -static void __devexit ideapad_unregister_rfkill(struct acpi_device *adevice, >> - int dev) >> +static void ideapad_unregister_rfkill(struct acpi_device *adevice, int dev) > > This also seems unrelated. > This is because ideapad_unregister_rfkill is called in ideapad_acpi_add which has markup __devinit, so I get warning when building. @@ -456,10 +548,19 @@ static int __devinit ideapad_acpi_add(struct acpi_device *adevice) else priv->rfk[i] = NULL; } - ideapad_sync_rfk_state(adevice); + ideapad_sync_rfk_state(priv); + + if (!acpi_video_backlight_support()) { + ret = ideapad_backlight_init(priv); + if (ret && ret != -ENODEV) + goto backlight_failed; + } return 0; +backlight_failed: + for (i = 0; i < IDEAPAD_RFKILL_DEV_NUM; i++) + ideapad_unregister_rfkill(adevice, i); input_failed: ideapad_platform_exit(priv); platform_failed: -- To unsubscribe from this list: send the line "unsubscribe platform-driver-x86" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html