sec_pmic 252 drivers/mfd/sec-core.c static void sec_pmic_dump_rev(struct sec_pmic_dev *sec_pmic) sec_pmic 257 drivers/mfd/sec-core.c if (!regmap_read(sec_pmic->regmap_pmic, S2MPS11_REG_ID, &val)) sec_pmic 258 drivers/mfd/sec-core.c dev_dbg(sec_pmic->dev, "Revision: 0x%x\n", val); sec_pmic 261 drivers/mfd/sec-core.c static void sec_pmic_configure(struct sec_pmic_dev *sec_pmic) sec_pmic 265 drivers/mfd/sec-core.c if (sec_pmic->device_type != S2MPS13X) sec_pmic 268 drivers/mfd/sec-core.c if (sec_pmic->pdata->disable_wrstbi) { sec_pmic 274 drivers/mfd/sec-core.c err = regmap_update_bits(sec_pmic->regmap_pmic, sec_pmic 278 drivers/mfd/sec-core.c dev_warn(sec_pmic->dev, sec_pmic 343 drivers/mfd/sec-core.c struct sec_pmic_dev *sec_pmic; sec_pmic 347 drivers/mfd/sec-core.c sec_pmic = devm_kzalloc(&i2c->dev, sizeof(struct sec_pmic_dev), sec_pmic 349 drivers/mfd/sec-core.c if (sec_pmic == NULL) sec_pmic 352 drivers/mfd/sec-core.c i2c_set_clientdata(i2c, sec_pmic); sec_pmic 353 drivers/mfd/sec-core.c sec_pmic->dev = &i2c->dev; sec_pmic 354 drivers/mfd/sec-core.c sec_pmic->i2c = i2c; sec_pmic 355 drivers/mfd/sec-core.c sec_pmic->irq = i2c->irq; sec_pmic 358 drivers/mfd/sec-core.c if (sec_pmic->dev->of_node) { sec_pmic 359 drivers/mfd/sec-core.c pdata = sec_pmic_i2c_parse_dt_pdata(sec_pmic->dev); sec_pmic 367 drivers/mfd/sec-core.c sec_pmic->device_type = pdata->device_type; sec_pmic 368 drivers/mfd/sec-core.c sec_pmic->irq_base = pdata->irq_base; sec_pmic 369 drivers/mfd/sec-core.c sec_pmic->wakeup = pdata->wakeup; sec_pmic 370 drivers/mfd/sec-core.c sec_pmic->pdata = pdata; sec_pmic 373 drivers/mfd/sec-core.c switch (sec_pmic->device_type) { sec_pmic 403 drivers/mfd/sec-core.c sec_pmic->regmap_pmic = devm_regmap_init_i2c(i2c, regmap); sec_pmic 404 drivers/mfd/sec-core.c if (IS_ERR(sec_pmic->regmap_pmic)) { sec_pmic 405 drivers/mfd/sec-core.c ret = PTR_ERR(sec_pmic->regmap_pmic); sec_pmic 414 drivers/mfd/sec-core.c sec_irq_init(sec_pmic); sec_pmic 416 drivers/mfd/sec-core.c pm_runtime_set_active(sec_pmic->dev); sec_pmic 418 drivers/mfd/sec-core.c switch (sec_pmic->device_type) { sec_pmic 457 drivers/mfd/sec-core.c sec_pmic->device_type); sec_pmic 460 drivers/mfd/sec-core.c ret = devm_mfd_add_devices(sec_pmic->dev, -1, sec_devs, num_sec_devs, sec_pmic 465 drivers/mfd/sec-core.c device_init_wakeup(sec_pmic->dev, sec_pmic->wakeup); sec_pmic 466 drivers/mfd/sec-core.c sec_pmic_configure(sec_pmic); sec_pmic 467 drivers/mfd/sec-core.c sec_pmic_dump_rev(sec_pmic); sec_pmic 474 drivers/mfd/sec-core.c struct sec_pmic_dev *sec_pmic = i2c_get_clientdata(i2c); sec_pmic 477 drivers/mfd/sec-core.c if (!sec_pmic->pdata->manual_poweroff) sec_pmic 480 drivers/mfd/sec-core.c switch (sec_pmic->device_type) { sec_pmic 490 drivers/mfd/sec-core.c dev_warn(sec_pmic->dev, sec_pmic 492 drivers/mfd/sec-core.c sec_pmic->device_type); sec_pmic 496 drivers/mfd/sec-core.c regmap_update_bits(sec_pmic->regmap_pmic, reg, mask, 0); sec_pmic 503 drivers/mfd/sec-core.c struct sec_pmic_dev *sec_pmic = i2c_get_clientdata(i2c); sec_pmic 506 drivers/mfd/sec-core.c enable_irq_wake(sec_pmic->irq); sec_pmic 516 drivers/mfd/sec-core.c disable_irq(sec_pmic->irq); sec_pmic 524 drivers/mfd/sec-core.c struct sec_pmic_dev *sec_pmic = i2c_get_clientdata(i2c); sec_pmic 527 drivers/mfd/sec-core.c disable_irq_wake(sec_pmic->irq); sec_pmic 528 drivers/mfd/sec-core.c enable_irq(sec_pmic->irq); sec_pmic 438 drivers/mfd/sec-irq.c int sec_irq_init(struct sec_pmic_dev *sec_pmic) sec_pmic 441 drivers/mfd/sec-irq.c int type = sec_pmic->device_type; sec_pmic 444 drivers/mfd/sec-irq.c if (!sec_pmic->irq) { sec_pmic 445 drivers/mfd/sec-irq.c dev_warn(sec_pmic->dev, sec_pmic 447 drivers/mfd/sec-irq.c sec_pmic->irq_base = 0; sec_pmic 477 drivers/mfd/sec-irq.c dev_err(sec_pmic->dev, "Unknown device type %lu\n", sec_pmic 478 drivers/mfd/sec-irq.c sec_pmic->device_type); sec_pmic 482 drivers/mfd/sec-irq.c ret = devm_regmap_add_irq_chip(sec_pmic->dev, sec_pmic->regmap_pmic, sec_pmic 483 drivers/mfd/sec-irq.c sec_pmic->irq, sec_pmic 485 drivers/mfd/sec-irq.c sec_pmic->irq_base, sec_irq_chip, sec_pmic 486 drivers/mfd/sec-irq.c &sec_pmic->irq_data); sec_pmic 488 drivers/mfd/sec-irq.c dev_err(sec_pmic->dev, "Failed to register IRQ chip: %d\n", ret); sec_pmic 77 include/linux/mfd/samsung/core.h int sec_irq_init(struct sec_pmic_dev *sec_pmic); sec_pmic 78 include/linux/mfd/samsung/core.h void sec_irq_exit(struct sec_pmic_dev *sec_pmic); sec_pmic 79 include/linux/mfd/samsung/core.h int sec_irq_resume(struct sec_pmic_dev *sec_pmic);