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);