On Wed, 2011-04-06 at 16:06 +0200, Antonio Ospite wrote: > > > + if (regulator_is_enabled(vcc)) { > > > + dev_dbg(&pdev->dev, "Regulator already enabled\n"); > > > + rfkill_data->reg_enabled = 1; > > > + } > > > + rfkill_init_sw_state(rf_kill, !rfkill_data->reg_enabled); > > > + > > > + ret = rfkill_register(rf_kill); > > > > We recently had a thread about how rfkill_init_sw_state() isn't quite > > working the right way. Also, it is indented to be used for devices that > > keep their state over resume. I think you should remove it here and rely > > on rfkill to sync you after registration. > > > > Cf. the long thread here: > > http://thread.gmane.org/gmane.linux.acpi.devel/49577 > > > > Ok, but I still need to replace that call with a rfkill_set_sw_state() > to expose the initial status of the regulator to the rfkill system, > right? Well, you could, but if you don't do that then the rfkill subsystem will simply call set_block() shortly after registration to put it into the state that it thinks it should be in, which is usually more useful. johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html