Lines Matching +full:2013 +full:- +full:2023

1 // SPDX-License-Identifier: GPL-2.0-only
6 * Copyright 2013 Qtechnology/AS
8 * Copyright 2023 Marek Vasut
27 /* Auto-increment disabled. Normal mode */
64 struct pca995x_chip *chip = led->chip; in pca995x_brightness_set()
68 pwmout_addr = (chip->btype ? PCA9955B_PWM0 : PCA9952_PWM0) + led->led_no; in pca995x_brightness_set()
69 ledout_addr = PCA995X_LEDOUT0 + (led->led_no / PCA995X_OUTPUTS_PER_REG); in pca995x_brightness_set()
70 shift = PCA995X_LDRX_BITS * (led->led_no % PCA995X_OUTPUTS_PER_REG); in pca995x_brightness_set()
74 return regmap_update_bits(chip->regmap, ledout_addr, in pca995x_brightness_set()
78 return regmap_update_bits(chip->regmap, ledout_addr, in pca995x_brightness_set()
82 ret = regmap_write(chip->regmap, pwmout_addr, brightness); in pca995x_brightness_set()
90 return regmap_update_bits(chip->regmap, ledout_addr, in pca995x_brightness_set()
106 struct device *dev = &client->dev; in pca995x_probe()
111 btype = (unsigned long)device_get_match_data(&client->dev); in pca995x_probe()
115 return -ENODEV; in pca995x_probe()
119 return -ENOMEM; in pca995x_probe()
121 chip->btype = btype; in pca995x_probe()
122 chip->regmap = devm_regmap_init_i2c(client, &pca995x_regmap); in pca995x_probe()
123 if (IS_ERR(chip->regmap)) in pca995x_probe()
124 return PTR_ERR(chip->regmap); in pca995x_probe()
137 return -EINVAL; in pca995x_probe()
140 led = &chip->leds[reg]; in pca995x_probe()
142 led->chip = chip; in pca995x_probe()
143 led->led_no = reg; in pca995x_probe()
144 led->ldev.brightness_set_blocking = pca995x_brightness_set; in pca995x_probe()
145 led->ldev.max_brightness = 255; in pca995x_probe()
157 &chip->leds[i].ldev, in pca995x_probe()
163 chip->leds[i].ldev.name); in pca995x_probe()
167 /* Disable LED all-call address and set normal mode */ in pca995x_probe()
168 ret = regmap_write(chip->regmap, PCA995X_MODE1, PCA995X_MODE1_CFG); in pca995x_probe()
173 return regmap_write(chip->regmap, in pca995x_probe()
194 .name = "leds-pca995x",