Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

power: supply: ltc3651-charger: Fix device name

There never was a device called LTC3651, it always was just LT3651.
This circumstance makes it pretty difficult to identify what this
driver is meant to control.channges since

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>

authored by

Michael Hennerich and committed by
Sebastian Reichel
2e220e6e 252fbeb8

+71 -72
+6 -4
Documentation/devicetree/bindings/power/supply/ltc3651-charger.txt
··· 1 - ltc3651-charger 1 + Analog Devices LT3651 Charger Power Supply bindings: lt3651-charger 2 2 3 3 Required properties: 4 - - compatible: "lltc,ltc3651-charger" 4 + - compatible: Should contain one of the following: 5 + * "lltc,ltc3651-charger", (DEPRECATED: Use "lltc,lt3651-charger") 6 + * "lltc,lt3651-charger" 5 7 - lltc,acpr-gpios: Connect to ACPR output. See remark below. 6 8 7 9 Optional properties: 8 10 - lltc,fault-gpios: Connect to FAULT output. See remark below. 9 11 - lltc,chrg-gpios: Connect to CHRG output. See remark below. 10 12 11 - The ltc3651 outputs are open-drain type and active low. The driver assumes the 13 + The lt3651 outputs are open-drain type and active low. The driver assumes the 12 14 GPIO reports "active" when the output is asserted, so if the pins have been 13 15 connected directly, the GPIO flags should be set to active low also. 14 16 ··· 22 20 Example: 23 21 24 22 charger: battery-charger { 25 - compatible = "lltc,ltc3651-charger"; 23 + compatible = "lltc,lt3651-charger"; 26 24 lltc,acpr-gpios = <&gpio0 68 GPIO_ACTIVE_LOW>; 27 25 lltc,fault-gpios = <&gpio0 64 GPIO_ACTIVE_LOW>; 28 26 lltc,chrg-gpios = <&gpio0 63 GPIO_ACTIVE_LOW>;
+4 -4
drivers/power/supply/Kconfig
··· 475 475 runtime and in suspend-to-RAM by waking up the system periodically 476 476 with help of suspend_again support. 477 477 478 - config CHARGER_LTC3651 479 - tristate "LTC3651 charger" 478 + config CHARGER_LT3651 479 + tristate "Analog Devices LT3651 charger" 480 480 depends on GPIOLIB 481 481 help 482 - Say Y to include support for the LTC3651 battery charger which reports 483 - its status via GPIO lines. 482 + Say Y to include support for the Analog Devices (Linear Technology) 483 + LT3651 battery charger which reports its status via GPIO lines. 484 484 485 485 config CHARGER_MAX14577 486 486 tristate "Maxim MAX14577/77836 battery charger driver"
+1 -1
drivers/power/supply/Makefile
··· 67 67 obj-$(CONFIG_CHARGER_LP8788) += lp8788-charger.o 68 68 obj-$(CONFIG_CHARGER_GPIO) += gpio-charger.o 69 69 obj-$(CONFIG_CHARGER_MANAGER) += charger-manager.o 70 - obj-$(CONFIG_CHARGER_LTC3651) += ltc3651-charger.o 70 + obj-$(CONFIG_CHARGER_LT3651) += ltc3651-charger.o 71 71 obj-$(CONFIG_CHARGER_MAX14577) += max14577_charger.o 72 72 obj-$(CONFIG_CHARGER_DETECTOR_MAX14656) += max14656_charger_detector.o 73 73 obj-$(CONFIG_CHARGER_MAX77693) += max77693_charger.o
+60 -63
drivers/power/supply/ltc3651-charger.c
··· 1 + // SPDX-License-Identifier: GPL-2.0+ 1 2 /* 3 + * Driver for Analog Devices (Linear Technology) LT3651 charger IC. 2 4 * Copyright (C) 2017, Topic Embedded Products 3 - * Driver for LTC3651 charger IC. 4 - * 5 - * This program is free software; you can redistribute it and/or modify it 6 - * under the terms of the GNU General Public License as published by the 7 - * Free Software Foundation; either version 2 of the License, or (at your 8 - * option) any later version. 9 5 */ 10 6 11 7 #include <linux/device.h> ··· 15 19 #include <linux/slab.h> 16 20 #include <linux/of.h> 17 21 18 - struct ltc3651_charger { 22 + struct lt3651_charger { 19 23 struct power_supply *charger; 20 24 struct power_supply_desc charger_desc; 21 25 struct gpio_desc *acpr_gpio; ··· 23 27 struct gpio_desc *chrg_gpio; 24 28 }; 25 29 26 - static irqreturn_t ltc3651_charger_irq(int irq, void *devid) 30 + static irqreturn_t lt3651_charger_irq(int irq, void *devid) 27 31 { 28 32 struct power_supply *charger = devid; 29 33 ··· 32 36 return IRQ_HANDLED; 33 37 } 34 38 35 - static inline struct ltc3651_charger *psy_to_ltc3651_charger( 39 + static inline struct lt3651_charger *psy_to_lt3651_charger( 36 40 struct power_supply *psy) 37 41 { 38 42 return power_supply_get_drvdata(psy); 39 43 } 40 44 41 - static int ltc3651_charger_get_property(struct power_supply *psy, 45 + static int lt3651_charger_get_property(struct power_supply *psy, 42 46 enum power_supply_property psp, union power_supply_propval *val) 43 47 { 44 - struct ltc3651_charger *ltc3651_charger = psy_to_ltc3651_charger(psy); 48 + struct lt3651_charger *lt3651_charger = psy_to_lt3651_charger(psy); 45 49 46 50 switch (psp) { 47 51 case POWER_SUPPLY_PROP_STATUS: 48 - if (!ltc3651_charger->chrg_gpio) { 52 + if (!lt3651_charger->chrg_gpio) { 49 53 val->intval = POWER_SUPPLY_STATUS_UNKNOWN; 50 54 break; 51 55 } 52 - if (gpiod_get_value(ltc3651_charger->chrg_gpio)) 56 + if (gpiod_get_value(lt3651_charger->chrg_gpio)) 53 57 val->intval = POWER_SUPPLY_STATUS_CHARGING; 54 58 else 55 59 val->intval = POWER_SUPPLY_STATUS_NOT_CHARGING; 56 60 break; 57 61 case POWER_SUPPLY_PROP_ONLINE: 58 - val->intval = gpiod_get_value(ltc3651_charger->acpr_gpio); 62 + val->intval = gpiod_get_value(lt3651_charger->acpr_gpio); 59 63 break; 60 64 case POWER_SUPPLY_PROP_HEALTH: 61 - if (!ltc3651_charger->fault_gpio) { 65 + if (!lt3651_charger->fault_gpio) { 62 66 val->intval = POWER_SUPPLY_HEALTH_UNKNOWN; 63 67 break; 64 68 } 65 - if (!gpiod_get_value(ltc3651_charger->fault_gpio)) { 69 + if (!gpiod_get_value(lt3651_charger->fault_gpio)) { 66 70 val->intval = POWER_SUPPLY_HEALTH_GOOD; 67 71 break; 68 72 } ··· 70 74 * If the fault pin is active, the chrg pin explains the type 71 75 * of failure. 72 76 */ 73 - if (!ltc3651_charger->chrg_gpio) { 77 + if (!lt3651_charger->chrg_gpio) { 74 78 val->intval = POWER_SUPPLY_HEALTH_UNSPEC_FAILURE; 75 79 break; 76 80 } 77 - val->intval = gpiod_get_value(ltc3651_charger->chrg_gpio) ? 81 + val->intval = gpiod_get_value(lt3651_charger->chrg_gpio) ? 78 82 POWER_SUPPLY_HEALTH_OVERHEAT : 79 83 POWER_SUPPLY_HEALTH_DEAD; 80 84 break; ··· 85 89 return 0; 86 90 } 87 91 88 - static enum power_supply_property ltc3651_charger_properties[] = { 92 + static enum power_supply_property lt3651_charger_properties[] = { 89 93 POWER_SUPPLY_PROP_STATUS, 90 94 POWER_SUPPLY_PROP_ONLINE, 91 95 POWER_SUPPLY_PROP_HEALTH, 92 96 }; 93 97 94 - static int ltc3651_charger_probe(struct platform_device *pdev) 98 + static int lt3651_charger_probe(struct platform_device *pdev) 95 99 { 96 100 struct power_supply_config psy_cfg = {}; 97 - struct ltc3651_charger *ltc3651_charger; 101 + struct lt3651_charger *lt3651_charger; 98 102 struct power_supply_desc *charger_desc; 99 103 int ret; 100 104 101 - ltc3651_charger = devm_kzalloc(&pdev->dev, sizeof(*ltc3651_charger), 105 + lt3651_charger = devm_kzalloc(&pdev->dev, sizeof(*lt3651_charger), 102 106 GFP_KERNEL); 103 - if (!ltc3651_charger) 107 + if (!lt3651_charger) 104 108 return -ENOMEM; 105 109 106 - ltc3651_charger->acpr_gpio = devm_gpiod_get(&pdev->dev, 110 + lt3651_charger->acpr_gpio = devm_gpiod_get(&pdev->dev, 107 111 "lltc,acpr", GPIOD_IN); 108 - if (IS_ERR(ltc3651_charger->acpr_gpio)) { 109 - ret = PTR_ERR(ltc3651_charger->acpr_gpio); 112 + if (IS_ERR(lt3651_charger->acpr_gpio)) { 113 + ret = PTR_ERR(lt3651_charger->acpr_gpio); 110 114 dev_err(&pdev->dev, "Failed to acquire acpr GPIO: %d\n", ret); 111 115 return ret; 112 116 } 113 - ltc3651_charger->fault_gpio = devm_gpiod_get_optional(&pdev->dev, 117 + lt3651_charger->fault_gpio = devm_gpiod_get_optional(&pdev->dev, 114 118 "lltc,fault", GPIOD_IN); 115 - if (IS_ERR(ltc3651_charger->fault_gpio)) { 116 - ret = PTR_ERR(ltc3651_charger->fault_gpio); 119 + if (IS_ERR(lt3651_charger->fault_gpio)) { 120 + ret = PTR_ERR(lt3651_charger->fault_gpio); 117 121 dev_err(&pdev->dev, "Failed to acquire fault GPIO: %d\n", ret); 118 122 return ret; 119 123 } 120 - ltc3651_charger->chrg_gpio = devm_gpiod_get_optional(&pdev->dev, 124 + lt3651_charger->chrg_gpio = devm_gpiod_get_optional(&pdev->dev, 121 125 "lltc,chrg", GPIOD_IN); 122 - if (IS_ERR(ltc3651_charger->chrg_gpio)) { 123 - ret = PTR_ERR(ltc3651_charger->chrg_gpio); 126 + if (IS_ERR(lt3651_charger->chrg_gpio)) { 127 + ret = PTR_ERR(lt3651_charger->chrg_gpio); 124 128 dev_err(&pdev->dev, "Failed to acquire chrg GPIO: %d\n", ret); 125 129 return ret; 126 130 } 127 131 128 - charger_desc = &ltc3651_charger->charger_desc; 132 + charger_desc = &lt3651_charger->charger_desc; 129 133 charger_desc->name = pdev->dev.of_node->name; 130 134 charger_desc->type = POWER_SUPPLY_TYPE_MAINS; 131 - charger_desc->properties = ltc3651_charger_properties; 132 - charger_desc->num_properties = ARRAY_SIZE(ltc3651_charger_properties); 133 - charger_desc->get_property = ltc3651_charger_get_property; 135 + charger_desc->properties = lt3651_charger_properties; 136 + charger_desc->num_properties = ARRAY_SIZE(lt3651_charger_properties); 137 + charger_desc->get_property = lt3651_charger_get_property; 134 138 psy_cfg.of_node = pdev->dev.of_node; 135 - psy_cfg.drv_data = ltc3651_charger; 139 + psy_cfg.drv_data = lt3651_charger; 136 140 137 - ltc3651_charger->charger = devm_power_supply_register(&pdev->dev, 141 + lt3651_charger->charger = devm_power_supply_register(&pdev->dev, 138 142 charger_desc, &psy_cfg); 139 - if (IS_ERR(ltc3651_charger->charger)) { 140 - ret = PTR_ERR(ltc3651_charger->charger); 143 + if (IS_ERR(lt3651_charger->charger)) { 144 + ret = PTR_ERR(lt3651_charger->charger); 141 145 dev_err(&pdev->dev, "Failed to register power supply: %d\n", 142 146 ret); 143 147 return ret; ··· 148 152 * support IRQs on these pins, userspace will have to poll the sysfs 149 153 * files manually. 150 154 */ 151 - if (ltc3651_charger->acpr_gpio) { 152 - ret = gpiod_to_irq(ltc3651_charger->acpr_gpio); 155 + if (lt3651_charger->acpr_gpio) { 156 + ret = gpiod_to_irq(lt3651_charger->acpr_gpio); 153 157 if (ret >= 0) 154 158 ret = devm_request_any_context_irq(&pdev->dev, ret, 155 - ltc3651_charger_irq, 159 + lt3651_charger_irq, 156 160 IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, 157 - dev_name(&pdev->dev), ltc3651_charger->charger); 161 + dev_name(&pdev->dev), lt3651_charger->charger); 158 162 if (ret < 0) 159 163 dev_warn(&pdev->dev, "Failed to request acpr irq\n"); 160 164 } 161 - if (ltc3651_charger->fault_gpio) { 162 - ret = gpiod_to_irq(ltc3651_charger->fault_gpio); 165 + if (lt3651_charger->fault_gpio) { 166 + ret = gpiod_to_irq(lt3651_charger->fault_gpio); 163 167 if (ret >= 0) 164 168 ret = devm_request_any_context_irq(&pdev->dev, ret, 165 - ltc3651_charger_irq, 169 + lt3651_charger_irq, 166 170 IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, 167 - dev_name(&pdev->dev), ltc3651_charger->charger); 171 + dev_name(&pdev->dev), lt3651_charger->charger); 168 172 if (ret < 0) 169 173 dev_warn(&pdev->dev, "Failed to request fault irq\n"); 170 174 } 171 - if (ltc3651_charger->chrg_gpio) { 172 - ret = gpiod_to_irq(ltc3651_charger->chrg_gpio); 175 + if (lt3651_charger->chrg_gpio) { 176 + ret = gpiod_to_irq(lt3651_charger->chrg_gpio); 173 177 if (ret >= 0) 174 178 ret = devm_request_any_context_irq(&pdev->dev, ret, 175 - ltc3651_charger_irq, 179 + lt3651_charger_irq, 176 180 IRQF_TRIGGER_RISING | IRQF_TRIGGER_FALLING, 177 - dev_name(&pdev->dev), ltc3651_charger->charger); 181 + dev_name(&pdev->dev), lt3651_charger->charger); 178 182 if (ret < 0) 179 183 dev_warn(&pdev->dev, "Failed to request chrg irq\n"); 180 184 } 181 185 182 - platform_set_drvdata(pdev, ltc3651_charger); 186 + platform_set_drvdata(pdev, lt3651_charger); 183 187 184 188 return 0; 185 189 } 186 190 187 - static const struct of_device_id ltc3651_charger_match[] = { 188 - { .compatible = "lltc,ltc3651-charger" }, 191 + static const struct of_device_id lt3651_charger_match[] = { 192 + { .compatible = "lltc,ltc3651-charger" }, /* DEPRECATED */ 193 + { .compatible = "lltc,lt3651-charger" }, 189 194 { } 190 195 }; 191 - MODULE_DEVICE_TABLE(of, ltc3651_charger_match); 196 + MODULE_DEVICE_TABLE(of, lt3651_charger_match); 192 197 193 - static struct platform_driver ltc3651_charger_driver = { 194 - .probe = ltc3651_charger_probe, 198 + static struct platform_driver lt3651_charger_driver = { 199 + .probe = lt3651_charger_probe, 195 200 .driver = { 196 - .name = "ltc3651-charger", 197 - .of_match_table = ltc3651_charger_match, 201 + .name = "lt3651-charger", 202 + .of_match_table = lt3651_charger_match, 198 203 }, 199 204 }; 200 205 201 - module_platform_driver(ltc3651_charger_driver); 206 + module_platform_driver(lt3651_charger_driver); 202 207 203 208 MODULE_AUTHOR("Mike Looijmans <mike.looijmans@topic.nl>"); 204 - MODULE_DESCRIPTION("Driver for LTC3651 charger"); 209 + MODULE_DESCRIPTION("Driver for LT3651 charger"); 205 210 MODULE_LICENSE("GPL"); 206 - MODULE_ALIAS("platform:ltc3651-charger"); 211 + MODULE_ALIAS("platform:lt3651-charger");