Lines Matching defs:ktd253
38 static void ktd253_backlight_set_max_ratio(struct ktd253_backlight *ktd253)
40 gpiod_set_value_cansleep(ktd253->gpiod, 1);
45 static int ktd253_backlight_stepdown(struct ktd253_backlight *ktd253)
63 gpiod_set_value(ktd253->gpiod, 0);
65 gpiod_set_value(ktd253->gpiod, 1);
68 dev_err(ktd253->dev, "PCM on backlight took too long (%llu ns)\n", ns);
77 struct ktd253_backlight *ktd253 = bl_get_data(bl);
80 u16 current_ratio = ktd253->ratio;
83 dev_dbg(ktd253->dev, "new brightness/ratio: %d/32\n", brightness);
92 gpiod_set_value_cansleep(ktd253->gpiod, 0);
98 ktd253->ratio = 0;
103 ktd253_backlight_set_max_ratio(ktd253);
113 ret = ktd253_backlight_stepdown(ktd253);
120 gpiod_set_value_cansleep(ktd253->gpiod, 0);
122 ktd253_backlight_set_max_ratio(ktd253);
131 ktd253->ratio = current_ratio;
133 dev_dbg(ktd253->dev, "new ratio set to %d/32\n", target_ratio);
147 struct ktd253_backlight *ktd253;
152 ktd253 = devm_kzalloc(dev, sizeof(*ktd253), GFP_KERNEL);
153 if (!ktd253)
155 ktd253->dev = dev;
175 ktd253->gpiod = devm_gpiod_get(dev, "enable", GPIOD_OUT_LOW);
176 if (IS_ERR(ktd253->gpiod))
177 return dev_err_probe(dev, PTR_ERR(ktd253->gpiod),
179 gpiod_set_consumer_name(ktd253->gpiod, dev_name(dev));
183 bl = devm_backlight_device_register(dev, dev_name(dev), dev, ktd253,
199 ktd253->bl = bl;
207 { .compatible = "kinetic,ktd253" },
215 .name = "ktd253-backlight",
225 MODULE_ALIAS("platform:ktd253-backlight");