Lines Matching refs:lochnagar
23 #include <linux/mfd/lochnagar.h>
227 * @lochnagar: A pointer to the primary core data structure.
231 int lochnagar_update_config(struct lochnagar *lochnagar)
233 struct regmap *regmap = lochnagar->regmap;
239 lockdep_assert_held(&lochnagar->analogue_config_lock);
241 if (lochnagar->type != LOCHNAGAR2)
274 struct lochnagar *lochnagar;
281 lochnagar = devm_kzalloc(dev, sizeof(*lochnagar), GFP_KERNEL);
282 if (!lochnagar)
291 lochnagar->dev = dev;
292 mutex_init(&lochnagar->analogue_config_lock);
294 dev_set_drvdata(dev, lochnagar);
317 lochnagar->type = config->type;
319 lochnagar->regmap = devm_regmap_init_i2c(i2c, config->regmap);
320 if (IS_ERR(lochnagar->regmap)) {
321 ret = PTR_ERR(lochnagar->regmap);
327 ret = lochnagar_wait_for_boot(lochnagar->regmap, &val);
344 ret = regmap_read(lochnagar->regmap, LOCHNAGAR_FIRMWARE_ID1, &val);
352 ret = regmap_read(lochnagar->regmap, LOCHNAGAR_FIRMWARE_ID2, &val);
363 ret = regmap_register_patch(lochnagar->regmap, config->patch,
381 .name = "lochnagar",