On Wed, 06 Apr 2011 16:09:28 +0200 Johannes Berg wrote: > 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. > I see, let's just drop rfkill_init_sw_state() then. Regards, Antonio -- Antonio Ospite http://ao2.it PGP public key ID: 0x4553B001 A: Because it messes up the order in which people normally read text. See http://en.wikipedia.org/wiki/Posting_style Q: Why is top-posting such a bad thing?