Lines Matching +full:client +full:- +full:id

1 // SPDX-License-Identifier: GPL-2.0-only
18 /* 88pm80x chips have same definition for chip id register. */
24 unsigned int id; member
29 /* 88PM800 chip id number */
31 /* 88PM805 chip id number */
33 /* 88PM860 chip id number */
51 int pm80x_init(struct i2c_client *client) in pm80x_init() argument
59 devm_kzalloc(&client->dev, sizeof(struct pm80x_chip), GFP_KERNEL); in pm80x_init()
61 return -ENOMEM; in pm80x_init()
63 map = devm_regmap_init_i2c(client, &pm80x_regmap_config); in pm80x_init()
66 dev_err(&client->dev, "Failed to allocate register map: %d\n", in pm80x_init()
71 chip->client = client; in pm80x_init()
72 chip->regmap = map; in pm80x_init()
74 chip->irq = client->irq; in pm80x_init()
76 chip->dev = &client->dev; in pm80x_init()
77 dev_set_drvdata(chip->dev, chip); in pm80x_init()
78 i2c_set_clientdata(chip->client, chip); in pm80x_init()
80 ret = regmap_read(chip->regmap, PM80X_CHIP_ID, &val); in pm80x_init()
82 dev_err(chip->dev, "Failed to read CHIP ID: %d\n", ret); in pm80x_init()
87 if (chip_mapping[i].id == PM80X_CHIP_ID_NUM(val)) { in pm80x_init()
88 chip->type = chip_mapping[i].type; in pm80x_init()
94 dev_err(chip->dev, in pm80x_init()
96 return -EINVAL; in pm80x_init()
99 device_init_wakeup(&client->dev, 1); in pm80x_init()
110 chip->companion = g_pm80x_chip->client; in pm80x_init()
111 g_pm80x_chip->companion = chip->client; in pm80x_init()
124 if (g_pm80x_chip->companion) in pm80x_deinit()
125 g_pm80x_chip->companion = NULL; in pm80x_deinit()
135 struct i2c_client *client = to_i2c_client(dev); in pm80x_suspend() local
136 struct pm80x_chip *chip = i2c_get_clientdata(client); in pm80x_suspend()
138 if (chip && chip->wu_flag) in pm80x_suspend()
139 if (device_may_wakeup(chip->dev)) in pm80x_suspend()
140 enable_irq_wake(chip->irq); in pm80x_suspend()
147 struct i2c_client *client = to_i2c_client(dev); in pm80x_resume() local
148 struct pm80x_chip *chip = i2c_get_clientdata(client); in pm80x_resume()
150 if (chip && chip->wu_flag) in pm80x_resume()
151 if (device_may_wakeup(chip->dev)) in pm80x_resume()
152 disable_irq_wake(chip->irq); in pm80x_resume()