Lines Matching refs:i2c
380 static int palmas_set_pdata_irq_flag(struct i2c_client *i2c, in palmas_set_pdata_irq_flag() argument
383 struct irq_data *irq_data = irq_get_irq_data(i2c->irq); in palmas_set_pdata_irq_flag()
385 dev_err(&i2c->dev, "Invalid IRQ: %d\n", i2c->irq); in palmas_set_pdata_irq_flag()
390 dev_info(&i2c->dev, "Irq flag is 0x%08x\n", pdata->irq_flags); in palmas_set_pdata_irq_flag()
394 static void palmas_dt_to_pdata(struct i2c_client *i2c, in palmas_dt_to_pdata() argument
397 struct device_node *node = i2c->dev.of_node; in palmas_dt_to_pdata()
421 if (i2c->irq) in palmas_dt_to_pdata()
422 palmas_set_pdata_irq_flag(i2c, pdata); in palmas_dt_to_pdata()
491 static int palmas_i2c_probe(struct i2c_client *i2c, in palmas_i2c_probe() argument
497 struct device_node *node = i2c->dev.of_node; in palmas_i2c_probe()
503 pdata = dev_get_platdata(&i2c->dev); in palmas_i2c_probe()
506 pdata = devm_kzalloc(&i2c->dev, sizeof(*pdata), GFP_KERNEL); in palmas_i2c_probe()
511 palmas_dt_to_pdata(i2c, pdata); in palmas_i2c_probe()
517 palmas = devm_kzalloc(&i2c->dev, sizeof(struct palmas), GFP_KERNEL); in palmas_i2c_probe()
521 i2c_set_clientdata(i2c, palmas); in palmas_i2c_probe()
522 palmas->dev = &i2c->dev; in palmas_i2c_probe()
523 palmas->irq = i2c->irq; in palmas_i2c_probe()
525 match = of_match_device(of_palmas_match_tbl, &i2c->dev); in palmas_i2c_probe()
535 palmas->i2c_clients[i] = i2c; in palmas_i2c_probe()
538 i2c_new_dummy(i2c->adapter, in palmas_i2c_probe()
539 i2c->addr + i); in palmas_i2c_probe()
668 ret = of_platform_populate(node, NULL, NULL, &i2c->dev); in palmas_i2c_probe()
689 static int palmas_i2c_remove(struct i2c_client *i2c) in palmas_i2c_remove() argument
691 struct palmas *palmas = i2c_get_clientdata(i2c); in palmas_i2c_remove()
716 MODULE_DEVICE_TABLE(i2c, palmas_i2c_id);