• Home
  • Raw
  • Download

Lines Matching refs:lvds_codec

18 struct lvds_codec {  struct
27 static inline struct lvds_codec *to_lvds_codec(struct drm_bridge *bridge) in to_lvds_codec() argument
29 return container_of(bridge, struct lvds_codec, bridge); in to_lvds_codec()
35 struct lvds_codec *lvds_codec = to_lvds_codec(bridge); in lvds_codec_attach() local
37 return drm_bridge_attach(bridge->encoder, lvds_codec->panel_bridge, in lvds_codec_attach()
43 struct lvds_codec *lvds_codec = to_lvds_codec(bridge); in lvds_codec_enable() local
46 ret = regulator_enable(lvds_codec->vcc); in lvds_codec_enable()
48 dev_err(lvds_codec->dev, in lvds_codec_enable()
53 if (lvds_codec->powerdown_gpio) in lvds_codec_enable()
54 gpiod_set_value_cansleep(lvds_codec->powerdown_gpio, 0); in lvds_codec_enable()
59 struct lvds_codec *lvds_codec = to_lvds_codec(bridge); in lvds_codec_disable() local
62 if (lvds_codec->powerdown_gpio) in lvds_codec_disable()
63 gpiod_set_value_cansleep(lvds_codec->powerdown_gpio, 1); in lvds_codec_disable()
65 ret = regulator_disable(lvds_codec->vcc); in lvds_codec_disable()
67 dev_err(lvds_codec->dev, in lvds_codec_disable()
82 struct lvds_codec *lvds_codec; in lvds_codec_probe() local
84 lvds_codec = devm_kzalloc(dev, sizeof(*lvds_codec), GFP_KERNEL); in lvds_codec_probe()
85 if (!lvds_codec) in lvds_codec_probe()
88 lvds_codec->dev = &pdev->dev; in lvds_codec_probe()
89 lvds_codec->connector_type = (uintptr_t)of_device_get_match_data(dev); in lvds_codec_probe()
91 lvds_codec->vcc = devm_regulator_get(lvds_codec->dev, "power"); in lvds_codec_probe()
92 if (IS_ERR(lvds_codec->vcc)) in lvds_codec_probe()
93 return dev_err_probe(dev, PTR_ERR(lvds_codec->vcc), in lvds_codec_probe()
96 lvds_codec->powerdown_gpio = devm_gpiod_get_optional(dev, "powerdown", in lvds_codec_probe()
98 if (IS_ERR(lvds_codec->powerdown_gpio)) in lvds_codec_probe()
99 return dev_err_probe(dev, PTR_ERR(lvds_codec->powerdown_gpio), in lvds_codec_probe()
116 lvds_codec->panel_bridge = in lvds_codec_probe()
118 lvds_codec->connector_type); in lvds_codec_probe()
119 if (IS_ERR(lvds_codec->panel_bridge)) in lvds_codec_probe()
120 return PTR_ERR(lvds_codec->panel_bridge); in lvds_codec_probe()
127 lvds_codec->bridge.of_node = dev->of_node; in lvds_codec_probe()
128 lvds_codec->bridge.funcs = &funcs; in lvds_codec_probe()
129 drm_bridge_add(&lvds_codec->bridge); in lvds_codec_probe()
131 platform_set_drvdata(pdev, lvds_codec); in lvds_codec_probe()
138 struct lvds_codec *lvds_codec = platform_get_drvdata(pdev); in lvds_codec_remove() local
140 drm_bridge_remove(&lvds_codec->bridge); in lvds_codec_remove()