20 #include <linux/module.h>
21 #include <linux/slab.h>
23 #include <linux/i2c.h>
75 if (gpio_is_valid(ddata->
pd_gpio))
90 if (gpio_is_valid(ddata->
pd_gpio))
106 dssdev->
panel.timings = tfp410_default_timings;
121 if (gpio_is_valid(ddata->
pd_gpio)) {
125 dev_err(&dssdev->
dev,
"Failed to request PD GPIO %d\n",
131 if (i2c_bus_num != -1) {
136 dev_err(&dssdev->
dev,
"Failed to get I2C adapter, bus %d\n",
170 r = tfp410_power_on(dssdev);
185 tfp410_power_off(dssdev);
198 tfp410_power_off(dssdev);
214 r = tfp410_power_on(dssdev);
230 dssdev->
panel.timings = *timings;
240 *timings = dssdev->
panel.timings;
263 for (retries = 3; retries > 0; retries--) {
286 return r < 0 ? r : -
EIO;
293 int r,
l, bytes_read;
303 r = tfp410_ddc_read(ddata->
i2c_adapter, edid, l, 0);
341 r = tfp410_ddc_read(ddata->
i2c_adapter, &out, 1, 0);
353 .probe = tfp410_probe,
356 .enable = tfp410_enable,
357 .disable = tfp410_disable,
358 .suspend = tfp410_suspend,
359 .resume = tfp410_resume,
361 .set_timings = tfp410_set_timings,
362 .get_timings = tfp410_get_timings,
363 .check_timings = tfp410_check_timings,
365 .read_edid = tfp410_read_edid,
366 .detect = tfp410_detect,
374 static int __init tfp410_init(
void)
379 static void __exit tfp410_exit(
void)