/linux-4.4.14/drivers/mfd/ |
H A D | max77693.c | 2 * max77693.c - mfd core driver for the MAX 77693 35 #include <linux/mfd/max77693.h> 36 #include <linux/mfd/max77693-common.h> 37 #include <linux/mfd/max77693-private.h> 46 { .name = "max77693-pmic", }, 48 .name = "max77693-charger", 49 .of_compatible = "maxim,max77693-charger", 51 { .name = "max77693-muic", }, 53 .name = "max77693-haptic", 54 .of_compatible = "maxim,max77693-haptic", 57 .name = "max77693-led", 58 .of_compatible = "maxim,max77693-led", 77 .name = "max77693-led", 93 .name = "max77693-topsys", 111 .name = "max77693-charger", 148 .name = "max77693-muic", 166 struct max77693_dev *max77693; max77693_i2c_probe() local 170 max77693 = devm_kzalloc(&i2c->dev, max77693_i2c_probe() 172 if (max77693 == NULL) max77693_i2c_probe() 175 i2c_set_clientdata(i2c, max77693); max77693_i2c_probe() 176 max77693->dev = &i2c->dev; max77693_i2c_probe() 177 max77693->i2c = i2c; max77693_i2c_probe() 178 max77693->irq = i2c->irq; max77693_i2c_probe() 179 max77693->type = id->driver_data; max77693_i2c_probe() 181 max77693->regmap = devm_regmap_init_i2c(i2c, &max77693_regmap_config); max77693_i2c_probe() 182 if (IS_ERR(max77693->regmap)) { max77693_i2c_probe() 183 ret = PTR_ERR(max77693->regmap); max77693_i2c_probe() 184 dev_err(max77693->dev, "failed to allocate register map: %d\n", max77693_i2c_probe() 189 ret = regmap_read(max77693->regmap, MAX77693_PMIC_REG_PMIC_ID2, max77693_i2c_probe() 192 dev_err(max77693->dev, "device not found on this channel\n"); max77693_i2c_probe() 195 dev_info(max77693->dev, "device ID: 0x%x\n", reg_data); max77693_i2c_probe() 197 max77693->i2c_muic = i2c_new_dummy(i2c->adapter, I2C_ADDR_MUIC); max77693_i2c_probe() 198 if (!max77693->i2c_muic) { max77693_i2c_probe() 199 dev_err(max77693->dev, "Failed to allocate I2C device for MUIC\n"); max77693_i2c_probe() 202 i2c_set_clientdata(max77693->i2c_muic, max77693); max77693_i2c_probe() 204 max77693->i2c_haptic = i2c_new_dummy(i2c->adapter, I2C_ADDR_HAPTIC); max77693_i2c_probe() 205 if (!max77693->i2c_haptic) { max77693_i2c_probe() 206 dev_err(max77693->dev, "Failed to allocate I2C device for Haptic\n"); max77693_i2c_probe() 210 i2c_set_clientdata(max77693->i2c_haptic, max77693); max77693_i2c_probe() 212 max77693->regmap_haptic = devm_regmap_init_i2c(max77693->i2c_haptic, max77693_i2c_probe() 214 if (IS_ERR(max77693->regmap_haptic)) { max77693_i2c_probe() 215 ret = PTR_ERR(max77693->regmap_haptic); max77693_i2c_probe() 216 dev_err(max77693->dev, max77693_i2c_probe() 223 * instance of MUIC device when irq of max77693 is initialized max77693_i2c_probe() 224 * before call max77693-muic probe() function. max77693_i2c_probe() 226 max77693->regmap_muic = devm_regmap_init_i2c(max77693->i2c_muic, max77693_i2c_probe() 228 if (IS_ERR(max77693->regmap_muic)) { max77693_i2c_probe() 229 ret = PTR_ERR(max77693->regmap_muic); max77693_i2c_probe() 230 dev_err(max77693->dev, max77693_i2c_probe() 235 ret = regmap_add_irq_chip(max77693->regmap, max77693->irq, max77693_i2c_probe() 239 &max77693->irq_data_led); max77693_i2c_probe() 241 dev_err(max77693->dev, "failed to add irq chip: %d\n", ret); max77693_i2c_probe() 245 ret = regmap_add_irq_chip(max77693->regmap, max77693->irq, max77693_i2c_probe() 249 &max77693->irq_data_topsys); max77693_i2c_probe() 251 dev_err(max77693->dev, "failed to add irq chip: %d\n", ret); max77693_i2c_probe() 255 ret = regmap_add_irq_chip(max77693->regmap, max77693->irq, max77693_i2c_probe() 259 &max77693->irq_data_chg); max77693_i2c_probe() 261 dev_err(max77693->dev, "failed to add irq chip: %d\n", ret); max77693_i2c_probe() 265 ret = regmap_add_irq_chip(max77693->regmap_muic, max77693->irq, max77693_i2c_probe() 269 &max77693->irq_data_muic); max77693_i2c_probe() 271 dev_err(max77693->dev, "failed to add irq chip: %d\n", ret); max77693_i2c_probe() 276 ret = regmap_update_bits(max77693->regmap, max77693_i2c_probe() 280 dev_err(max77693->dev, max77693_i2c_probe() 286 pm_runtime_set_active(max77693->dev); max77693_i2c_probe() 288 ret = mfd_add_devices(max77693->dev, -1, max77693_devs, max77693_i2c_probe() 296 mfd_remove_devices(max77693->dev); max77693_i2c_probe() 298 regmap_del_irq_chip(max77693->irq, max77693->irq_data_muic); max77693_i2c_probe() 300 regmap_del_irq_chip(max77693->irq, max77693->irq_data_chg); max77693_i2c_probe() 302 regmap_del_irq_chip(max77693->irq, max77693->irq_data_topsys); max77693_i2c_probe() 304 regmap_del_irq_chip(max77693->irq, max77693->irq_data_led); max77693_i2c_probe() 306 i2c_unregister_device(max77693->i2c_haptic); max77693_i2c_probe() 308 i2c_unregister_device(max77693->i2c_muic); max77693_i2c_probe() 314 struct max77693_dev *max77693 = i2c_get_clientdata(i2c); max77693_i2c_remove() local 316 mfd_remove_devices(max77693->dev); max77693_i2c_remove() 318 regmap_del_irq_chip(max77693->irq, max77693->irq_data_muic); max77693_i2c_remove() 319 regmap_del_irq_chip(max77693->irq, max77693->irq_data_chg); max77693_i2c_remove() 320 regmap_del_irq_chip(max77693->irq, max77693->irq_data_topsys); max77693_i2c_remove() 321 regmap_del_irq_chip(max77693->irq, max77693->irq_data_led); max77693_i2c_remove() 323 i2c_unregister_device(max77693->i2c_muic); max77693_i2c_remove() 324 i2c_unregister_device(max77693->i2c_haptic); max77693_i2c_remove() 330 { "max77693", TYPE_MAX77693 }, 338 struct max77693_dev *max77693 = i2c_get_clientdata(i2c); max77693_suspend() local 341 enable_irq_wake(max77693->irq); max77693_suspend() 342 disable_irq(max77693->irq); max77693_suspend() 351 struct max77693_dev *max77693 = i2c_get_clientdata(i2c); max77693_resume() local 354 disable_irq_wake(max77693->irq); max77693_resume() 355 enable_irq(max77693->irq); max77693_resume() 368 { .compatible = "maxim,max77693" }, 375 .name = "max77693",
|
H A D | max77843.c | 20 #include <linux/mfd/max77693-common.h>
|
H A D | Makefile | 123 obj-$(CONFIG_MFD_MAX77693) += max77693.o
|
/linux-4.4.14/drivers/power/ |
H A D | max77693_charger.c | 22 #include <linux/mfd/max77693.h> 23 #include <linux/mfd/max77693-common.h> 24 #include <linux/mfd/max77693-private.h> 26 #define MAX77693_CHARGER_NAME "max77693-charger" 32 struct max77693_dev *max77693; member in struct:max77693_charger 225 struct regmap *regmap = chg->max77693->regmap; max77693_charger_get_property() 291 ret = regmap_read(chg->max77693->regmap, MAX77693_CHG_REG_CHG_CNFG_01, fast_charge_timer_show() 338 return regmap_update_bits(chg->max77693->regmap, max77693_set_fast_charge_timer() 357 ret = regmap_read(chg->max77693->regmap, MAX77693_CHG_REG_CHG_CNFG_03, top_off_threshold_current_show() 389 return regmap_update_bits(chg->max77693->regmap, max77693_set_top_off_threshold_current() 408 ret = regmap_read(chg->max77693->regmap, MAX77693_CHG_REG_CHG_CNFG_03, top_off_timer_show() 432 return regmap_update_bits(chg->max77693->regmap, max77693_set_top_off_timer() 479 return regmap_update_bits(chg->max77693->regmap, max77693_set_constant_volt() 501 return regmap_update_bits(chg->max77693->regmap, max77693_set_min_system_volt() 528 return regmap_update_bits(chg->max77693->regmap, max77693_set_thermal_regulation_temp() 552 return regmap_update_bits(chg->max77693->regmap, max77693_set_batttery_overcurrent() 580 return regmap_update_bits(chg->max77693->regmap, max77693_set_charge_input_threshold_volt() 595 ret = regmap_update_bits(chg->max77693->regmap, max77693_reg_init() 681 struct max77693_dev *max77693 = dev_get_drvdata(pdev->dev.parent); max77693_charger_probe() local 690 chg->max77693 = max77693; max77693_charger_probe() 754 { "max77693-charger", 0, }, 761 .name = "max77693-charger",
|
/linux-4.4.14/drivers/regulator/ |
H A D | max77693.c | 2 * max77693.c - Regulator driver for the Maxim 77693 and 77843 32 #include <linux/mfd/max77693.h> 33 #include <linux/mfd/max77693-common.h> 34 #include <linux/mfd/max77693-private.h> 119 struct max77693_dev *max77693, max77693_get_regmap() 123 return max77693->regmap; max77693_get_regmap() 129 return max77693->regmap; max77693_get_regmap() 131 return max77693->regmap_chg; max77693_get_regmap() 133 return max77693->regmap; max77693_get_regmap() 288 { "max77693-pmic", TYPE_MAX77693 }, 297 .name = "max77693-pmic", 118 max77693_get_regmap(enum max77693_types type, struct max77693_dev *max77693, int reg_id) max77693_get_regmap() argument
|
/linux-4.4.14/drivers/input/misc/ |
H A D | max77693-haptic.c | 27 #include <linux/mfd/max77693.h> 28 #include <linux/mfd/max77693-common.h> 29 #include <linux/mfd/max77693-private.h> 294 struct max77693_dev *max77693 = dev_get_drvdata(pdev->dev.parent); max77693_haptic_probe() local 302 haptic->regmap_pmic = max77693->regmap; max77693_haptic_probe() 312 haptic->regmap_haptic = max77693->regmap_haptic; max77693_haptic_probe() 315 haptic->regmap_haptic = max77693->regmap; max77693_haptic_probe() 345 haptic->input_dev->name = "max77693-haptic"; max77693_haptic_probe() 401 { "max77693-haptic", TYPE_MAX77693 }, 409 .name = "max77693-haptic", 420 MODULE_ALIAS("platform:max77693-haptic");
|
/linux-4.4.14/drivers/extcon/ |
H A D | extcon-max77693.c | 2 * extcon-max77693.c - MAX77693 extcon driver to support MAX77693 MUIC 26 #include <linux/mfd/max77693.h> 27 #include <linux/mfd/max77693-common.h> 28 #include <linux/mfd/max77693-private.h> 33 #define DEV_NAME "max77693-muic" 39 * extcon-max77693 driver use 'default_init_data' to bring up base operation 77 struct max77693_dev *max77693; member in struct:max77693_muic_info 219 * @info: the instance including private data of max77693 MUIC 237 ret = regmap_write(info->max77693->regmap_muic, max77693_muic_set_debounce_time() 255 * @info: the instance including private data of max77693 MUIC 259 * The max77693 MUIC device share outside H/W line among a varity of cables 274 ret = regmap_update_bits(info->max77693->regmap_muic, max77693_muic_set_path() 286 ret = regmap_update_bits(info->max77693->regmap_muic, max77693_muic_set_path() 304 * @info: the instance including private data of max77693 MUIC 950 ret = regmap_bulk_read(info->max77693->regmap_muic, max77693_muic_irq_work() 1021 ret = regmap_bulk_read(info->max77693->regmap_muic, max77693_muic_detect_accessory() 1066 struct max77693_dev *max77693 = dev_get_drvdata(pdev->dev.parent); max77693_muic_probe() local 1067 struct max77693_platform_data *pdata = dev_get_platdata(max77693->dev); max77693_muic_probe() 1082 info->max77693 = max77693; max77693_muic_probe() 1083 if (info->max77693->regmap_muic) { max77693_muic_probe() 1086 info->max77693->regmap_muic = devm_regmap_init_i2c( max77693_muic_probe() 1087 info->max77693->i2c_muic, max77693_muic_probe() 1089 if (IS_ERR(info->max77693->regmap_muic)) { max77693_muic_probe() 1090 ret = PTR_ERR(info->max77693->regmap_muic); max77693_muic_probe() 1091 dev_err(max77693->dev, max77693_muic_probe() 1103 info->dock->name = "max77693-muic/dock"; max77693_muic_probe() 1104 info->dock->phys = "max77693-muic/extcon"; max77693_muic_probe() 1132 virq = regmap_irq_get_virq(max77693->irq_data_muic, max77693_muic_probe() 1174 regmap_write(info->max77693->regmap_muic, max77693_muic_probe() 1216 ret = regmap_read(info->max77693->regmap_muic, max77693_muic_probe() 1265 MODULE_ALIAS("platform:extcon-max77693");
|
H A D | extcon-max77843.c | 18 #include <linux/mfd/max77693-common.h>
|
/linux-4.4.14/include/linux/mfd/ |
H A D | max77693.h | 2 * max77693.h - Driver for the Maxim 77693
|
H A D | max77693-private.h | 2 * max77693-private.h - Voltage regulator driver for the Maxim 77693 421 /* max77693-pmic LSCNFG configuraton register */ 425 /* max77693-haptic configuration register */
|
/linux-4.4.14/drivers/leds/ |
H A D | leds-max77693.c | 2 * LED Flash class driver for the flash cell of max77693 mfd. 15 #include <linux/mfd/max77693.h> 16 #include <linux/mfd/max77693-common.h> 17 #include <linux/mfd/max77693-private.h> 1080 { .compatible = "maxim,max77693-led" }, 1089 .name = "max77693-led",
|