Lines Matching defs:i2c
18 #include <linux/i2c.h>
3588 static int wm8962_set_pdata_from_of(struct i2c_client *i2c,
3591 const struct device_node *np = i2c->dev.of_node;
3613 pdata->mclk = devm_clk_get_optional(&i2c->dev, NULL);
3617 static int wm8962_i2c_probe(struct i2c_client *i2c)
3619 struct wm8962_pdata *pdata = dev_get_platdata(&i2c->dev);
3624 wm8962 = devm_kzalloc(&i2c->dev, sizeof(*wm8962), GFP_KERNEL);
3630 i2c_set_clientdata(i2c, wm8962);
3634 wm8962->irq = i2c->irq;
3639 } else if (i2c->dev.of_node) {
3640 ret = wm8962_set_pdata_from_of(i2c, &wm8962->pdata);
3648 ret = devm_regulator_bulk_get(&i2c->dev, ARRAY_SIZE(wm8962->supplies),
3651 dev_err(&i2c->dev, "Failed to request supplies: %d\n", ret);
3658 dev_err(&i2c->dev, "Failed to enable supplies: %d\n", ret);
3662 wm8962->regmap = devm_regmap_init_i2c(i2c, &wm8962_regmap);
3665 dev_err(&i2c->dev, "Failed to allocate regmap: %d\n", ret);
3678 dev_err(&i2c->dev, "Failed to read ID register\n");
3682 dev_err(&i2c->dev,
3690 dev_err(&i2c->dev, "Failed to read device revision: %d\n",
3695 dev_info(&i2c->dev, "customer id %x revision %c\n",
3704 dev_err(&i2c->dev, "Failed to issue reset\n");
3784 dev_err(&i2c->dev,
3801 ret = devm_request_threaded_irq(&i2c->dev, wm8962->irq, NULL,
3804 "wm8962", &i2c->dev);
3806 dev_err(&i2c->dev, "Failed to request IRQ %d: %d\n",
3820 pm_runtime_enable(&i2c->dev);
3821 pm_request_idle(&i2c->dev);
3823 ret = devm_snd_soc_register_component(&i2c->dev,
3841 pm_runtime_disable(&i2c->dev);
3944 MODULE_DEVICE_TABLE(i2c, wm8962_i2c_id);