Loading drivers/mfd/88pm860x-core.c +1 −2 Original line number Diff line number Diff line Loading @@ -1155,7 +1155,7 @@ static int pm860x_probe(struct i2c_client *client, return -ENOMEM; chip->id = verify_addr(client); chip->regmap = regmap_init_i2c(client, &pm860x_regmap_config); chip->regmap = devm_regmap_init_i2c(client, &pm860x_regmap_config); if (IS_ERR(chip->regmap)) { ret = PTR_ERR(chip->regmap); dev_err(&client->dev, "Failed to allocate register map: %d\n", Loading Loading @@ -1203,7 +1203,6 @@ static int pm860x_remove(struct i2c_client *client) regmap_exit(chip->regmap_companion); i2c_unregister_device(chip->companion); } regmap_exit(chip->regmap); kfree(chip); return 0; } Loading drivers/mfd/aat2870-core.c +3 −2 Original line number Diff line number Diff line Loading @@ -312,8 +312,9 @@ static ssize_t aat2870_reg_write_file(struct file *file, while (*start == ' ') start++; if (strict_strtoul(start, 16, &val)) return -EINVAL; ret = kstrtoul(start, 16, &val); if (ret) return ret; ret = aat2870->write(aat2870, (u8)addr, (u8)val); if (ret) Loading drivers/mfd/ab3100-core.c +10 −18 Original line number Diff line number Diff line Loading @@ -491,7 +491,7 @@ static ssize_t ab3100_get_set_reg(struct file *file, char buf[32]; ssize_t buf_size; int regp; unsigned long user_reg; u8 user_reg; int err; int i = 0; Loading @@ -514,34 +514,29 @@ static ssize_t ab3100_get_set_reg(struct file *file, /* * Advance pointer to end of string then terminate * the register string. This is needed to satisfy * the strict_strtoul() function. * the kstrtou8() function. */ while ((i < buf_size) && (buf[i] != ' ')) i++; buf[i] = '\0'; err = strict_strtoul(&buf[regp], 16, &user_reg); err = kstrtou8(&buf[regp], 16, &user_reg); if (err) return err; if (user_reg > 0xff) return -EINVAL; /* Either we read or we write a register here */ if (!priv->mode) { /* Reading */ u8 reg = (u8) user_reg; u8 regvalue; ab3100_get_register_interruptible(ab3100, reg, ®value); ab3100_get_register_interruptible(ab3100, user_reg, ®value); dev_info(ab3100->dev, "debug read AB3100 reg[0x%02x]: 0x%02x\n", reg, regvalue); user_reg, regvalue); } else { int valp; unsigned long user_value; u8 reg = (u8) user_reg; u8 value; u8 user_value; u8 regvalue; /* Loading @@ -557,20 +552,17 @@ static ssize_t ab3100_get_set_reg(struct file *file, i++; buf[i] = '\0'; err = strict_strtoul(&buf[valp], 16, &user_value); err = kstrtou8(&buf[valp], 16, &user_value); if (err) return err; if (user_reg > 0xff) return -EINVAL; value = (u8) user_value; ab3100_set_register_interruptible(ab3100, reg, value); ab3100_get_register_interruptible(ab3100, reg, ®value); ab3100_set_register_interruptible(ab3100, user_reg, user_value); ab3100_get_register_interruptible(ab3100, user_reg, ®value); dev_info(ab3100->dev, "debug write reg[0x%02x] with 0x%02x, " "after readback: 0x%02x\n", reg, value, regvalue); user_reg, user_value, regvalue); } return buf_size; } Loading drivers/mfd/ab8500-core.c +58 −21 Original line number Diff line number Diff line Loading @@ -650,6 +650,21 @@ static struct resource ab8500_rtc_resources[] = { }, }; static struct resource ab8540_rtc_resources[] = { { .name = "1S", .start = AB8540_INT_RTC_1S, .end = AB8540_INT_RTC_1S, .flags = IORESOURCE_IRQ, }, { .name = "ALARM", .start = AB8500_INT_RTC_ALARM, .end = AB8500_INT_RTC_ALARM, .flags = IORESOURCE_IRQ, }, }; static struct resource ab8500_poweronkey_db_resources[] = { { .name = "ONKEY_DBF", Loading Loading @@ -1050,6 +1065,10 @@ static struct mfd_cell ab8500_devs[] = { .name = "ab8500-sysctrl", .of_compatible = "stericsson,ab8500-sysctrl", }, { .name = "ab8500-ext-regulator", .of_compatible = "stericsson,ab8500-ext-regulator", }, { .name = "ab8500-regulator", .of_compatible = "stericsson,ab8500-regulator", Loading Loading @@ -1098,10 +1117,6 @@ static struct mfd_cell ab8500_devs[] = { .of_compatible = "stericsson,ab8500-pwm", .id = 3, }, { .name = "ab8500-leds", .of_compatible = "stericsson,ab8500-leds", }, { .name = "ab8500-denc", .of_compatible = "stericsson,ab8500-denc", Loading @@ -1124,6 +1139,7 @@ static struct mfd_cell ab8500_devs[] = { }, { .name = "ab8500-codec", .of_compatible = "stericsson,ab8500-codec", }, }; Loading @@ -1138,6 +1154,9 @@ static struct mfd_cell ab9540_devs[] = { { .name = "ab8500-sysctrl", }, { .name = "ab8500-ext-regulator", }, { .name = "ab8500-regulator", }, Loading Loading @@ -1170,9 +1189,6 @@ static struct mfd_cell ab9540_devs[] = { .name = "ab8500-pwm", .id = 1, }, { .name = "ab8500-leds", }, { .name = "abx500-temp", .num_resources = ARRAY_SIZE(ab8500_temp_resources), Loading Loading @@ -1241,9 +1257,6 @@ static struct mfd_cell ab8505_devs[] = { .name = "ab8500-pwm", .id = 1, }, { .name = "ab8500-leds", }, { .name = "pinctrl-ab8505", }, Loading Loading @@ -1273,6 +1286,9 @@ static struct mfd_cell ab8540_devs[] = { { .name = "ab8500-sysctrl", }, { .name = "ab8500-ext-regulator", }, { .name = "ab8500-regulator", }, Loading @@ -1286,11 +1302,6 @@ static struct mfd_cell ab8540_devs[] = { .num_resources = ARRAY_SIZE(ab8505_gpadc_resources), .resources = ab8505_gpadc_resources, }, { .name = "ab8500-rtc", .num_resources = ARRAY_SIZE(ab8500_rtc_resources), .resources = ab8500_rtc_resources, }, { .name = "ab8500-acc-det", .num_resources = ARRAY_SIZE(ab8500_av_acc_detect_resources), Loading @@ -1305,9 +1316,6 @@ static struct mfd_cell ab8540_devs[] = { .name = "ab8500-pwm", .id = 1, }, { .name = "ab8500-leds", }, { .name = "abx500-temp", .num_resources = ARRAY_SIZE(ab8500_temp_resources), Loading @@ -1331,6 +1339,24 @@ static struct mfd_cell ab8540_devs[] = { }, }; static struct mfd_cell ab8540_cut1_devs[] = { { .name = "ab8500-rtc", .of_compatible = "stericsson,ab8500-rtc", .num_resources = ARRAY_SIZE(ab8500_rtc_resources), .resources = ab8500_rtc_resources, }, }; static struct mfd_cell ab8540_cut2_devs[] = { { .name = "ab8540-rtc", .of_compatible = "stericsson,ab8540-rtc", .num_resources = ARRAY_SIZE(ab8540_rtc_resources), .resources = ab8540_rtc_resources, }, }; static ssize_t show_chip_id(struct device *dev, struct device_attribute *attr, char *buf) { Loading Loading @@ -1734,11 +1760,22 @@ static int ab8500_probe(struct platform_device *pdev) ret = mfd_add_devices(ab8500->dev, 0, ab9540_devs, ARRAY_SIZE(ab9540_devs), NULL, ab8500->irq_base, ab8500->domain); else if (is_ab8540(ab8500)) else if (is_ab8540(ab8500)) { ret = mfd_add_devices(ab8500->dev, 0, ab8540_devs, ARRAY_SIZE(ab8540_devs), NULL, ab8500->irq_base, ab8500->domain); else if (is_ab8505(ab8500)) ab8500->irq_base, NULL); if (ret) return ret; if (is_ab8540_1p2_or_earlier(ab8500)) ret = mfd_add_devices(ab8500->dev, 0, ab8540_cut1_devs, ARRAY_SIZE(ab8540_cut1_devs), NULL, ab8500->irq_base, NULL); else /* ab8540 >= cut2 */ ret = mfd_add_devices(ab8500->dev, 0, ab8540_cut2_devs, ARRAY_SIZE(ab8540_cut2_devs), NULL, ab8500->irq_base, NULL); } else if (is_ab8505(ab8500)) ret = mfd_add_devices(ab8500->dev, 0, ab8505_devs, ARRAY_SIZE(ab8505_devs), NULL, ab8500->irq_base, ab8500->domain); Loading drivers/mfd/ab8500-debugfs.c +1 −1 Original line number Diff line number Diff line Loading @@ -2757,7 +2757,7 @@ static ssize_t show_irq(struct device *dev, unsigned int irq_index; int err; err = strict_strtoul(attr->attr.name, 0, &name); err = kstrtoul(attr->attr.name, 0, &name); if (err) return err; Loading Loading
drivers/mfd/88pm860x-core.c +1 −2 Original line number Diff line number Diff line Loading @@ -1155,7 +1155,7 @@ static int pm860x_probe(struct i2c_client *client, return -ENOMEM; chip->id = verify_addr(client); chip->regmap = regmap_init_i2c(client, &pm860x_regmap_config); chip->regmap = devm_regmap_init_i2c(client, &pm860x_regmap_config); if (IS_ERR(chip->regmap)) { ret = PTR_ERR(chip->regmap); dev_err(&client->dev, "Failed to allocate register map: %d\n", Loading Loading @@ -1203,7 +1203,6 @@ static int pm860x_remove(struct i2c_client *client) regmap_exit(chip->regmap_companion); i2c_unregister_device(chip->companion); } regmap_exit(chip->regmap); kfree(chip); return 0; } Loading
drivers/mfd/aat2870-core.c +3 −2 Original line number Diff line number Diff line Loading @@ -312,8 +312,9 @@ static ssize_t aat2870_reg_write_file(struct file *file, while (*start == ' ') start++; if (strict_strtoul(start, 16, &val)) return -EINVAL; ret = kstrtoul(start, 16, &val); if (ret) return ret; ret = aat2870->write(aat2870, (u8)addr, (u8)val); if (ret) Loading
drivers/mfd/ab3100-core.c +10 −18 Original line number Diff line number Diff line Loading @@ -491,7 +491,7 @@ static ssize_t ab3100_get_set_reg(struct file *file, char buf[32]; ssize_t buf_size; int regp; unsigned long user_reg; u8 user_reg; int err; int i = 0; Loading @@ -514,34 +514,29 @@ static ssize_t ab3100_get_set_reg(struct file *file, /* * Advance pointer to end of string then terminate * the register string. This is needed to satisfy * the strict_strtoul() function. * the kstrtou8() function. */ while ((i < buf_size) && (buf[i] != ' ')) i++; buf[i] = '\0'; err = strict_strtoul(&buf[regp], 16, &user_reg); err = kstrtou8(&buf[regp], 16, &user_reg); if (err) return err; if (user_reg > 0xff) return -EINVAL; /* Either we read or we write a register here */ if (!priv->mode) { /* Reading */ u8 reg = (u8) user_reg; u8 regvalue; ab3100_get_register_interruptible(ab3100, reg, ®value); ab3100_get_register_interruptible(ab3100, user_reg, ®value); dev_info(ab3100->dev, "debug read AB3100 reg[0x%02x]: 0x%02x\n", reg, regvalue); user_reg, regvalue); } else { int valp; unsigned long user_value; u8 reg = (u8) user_reg; u8 value; u8 user_value; u8 regvalue; /* Loading @@ -557,20 +552,17 @@ static ssize_t ab3100_get_set_reg(struct file *file, i++; buf[i] = '\0'; err = strict_strtoul(&buf[valp], 16, &user_value); err = kstrtou8(&buf[valp], 16, &user_value); if (err) return err; if (user_reg > 0xff) return -EINVAL; value = (u8) user_value; ab3100_set_register_interruptible(ab3100, reg, value); ab3100_get_register_interruptible(ab3100, reg, ®value); ab3100_set_register_interruptible(ab3100, user_reg, user_value); ab3100_get_register_interruptible(ab3100, user_reg, ®value); dev_info(ab3100->dev, "debug write reg[0x%02x] with 0x%02x, " "after readback: 0x%02x\n", reg, value, regvalue); user_reg, user_value, regvalue); } return buf_size; } Loading
drivers/mfd/ab8500-core.c +58 −21 Original line number Diff line number Diff line Loading @@ -650,6 +650,21 @@ static struct resource ab8500_rtc_resources[] = { }, }; static struct resource ab8540_rtc_resources[] = { { .name = "1S", .start = AB8540_INT_RTC_1S, .end = AB8540_INT_RTC_1S, .flags = IORESOURCE_IRQ, }, { .name = "ALARM", .start = AB8500_INT_RTC_ALARM, .end = AB8500_INT_RTC_ALARM, .flags = IORESOURCE_IRQ, }, }; static struct resource ab8500_poweronkey_db_resources[] = { { .name = "ONKEY_DBF", Loading Loading @@ -1050,6 +1065,10 @@ static struct mfd_cell ab8500_devs[] = { .name = "ab8500-sysctrl", .of_compatible = "stericsson,ab8500-sysctrl", }, { .name = "ab8500-ext-regulator", .of_compatible = "stericsson,ab8500-ext-regulator", }, { .name = "ab8500-regulator", .of_compatible = "stericsson,ab8500-regulator", Loading Loading @@ -1098,10 +1117,6 @@ static struct mfd_cell ab8500_devs[] = { .of_compatible = "stericsson,ab8500-pwm", .id = 3, }, { .name = "ab8500-leds", .of_compatible = "stericsson,ab8500-leds", }, { .name = "ab8500-denc", .of_compatible = "stericsson,ab8500-denc", Loading @@ -1124,6 +1139,7 @@ static struct mfd_cell ab8500_devs[] = { }, { .name = "ab8500-codec", .of_compatible = "stericsson,ab8500-codec", }, }; Loading @@ -1138,6 +1154,9 @@ static struct mfd_cell ab9540_devs[] = { { .name = "ab8500-sysctrl", }, { .name = "ab8500-ext-regulator", }, { .name = "ab8500-regulator", }, Loading Loading @@ -1170,9 +1189,6 @@ static struct mfd_cell ab9540_devs[] = { .name = "ab8500-pwm", .id = 1, }, { .name = "ab8500-leds", }, { .name = "abx500-temp", .num_resources = ARRAY_SIZE(ab8500_temp_resources), Loading Loading @@ -1241,9 +1257,6 @@ static struct mfd_cell ab8505_devs[] = { .name = "ab8500-pwm", .id = 1, }, { .name = "ab8500-leds", }, { .name = "pinctrl-ab8505", }, Loading Loading @@ -1273,6 +1286,9 @@ static struct mfd_cell ab8540_devs[] = { { .name = "ab8500-sysctrl", }, { .name = "ab8500-ext-regulator", }, { .name = "ab8500-regulator", }, Loading @@ -1286,11 +1302,6 @@ static struct mfd_cell ab8540_devs[] = { .num_resources = ARRAY_SIZE(ab8505_gpadc_resources), .resources = ab8505_gpadc_resources, }, { .name = "ab8500-rtc", .num_resources = ARRAY_SIZE(ab8500_rtc_resources), .resources = ab8500_rtc_resources, }, { .name = "ab8500-acc-det", .num_resources = ARRAY_SIZE(ab8500_av_acc_detect_resources), Loading @@ -1305,9 +1316,6 @@ static struct mfd_cell ab8540_devs[] = { .name = "ab8500-pwm", .id = 1, }, { .name = "ab8500-leds", }, { .name = "abx500-temp", .num_resources = ARRAY_SIZE(ab8500_temp_resources), Loading @@ -1331,6 +1339,24 @@ static struct mfd_cell ab8540_devs[] = { }, }; static struct mfd_cell ab8540_cut1_devs[] = { { .name = "ab8500-rtc", .of_compatible = "stericsson,ab8500-rtc", .num_resources = ARRAY_SIZE(ab8500_rtc_resources), .resources = ab8500_rtc_resources, }, }; static struct mfd_cell ab8540_cut2_devs[] = { { .name = "ab8540-rtc", .of_compatible = "stericsson,ab8540-rtc", .num_resources = ARRAY_SIZE(ab8540_rtc_resources), .resources = ab8540_rtc_resources, }, }; static ssize_t show_chip_id(struct device *dev, struct device_attribute *attr, char *buf) { Loading Loading @@ -1734,11 +1760,22 @@ static int ab8500_probe(struct platform_device *pdev) ret = mfd_add_devices(ab8500->dev, 0, ab9540_devs, ARRAY_SIZE(ab9540_devs), NULL, ab8500->irq_base, ab8500->domain); else if (is_ab8540(ab8500)) else if (is_ab8540(ab8500)) { ret = mfd_add_devices(ab8500->dev, 0, ab8540_devs, ARRAY_SIZE(ab8540_devs), NULL, ab8500->irq_base, ab8500->domain); else if (is_ab8505(ab8500)) ab8500->irq_base, NULL); if (ret) return ret; if (is_ab8540_1p2_or_earlier(ab8500)) ret = mfd_add_devices(ab8500->dev, 0, ab8540_cut1_devs, ARRAY_SIZE(ab8540_cut1_devs), NULL, ab8500->irq_base, NULL); else /* ab8540 >= cut2 */ ret = mfd_add_devices(ab8500->dev, 0, ab8540_cut2_devs, ARRAY_SIZE(ab8540_cut2_devs), NULL, ab8500->irq_base, NULL); } else if (is_ab8505(ab8500)) ret = mfd_add_devices(ab8500->dev, 0, ab8505_devs, ARRAY_SIZE(ab8505_devs), NULL, ab8500->irq_base, ab8500->domain); Loading
drivers/mfd/ab8500-debugfs.c +1 −1 Original line number Diff line number Diff line Loading @@ -2757,7 +2757,7 @@ static ssize_t show_irq(struct device *dev, unsigned int irq_index; int err; err = strict_strtoul(attr->attr.name, 0, &name); err = kstrtoul(attr->attr.name, 0, &name); if (err) return err; Loading