ps8622 91 drivers/gpu/drm/bridge/parade-ps8622.c static int ps8622_send_config(struct ps8622_bridge *ps8622) ps8622 93 drivers/gpu/drm/bridge/parade-ps8622.c struct i2c_client *cl = ps8622->client; ps8622 186 drivers/gpu/drm/bridge/parade-ps8622.c err = ps8622_set(cl, 0x01, 0x02, 0x80 | ps8622->max_lane_count); ps8622 191 drivers/gpu/drm/bridge/parade-ps8622.c err = ps8622_set(cl, 0x01, 0x21, 0x80 | ps8622->lane_count); ps8622 279 drivers/gpu/drm/bridge/parade-ps8622.c if (ps8622->bl) { ps8622 287 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->bl->props.brightness); ps8622 332 drivers/gpu/drm/bridge/parade-ps8622.c struct ps8622_bridge *ps8622 = dev_get_drvdata(&bl->dev); ps8622 339 drivers/gpu/drm/bridge/parade-ps8622.c if (!ps8622->enabled) ps8622 342 drivers/gpu/drm/bridge/parade-ps8622.c ret = ps8622_set(ps8622->client, 0x01, 0xa7, brightness); ps8622 353 drivers/gpu/drm/bridge/parade-ps8622.c struct ps8622_bridge *ps8622 = bridge_to_ps8622(bridge); ps8622 356 drivers/gpu/drm/bridge/parade-ps8622.c if (ps8622->enabled) ps8622 359 drivers/gpu/drm/bridge/parade-ps8622.c gpiod_set_value(ps8622->gpio_rst, 0); ps8622 361 drivers/gpu/drm/bridge/parade-ps8622.c if (ps8622->v12) { ps8622 362 drivers/gpu/drm/bridge/parade-ps8622.c ret = regulator_enable(ps8622->v12); ps8622 367 drivers/gpu/drm/bridge/parade-ps8622.c if (drm_panel_prepare(ps8622->panel)) { ps8622 372 drivers/gpu/drm/bridge/parade-ps8622.c gpiod_set_value(ps8622->gpio_slp, 1); ps8622 387 drivers/gpu/drm/bridge/parade-ps8622.c gpiod_set_value(ps8622->gpio_rst, 1); ps8622 392 drivers/gpu/drm/bridge/parade-ps8622.c ret = ps8622_send_config(ps8622); ps8622 398 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->enabled = true; ps8622 403 drivers/gpu/drm/bridge/parade-ps8622.c struct ps8622_bridge *ps8622 = bridge_to_ps8622(bridge); ps8622 405 drivers/gpu/drm/bridge/parade-ps8622.c if (drm_panel_enable(ps8622->panel)) { ps8622 413 drivers/gpu/drm/bridge/parade-ps8622.c struct ps8622_bridge *ps8622 = bridge_to_ps8622(bridge); ps8622 415 drivers/gpu/drm/bridge/parade-ps8622.c if (drm_panel_disable(ps8622->panel)) { ps8622 424 drivers/gpu/drm/bridge/parade-ps8622.c struct ps8622_bridge *ps8622 = bridge_to_ps8622(bridge); ps8622 426 drivers/gpu/drm/bridge/parade-ps8622.c if (!ps8622->enabled) ps8622 429 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->enabled = false; ps8622 436 drivers/gpu/drm/bridge/parade-ps8622.c gpiod_set_value(ps8622->gpio_slp, 0); ps8622 438 drivers/gpu/drm/bridge/parade-ps8622.c if (drm_panel_unprepare(ps8622->panel)) { ps8622 443 drivers/gpu/drm/bridge/parade-ps8622.c if (ps8622->v12) ps8622 444 drivers/gpu/drm/bridge/parade-ps8622.c regulator_disable(ps8622->v12); ps8622 452 drivers/gpu/drm/bridge/parade-ps8622.c gpiod_set_value(ps8622->gpio_rst, 0); ps8622 459 drivers/gpu/drm/bridge/parade-ps8622.c struct ps8622_bridge *ps8622; ps8622 461 drivers/gpu/drm/bridge/parade-ps8622.c ps8622 = connector_to_ps8622(connector); ps8622 463 drivers/gpu/drm/bridge/parade-ps8622.c return drm_panel_get_modes(ps8622->panel); ps8622 480 drivers/gpu/drm/bridge/parade-ps8622.c struct ps8622_bridge *ps8622 = bridge_to_ps8622(bridge); ps8622 488 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->connector.polled = DRM_CONNECTOR_POLL_HPD; ps8622 489 drivers/gpu/drm/bridge/parade-ps8622.c ret = drm_connector_init(bridge->dev, &ps8622->connector, ps8622 495 drivers/gpu/drm/bridge/parade-ps8622.c drm_connector_helper_add(&ps8622->connector, ps8622 497 drivers/gpu/drm/bridge/parade-ps8622.c drm_connector_register(&ps8622->connector); ps8622 498 drivers/gpu/drm/bridge/parade-ps8622.c drm_connector_attach_encoder(&ps8622->connector, ps8622 501 drivers/gpu/drm/bridge/parade-ps8622.c if (ps8622->panel) ps8622 502 drivers/gpu/drm/bridge/parade-ps8622.c drm_panel_attach(ps8622->panel, &ps8622->connector); ps8622 504 drivers/gpu/drm/bridge/parade-ps8622.c drm_helper_hpd_irq_event(ps8622->connector.dev); ps8622 528 drivers/gpu/drm/bridge/parade-ps8622.c struct ps8622_bridge *ps8622; ps8622 531 drivers/gpu/drm/bridge/parade-ps8622.c ps8622 = devm_kzalloc(dev, sizeof(*ps8622), GFP_KERNEL); ps8622 532 drivers/gpu/drm/bridge/parade-ps8622.c if (!ps8622) ps8622 535 drivers/gpu/drm/bridge/parade-ps8622.c ret = drm_of_find_panel_or_bridge(dev->of_node, 0, 0, &ps8622->panel, NULL); ps8622 539 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->client = client; ps8622 541 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->v12 = devm_regulator_get(dev, "vdd12"); ps8622 542 drivers/gpu/drm/bridge/parade-ps8622.c if (IS_ERR(ps8622->v12)) { ps8622 544 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->v12 = NULL; ps8622 547 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->gpio_slp = devm_gpiod_get(dev, "sleep", GPIOD_OUT_HIGH); ps8622 548 drivers/gpu/drm/bridge/parade-ps8622.c if (IS_ERR(ps8622->gpio_slp)) { ps8622 549 drivers/gpu/drm/bridge/parade-ps8622.c ret = PTR_ERR(ps8622->gpio_slp); ps8622 558 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->gpio_rst = devm_gpiod_get(dev, "reset", GPIOD_OUT_HIGH); ps8622 559 drivers/gpu/drm/bridge/parade-ps8622.c if (IS_ERR(ps8622->gpio_rst)) { ps8622 560 drivers/gpu/drm/bridge/parade-ps8622.c ret = PTR_ERR(ps8622->gpio_rst); ps8622 565 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->max_lane_count = id->driver_data; ps8622 568 drivers/gpu/drm/bridge/parade-ps8622.c &ps8622->lane_count)) { ps8622 569 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->lane_count = ps8622->max_lane_count; ps8622 570 drivers/gpu/drm/bridge/parade-ps8622.c } else if (ps8622->lane_count > ps8622->max_lane_count) { ps8622 573 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->lane_count = ps8622->max_lane_count; ps8622 577 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->bl = backlight_device_register("ps8622-backlight", ps8622 578 drivers/gpu/drm/bridge/parade-ps8622.c dev, ps8622, &ps8622_backlight_ops, ps8622 580 drivers/gpu/drm/bridge/parade-ps8622.c if (IS_ERR(ps8622->bl)) { ps8622 582 drivers/gpu/drm/bridge/parade-ps8622.c ret = PTR_ERR(ps8622->bl); ps8622 583 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->bl = NULL; ps8622 586 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->bl->props.max_brightness = PS8622_MAX_BRIGHTNESS; ps8622 587 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->bl->props.brightness = PS8622_MAX_BRIGHTNESS; ps8622 590 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->bridge.funcs = &ps8622_bridge_funcs; ps8622 591 drivers/gpu/drm/bridge/parade-ps8622.c ps8622->bridge.of_node = dev->of_node; ps8622 592 drivers/gpu/drm/bridge/parade-ps8622.c drm_bridge_add(&ps8622->bridge); ps8622 594 drivers/gpu/drm/bridge/parade-ps8622.c i2c_set_clientdata(client, ps8622); ps8622 601 drivers/gpu/drm/bridge/parade-ps8622.c struct ps8622_bridge *ps8622 = i2c_get_clientdata(client); ps8622 603 drivers/gpu/drm/bridge/parade-ps8622.c backlight_device_unregister(ps8622->bl); ps8622 604 drivers/gpu/drm/bridge/parade-ps8622.c drm_bridge_remove(&ps8622->bridge);