/kernel/linux/linux-6.6/drivers/mfd/ |
H A D | iqs62x.c | 14 * Link to conversion tool: https://github.com/jlabundy/iqs62x-h2bin.git 27 #include <linux/mfd/iqs62x.h> 108 static int iqs62x_dev_init(struct iqs62x_core *iqs62x) in iqs62x_dev_init() argument 114 list_for_each_entry(fw_blk, &iqs62x->fw_blk_head, list) { in iqs62x_dev_init() 124 ret = regmap_update_bits(iqs62x->regmap, fw_blk->addr, in iqs62x_dev_init() 127 ret = regmap_raw_write(iqs62x->regmap, fw_blk->addr, in iqs62x_dev_init() 133 switch (iqs62x->dev_desc->prod_num) { in iqs62x_dev_init() 136 ret = regmap_read(iqs62x->regmap, in iqs62x_dev_init() 137 iqs62x->dev_desc->prox_settings, &val); in iqs62x_dev_init() 142 iqs62x in iqs62x_dev_init() 220 iqs62x_firmware_parse(struct iqs62x_core *iqs62x, const struct firmware *fw) iqs62x_firmware_parse() argument 456 struct iqs62x_core *iqs62x = context; iqs62x_irq() local 585 struct iqs62x_core *iqs62x = context; iqs62x_firmware_load() local 897 struct iqs62x_core *iqs62x; iqs62x_probe() local 1013 struct iqs62x_core *iqs62x = i2c_get_clientdata(client); iqs62x_remove() local 1020 struct iqs62x_core *iqs62x = dev_get_drvdata(dev); iqs62x_suspend() local 1041 struct iqs62x_core *iqs62x = dev_get_drvdata(dev); iqs62x_resume() local [all...] |
H A D | Makefile | 237 obj-$(CONFIG_MFD_IQS62X) += iqs62x.o
|
/kernel/linux/linux-5.10/drivers/iio/position/ |
H A D | iqs624-pos.c | 12 #include <linux/mfd/iqs62x.h> 25 struct iqs62x_core *iqs62x; member 33 static int iqs624_pos_angle_en(struct iqs62x_core *iqs62x, bool angle_en) in iqs624_pos_angle_en() argument 43 if (iqs62x->dev_desc->prod_num == IQS625_PROD_NUM) in iqs624_pos_angle_en() 46 return regmap_update_bits(iqs62x->regmap, IQS624_HALL_UI, event_mask, in iqs624_pos_angle_en() 55 struct iqs62x_core *iqs62x; in iqs624_pos_notifier() local 66 iqs62x = iqs624_pos->iqs62x; in iqs624_pos_notifier() 67 if (iqs62x->dev_desc->prod_num == IQS625_PROD_NUM) in iqs624_pos_notifier() 73 ret = iqs624_pos_angle_en(iqs62x, iqs624_po in iqs624_pos_notifier() 112 iqs624_pos_angle_get(struct iqs62x_core *iqs62x, unsigned int *val) iqs624_pos_angle_get() argument 136 struct iqs62x_core *iqs62x = iqs624_pos->iqs62x; iqs624_pos_read_raw() local 187 struct iqs62x_core *iqs62x = iqs624_pos->iqs62x; iqs624_pos_write_event_config() local 236 struct iqs62x_core *iqs62x = dev_get_drvdata(pdev->dev.parent); iqs624_pos_probe() local [all...] |
/kernel/linux/linux-6.6/drivers/iio/position/ |
H A D | iqs624-pos.c | 12 #include <linux/mfd/iqs62x.h> 25 struct iqs62x_core *iqs62x; member 33 static int iqs624_pos_angle_en(struct iqs62x_core *iqs62x, bool angle_en) in iqs624_pos_angle_en() argument 43 if (iqs62x->dev_desc->prod_num == IQS625_PROD_NUM) in iqs624_pos_angle_en() 46 return regmap_update_bits(iqs62x->regmap, IQS624_HALL_UI, event_mask, in iqs624_pos_angle_en() 55 struct iqs62x_core *iqs62x; in iqs624_pos_notifier() local 66 iqs62x = iqs624_pos->iqs62x; in iqs624_pos_notifier() 67 if (iqs62x->dev_desc->prod_num == IQS625_PROD_NUM) in iqs624_pos_notifier() 73 ret = iqs624_pos_angle_en(iqs62x, iqs624_po in iqs624_pos_notifier() 112 iqs624_pos_angle_get(struct iqs62x_core *iqs62x, unsigned int *val) iqs624_pos_angle_get() argument 136 struct iqs62x_core *iqs62x = iqs624_pos->iqs62x; iqs624_pos_read_raw() local 187 struct iqs62x_core *iqs62x = iqs624_pos->iqs62x; iqs624_pos_write_event_config() local 236 struct iqs62x_core *iqs62x = dev_get_drvdata(pdev->dev.parent); iqs624_pos_probe() local [all...] |
/kernel/linux/linux-5.10/drivers/mfd/ |
H A D | iqs62x.c | 14 * Link to conversion tool: https://github.com/jlabundy/iqs62x-h2bin.git 27 #include <linux/mfd/iqs62x.h> 110 static int iqs62x_dev_init(struct iqs62x_core *iqs62x) in iqs62x_dev_init() argument 117 list_for_each_entry(fw_blk, &iqs62x->fw_blk_head, list) { in iqs62x_dev_init() 119 ret = regmap_update_bits(iqs62x->regmap, fw_blk->addr, in iqs62x_dev_init() 122 ret = regmap_raw_write(iqs62x->regmap, fw_blk->addr, in iqs62x_dev_init() 128 switch (iqs62x->dev_desc->prod_num) { in iqs62x_dev_init() 131 ret = regmap_read(iqs62x->regmap, in iqs62x_dev_init() 132 iqs62x->dev_desc->prox_settings, &val); in iqs62x_dev_init() 137 iqs62x in iqs62x_dev_init() 212 iqs62x_firmware_parse(struct iqs62x_core *iqs62x, const struct firmware *fw) iqs62x_firmware_parse() argument 443 struct iqs62x_core *iqs62x = context; iqs62x_irq() local 547 struct iqs62x_core *iqs62x = context; iqs62x_firmware_load() local 881 struct iqs62x_core *iqs62x; iqs62x_probe() local 995 struct iqs62x_core *iqs62x = i2c_get_clientdata(client); iqs62x_remove() local 1004 struct iqs62x_core *iqs62x = dev_get_drvdata(dev); iqs62x_suspend() local 1025 struct iqs62x_core *iqs62x = dev_get_drvdata(dev); iqs62x_resume() local [all...] |
H A D | Makefile | 233 obj-$(CONFIG_MFD_IQS62X) += iqs62x.o
|
/kernel/linux/linux-5.10/drivers/iio/light/ |
H A D | iqs621-als.c | 12 #include <linux/mfd/iqs62x.h> 38 struct iqs62x_core *iqs62x; member 55 struct iqs62x_core *iqs62x = iqs621_als->iqs62x; in iqs621_als_init() local 61 ret = regmap_write(iqs62x->regmap, IQS622_IR_THRESH_TOUCH, in iqs621_als_init() 66 ret = regmap_write(iqs62x->regmap, IQS622_IR_THRESH_PROX, in iqs621_als_init() 71 ret = regmap_write(iqs62x->regmap, IQS621_ALS_THRESH_LIGHT, in iqs621_als_init() 76 ret = regmap_write(iqs62x->regmap, IQS621_ALS_THRESH_DARK, in iqs621_als_init() 84 event_mask |= iqs62x->dev_desc->als_mask; in iqs621_als_init() 87 event_mask |= iqs62x in iqs621_als_init() 210 struct iqs62x_core *iqs62x = iqs621_als->iqs62x; iqs621_als_read_raw() local 277 struct iqs62x_core *iqs62x = iqs621_als->iqs62x; iqs621_als_write_event_config() local 375 struct iqs62x_core *iqs62x = iqs621_als->iqs62x; iqs621_als_write_event_value() local 543 struct iqs62x_core *iqs62x = dev_get_drvdata(pdev->dev.parent); iqs621_als_probe() local [all...] |
/kernel/linux/linux-6.6/drivers/iio/light/ |
H A D | iqs621-als.c | 12 #include <linux/mfd/iqs62x.h> 38 struct iqs62x_core *iqs62x; member 55 struct iqs62x_core *iqs62x = iqs621_als->iqs62x; in iqs621_als_init() local 61 ret = regmap_write(iqs62x->regmap, IQS622_IR_THRESH_TOUCH, in iqs621_als_init() 66 ret = regmap_write(iqs62x->regmap, IQS622_IR_THRESH_PROX, in iqs621_als_init() 71 ret = regmap_write(iqs62x->regmap, IQS621_ALS_THRESH_LIGHT, in iqs621_als_init() 76 ret = regmap_write(iqs62x->regmap, IQS621_ALS_THRESH_DARK, in iqs621_als_init() 84 event_mask |= iqs62x->dev_desc->als_mask; in iqs621_als_init() 87 event_mask |= iqs62x in iqs621_als_init() 210 struct iqs62x_core *iqs62x = iqs621_als->iqs62x; iqs621_als_read_raw() local 277 struct iqs62x_core *iqs62x = iqs621_als->iqs62x; iqs621_als_write_event_config() local 375 struct iqs62x_core *iqs62x = iqs621_als->iqs62x; iqs621_als_write_event_value() local 543 struct iqs62x_core *iqs62x = dev_get_drvdata(pdev->dev.parent); iqs621_als_probe() local [all...] |
/kernel/linux/linux-5.10/drivers/pwm/ |
H A D | pwm-iqs620a.c | 19 #include <linux/mfd/iqs62x.h> 36 struct iqs62x_core *iqs62x; member 48 struct iqs62x_core *iqs62x; in iqs620_pwm_apply() local 60 iqs62x = iqs620_pwm->iqs62x; in iqs620_pwm_apply() 80 ret = regmap_update_bits(iqs62x->regmap, IQS620_PWR_SETTINGS, in iqs620_pwm_apply() 89 ret = regmap_write(iqs62x->regmap, IQS620_PWM_DUTY_CYCLE, in iqs620_pwm_apply() 98 ret = regmap_update_bits(iqs62x->regmap, IQS620_PWR_SETTINGS, in iqs620_pwm_apply() 142 struct iqs62x_core *iqs62x; in iqs620_pwm_notifier() local 150 iqs62x in iqs620_pwm_notifier() 200 struct iqs62x_core *iqs62x = dev_get_drvdata(pdev->dev.parent); iqs620_pwm_probe() local [all...] |
/kernel/linux/linux-5.10/drivers/input/keyboard/ |
H A D | iqs62x-keys.c | 11 #include <linux/mfd/iqs62x.h> 36 struct iqs62x_core *iqs62x; member 100 struct iqs62x_core *iqs62x = iqs62x_keys->iqs62x; in iqs62x_keys_init() local 106 switch (iqs62x->dev_desc->prod_num) { in iqs62x_keys_init() 121 event_mask |= iqs62x->dev_desc->prox_mask; in iqs62x_keys_init() 123 event_mask |= (iqs62x->dev_desc->hyst_mask | in iqs62x_keys_init() 124 iqs62x->dev_desc->sar_mask); in iqs62x_keys_init() 127 ret = regmap_read(iqs62x->regmap, iqs62x in iqs62x_keys_init() 249 struct iqs62x_core *iqs62x = dev_get_drvdata(pdev->dev.parent); iqs62x_keys_probe() local [all...] |
/kernel/linux/linux-6.6/drivers/input/keyboard/ |
H A D | iqs62x-keys.c | 11 #include <linux/mfd/iqs62x.h> 36 struct iqs62x_core *iqs62x; member 103 struct iqs62x_core *iqs62x = iqs62x_keys->iqs62x; in iqs62x_keys_init() local 109 switch (iqs62x->dev_desc->prod_num) { in iqs62x_keys_init() 124 event_mask |= iqs62x->dev_desc->prox_mask; in iqs62x_keys_init() 126 event_mask |= (iqs62x->dev_desc->hyst_mask | in iqs62x_keys_init() 127 iqs62x->dev_desc->sar_mask); in iqs62x_keys_init() 130 ret = regmap_read(iqs62x->regmap, iqs62x in iqs62x_keys_init() 252 struct iqs62x_core *iqs62x = dev_get_drvdata(pdev->dev.parent); iqs62x_keys_probe() local [all...] |
/kernel/linux/linux-6.6/drivers/pwm/ |
H A D | pwm-iqs620a.c | 19 #include <linux/mfd/iqs62x.h> 36 struct iqs62x_core *iqs62x; member 46 struct iqs62x_core *iqs62x = iqs620_pwm->iqs62x; in iqs620_pwm_init() local 50 return regmap_clear_bits(iqs62x->regmap, IQS620_PWR_SETTINGS, in iqs620_pwm_init() 53 ret = regmap_write(iqs62x->regmap, IQS620_PWM_DUTY_CYCLE, in iqs620_pwm_init() 58 return regmap_set_bits(iqs62x->regmap, IQS620_PWR_SETTINGS, in iqs620_pwm_init() 177 ret = blocking_notifier_chain_unregister(&iqs620_pwm->iqs62x->nh, in iqs620_pwm_notifier_unregister() 186 struct iqs62x_core *iqs62x = dev_get_drvdata(pdev->dev.parent); in iqs620_pwm_probe() local 195 iqs620_pwm->iqs62x in iqs620_pwm_probe() [all...] |
/kernel/linux/linux-6.6/drivers/iio/temperature/ |
H A D | iqs620at-temp.c | 11 #include <linux/mfd/iqs62x.h> 26 struct iqs62x_core *iqs62x = iio_device_get_drvdata(indio_dev); in iqs620_temp_read_raw() local 32 ret = regmap_raw_read(iqs62x->regmap, IQS620_TEMP_UI_OUT, in iqs620_temp_read_raw() 45 *val = iqs62x->hw_num < IQS620_HW_NUM_V3 ? IQS620_TEMP_OFFSET in iqs620_temp_read_raw() 69 struct iqs62x_core *iqs62x = dev_get_drvdata(pdev->dev.parent); in iqs620_temp_probe() local 76 iio_device_set_drvdata(indio_dev, iqs62x); in iqs620_temp_probe() 81 indio_dev->name = iqs62x->dev_desc->dev_name; in iqs620_temp_probe()
|
/kernel/linux/linux-5.10/drivers/iio/temperature/ |
H A D | iqs620at-temp.c | 11 #include <linux/mfd/iqs62x.h> 25 struct iqs62x_core *iqs62x = iio_device_get_drvdata(indio_dev); in iqs620_temp_read_raw() local 31 ret = regmap_raw_read(iqs62x->regmap, IQS620_TEMP_UI_OUT, in iqs620_temp_read_raw() 67 struct iqs62x_core *iqs62x = dev_get_drvdata(pdev->dev.parent); in iqs620_temp_probe() local 74 iio_device_set_drvdata(indio_dev, iqs62x); in iqs620_temp_probe() 79 indio_dev->name = iqs62x->dev_desc->dev_name; in iqs620_temp_probe()
|