On Tue, Mar 10, 2015 at 10:41:42AM +0100, Sascha Hauer wrote: > > > + if (data->bus_prot_mask) { > > > + u32 mask = data->bus_prot_mask; > > > + struct regmap *infracfg = scp->infracfg; > > > + > > > + regmap_update_bits(infracfg, INFRA_TOPAXI_PROTECTEN, mask, 0); > > > + > > > + expired = jiffies + HZ; > > > + > > > + while (1) { > > > + u32 val; > > > + > > > + ret = regmap_read(infracfg, INFRA_TOPAXI_PROTECTSTA1, &val); > > > + if (ret) > > > + return ret; > > > + > > > + if (!(val & mask)) > > > + break; > > > + > > > + cpu_relax(); > > > + if (time_after(jiffies, expired)) > > > + return -EIO; > > > + } > > > + } > > > > This whole "Clear bus protection bits" part seems like it should be an > > API in the infracfg driver. > > Ok, can do. Since the infracfg driver (which is really a clk driver) currently is pending for inclusion I don't want to add more patches to it. I decided to drop the protection bits for now and come back to this once the infracfg driver is merged. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html