2727#include <linux/module.h>
2828
2929#include <drm/drm_drv.h>
30- #include <drm/drm_encoder_slave.h>
3130#include <drm/drm_print.h>
3231#include <drm/drm_probe_helper.h>
3332
33+ #include <dispnv04/i2c/encoder_i2c.h>
3434#include <dispnv04/i2c/sil164.h>
3535
3636struct sil164_priv {
@@ -42,7 +42,7 @@ struct sil164_priv {
4242};
4343
4444#define to_sil164_priv (x ) \
45- ((struct sil164_priv *)to_encoder_slave (x)->slave_priv )
45+ ((struct sil164_priv *)to_encoder_i2c (x)->encoder_i2c_priv )
4646
4747#define sil164_dbg (client , format , ...) do { \
4848 if (drm_debug_enabled(DRM_UT_KMS)) \
@@ -222,7 +222,7 @@ sil164_encoder_dpms(struct drm_encoder *encoder, int mode)
222222 bool on = (mode == DRM_MODE_DPMS_ON );
223223 bool duallink = (on && encoder -> crtc -> mode .clock > 165000 );
224224
225- sil164_set_power_state (drm_i2c_encoder_get_client (encoder ), on );
225+ sil164_set_power_state (nouveau_i2c_encoder_get_client (encoder ), on );
226226
227227 if (priv -> duallink_slave )
228228 sil164_set_power_state (priv -> duallink_slave , duallink );
@@ -233,7 +233,7 @@ sil164_encoder_save(struct drm_encoder *encoder)
233233{
234234 struct sil164_priv * priv = to_sil164_priv (encoder );
235235
236- sil164_save_state (drm_i2c_encoder_get_client (encoder ),
236+ sil164_save_state (nouveau_i2c_encoder_get_client (encoder ),
237237 priv -> saved_state );
238238
239239 if (priv -> duallink_slave )
@@ -246,7 +246,7 @@ sil164_encoder_restore(struct drm_encoder *encoder)
246246{
247247 struct sil164_priv * priv = to_sil164_priv (encoder );
248248
249- sil164_restore_state (drm_i2c_encoder_get_client (encoder ),
249+ sil164_restore_state (nouveau_i2c_encoder_get_client (encoder ),
250250 priv -> saved_state );
251251
252252 if (priv -> duallink_slave )
@@ -278,7 +278,7 @@ sil164_encoder_mode_set(struct drm_encoder *encoder,
278278 struct sil164_priv * priv = to_sil164_priv (encoder );
279279 bool duallink = adjusted_mode -> clock > 165000 ;
280280
281- sil164_init_state (drm_i2c_encoder_get_client (encoder ),
281+ sil164_init_state (nouveau_i2c_encoder_get_client (encoder ),
282282 & priv -> config , duallink );
283283
284284 if (priv -> duallink_slave )
@@ -292,7 +292,7 @@ static enum drm_connector_status
292292sil164_encoder_detect (struct drm_encoder * encoder ,
293293 struct drm_connector * connector )
294294{
295- struct i2c_client * client = drm_i2c_encoder_get_client (encoder );
295+ struct i2c_client * client = nouveau_i2c_encoder_get_client (encoder );
296296
297297 if (sil164_read (client , SIL164_DETECT ) & SIL164_DETECT_HOTPLUG_STAT )
298298 return connector_status_connected ;
@@ -331,10 +331,10 @@ sil164_encoder_destroy(struct drm_encoder *encoder)
331331 i2c_unregister_device (priv -> duallink_slave );
332332
333333 kfree (priv );
334- drm_i2c_encoder_destroy (encoder );
334+ nouveau_i2c_encoder_destroy (encoder );
335335}
336336
337- static const struct drm_encoder_slave_funcs sil164_encoder_funcs = {
337+ static const struct nouveau_i2c_encoder_funcs sil164_encoder_funcs = {
338338 .set_config = sil164_encoder_set_config ,
339339 .destroy = sil164_encoder_destroy ,
340340 .dpms = sil164_encoder_dpms ,
@@ -394,7 +394,7 @@ sil164_detect_slave(struct i2c_client *client)
394394static int
395395sil164_encoder_init (struct i2c_client * client ,
396396 struct drm_device * dev ,
397- struct drm_encoder_slave * encoder )
397+ struct nouveau_i2c_encoder * encoder )
398398{
399399 struct sil164_priv * priv ;
400400 struct i2c_client * slave_client ;
@@ -403,8 +403,8 @@ sil164_encoder_init(struct i2c_client *client,
403403 if (!priv )
404404 return - ENOMEM ;
405405
406- encoder -> slave_priv = priv ;
407- encoder -> slave_funcs = & sil164_encoder_funcs ;
406+ encoder -> encoder_i2c_priv = priv ;
407+ encoder -> encoder_i2c_funcs = & sil164_encoder_funcs ;
408408
409409 slave_client = sil164_detect_slave (client );
410410 if (!IS_ERR (slave_client ))
@@ -419,7 +419,7 @@ static const struct i2c_device_id sil164_ids[] = {
419419};
420420MODULE_DEVICE_TABLE (i2c , sil164_ids );
421421
422- static struct drm_i2c_encoder_driver sil164_driver = {
422+ static struct nouveau_i2c_encoder_driver sil164_driver = {
423423 .i2c_driver = {
424424 .probe = sil164_probe ,
425425 .driver = {
@@ -435,13 +435,13 @@ static struct drm_i2c_encoder_driver sil164_driver = {
435435static int __init
436436sil164_init (void )
437437{
438- return drm_i2c_encoder_register ( THIS_MODULE , & sil164_driver );
438+ return i2c_add_driver ( & sil164_driver . i2c_driver );
439439}
440440
441441static void __exit
442442sil164_exit (void )
443443{
444- drm_i2c_encoder_unregister (& sil164_driver );
444+ i2c_del_driver (& sil164_driver . i2c_driver );
445445}
446446
447447MODULE_AUTHOR (
"Francisco Jerez <[email protected] >" );
0 commit comments