Lines Matching defs:ktd253
37 static void ktd253_backlight_set_max_ratio(struct ktd253_backlight *ktd253)
39 gpiod_set_value_cansleep(ktd253->gpiod, 1);
44 static int ktd253_backlight_stepdown(struct ktd253_backlight *ktd253)
62 gpiod_set_value(ktd253->gpiod, 0);
64 gpiod_set_value(ktd253->gpiod, 1);
67 dev_err(ktd253->dev, "PCM on backlight took too long (%llu ns)\n", ns);
76 struct ktd253_backlight *ktd253 = bl_get_data(bl);
79 u16 current_ratio = ktd253->ratio;
82 dev_dbg(ktd253->dev, "new brightness/ratio: %d/32\n", brightness);
91 gpiod_set_value_cansleep(ktd253->gpiod, 0);
97 ktd253->ratio = 0;
102 ktd253_backlight_set_max_ratio(ktd253);
112 ret = ktd253_backlight_stepdown(ktd253);
119 gpiod_set_value_cansleep(ktd253->gpiod, 0);
121 ktd253_backlight_set_max_ratio(ktd253);
130 ktd253->ratio = current_ratio;
132 dev_dbg(ktd253->dev, "new ratio set to %d/32\n", target_ratio);
146 struct ktd253_backlight *ktd253;
151 ktd253 = devm_kzalloc(dev, sizeof(*ktd253), GFP_KERNEL);
152 if (!ktd253)
154 ktd253->dev = dev;
174 ktd253->gpiod = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
175 if (IS_ERR(ktd253->gpiod))
176 return dev_err_probe(dev, PTR_ERR(ktd253->gpiod),
178 gpiod_set_consumer_name(ktd253->gpiod, dev_name(dev));
182 bl = devm_backlight_device_register(dev, dev_name(dev), dev, ktd253,
198 ktd253->bl = bl;
206 { .compatible = "kinetic,ktd253" },
214 .name = "ktd253-backlight",
224 MODULE_ALIAS("platform:ktd253-backlight");